<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用MSP430實現(xiàn)Blackfin DSP的程序引導

          利用MSP430實現(xiàn)Blackfin DSP的程序引導

          作者:國防科技大學機電工程與自動化學院 周永彬 楊波 楊俊 時間:2005-03-14 來源: 收藏

          2004年10月A版

          本文引用地址:http://www.ex-cimer.com/article/4610.htm

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


          圖1  系統(tǒng)結(jié)構(gòu)簡圖

          圖2  Blackfin 引導文件生成過程

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

          圖3  Blackfin應用程序引導過程


          圖4  BF533的引導數(shù)據(jù)流和文件頭格式

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

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

          結(jié)語
          通過MSP430F149直接對ADSP-BF533進行程序引導和實時監(jiān)控,與通常使用串行EEPROM引導相比,避免了燒寫EEPROM這一中間過程,減少了電路復雜度。在同樣的電路連接上既實現(xiàn)了引導功能,又實現(xiàn)了監(jiān)控功能。此外,通過MSP430靈活的軟件編程,還使系統(tǒng)具有引導時機可靈活掌握、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



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();