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