基于TMS320C6713及AM29LV800B的上電自舉設(shè)計
TMS320C6713(以下簡稱C6713)是TI公司推出的高性能浮點(diǎn)運(yùn)算DSP,采用超常指令字(VLIW)結(jié)構(gòu)。時鐘速率為300 MHz、225 MHz、200 MHz、167 MHz。EMIF作為C6713與外部存儲器之間的接口,可支持與各種外部器件無縫(即可尋址空間已分配完畢,且地址一致連續(xù))連接。EMIF存儲器映射由4個(CE0~CE3)空間組成,這4個空間彼此獨(dú)立,實現(xiàn)不同訪問控制。C6713 DSP包含從Ox00000000地址開始的256 KB內(nèi)部RAM,但其內(nèi)部無非易失性存儲器,需要外擴(kuò)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主機(jī)口/仿真器引導(dǎo)
3 上電自舉過程
當(dāng)系統(tǒng)上電時,由引導(dǎo)程序?qū)?yīng)用程序從外部存儲器引導(dǎo)到DSP應(yīng)用板上的高速存儲器或DSP內(nèi)部RAM中運(yùn)行,該過程就是上電自舉過程。由于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ù)傳輸采用默認(rèn)時序,由DSP中的EDMA通道以單幀形式自動傳輸。傳輸完成后,程序從地址“O”開始運(yùn)行。這些均由DSP自動完成。很明顯,一次引導(dǎo)的代碼并不能滿足絕大多數(shù)編程者對代碼長度的要求,因此就需要二次引導(dǎo)過程。二次引導(dǎo)是將DSP一次引導(dǎo)的l KB代碼編寫成一個搬移程序,將用戶的主程序搬移到高速RAM中,并且搬移完成后自動跳轉(zhuǎn)至主程序入口處運(yù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)程序進(jìn)行二次引導(dǎo),將主程序和中斷向量表搬移到內(nèi)部RAM中,從而結(jié)束整個上電自舉過程。
4.1 引導(dǎo)程序
以下為引導(dǎo)程序部分代碼:
評論