<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用MSP430實(shí)現Blackfin DSP的程序引導

利用MSP430實(shí)現Blackfin DSP的程序引導

作者:國防科技大學(xué)機電工程與自動(dòng)化學(xué)院 周永彬 楊波 楊俊 時(shí)間:2005-03-14 來(lái)源: 收藏

2004年10月A版

本文引用地址:http://dyxdggzs.com/article/4610.htm

摘要: 本文針對ADSP-BF533的引導方法進(jìn)行探討,給出了一種利用微控制器MSP430F149對BF533進(jìn)行引導的獨特方案。在成功實(shí)現引導功能的同時(shí),兼具完善的監控功能。
關(guān)鍵詞:  DSP;引導程序;SPI接口;擴頻通信
引言
Blackfin處理器是ADI公司與Intel公司于2003年4月聯(lián)合推出的一系列DSP產(chǎn)品,主要面向嵌入式音頻、視頻和通信等領(lǐng)域,除了具有強大的信號處理性能和理想的電源效率,還集成了32位的RISC精簡(jiǎn)指令集。ADSP-BF533是目前Blackfin系列數字信號處理器中性能最高的一款,具有600MHz的主頻,雙16位的MAC(乘加器)和兩個(gè)40位的ALU(算術(shù)邏輯單元),4個(gè)8位的視頻處理單元,8個(gè)算術(shù)寄存器,10個(gè)地址尋址單元。DSP集成了148K字節的片內RAM,并具有豐富的外部接口,如SDRAM、通用并行數據口、SPI、PPI、同步和異步串口等。
MSP430F149是工業(yè)級閃存型16位RISC MCU,具有功耗極低、片上資源豐富等特點(diǎn),同樣非常適合掌上設備使用。
本系統為軟件無(wú)線(xiàn)電掌上設備平臺,采用了BF533+MSP430F149的雙處理器模式:BF533主要完成寬帶擴頻信號的快速捕獲跟蹤和解碼功能;MSP430完成的功能包括USB控制器接口、射頻控制和DSP引導、監控等,如圖1所示。
MSP430通過(guò)USB控制器同PC機建立通信,整個(gè)系統作為一個(gè)USB設備被PC機訪(fǎng)問(wèn)。天線(xiàn)接收射頻信號進(jìn)行直接下變頻,經(jīng)AD轉換后進(jìn)入BF533。DSP程序存放在MSP430F149片內FLASH ROM中。MSP430F149和BF533通過(guò)SPI總線(xiàn)連接,在解決DSP程序引導問(wèn)題的同時(shí),也實(shí)現了DSP的實(shí)時(shí)監控。


圖1  系統結構簡(jiǎn)圖

圖2  Blackfin 引導文件生成過(guò)程

Blackfin 應用程序引導過(guò)程
開(kāi)發(fā)Blackfin 應用程序的一般過(guò)程如圖2所示。
DSP應用程序編寫(xiě)和調試通常在A(yíng)DI公司的集成開(kāi)發(fā)環(huán)境VisualDSP++下完成。在軟件設計階段,可使用硬件仿真器Summit ICE通過(guò)JTAG(邊界掃描測試接口)同目標處理器連接進(jìn)行調試開(kāi)發(fā)。VisualDSP++會(huì )將用戶(hù)應用程序代碼編譯生成DSP可執行文件(.DXE),并通過(guò)JTAG口裝入目標處理器的內存。
在設計獨立的目標系統時(shí),必須考慮用戶(hù)程序的引導方式和相應的外部存儲器,通過(guò)VisualDSP++產(chǎn)生與存儲器類(lèi)型相應的引導文件(.LDR),將引導文件燒錄到外部存儲器中。最后,通過(guò)某種引導模式將引導文件裝載到DSP內存并執行。
BF533內部有一段固化的引導程序(Boot ROM),見(jiàn)圖3。硬件復位后進(jìn)入引導進(jìn)程,執行存放在Boot ROM中的引導程序。首先,通過(guò)對兩個(gè)專(zhuān)用引導模式選擇引腳BMODE[1:0]的采樣,決定BF533將以何種方式裝載用戶(hù)應用程序代碼/數據。然后,按照用戶(hù)選擇的格式引導應用程序并執行。
BF533共有4種程序引導模式,表1顯示了引腳BMODE[1:0]的值和引導模式的關(guān)系。
對任何一種模式,引導程序會(huì )根據模式引腳選擇的外部程序存儲器的類(lèi)型,先讀出一個(gè)10個(gè)字節的文件頭(Header)。文件頭由4個(gè)字節的目的地址、4個(gè)字節的傳輸數據數量(字節數)和2個(gè)字節的控制標志組成。如果用戶(hù)程序或數據需要放在DSP內存的不同地址塊,可以采用分塊引導的方式來(lái)進(jìn)行數據加載,每個(gè)塊(Block)用不同的文件頭描述。一旦所有的塊裝載完畢,處理器將結束引導進(jìn)程,并從L1指令存儲器的起始地址(0xFFA00000)開(kāi)始執行放在這里的用戶(hù)代碼。文件頭中控制標志描述了塊的一些屬性。圖4是引導時(shí)的數據流和文件頭格式。

圖3  Blackfin應用程序引導過(guò)程


圖4  BF533的引導數據流和文件頭格式

SPI引導時(shí)序
SPI總線(xiàn)由三條信號線(xiàn)組成:串行時(shí)鐘(SCLK)、串行數據輸出(SDO)、串行數據輸入(SDI)。SPI總線(xiàn)可以實(shí)現多個(gè)SPI設備互相連接。提供SPI串行時(shí)鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。將各個(gè)設備的串行時(shí)鐘引腳接在一起,主設備的數據輸出接從設備的數據輸入MOSI(Master Out Slave In),從設備的數據輸入接主設備的數據輸出MISO(Master In Slave Out)。
由于MSP430和BF533的SPI口均可軟件配置為主或從設備,因此通過(guò)同樣的連接方法既可使BF533為主機,又可使MSP430為主機。
程序引導時(shí),BF533是主機,串行時(shí)鐘由BF533提供,監控過(guò)程中MSP430是主機,通過(guò)SPI口控制BF533,與引導時(shí)相比,硬件連接沒(méi)有改變,只是MSP430和BF533各提供一個(gè)通用IO引腳用作握手信號,用來(lái)避免MSP430在DSP忙時(shí)中斷DSP。
在本系統中,BF533引導模式設為從16位串行SPI存儲器引導。BF533上電或硬件復位后,SPI接口默認為主模式,并提供頻率為500KHz的串行時(shí)鐘。引導時(shí)序最初的幾個(gè)周期是:從第一個(gè)SPI時(shí)鐘周期開(kāi)始,BF533在MOSI引腳上產(chǎn)生讀SPI的串行EEPROM命令字節,其值為0x03。這個(gè)值對于SPI串行EEPROM而言,是讀存儲器命令。存儲器應從下一個(gè)時(shí)鐘節拍開(kāi)始將存儲器內數據串行送到BF533的MISO引腳上。由圖4可知,首先送出的應該是塊1的目的地址信息0xFFA00000。讀出這個(gè)值之后,DSP內部會(huì )對該值進(jìn)行判斷,如果目的地址不是DSP內存區域內的有效地址,BF533將重復發(fā)送讀SPI EEPROM命令字節并判斷地址有效性這一過(guò)程。如果讀入的地址有效,將會(huì )啟動(dòng)讀存儲器時(shí)序,再發(fā)送一個(gè)讀SPI 串行EEPROM命令字節:先讀入文件頭,再讀入引導內容。
設計中應特別考慮MSP430軟件以確保由MSP430F149的SPI接口產(chǎn)生的引導時(shí)序和從EEPROM引導時(shí)的時(shí)序相同。根據筆者開(kāi)發(fā)經(jīng)驗,BF53x系列正式版本具有相同的SPI引導時(shí)序,但測試版本芯片的SPI時(shí)序與正式版有所差異。

DSP實(shí)時(shí)監控與程序在線(xiàn)升級
在DSP程序運行的過(guò)程中,通常我們需要知道它的運行狀況。因此需要建立一種機制用來(lái)實(shí)現對DSP內存區域的實(shí)時(shí)讀寫(xiě)操作,即完成程序的實(shí)時(shí)監控。
在BF533應用程序設計中,設置BF533的SPI口為從模式。在引導完成之后,設置MSP430的SPI口為主模式,而引導進(jìn)去的BF533用戶(hù)應用程序開(kāi)始執行,從而在MSP430和BF533之間建立了主從的SPI通信。
此外,MSP430通過(guò)USB接口器件PDIUSBD12連接到PC機。監控命令由PC機或鍵盤(pán)操作發(fā)起,MSP430響應PC機通過(guò)USB總線(xiàn)下發(fā)的命令或鍵盤(pán)命令,再根據命令類(lèi)型進(jìn)行操作。監控命令分為兩類(lèi):
(1)PC機或鍵盤(pán)對MSP430的控制命令。命令通過(guò)USB總線(xiàn)或鍵盤(pán)傳到MSP430,MSP430響應命令并執行相應操作。此類(lèi)命令包括:升級DSP程序、下載數據到FLASH、外圍控制等。
(2)PC機或鍵盤(pán)對DSP的控制命令。這類(lèi)命令可由PC機通過(guò)USB總線(xiàn)或鍵盤(pán)操作下達到MSP430,也可由MSP430直接發(fā)起,命令接受方是DSP。此類(lèi)命令主要有兩個(gè):讀DSP內存區域和寫(xiě)DSP內存區域。命令由命令包和數據包組成,讀命令包主要包括命令代碼、目的地址、讀出長(cháng)度以及校驗字。在發(fā)出讀命令包后,如果收到DSP正確的響應,就發(fā)出跟讀出長(cháng)度相應的數據包,每發(fā)一個(gè)數據包就將收到DSP返回的一包數據。寫(xiě)命令包主要包括命令代碼、目的地址、寫(xiě)入長(cháng)度以及校驗字。在發(fā)出寫(xiě)命令包后,如果收到DSP的正確響應,就將欲寫(xiě)的數據打包送出,如果寫(xiě)入成功,就會(huì )收到DSP的正確響應。
MSP430具有60K字節的片上FLASH程序存儲器,除了自身程序占用的程序空間,還可空出約48K字節的空間。本系統中,這部分空閑空間用來(lái)存放待引導的DSP程序。MSP430的FLASH存儲器具有分段擦除和編程功能,最小擦除單位是512(0x200)字節。其FLASH ROM除了可以用專(zhuān)門(mén)的開(kāi)發(fā)工具進(jìn)行編程操作外,還可以自編程實(shí)現DSP程序的在線(xiàn)升級。

結語(yǔ)
通過(guò)MSP430F149直接對ADSP-BF533進(jìn)行程序引導和實(shí)時(shí)監控,與通常使用串行EEPROM引導相比,避免了燒寫(xiě)EEPROM這一中間過(guò)程,減少了電路復雜度。在同樣的電路連接上既實(shí)現了引導功能,又實(shí)現了監控功能。此外,通過(guò)MSP430靈活的軟件編程,還使系統具有引導時(shí)機可靈活掌握、DSP程序可在線(xiàn)升級等特點(diǎn)。

參考文獻:
1. AD Inc., ADSP-BFx Blackfin DSP Hardware Reference [Z], April 2003
2. AD Inc., ADSP BF53x Data Sheet [Z], April 2004
3. Yongbin Zhou,Bo Yang,Yueke Wang,etc.  All Digitalized language learning system based on DSP net[M],Proc.ISTM/2003:1029-1032,2003



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>