MCU+DSP雙處理器的嵌入式平臺構建
ADSP-BF527通過(guò)外設接口總線(xiàn)設置HOST CONTROL寄存器的HOST_EN位使能HOSTDP。如果禁止HOSTDP,應在清除HOST_EN位前將HOST_RST置位。一旦使能HOSTDP則由外部主機控制。外部主機通過(guò)編程設置DMA發(fā)送和接收數據,并將其存儲到ADSP-BF527有效的內部和外部存儲器中。
4.1 HOSTDP設置
數據傳輸前,主機需配置DMA控制器。主機首先讀取從機HOST_STATUS寄存器的ALLOW_CNFG位。如果允許配置,主機將向HOSTDP發(fā)送7個(gè)16位控制字。主機通過(guò)這些控制字配置HOSTDP的DMA讀寫(xiě)、DMA模式、起始地址等參數。接收所有控制字后,ADSP-BF527根據控制字重新配置HOETDP。在配置完成前,主機處理器不允許提供新控制字。通過(guò)寫(xiě)入控制字,該設計將DMA設置為應答模式,數據傳輸采用停止模式。
總線(xiàn)寬度16位,以先傳輸低位數據的順序傳輸數據。配置完成后,主機以所配置的方式讀寫(xiě)數據,從而實(shí)現數據傳輸。數據傳輸過(guò)程中,通過(guò)ADSP-BF527軟件編程設置控制寄存器中HER和EHW位使能或禁止主機讀寫(xiě)HOSTDP,HER和EHW的設置,不會(huì )影響到寫(xiě)配置口、控制命令和讀狀態(tài)。由于主機不能查詢(xún)HOSTDP的HER和EHW位,因此,該系統設計ADSP-BF527一直保持HER和EHW位使能。
4.2 數據讀寫(xiě)流程
當使能HOSTDP,DMA通道配置后,主機通過(guò)所配置的DMA通道與ADSP—BF527通信。數據讀寫(xiě)時(shí),在有效數據的最后需附加一個(gè)傳輸終止字確保數據傳輸。數據寫(xiě)操作用于主機向從機的數據傳輸。MCF5272將ADSP-BF527所需的信號與設置寫(xiě)入HOSTDP的FIFO,DMA同時(shí)將從FIFO移出數據,并存儲到DMA配置字規定的存儲器。數據讀操作用于從機向主機數據傳輸。ADSP—BF527的DMA將從機存儲器中的數字信號處理結果移至HOSTDP的FIFO。主機執行讀操作,從FIFO中讀取數據。
停止模式下ADSP-BF527的HOSTDP讀寫(xiě)操作流程如圖2所示。其中,DMA_DONE位在DMA將FIFO數據移出后置1,在下一次主機寫(xiě)數據時(shí)置O。HOSTRD_DONE位在主機將FIFO的數據移出后置l,下一次主機讀操作,DMA向FIFO傳輸數據時(shí)置為0。

應答模式下,主機對HOSTDP的操作時(shí)序如圖3所示。在預定讀寫(xiě)溢出時(shí)間內,ADSP-BF527仍未完成相應的讀寫(xiě)操作,主機未接收到HRDY信號,主機超時(shí)寄存器計數溢出并產(chǎn)生超時(shí)中斷。該設計的中斷服務(wù)程序首先通過(guò)GPIO引腳告知主機數據讀寫(xiě)失敗,停止DMA通道數據傳輸;當主機重置HRDY信號為高電平,允許下一周期繼續傳輸數據;并禁止HOSTDP,在停止模式下,具體的主機讀寫(xiě)數據流程如圖4所示。


5 結語(yǔ)
隨著(zhù)自動(dòng)化領(lǐng)域監測、控制任務(wù)對嵌入式系統的要求不斷提高,多處理器硬件系統模式的快速發(fā)展,電子技術(shù)和半導體加工工藝的發(fā)展促使DSP和MCU的融合。因此,MCU+DSP的雙處理器結構已成為多核處理器的發(fā)展方向。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論