基于閃爍存儲(chǔ)器的TMS320VC5409 DSP并行引導(dǎo)裝載方法
TMS320VC5409 是TI公司推出的第一代的高性能、低價(jià)位、低功耗數(shù)字信號(hào)處理器(DSP)。與現(xiàn)在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了 50%。它的應(yīng)用對(duì)象大多是要求能脫機(jī)運(yùn)行的內(nèi)嵌式系統(tǒng),如機(jī)頂盒(STB)、個(gè)人數(shù)字助理(PDA)和數(shù)字無(wú)線通信等。閃爍存儲(chǔ)器(FLASH MEMORY)是可以在線電擦寫(xiě)、掉電后信息不丟失的存儲(chǔ)器。FLASH與EPROM相比,具有更高的性能價(jià)格比,而且體積小、功耗低、擦寫(xiě)速度快、使用比較方便。因此,采用FLASH存儲(chǔ)程序和固定數(shù)據(jù)是一種比較好的選擇。AMD公司的Am29LV400B FLASH可以直接與DSP相接。
1 Am29LV400B的主要特點(diǎn)及編程方法
Am29AL400B是AMD公司新推出的256K×16位產(chǎn)品,具有以下主要特點(diǎn):
(1)支持單電源操作,可分為滿負(fù)荷電壓供電(2.7V~3.6V)和電壓范圍可調(diào)節(jié)(3.0V~3.6V)和電壓范圍可調(diào)節(jié)(3.0V~3.6V)供電兩種方式。滿幅度電壓供電壓供電方式主要用于電池供電的應(yīng)用中,而電壓范圍可調(diào)節(jié)供電方式直接與3.3V的高性能DSP接口,簡(jiǎn)化了系統(tǒng)的電源要求。
(2)最快的存取速度高達(dá)55ns,CMOS工藝,具有100000次寫(xiě)入/擦寫(xiě)壽命。
(3)低功耗(200nA的自動(dòng)休眠電流,200nA的待命電流,7mA的讀電流,15mA的編程/擦除電流)。
(4)靈活的塊結(jié)構(gòu)支持整片擦除、塊擦除。整片分為11個(gè)塊(1塊8K字、2塊4K字、1塊16K字、7塊32K字)。
(5)塊保護(hù)功能,具有防止對(duì)任何區(qū)段進(jìn)行編程或擦除的硬件保護(hù)機(jī)制。
(6)與JEDEC標(biāo)準(zhǔn)兼容,引腳分布和命令集與單電源FLASH相兼容,具有優(yōu)越的防止意外編程的保護(hù)功能。
(7)數(shù)據(jù)查詢位和數(shù)據(jù)切換位,可以通過(guò)軟件方法檢測(cè)編程/擦除操作的狀態(tài)。
(8)Ready/Busy#管腳,可以通過(guò)硬件方法檢測(cè)編程/擦除操作的狀態(tài)。
(9)具有擦除暫停/擦除恢復(fù)功能。在暫停擦除操作過(guò)程中,支持讀寫(xiě)不處于擦除狀態(tài)的塊。
(10)內(nèi)嵌的擦除/編程算法能自動(dòng)對(duì)整個(gè)芯片或某幾個(gè)塊進(jìn)行擦除編程操作。
Am29LV400B編程和擦除算法的命令定義如表1所示。
表1 Am29LV400B命令定義
操作命令序列 | 周期 | 總 線 周 期 | |||||||||||
1 | 2 | 3 | 4 | 5 | 6 | ||||||||
地址 | 數(shù)據(jù) | 地址 | 數(shù)據(jù) | 地址 | 數(shù)據(jù) | 地址 | 數(shù)據(jù) | 地址 | 數(shù)據(jù) | 地址 | 數(shù)據(jù) | ||
讀 復(fù)位 片擦除 段擦除 字編程 | 1 1 6 6 4 | RA XXX 555 555 555 | RD F0 AA AA AA | 2AA 2AA 2AA | 55 55 55 | 555 555 555 | 80 80 A0 | 555 555 PA | AA AA PD | 2AA 2AA | 55 55 | 555 SA | 10 30 |
表中,RA為要讀的存儲(chǔ)器地址;RD為從存儲(chǔ)器地址RA處讀出的數(shù)據(jù);SA為要擦除的段地址;PA為要寫(xiě)入數(shù)據(jù)的存儲(chǔ)器地址;PD為要在地址PA處寫(xiě)入的數(shù)據(jù)。根據(jù)表中的命令定久可編制FLASH的“燒寫(xiě)”和“擦除”程序(用C語(yǔ)言和匯編語(yǔ)言混合編程實(shí)現(xiàn))。根據(jù)需要,我們編制了“燒寫(xiě)”單字和“燒寫(xiě)”多字的程序。
2 硬件電路組成
DSP 存儲(chǔ)區(qū)硬件接口電路如圖1所示。主要由5部分組成:DSP處理器-TMS320VC5409、系統(tǒng)邏輯控制電路(采用CPLD-EPM7128實(shí)現(xiàn))、閃存FLASH-Am29LV400B(256K字的FLASH用來(lái)存儲(chǔ)應(yīng)用程序和初始化數(shù)據(jù))、程序存儲(chǔ)器SRAM1-IDT71V416S12PH(容量為256K字)、數(shù)據(jù)存儲(chǔ)器SRAM2-IDT71V016S12PH(容量為64K字)。邏輯控制電路主要由3個(gè)模塊組成:FLASH頁(yè)選控制模塊、讀/寫(xiě)控制模塊、程序空間/數(shù)據(jù)空間/FLASH切換控制模塊。圖中,CPLD的輸出FMSEL為FLASH的片選腳;PMSEL為程序空間的片選腳; DMSEL為數(shù)據(jù)空間的片選腳。
FLASH分為8頁(yè),每頁(yè)32K,通過(guò)CPLD中的FLASH頁(yè)選控制模塊(Page0~Paeg2)實(shí)現(xiàn)FLASH翻頁(yè)功能。為實(shí)現(xiàn)FLASH引導(dǎo)裝載,F(xiàn)LASH物理空間的前32K映射到TMS320VC5409的數(shù)據(jù)空間0x8000h~0xFFFFh上,即TMS320VC5409的數(shù)據(jù)空間 0x8000h~0xFFFFh為FLASH的前32K空間。為了重點(diǎn)說(shuō)明FLASH的引導(dǎo)裝載過(guò)程,本文只談及DSP片內(nèi)程序存儲(chǔ)空間以及FLASH前 32K字的使用情況。
3 TMS320VC5409 DSP的引導(dǎo)裝載方式
TMS320VC5409芯片具有兩種引導(dǎo)方式:片內(nèi)引導(dǎo)方式和片外執(zhí)行方式。片內(nèi)引導(dǎo)方式就是利用片內(nèi)ROM中的引導(dǎo)程序?qū)⒊绦驈耐獠考虞d到程序存儲(chǔ)器中運(yùn)行。由于FLASH的速度較低,難以與DSP相匹配,因此,本文采用片內(nèi)引導(dǎo)方式。
TMS320VC5409 片內(nèi)掩模ROM中固化的引導(dǎo)裝載(Bootloader)程序用于在上電復(fù)位時(shí)把用戶程序從外部引導(dǎo)到高速RAM中,以保證其全速運(yùn)行。 TMS320VC4509提供的片內(nèi)引導(dǎo)方法有:有機(jī)口HPI方法、8位或16位并行EPROM方法、8位或16位并行I/O方法和8位或16位串行口方法等。TMS320VC5409片內(nèi)引導(dǎo)裝載源程序可以在TI網(wǎng)絡(luò)下載得到,讀者可以自行分析。下面通過(guò)圖2所示的引導(dǎo)過(guò)程框圖,闡述一下本文選用的并行引導(dǎo)方式過(guò)程。
評(píng)論