MCU+DSP雙處理器的嵌入式平臺構建
自動(dòng)化控制要求實(shí)時(shí)采集數據,快速控制,多樣分析,通信靈活,雖然采用單個(gè)處理器構成的硬件平臺不能滿(mǎn)足要求。采用以MCU+DSP雙處理器為核心的硬件平臺則是較合理的設計方案。利用DSP實(shí)現數據實(shí)時(shí)采集、分析、計算;MCU完成管理、通信、人機接口等異步系統控制功能。該硬件平臺的MCU與DSP接口設計與數據傳輸是系統設計的重要部分,將直接影響系統性能和數據傳輸效率。數據傳輸通常采用雙端口RAM、串行通信、并行主機等接口方式。其中,并行主機接口的方式可以滿(mǎn)足大量數據實(shí)時(shí)傳輸要求。這里以MCF5272型和ADSP-BF527型數字信號處理器構建一種MCU+DSP雙處理器的嵌入式平臺,詳細論述DSP通過(guò)主機DMA端口(Host DMA Port,簡(jiǎn)稱(chēng)HOSTDP)實(shí)現主機引導加載程序以及DSP與主機的通信。
本文引用地址:http://dyxdggzs.com/article/150384.htm2 MCU+DSP雙處理器接口設計
圖l為MCU+DSP雙處理器ADSP-BF527與MCF5272的接口電路。該嵌入式平臺采用ColdFire系列的MCF5272型MCU作為主機。MCF5272具有基于第二代ColdFire V2的內核,32位數據和地址總線(xiàn),SDRAM接口,4個(gè)16位定時(shí)器,3通道PWM輸出,主頻高達66 MHz,豐富的外部接口和較強的通信功能。此外,該器件還具有出色的編碼密度和系統性能。

圖1 ADSP-BF527與MCF5272的接口電路
該系統DSP采用ADSP-BF527型數字信號處理器,該器件采用了微信號架構(MSA),時(shí)鐘頻率達600 MHz,功耗低至O.8 V,支持強大的片上總線(xiàn)系統,具有多個(gè)獨立的DMA控制器,擁有較強的并行數據處理能力。ADSP-BF527帶有一個(gè)HOSTDP,便于與外部主機構成雙處理器架構,完成多種數據處理和控制任務(wù)。ADSP-BF527的HOSTDP內部分為主機外部接口模塊(HEI)、外圍訪(fǎng)問(wèn)總線(xiàn)(PAB)接口模塊、FIFO模塊、控制邏輯模塊和DMA接口模塊。
圖1中,接口電路各信號的功能為:HWAIT為握手信號,防止Boot Kernel忙時(shí)主機寫(xiě)數據;HOST_DATA為16位數據總線(xiàn),主機與從機數據交換的通道;HOST_ADDR為訪(fǎng)問(wèn)屬性信號,O表示訪(fǎng)問(wèn)數據接口,l表示訪(fǎng)問(wèn)配置接口;HOST_CE為主機對從機使能;HOST_WR為主機寫(xiě)入HOSTDP使能信號;HOST_RD為主機讀取HOSTDP使能信號;HOST_ACK為數據傳輸握手信號,應答模式下為HRDY,中斷模式下為FRDY;TOUT為讀寫(xiě)操作超時(shí)信號,應答模式下Host—Timeout計數溢出時(shí)產(chǎn)生;BMODE[3:0]為啟動(dòng)模式設置信號。
3 ADSP—BF527啟動(dòng)與程序加載
ADSP—BF527復位包括硬件和軟件復位,復位中斷優(yōu)先級最高。當釋放RESET信號后,該處理器開(kāi)始從片內BootROM的0xEF00 0000地址讀取指令并執行。片內Boot ROM含有一個(gè)Boot引導核,用于預引導和加載用戶(hù)數據。
3.1 預引導
ADSP—BF527復位后,Boot引導核首先調用Preboot子程序。Preboot子程序通過(guò)訪(fǎng)問(wèn)一次可編程ROM(OTP)中的工廠(chǎng)設置頁(yè)(FPS)和預引導設置頁(yè)(PBS)來(lái)設置系統映射寄存器(MMR),包括鎖相環(huán)(PLL)、電源調節、SDRAM控制器、異步外部總線(xiàn)接口單元(EBIU)、HWAIT的信號模式以及0TP定制引導。
PBS由用戶(hù)設置,每次使用4頁(yè)。當PBS出現錯誤時(shí),可置0TPINVALID位,使其無(wú)效,再使用下一個(gè)4頁(yè)。如果設置PBS首頁(yè)的PLL和電源調節錯誤,可采用BMODE=0000引導模式補救。該模式預引導程序不讀取PBS頁(yè),FPS處理后,ADSP-BF527處理器變?yōu)榭臻e狀態(tài)。
處于安全考慮,PBS頁(yè)設置引導模式禁止/使能位,禁止其他引導方式。這樣即使BMODE引腳設置對應這些禁止引導方式,不會(huì )引導Boot引導核進(jìn)入空閑狀態(tài)。
3.2 引導模式設置
預引導結束后,Boot引導核根據BMODE[3:0]引腳設置啟動(dòng)相應的引導方式加載用戶(hù)數據(引導流)。引導流為已定義格式,包含若干數據塊和特殊指令,每數據塊都含有一個(gè)16字節的塊頭,該塊頭由DSP的開(kāi)發(fā)工具Visual DSP++設置生成,用于指示引導核是否完成引導過(guò)程。BMODE[3:0]引腳設置的引導模式包括無(wú)引導、主機引導和從機引導模式。引導模式設置如表1所示。

其中無(wú)引導模式由廠(chǎng)商編程設置0TP頁(yè)完成。主機引導模式中DSP自行加載用戶(hù)數據.通常是從并行接口的Flash或者SPI、TWI接口的存儲器讀取數據。從機模式DSP作為從機,主機控制RESET信號。通常主機先設置RESET信號,然后通過(guò)檢測HWAIT引腳等待預引導程序實(shí)現,最后提供加載用戶(hù)數據。
3.3 HOST DMA引導模式
該系統為MCU+DSP架構,主處理器MCF5272通過(guò)HOSTDP控制從機ADSP-BF527。ADSP—BF527的程序作為MCF5272數據寫(xiě)入Flash存儲器中。該系統加電復位后,MCF5272向從機加載程序并引導啟動(dòng)。因此采用HOST DMA引導設計較靈活,獨立存儲器個(gè)數少,提高性能并降低成本。系統維護時(shí),Flash中ADSP-BF527程序通過(guò)修改主機通信接口,提高產(chǎn)品維護效率。該設計的BMODE[3:0]引腳電平設置為1110,采用從機16位HOSTDP引導模式。
當主機復位ADSP—BF527后,ADSP-BF527可從片上BootROM的0xEF00 0000地址執行預引導程序。預引導結束后,向主機發(fā)送HWAIT信號,主機開(kāi)始向ADSP—BF527加載用戶(hù)數據。用戶(hù)數據加載完成后,主機發(fā)送HIR9命令,ADSP-BF527引導核執行調用指令,程序指針跳至EVTl寄存器內用戶(hù)應用程序的首地址,將控制權交給用戶(hù)應用程序。此時(shí),引導結束。ADSP-BF527處理器繼續執行用戶(hù)應用程序。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論