當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]基于DSP的系統(tǒng)設(shè)計中,由于部分DSP內(nèi)部無非易失性存儲器,為了保證該系統(tǒng)設(shè)計掉電時程序不丟失。因此必須外部擴展ROM或Flash用于存儲數(shù)據(jù)。以TMS320C6713型浮點DSP和AM29LV800B型Flash存儲器為例.闡述了上電自舉的硬件設(shè)計,JTAG程序加載,上電自舉過程,F(xiàn)lash的擦除及燒寫,鏈接命令文件和編寫,并詳細說明各部分相互聯(lián)系及作用。

1 引言
    TMS320C6713(以下簡稱C6713)是TI公司推出的高性能浮點運算DSP,采用超常指令字(VLIW)結(jié)構(gòu)。時鐘速率為300 MHz、225 MHz、200 MHz、167 MHz。EMIF作為C6713與外部存儲器之間的接口,可支持與各種外部器件無縫(即可尋址空間已分配完畢,且地址一致連續(xù))連接。EMIF存儲器映射由4個(CE0~CE3)空間組成,這4個空間彼此獨立,實現(xiàn)不同訪問控制。C6713 DSP包含從Ox00000000地址開始的256 KB內(nèi)部RAM,但其內(nèi)部無非易失性存儲器,需要外擴F1ash或ROM等非易失性存儲器。
    選用AMD公司的AM29LV800B Flash,具有1 Mx8 bit/512 Kxl6 bit的存儲空間,16位數(shù)據(jù)總線。支持程序?qū)?、擦除和懸掛,支持Flash數(shù)據(jù)集成,兼容普通F1ash接口F1ash In—terface(CEl)。

2 上電自舉硬件設(shè)計
   
圖1為C6713與AM29LV800B的硬件原理框圖。

2.1 硬件連接說明
   
圖1中C6713和AM29LV800B數(shù)據(jù)總線、地址總線和控制信號均經(jīng)過33Ω排阻平波后相連接,這樣可有效減小總線上的信號波動,提高系統(tǒng)抗干擾能力。
    Flash可提供硬件和軟件2種方法判斷其工作狀態(tài),以確定數(shù)據(jù)寫入或擦除操作是否完成。其軟件方法是利用從F1ash讀取的數(shù)據(jù)判斷其狀態(tài),讀取數(shù)據(jù)中的主要判斷位為SR7~SRl,它們之間的相互組合提供了軟件判斷工作狀態(tài)的方法。硬件判斷方法主要是利用F1ash的外部引腳輸出信號在命令序列的最后一個寫脈沖的上升沿后有效。當(dāng)該引腳輸出低電平時,表示Flash正在編程或擦除,而當(dāng)該引腳輸出高電平時,表示編程或擦除已完成。將此引腳與C6713 DSP的ARDY引腳相連,即可實現(xiàn)編程和擦除完成的硬件自動判斷。
    由于Flash是從CEl空間加載程序,因此DSP的CEI與Flash的片選CE相連,這種連接可將Flash的內(nèi)部地址映射到DSP地址0x90000000上。
2.2 引導(dǎo)模式設(shè)定
   
如圖1和表1所示HD3和HD4(HD[4:3])可通過跳線與3.3 V和地連接。當(dāng)拔去跳線帽時,HD[4:3]引腳輸入電平
“10”,引導(dǎo)模式設(shè)置為16 bit異步外部ROM引導(dǎo),即系統(tǒng)中使用Flash引導(dǎo)。當(dāng)插上跳線帽時,HD[4:3]引腳輸入電平“00”,引導(dǎo)模式設(shè)置為32 bit主機口/仿真器引導(dǎo)

3 上電自舉過程

    當(dāng)系統(tǒng)上電時,由引導(dǎo)程序將應(yīng)用程序從外部存儲器引導(dǎo)到DSP應(yīng)用板上的高速存儲器或DSP內(nèi)部RAM中運行,該過程就是上電自舉過程。由于Flash具有電信號刪除功能,且刪除速度快,集成度高,已成為此類外部存儲器的首選。
和以往TI公司的DSP引導(dǎo)方式不同,TMS320C6000系列DSP采用一種新的引導(dǎo)方法。對于C6713,若HD[4:3]引腳輸入電平為“10”,當(dāng)上電或系統(tǒng)復(fù)位時,DSP會自動將位于Flash地址空間(0x90000000~0x9FFFFFFF)開頭的1 KB代碼傳輸?shù)絉AM存儲空間“0”地址處,這就是一次引導(dǎo)。它的數(shù)據(jù)傳輸采用默認時序,由DSP中的EDMA通道以單幀形式自動傳輸。傳輸完成后,程序從地址“O”開始運行。這些均由DSP自動完成。很明顯,一次引導(dǎo)的代碼并不能滿足絕大多數(shù)編程者對代碼長度的要求,因此就需要二次引導(dǎo)過程。二次引導(dǎo)是將DSP一次引導(dǎo)的l KB代碼編寫成一個搬移程序,將用戶的主程序搬移到高速RAM中,并且搬移完成后自動跳轉(zhuǎn)至主程序入口處運行主程序。綜上所述,C6713的上電自舉過程分為一次引導(dǎo)和二次引導(dǎo),其中,一次引導(dǎo)由DSP自動完成,而二次引導(dǎo)則由用戶通過編程完成。

4 上電自舉及燒寫軟件設(shè)計
   
圖2為整個上電自舉過程所需程序和各程序的搬移過程。首先將編譯連接好的引導(dǎo)程序、主程序和燒寫程序按照先后順序由仿真器下載至DSP內(nèi)部RAM,再執(zhí)行燒寫程序,將引導(dǎo)程序和主程序燒寫到Flash,然后斷開仿真器,關(guān)閉CCS.重新上電或復(fù)位DSP板,DSP自動將Ox90000000~0x900003ff(1 KB)地址的數(shù)據(jù)全部搬移到I)SP內(nèi)部“0”地址開始的l KB空間中。搬移結(jié)束后,自動執(zhí)行引導(dǎo)程序進行二次引導(dǎo),將主程序和中斷向量表搬移到內(nèi)部RAM中,從而結(jié)束整個上電自舉過程。

4.1 引導(dǎo)程序
   
以下為引導(dǎo)程序部分代碼:


  [!--empirenews.page--]  A行利用匯編偽指令“.sect”為引導(dǎo)程序定義了一個段,通過鏈接命令文件將該段程序準(zhǔn)確定位在指定的地址空間。B行引用_c_int00子程序,是由系統(tǒng)自動生成的復(fù)位中斷服務(wù)子程序,利用該子程序使程序在執(zhí)行完引導(dǎo)程序后跳轉(zhuǎn)到主程序入口地址執(zhí)行主程序。
4.2 C6713對Flash的操作
    對Flash的操作有復(fù)位、數(shù)據(jù)讀、擦除、燒寫。Flash的復(fù)位操作相對簡單,只要向Flash任意地址單元寫入數(shù)據(jù)“0xF0”便可實現(xiàn)其復(fù)位操作。數(shù)據(jù)讀與一般的RAM存儲器相同,但Flash的擦除和燒寫操作卻有其自身特點。
4.2.1 Flash的擦除
    由于Flash的燒寫操作只能將其內(nèi)部存儲單元由“1”改寫為“0”,反之不行,所以必須先將Flash內(nèi)部存儲單元擦除后才能寫操作。也就是說,擦除操作是將Flash內(nèi)部存儲單元全部寫為“1”。
    由Flash擦除命令字看出,F(xiàn)lash的擦除分為片擦除和扇區(qū)擦除,采用片擦除,需要向2個地址寫入不同數(shù),從而擦除整個器件。其擦除子程序代碼如下:

      
    擦除操作完成后,可通過CCS查看0x90000000開始的單元,如均改寫成“0xFFFFFFFFF”則表明擦除成功。
4.2.2 Flash的燒寫
    通常燒寫有兩種方式,一種是在燒寫器上對器件燒寫后再插到PCB板上,待調(diào)試完成再將其焊接固定。但目前多采用貼片式元器件,所以方案采用第二種燒寫方法,即在線燒寫法。利用仿真器通過JTAG仿真口按照一定的時序和要求對Flash燒寫。燒寫部分程序代碼如下:


    在A行中,0x555左移1位后加到Flash的起始地址,這是因為寫Flash要求向0x555地址寫入數(shù)據(jù)“Oxaa”,該地址為Hash的地址,即要求Flash地址線AO~A18上出現(xiàn)0x555數(shù)據(jù),由于DSP的第l位地址線EA2與Flash的AO相連,32位DSP對指向“short”型數(shù)據(jù)的指針操作時會自動將地址左移1位,以滿足對偶地址操作的要求,所以應(yīng)像A、B行中手動將0x555,0x2aa地址左移l位,再加上DSP自動左移1位,就使地址0x555的第1位出現(xiàn)在EA2上,即AO~A18得到數(shù)據(jù)0x555,而DSP實際輸出地址為Ox90000AAA。D行的操作是將32位DSP內(nèi)部RAM中的n個16位二進制數(shù)搬移到16位Flash中,指針變量“flash_addr,source”均為指向“short”型數(shù)據(jù)的指針變量(16位),所以Flash會使用全部的16位數(shù)據(jù)線,而DSP只使用32位數(shù)據(jù)線的低16位用于傳輸數(shù)據(jù)。
4.3 鏈接命令文件(*.cmd文件)
   
鏈接命令文件是DSP開發(fā)過程中生成可執(zhí)行文件(.out)必不可少的一個文件。其作用是對DSP固有段和由用戶自定義的段在使用仿真器load程序時定位,將各段程序分配到存儲器的指定地址。這樣用戶就可以知道引導(dǎo)程序、中斷向量表和主程序在DSP內(nèi)存空間的準(zhǔn)確地址。
    由于待燒寫的引導(dǎo)程序、中斷向量表和主程序需定位在DSP內(nèi)存Ox00000000~0x00003FFF的地址空間中。燒寫程序需定位在Ox00004000~0x000141FF的地址空間。鏈接命令文件部分程序代碼如下:


5 結(jié)語
    以C6713為例,介紹了DSP的上電自舉過程及實現(xiàn)方法,詳細說明了其中關(guān)鍵問題及技術(shù)難點,并應(yīng)用程序?qū)嵗涂驁D加深讀者的理解。對于讀者開發(fā)TI公司的其他產(chǎn)品也有一定的借鑒作用,特別對于從事DSP設(shè)計的入門級人員會有很大的幫助。所涉及的內(nèi)容均經(jīng)過實踐證明,運行穩(wěn)定可靠。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉