基于 DSP-dMAX 的嵌入式 FIFO 數據傳輸系統設計
系統軟件設計
系統軟件設計主要包括McASP的初始化、dMAX的初始化、FIFO的初始化、中斷使能等。系統主程序只需要等待中斷進(jìn)行相應的處理,主要的數據傳輸工作都是dMAX按照軟件配置自動(dòng)完成,不需要CPU參與。圖4是實(shí)現由外設寫(xiě)FIFO,DSP讀取FIFO數據的流程。圖中虛線(xiàn)部分表示由dMAX獨立完成的工作,實(shí)線(xiàn)部分表示由CPU完成的工作。兩者之間通過(guò)內部中斷方式實(shí)現狀態(tài)的交流。
圖4 系統軟件流程
為了提高FIFO的讀寫(xiě)速率,一般采用突發(fā)方式進(jìn)行讀寫(xiě)。突發(fā)方式的讀時(shí)序如圖5所示。寫(xiě)時(shí)序和讀時(shí)序類(lèi)似。突發(fā)方式一次最多只能讀寫(xiě)8個(gè)數據,也可以一次突發(fā)讀寫(xiě)4個(gè)或者2個(gè)數據。突發(fā)讀寫(xiě)時(shí)數據的建立和保持時(shí)間最少可以設置成1個(gè)時(shí)鐘周期,如圖中所示。但為了通信可靠,一般采用2個(gè)時(shí)鐘周期。突發(fā)方式最大的節省時(shí)間是連續的其他數據將不再需要建立和保持周期,而是直接進(jìn)行讀寫(xiě),一般只需要兩個(gè)時(shí)鐘周期就可以完成一個(gè)數據的讀寫(xiě)。最快情況下,突發(fā)讀寫(xiě)8個(gè)數據只需要20個(gè)時(shí)鐘周期,讀寫(xiě)速率達到53.2M×32b/s,滿(mǎn)足大部分設備的要求。
圖5 突發(fā)讀時(shí)序圖
總結
dMAX的特有結構使得其可以實(shí)現嵌入式FIFO。本文介紹了基于C6727B的dMAX的基本結構以及基于dMAX的嵌入式FIFO軟硬件設計,設置通用GPIO引腳作為中斷,為了加快FIFO的傳輸速率,使用突發(fā)讀寫(xiě)方式進(jìn)行數據傳輸。嵌入式FIFO的實(shí)現,使得DSP和外部設備的通信更加方便和快捷,而且不需要CPU的參與,減輕了CPU的負擔,CPU可以專(zhuān)注于復雜的算法處理。
評論