subsystem

subsystem 看做是總線上掛載的子cpu 或者 fpga

先是方框圖

看看由哪幾個主要模塊組成.

各個模塊的 連接邏輯 從屬邏輯 模塊功能

控制流 數據流 寄存器 中斷 fifo  dma


 

初始化時鐘 一般由系統總的時鐘控制器控制

設置寄存器  模式選擇 

時序相關 波特率設置

設置fifo 一般有中斷觸發閥值 來通知子系統狀態 

使能中斷 cpu側接收中斷  子系統側發送中斷 中斷優先級

使能dma dma控制器側 配置通道  子系統側發送請求 一般使能dma後 中斷由dma控制器接管,不會再觸發普通中斷 dma一般分爲單片連續內存運輸 和多片鏈式內存運輸  

中斷處理函數



發送的觸發條件

接收的觸發條件

發送完成標識

接收完成標識

清除中斷方法

錯誤觸發條件

錯誤處理

 

先去除所有邊角功能,一般這些功能也是默認關閉的

組建一個最小功能,在一項項加上去


輪詢,不用中斷 fifo dma ,簡單無腦,缺點,佔用cpu時間,時效低,易丟失

用中斷 不用fifo dma,也較簡單,少佔用cpu時間,缺點,當系統繁忙時候,中斷被高優先級打斷,作爲從機或者異步傳輸時候,會響應慢,丟失數據所以會有中斷pace這一說法

用fifo,用dma,配置較複雜 ,一個datasheet 最複雜三塊 dma 網口 usb

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章