基于TMS320C6201DSP處理器與FLASH存儲(chǔ)器接口系統(tǒng)設(shè)計(jì)
單電源3.0V讀、編程寫(xiě)入、擦除;
與JEDEC標(biāo)準(zhǔn)的命令集和引腳分布兼容;
增加了快速編程寫(xiě)人命令,寫(xiě)入僅需兩個(gè)總線(xiàn)周期;
具有至少100 000次的編程寫(xiě)入/擦寫(xiě)壽命;
靈活的扇區(qū)結(jié)構(gòu)支持整片內(nèi)容擦除、任一扇區(qū)內(nèi)容擦除、相連續(xù)的多扇區(qū)內(nèi)容并行擦除;
具有嵌入式編程寫(xiě)入算法,可自動(dòng)寫(xiě)入和驗(yàn)證寫(xiě)入地址的數(shù)據(jù);
具有嵌入式擦除算法,可自動(dòng)預(yù)編程和擦除整個(gè)芯片或任一扇區(qū)的內(nèi)容;
具有數(shù)據(jù)查尋位和切換位,可以通過(guò)軟件查尋方法檢測(cè)編程寫(xiě)入/擦除操作的狀態(tài);
具有RY/*BY管腳,可以通過(guò)硬件方法檢測(cè)編程寫(xiě)入/擦除操作的狀態(tài);
自動(dòng)休眠功能,當(dāng)?shù)刂繁3址€(wěn)定時(shí),自動(dòng)轉(zhuǎn)入低功耗模式;
具有低電壓禁止寫(xiě)入功能;
具有擦除暫停/擦除恢復(fù)功能,
2.2 MBM29LV800BA的主要命令及嵌入式算法
MBM29LV800BA的編程寫(xiě)入及擦除命令如表2所示。其中,X為十六進(jìn)制數(shù)字的任意值,RA為被讀數(shù)據(jù)的FLASH地址,RD為從FLASH地址RA讀出的數(shù)據(jù),PA為寫(xiě)編程命令字的FLASH地址,PD為編程命令宇,SA為被擦除內(nèi)容的扇區(qū)地址。 MBM29LV800BA具有嵌入式編程寫(xiě)入和擦除算法機(jī)構(gòu),當(dāng)向FLASH寫(xiě)入數(shù)據(jù)內(nèi)容或擦除其扇區(qū)內(nèi)容時(shí),需要根據(jù)相應(yīng)的算法編程才能完成。其編程擦除算法流程為:首先寫(xiě)編程擦除命令序列;然后運(yùn)行數(shù)據(jù)測(cè)試算法以確定擦除操作完成;其編程寫(xiě)入算法流程為:程序開(kāi)始,首先驗(yàn)證寫(xiě)入扇區(qū)是否為空,不空則運(yùn)行擦除算法;然后運(yùn)行編程寫(xiě)入算法,寫(xiě)編程寫(xiě)入命令序列,再運(yùn)行數(shù)據(jù)測(cè)試算法或查詢(xún)RY/*BY管腳信號(hào)以確定該次操作完成。地址增1繼續(xù)上述過(guò)程,否則結(jié)束操作;數(shù)據(jù)測(cè)試算法主要是測(cè)試DQ7和DQ5位的數(shù)據(jù)變化,以確定泫次操作是進(jìn)行中、完成、還是失敗。
3 C6201/6701與FLASH的接口設(shè)計(jì)
基于C6000系列DSP處理器的嵌入式系統(tǒng)往往采用地址映射方式為MAPl的ROM引導(dǎo)方式。這種方式是把開(kāi)發(fā)成功的敝入式可執(zhí)行程序燒寫(xiě)在CEl空間(從0~01400000地址開(kāi)始的ROM存儲(chǔ)器)中,并根據(jù)引導(dǎo)方式設(shè)置相應(yīng)的引導(dǎo)模式管腳BOOTMODE[4:0]。這樣,當(dāng)嵌入式系統(tǒng)上電工作時(shí),從復(fù)位信號(hào)的上升沿開(kāi)始,輔助DMA把執(zhí)行程序從引導(dǎo)ROM中移至片上程序存儲(chǔ)船中,然后在片上程序存儲(chǔ)器開(kāi)始執(zhí)行程序。這種方式呵充分發(fā)揮C6000系列DSP的并行結(jié)構(gòu)特點(diǎn),具有最好的執(zhí)行性能。當(dāng)引導(dǎo)ROM器件采用FLASH存儲(chǔ)器MBM29LV800BA時(shí),C6201/C6701與FLASH存儲(chǔ)器以8位方式連接的接口設(shè)計(jì)如圖3所示。FLASH的地址線(xiàn)[A-1,A0,…A18]與DSP的EMIF接口地址線(xiàn)[EA2,EA 3+…,EA21]直接相連;FLASH的低8位數(shù)據(jù)線(xiàn)DQ[0:7]與EMIF接口數(shù)據(jù)線(xiàn)[ED0,…,ED7]直接相連,高8位數(shù)據(jù)線(xiàn)DQ[8:15]不連接;讀寫(xiě)使能信號(hào)可直接相連;EMIF接口的片選信號(hào)/CEl與字節(jié)使能信號(hào)/BE0相與后與FLASH的片選信號(hào)相連;FLASH的方式信號(hào)/BYTE接地;由于EMIF接口的ARDY信號(hào)為低時(shí),DSP自動(dòng)插入等待時(shí)鐘周期,因此,F(xiàn)LASH的就緒或忙RY/*BY信號(hào)經(jīng)上拉電阻直接與ARDY信號(hào)相連,這種設(shè)計(jì)使FLASH的編程寫(xiě)操作可不運(yùn)行數(shù)據(jù)測(cè)試算法,大大簡(jiǎn)化了程序設(shè)計(jì);C6201/C6701與FLASH以16位或32位方式相連咱6接口設(shè)計(jì)與8位方式類(lèi)似。
4 引導(dǎo)程序開(kāi)發(fā)實(shí)現(xiàn)過(guò)程
C6000系列DSP的引導(dǎo)程序開(kāi)發(fā)實(shí)現(xiàn)不能一步完成,它需要一系列的實(shí)現(xiàn)步驟:首先,在硬件設(shè)計(jì)的同時(shí),可在C6000系列DSP的集成開(kāi)發(fā)環(huán)境CCS中,用C語(yǔ)言和匯編語(yǔ)言編寫(xiě)應(yīng)用程序USAGE.C,通過(guò)編譯、連接查找、修正原程序中的錯(cuò)誤,生成COFF格式的可執(zhí)行文件USAGE.OUT;其次,當(dāng)硬件設(shè)計(jì)成功時(shí),利用仿真器加載軟件程序USAGE.OUT到硬件系統(tǒng)中調(diào)試驗(yàn)證軟件程序,直至程序無(wú)錯(cuò)誤;然后,編寫(xiě)、加載鏈接指令文件Link.crud,重新編譯、鏈接軟件程序生成BOOT.OUT文件,再利用TI公司提供的HEX轉(zhuǎn)換工具包中的轉(zhuǎn)換程序和FLASH存儲(chǔ)器寬度,把該BOOT.OUT文件轉(zhuǎn)換為相應(yīng)的BOOT.HEX文件,由于轉(zhuǎn)換工具包中沒(méi)有提供相應(yīng)的轉(zhuǎn)換程序把BOOT.OUT文件直接轉(zhuǎn)換為FLASH認(rèn)可的二進(jìn)制文件,因此還需要編寫(xiě)轉(zhuǎn)換程序把BOOT.HEX文件再轉(zhuǎn)換為BOOT.BIN二進(jìn)制文件;最后,在CCS中編寫(xiě)FLASH寫(xiě)入程序,編譯、鏈接生成可執(zhí)行文件,并通過(guò)JTAG端口加載運(yùn)行,把得到的引導(dǎo)程序BOOT.BIN作為數(shù)據(jù)文件寫(xiě)入引導(dǎo)FLASH存儲(chǔ)器中。需注意的是程序?qū)懭隖LASH存儲(chǔ)器時(shí),需要把CEl空間寄存器設(shè)計(jì)為32位寬度存儲(chǔ)器接口方式。
Link.com
-c
-l rts6201.lib ;或rts7601.lib
MEMORY
{
VECS : 0=00000000h 1=00000200h
PMEM :0=00000200h 1=0000FE00h
DMEM :0=80000000h 1=00010000h
CElVECS: 0=01400000h 1=00000200h
CElPMEM:0=01400200h 1=0000FE00h
CElinit: 0=01410000h 1=00010000h
}
SECTIONS
{
.vector:load=CElVECS,run=VECS
.text :load=CElPMEM,rnn=PMEM
.cinit:load=CElinit,run=DMEM
.const:load=CElinit,run=DMEM
.data :load:CElinit,run=DMEM
.cio >DMEM
.far >DMEM
.stack >DMEM
.bss >DMEM
.svsmem>DMEM
設(shè)置引導(dǎo)方式管腳BOOTMODE[4:0]的信號(hào)電平為01101。當(dāng)系統(tǒng)再次加電時(shí),即可直接執(zhí)行用戶(hù)開(kāi)發(fā)的嵌入式應(yīng)用程序。
由于C6000系列DSP處理器具有驚人的運(yùn)算速度,并且具有體積小、功耗低等特點(diǎn),必將迅速得到廣泛的應(yīng)用,盡快掌握其開(kāi)發(fā)應(yīng)用技術(shù),可使其發(fā)揮重大作用;FLASH存儲(chǔ)器具有容量大、體積小、功耗低、在系統(tǒng)可編程的特點(diǎn),大大方便了DSP處理器的開(kāi)發(fā)及應(yīng)用。C6000系列DSP與FLASH的接口設(shè)計(jì)技術(shù)已成功地在作者開(kāi)發(fā)的基于三個(gè)C6201/6701處理器的嵌入式實(shí)時(shí)圖像匹配計(jì)算機(jī)中得到應(yīng)用。
評(píng)論