引言
Blackfin處理器是ADI公司與Intel公司于2003年4月聯合推出的一系列DSP產品,主要面向嵌入式音頻、視頻和通信等領域,除了具有強大的信號處理性能和理想的電源效率,還集成了32位的RISC精簡指令集。ADSP-BF533是目前Blackfin系列數字信號處理器中性能最高的一款,具有600MHz的主頻,雙16位的MAC(乘加器)和兩個40位的ALU(算術邏輯單元),4個8位的視頻處理單元,8個算術寄存器,10個地址尋址單元。DSP集成了148K字節的片內RAM,并具有豐富的外部接口,如SDRAM、通用并行數據口、SPI、PPI、同步和異步串口等。
MSP430F149是工業級閃存型16位RISC MCU,具有功耗極低、片上資源豐富等特點,同樣非常適合掌上設備使用。
本系統為軟件無線電掌上設備平臺,采用了BF533+MSP430F149的雙處理器模式:BF533主要完成寬帶擴頻信號的快速捕獲跟蹤和解碼功能;MSP430完成的功能包括USB控制器接口、射頻控制和DSP引導、監控等,如圖1所示。
MSP430通過USB控制器同PC機建立通信,整個系統作為一個USB設備被PC機訪問。天線接收射頻信號進行直接下變頻,經AD轉換后進入BF533。DSP程序存放在MSP430F149片內FLASH ROM中。MSP430F149和BF533通過SPI總線連接,在解決DSP程序引導問題的同時,也實現了DSP的實時監控。
圖1 系統結構簡圖
圖2 Blackfin 引導文件生成過程
Blackfin 應用程序引導過程
開發Blackfin 應用程序的一般過程如圖2所示。
DSP應用程序編寫和調試通常在ADI公司的集成開發環境VisualDSP++下完成。在軟件設計階段,可使用硬件仿真器Summit ICE通過JTAG(邊界掃描測試接口)同目標處理器連接進行調試開發。VisualDSP++會將用戶應用程序代碼編譯生成DSP可執行文件(.DXE),并通過JTAG口裝入目標處理器的內存。
在設計獨立的目標系統時,必須考慮用戶程序的引導方式和相應的外部存儲器,通過VisualDSP++產生與存儲器類型相應的引導文件(.LDR),將引導文件燒錄到外部存儲器中。最后,通過某種引導模式將引導文件裝載到DSP內存并執行。
BF533內部有一段固化的引導程序(Boot ROM),見圖3。硬件復位后進入引導進程,執行存放在Boot ROM中的引導程序。首先,通過對兩個專用引導模式選擇引腳BMODE[1:0]的采樣,決定BF533將以何種方式裝載用戶應用程序代碼/數據。然后,按照用戶選擇的格式引導應用程序并執行。
BF533共有4種程序引導模式,表1顯示了引腳BMODE[1:0]的值和引導模式的關系。
對任何一種模式,引導程序會根據模式引腳選擇的外部程序存儲器的類型,先讀出一個10個字節的文件頭(Header)。文件頭由4個字節的目的地址、4個字節的傳輸數據數量(字節數)和2個字節的控制標志組成。如果用戶程序或數據需要放在DSP內存的不同地址塊,可以采用分塊引導的方式來進行數據加載,每個塊(Block)用不同的文件頭描述。一旦所有的塊裝載完畢,處理器將結束引導進程,并從L1指令存儲器的起始地址(0xFFA00000)開始執行放在這里的用戶代碼。文件頭中控制標志描述了塊的一些屬性。圖4是引導時的數據流和文件頭格式。
圖3 Blackfin應用程序引導過程
圖4 BF533的引導數據流和文件頭格式
SPI引導時序
SPI總線由三條信號線組成:串行時鐘(SCLK)、串行數據輸出(SDO)、串行數據輸入(SDI)。SPI總線可以實現多個SPI設備互相連接。提供SPI串行時鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。將各個設備的串行時鐘引腳接在一起,主設備的數據輸出接從設備的數據輸入MOSI(Master Out Slave In),從設備的數據輸入接主設備的數據輸出MISO(Master In Slave Out)。
由于MSP430和BF533的SPI口均可軟件配置為主或從設備,因此通過同樣的連接方法既可使BF533為主機,又可使MSP430為主機。
程序引導時,BF533是主機,串行時鐘由BF533提供,監控過程中MSP430是主機,通過SPI口控制BF533,與引導時相比,硬件連接沒有改變,只是MSP430和BF533各提供一個通用IO引腳用作握手信號,用來避免MSP430在DSP忙時中斷DSP。
在本系統中,BF533引導模式設為從16位串行SPI存儲器引導。BF533上電或硬件復位后,SPI接口默認為主模式,并提供頻率為500KHz的串行時鐘。引導時序最初的幾個周期是:從第一個SPI時鐘周期開始,BF533在MOSI引腳上產生讀SPI的串行EEPROM命令字節,其值為0x03。這個值對于SPI串行EEPROM而言,是讀存儲器命令。存儲器應從下一個時鐘節拍開始將存儲器內數據串行送到BF533的MISO引腳上。由圖4可知,首先送出的應該是塊1的目的地址信息0xFFA00000。讀出這個值之后,DSP內部會對該值進行判斷,如果目的地址不是DSP內存區域內的有效地址,BF533將重復發送讀SPI EEPROM命令字節并判斷地址有效性這一過程。如果讀入的地址有效,將會啟動讀存儲器時序,再發送一個讀SPI 串行EEPROM命令字節:先讀入文件頭,再讀入引導內容。
設計中應特別考慮MSP430軟件以確保由MSP430F149的SPI接口產生的引導時序和從EEPROM引導時的時序相同。根據筆者開發經驗,BF53x系列正式版本具有相同的SPI引導時序,但測試版本芯片的SPI時序與正式版有所差異。
DSP實時監控與程序在線升級
在DSP程序運行的過程中,通常我們需要知道它的運行狀況。因此需要建立一種機制用來實現對DSP內存區域的實時讀寫操作,即完成程序的實時監控。
在BF533應用程序設計中,設置BF533的SPI口為從模式。在引導完成之后,設置MSP430的SPI口為主模式,而引導進去的BF533用戶應用程序開始執行,從而在MSP430和BF533之間建立了主從的SPI通信。
此外,MSP430通過USB接口器件PDIUSBD12連接到PC機。監控命令由PC機或鍵盤操作發起,MSP430響應PC機通過USB總線下發的命令或鍵盤命令,再根據命令類型進行操作。監控命令分為兩類:
(1)PC機或鍵盤對MSP430的控制命令。命令通過USB總線或鍵盤傳到MSP430,MSP430響應命令并執行相應操作。此類命令包括:升級DSP程序、下載數據到FLASH、外圍控制等。
(2)PC機或鍵盤對DSP的控制命令。這類命令可由PC機通過USB總線或鍵盤操作下達到MSP430,也可由MSP430直接發起,命令接受方是DSP。此類命令主要有兩個:讀DSP內存區域和寫DSP內存區域。命令由命令包和數據包組成,讀命令包主要包括命令代碼、目的地址、讀出長度以及校驗字。在發出讀命令包后,如果收到DSP正確的響應,就發出跟讀出長度相應的數據包,每發一個數據包就將收到DSP返回的一包數據。寫命令包主要包括命令代碼、目的地址、寫入長度以及校驗字。在發出寫命令包后,如果收到DSP的正確響應,就將欲寫的數據打包送出,如果寫入成功,就會收到DSP的正確響應。
MSP430具有60K字節的片上FLASH程序存儲器,除了自身程序占用的程序空間,還可空出約48K字節的空間。本系統中,這部分空閑空間用來存放待引導的DSP程序。MSP430的FLASH存儲器具有分段擦除和編程功能,最小擦除單位是512(0x200)字節。其FLASH ROM除了可以用專門的開發工具進行編程操作外,還可以自編程實現DSP程序的在線升級。
結語
通過MSP430F149直接對ADSP-BF533進行程序引導和實時監控,與通常使用串行EEPROM引導相比,避免了燒寫EEPROM這一中間過程,減少了電路復雜度。在同樣的電路連接上既實現了引導功能,又實現了監控功能。此外,通過MSP430靈活的軟件編程,還使系統具有引導時機可靈活掌握、DSP程序可在線升級等特點。
參考文獻:
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
上一篇:基于MSP430單片機的低功耗主動式RFID標簽設計
下一篇:MSP430系列單片機的時鐘問題分析
推薦閱讀
史海拾趣
在電子行業的早期,AEP公司以其卓越的技術團隊和對市場需求的敏銳洞察力脫穎而出。公司研發出了一款高效能、低成本的電源管理芯片,這一創新產品迅速在市場上獲得了廣泛的認可。隨著這款產品的熱銷,AEP公司的知名度逐漸提升,其產品線也逐漸擴展到其他電子元器件領域。公司不斷投入研發,推動技術創新,逐漸在電子行業站穩了腳跟。
在成功推出數學協處理器后,Cyrix于1992年推出了其第一款CPU——486SLC和486DLC。這兩款產品旨在與英特爾的486SX和486DX競爭,并因其引腳兼容性和低廉的價格而廣受制造商歡迎。盡管其性能略遜于英特爾的同類產品,但Cyrix憑借價格優勢在市場上占據了一席之地。
1995年,ETERNA被保時捷家族收購,為公司的發展注入了新的活力。保時捷家族對制表業有著深厚的興趣,他們投入大量資金用于研發和生產。在保時捷家族的支持下,ETERNA不斷推出具有創新性的產品,如Spherodrive系統和超薄自動上煉機芯3030等。這些技術的成功應用,使ETERNA在制表業中取得了舉足輕重的地位。同時,保時捷家族還通過全球營銷戰略,將ETERNA品牌推向了更廣闊的市場。
隨著中國市場的崛起,ETERNA開始將目光投向了亞洲市場。2011年,中國從德國保時捷家族手中接過ETERNA的旗幟,開始在全球大力拓展ETERNA品牌。在中國市場的推動下,ETERNA的知名度和影響力不斷提升。同時,公司還加強了與其他國家和地區的合作與交流,通過參加國際展會和舉辦品牌活動等方式,進一步擴大了品牌影響力。這些努力使ETERNA在全球電子行業中逐漸嶄露頭角,成為了一個備受矚目的品牌。
為了保持競爭優勢,ALSC始終將技術創新作為核心驅動力。公司投入大量資源用于研發,不斷推出具有創新性的半導體產品。其中,一款具有高性能和低延遲的芯片產品贏得了市場的廣泛認可,為公司的快速發展奠定了堅實的基礎。
為了保持競爭優勢,ALSC始終將技術創新作為核心驅動力。公司投入大量資源用于研發,不斷推出具有創新性的半導體產品。其中,一款具有高性能和低延遲的芯片產品贏得了市場的廣泛認可,為公司的快速發展奠定了堅實的基礎。
這里揭露Altium公司的強賣行為。Altium公司會從以下途徑得到信息:1、展會留下的名片;2、注冊Altium公司網站上的免費培訓留下的個人信息。Altium得到這下信息之后,就佯裝成其他公司給你打電話推銷電子設計軟件,首先會說有一款很好的軟件,比Alti ...… 查看全部問答∨ |
|
這是我今天在一個資料下載論壇注冊后下載的,我就掃了一遍,沒有仔細看, 我就傳上來,讓有興趣的人看看,呵呵!貴在分享!!希望對大家有用! 一共兩篇。… 查看全部問答∨ |
|
各位好:我的是基于wince5.0 用的GPRS模塊是MC52I , 請問硬件上DCD DTR 是不是必須接到串口上啊? 還有到最后撥號×99# 出現 no dialtone ,請各位大俠指點一下 謝謝?… 查看全部問答∨ |
|
想做個AT89C51SND1C-IL的最小系統,我借鑒別人的圖畫了個PCB圖,然后用感光板做了出來,把各個元件焊上后通過USB接口邊上電腦,電腦提示發現新硬件,然后就是裝驅動,裝好后沒想到電腦提示“該設備無法啟動(代碼10)”,我換了兩臺電腦,均出現同 ...… 查看全部問答∨ |
DriverMonitor可以,但只能夠靜態地看DriverEntry里面的DBGPRINT。然而,用戶態程序運行以來后,會調用驅動程序,此時驅動程序中其他地方的DBGPRINT信息應該怎么樣看到呢?謝謝!… 查看全部問答∨ |
mini2440下uboot uImage yaffs放在nandflash哪里的問題 1.請問大家,在mini2440開發板中,用NandFlash啟動,Uboot放在NandFlash的0x0地址,板子加電后NandFlash控制器會把nand的前4K內容自動拷貝到ARM的SRAM中,但是我用uboot的md命令發現,nandflash的前4K不為0,如下: 00000fe0: 1afffff4  ...… 查看全部問答∨ |