高密度SPI EEPROM――SA25C020的DSP引導(dǎo)
關(guān)鍵詞 SPI EEPROM boot TMS320VC5509A SA25C020
引 言
DSP的引導(dǎo)是涉及DSP獨(dú)立工作的關(guān)鍵性問(wèn)題,通常采用的方法是由Flash等器件引導(dǎo)的,但是相對(duì)Flash的占用空間大、扇區(qū)擦除的難度和時(shí)延來(lái)說(shuō),SPI EEPROM不失為一個(gè)好的選擇。傳統(tǒng)EEPROM的容量太小,無(wú)法充分利用DSP的程序空間。
SA25C020的2Mb SPI EEPROM是以色列的SaifunSemiconductor公司于2005年推出的高密度EEPROM產(chǎn)品,是業(yè)界首個(gè)結(jié)合小型SO8封裝、低功耗和高性能特點(diǎn)的器件,專為需要高耐用性和低功耗的應(yīng)用而設(shè)計(jì)和測(cè)試,針對(duì)持續(xù)可靠的非揮發(fā)性存儲(chǔ)方案。它的價(jià)位接近閃存(Flash),加上其節(jié)省空間的封裝形式,使得它成為DSP引導(dǎo)的一個(gè)新的選擇。TI公司的TMS320VC5509A是一款集成了A/D、USB接口等的便攜式DSP。最重要的是它支持24位的SPI EEPROM引導(dǎo)。這兩款芯片的結(jié)合,易于形成空間小、功耗低的便攜式解決方案,有助于新的小型化、低功耗應(yīng)用的實(shí)現(xiàn),如硬盤、光盤(包括DVD)、機(jī)頂盒、打印機(jī)、游戲卡以及無(wú)線產(chǎn)品。
1 引導(dǎo)系統(tǒng)硬件設(shè)計(jì)
DSP引導(dǎo)系統(tǒng)硬件配置框圖如圖1所示。其中TMS320VC5509A有兩種封裝形式,此處采用PGE3形式。一個(gè)可以獨(dú)立運(yùn)行的DSP系統(tǒng)必須包括:
◇DSP芯片;
◇電源、時(shí)鐘以及必要的初始化外圍設(shè)置;
◇用于引導(dǎo)的非易失性的程序存儲(chǔ)器,如本設(shè)計(jì)中采用的SA25C020;
◇JTAG接口用于外部下載程序。
2 引導(dǎo)關(guān)鍵技術(shù)
引導(dǎo)主要步驟如下:
①利用CCStudi02.O建立應(yīng)用程序,并產(chǎn)生*.out文件;
②建立引導(dǎo)表,生成相關(guān)文件;
③將引導(dǎo)表轉(zhuǎn)換為DSP可以加載的數(shù)據(jù)格式,生成*.dat文件;
④利用CCStudi02.O建立EEPROM燒寫程序,將引導(dǎo)表寫到EEPROM中。
2.1 引導(dǎo)程序制作
制作一個(gè)被加載的工程xf。程序的功能是使DSP的XF腳接的LED閃爍。主要調(diào)用程序如下:
編譯工程,在工程文件xf/Debug文件夾中生成xf.out文件。
2.2 引導(dǎo)表(boot table)制作
構(gòu)造引導(dǎo)表的方法有兩種:一種是使用hex conversion utmty;另外一種是根據(jù)boot table的結(jié)構(gòu)自己在SPIEEPROM燒寫程序中進(jìn)行構(gòu)造。對(duì)于第2種,需要構(gòu)造者充分掌握引導(dǎo)表的構(gòu)造(詳情請(qǐng)見參考文獻(xiàn)[1],第17頁(yè))。這里僅說(shuō)明使用hex converslon utility制作引導(dǎo)表的方法。下面闡述制作引導(dǎo)表所需要的環(huán)境和操作。
2.2.1 hex conversion utility數(shù)據(jù)轉(zhuǎn)換工具
hex conversion utllity是TI公司CCS中本身帶有的一個(gè)數(shù)據(jù)轉(zhuǎn)換工具。它有幾個(gè)版本。對(duì)于C54xx使用的hex500.exe,其絕對(duì)位置在\ti\c5400\cgtools\bin\hex500.exe;對(duì)于C55xx使用的hex55.exe,其位置一般在\ti\c5500\cgtools\bin\hex55.exe。使用hex conversion utility工具還需要以下文件:
①*.out文件,是CCS編譯好的要存入EEPROM的DSP可執(zhí)行文件。這個(gè)文件對(duì)于bex conversion utility是數(shù)據(jù)源文件。
②*.cmd文件,用來(lái)填寫hex conversion utility工具執(zhí)行時(shí)的命令參數(shù)的文件。這些命令參數(shù)也可以在命令
執(zhí)行時(shí)寫在命令的后面,而不采用*.cmd文件。
③輸出文件是hex conversion utility生成的文件,可以是多種文件格式,在*.cmd文件的-o參數(shù)中設(shè)置,如ASCII-Hex、Intel、Motorola-Sl/S2/S3、TI-Tagged、Tektronix等。這里選用輸出文件為Intel格式。
2.2.2 制作過(guò)程
在2.1節(jié)中已經(jīng)制作好了xf.out文件。下面建立xf.cmd文件,內(nèi)容如下:
編寫好xf.cmd文件后,將hex55.exe、xf.out、xf.cmd放在同一個(gè)目錄下。進(jìn)入命令行并且到上述3個(gè)文件所在的目錄下,執(zhí)行命令“hex55 xf.cmd”,如圖2所示。這樣就可得到輸出的引導(dǎo)表文件xf.io。
2.3 引導(dǎo)表數(shù)據(jù)轉(zhuǎn)換
引導(dǎo)表制作成功以后,其數(shù)據(jù)并不能被DSP直接讀寫,而需要把它轉(zhuǎn)換成DSP可以讀寫的格式(即CCS數(shù)據(jù)文件格式),才能把這些數(shù)據(jù)燒寫到存儲(chǔ)器中。這就需要對(duì)引導(dǎo)表文件進(jìn)行數(shù)據(jù)轉(zhuǎn)換。xf.io的數(shù)據(jù)格式如下(其中黑體字為有效數(shù)據(jù)):
CCS數(shù)據(jù)文件由CCS文件頭和數(shù)據(jù)兩部分構(gòu)成。文件頭指明文件類型、數(shù)據(jù)類型、起始地址和長(zhǎng)度等信息,后為數(shù)據(jù),每個(gè)數(shù)據(jù)占l行。以下即為CCS數(shù)據(jù)文件的文件頭格式:
采用VC++編寫程序DSP_dataconvert進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,將Intel格式的數(shù)據(jù)轉(zhuǎn)換為DSP可以加載的數(shù)據(jù)格式。以下為CCS的數(shù)據(jù)格式,粗體字為有效數(shù)據(jù)。165ll 4000 114f;1651文件類型,1表示十六進(jìn)制格式
2.4 SPI EEPROM燒寫程序
SPI EEPROM讀過(guò)程操作一般要先執(zhí)行WREN命令,打開寫使能信號(hào),RDSR讀取寄存器狀態(tài)信號(hào),WRITE寫EEPROM。SA25C020的指令結(jié)構(gòu)和讀寫過(guò)程與普通的16位指令結(jié)構(gòu)和讀寫過(guò)程是兼容的,只是在寫地址時(shí)SA25C020的是24位的。
一般燒寫程序中的執(zhí)行順序?yàn)椋篧REN→RDSR→WRITF
24位EEPROM具體寫程序如下:
3 結(jié) 論
本設(shè)計(jì)方案大大節(jié)省了設(shè)計(jì)空間,降低了功耗,經(jīng)過(guò)實(shí)際安裝與調(diào)試完全可行。說(shuō)明了基于高密度SPI EEP-ROM的DSP應(yīng)用系統(tǒng)獨(dú)立運(yùn)行的過(guò)程。與同類的SPIEEPROM相比,具有容量大的特點(diǎn);與Flash引導(dǎo)相比,具有讀寫、擦除簡(jiǎn)單的特點(diǎn)。硬件電路具有良好的可擴(kuò)展性。以此電路為基礎(chǔ),可以適用于C5509A的小型化、低功耗和便攜式應(yīng)用的開發(fā)。
評(píng)論