TMS320VC5402 DSP并行8bit EPROM引導(dǎo)裝載方法研究
來源:電子技術(shù)應(yīng)用; 作者:庾新林
摘要:TMS320VC5402 DSP芯片并行引導(dǎo)的特點和引導(dǎo)的過程中,設(shè)計了并行8bit EPROM引導(dǎo)裝載的電路,并給出了實現(xiàn)方法。實踐證明,該電路和方法在利用TMS320VC5402 DSP芯片設(shè)計系統(tǒng)時非常簡便,具有很大的實用性。
關(guān)鍵詞:DSP 引導(dǎo)裝載 并行引導(dǎo)表
TMS320VC5402(以下簡稱C5402)是德州儀器公司(TI)推出的性價比極高的16bit定點數(shù)字信號處理器(DSP),操作速率可達100MIPS,它的內(nèi)部資源配置為用戶構(gòu)造系統(tǒng)提供了很大便利。
C5402芯片配置有4K×16bit片內(nèi)屏蔽式的ROM(F000h-FFFFh)。在4K ROM資源里,包含了Bootloader程序。這個Bootloader程序在系統(tǒng)通電后能自動將存放在外部載體的用戶代碼引導(dǎo)到程序存儲器的任何空間或片內(nèi)RAM。如果芯片的MP/MC腳在復(fù)位時為低電位,指令從片內(nèi)ROM的FF80h地址開始執(zhí)行,在FF80h地址后有一個跳轉(zhuǎn)指令自動轉(zhuǎn)入到Bootloader程序,由Bootloader程序進行引導(dǎo)裝載用戶程序。
C5402芯片內(nèi)包含有16K×16bit雙存取的RAM(DARAM)。DARAM分成兩個塊,每個塊為8K,每個塊在一個機器周期內(nèi)支持兩次讀或一次讀和一次寫。片內(nèi)DARAM位于數(shù)據(jù)空間0080h-3FFFh地址,通過設(shè)置C5402寄存器PMST的OVLY位為1,可以把片內(nèi)RAM映射成程序/數(shù)據(jù)存儲空間。用戶在設(shè)計自己的系統(tǒng)時,如程序容量不超過16K,則可考慮充分利用芯片的內(nèi)部資源,采用引導(dǎo)裝載的方式,以降低系統(tǒng)的設(shè)計難度和設(shè)計成本、縮短產(chǎn)品研制周期。
1 8bit EPROM引導(dǎo)裝載的特點和初始化
TMS320VC5402 Bootloader用于在芯片通電時將存儲于外部的用戶代碼傳輸?shù)絻?nèi)部或外部程序存儲器,用戶代碼可存儲在外部速度較慢的非失憶性的存儲器內(nèi),使C5402能外擴普通低速的EPROM。經(jīng)引導(dǎo)后,用戶代碼可裝載到高速的片內(nèi)或片外RAM中執(zhí)行,以充分發(fā)揮C5402指令高速運行的特點。
Bootloader能提供許多種引導(dǎo)方式以適配不同的系統(tǒng)設(shè)備,包括兩種并行總線方式、串口方式以及主機口方式(HPI),具有很強的系統(tǒng)靈活性。同時支持8位字節(jié)和16位字的模式。8bit EPROM并行引導(dǎo)是設(shè)計C5402 DSP系統(tǒng)最常用、最經(jīng)濟、最簡便的引導(dǎo)方式,用戶代碼可存儲在低速的EPROM外設(shè)中,其地址位于外部數(shù)據(jù)空間的4000h~FFFFh段,共48K。要實現(xiàn)EPROM并行引導(dǎo)至片內(nèi)RAM,C5402首先要進行如下初始化設(shè)置:
(1)將芯片的MP/MC腳接地,使C5402工作在微計算機方式;
(2)設(shè)置寄存器PMST中OVLY=1,使片內(nèi)RAM0080h~3FFFh既映射在程序區(qū),又映射在數(shù)據(jù)區(qū);
(3)設(shè)置寄存器PMST中DROM=0,使F000h~FFFFh映射在外部數(shù)據(jù)區(qū);
(4)程序和數(shù)據(jù)空間設(shè)置成7個等待狀態(tài)。
(2)、(3)、(4)項用C5402芯片掩摸ROM中的引導(dǎo)程序?qū)崿F(xiàn)。在C5402上電復(fù)位后,指令總是從FF80h處執(zhí)行,然后自動跳轉(zhuǎn)到內(nèi)部引導(dǎo)程序入口地址F800h,判斷芯片MP/MC位,若為邏輯0,則執(zhí)行引導(dǎo)程序。
2 8bit EPROM引導(dǎo)裝載的實現(xiàn)
2.1 EPROM并行引導(dǎo)過程
為使C5402能有效地把外擴EPROM中的程序引導(dǎo)到芯片內(nèi)RAM,需要編制一個引導(dǎo)表。引導(dǎo)表定位于數(shù)據(jù)空間的4000h~FFFFh段,引導(dǎo)表的內(nèi)容包含如下幾個方面:(1)引導(dǎo)方式的標(biāo)識;(2)程序存放的目標(biāo)首地址;(3)程序執(zhí)行的入口址址;(4)用戶程序代碼;(5)用戶程序塊長度。
引導(dǎo)表數(shù)據(jù)結(jié)構(gòu)是通過執(zhí)行鏈接命令程序和Hex轉(zhuǎn)換公用命令程序形成的。在鏈接命令程序中分配了程序和數(shù)據(jù)結(jié)構(gòu),在Hex轉(zhuǎn)換公用命令程序中定義了引導(dǎo)方式、程序執(zhí)行的入口地址和外部EPROM的首地址。
片內(nèi)ROM的引導(dǎo)程序首先讀取I/O空間的FFFFh地址內(nèi)容(指定為4000h)作為引導(dǎo)表的起始地址,通過判別引導(dǎo)表起始地址內(nèi)的引導(dǎo)標(biāo)識來確定是8位并行還是16位并行引導(dǎo)方式。若引導(dǎo)標(biāo)識是10AAh,則是16位的并行引導(dǎo)方式;若引導(dǎo)標(biāo)識是08AAh,則是8位的并行引導(dǎo)方式。
當(dāng)從I/O空間FFFFh地址讀取不到有效的引導(dǎo)標(biāo)識時,片內(nèi)ROM的引導(dǎo)程序即讀取數(shù)據(jù)空間FFFFh的內(nèi)容作為引導(dǎo)表的起始地址。同樣通過判別引導(dǎo)表起始地址內(nèi)的引導(dǎo)標(biāo)識來確定是8位并行還是16位并行引導(dǎo)方式。當(dāng)EPROM數(shù)據(jù)位寬是8bit時,則要讀取數(shù)據(jù)空間FFFFh地址的內(nèi)容(低字節(jié))和FFFEh地址的內(nèi)容(高字節(jié))作為引導(dǎo)表的起始地址。
2.2 硬件實現(xiàn)電路
8bit EPROM引導(dǎo)裝載的實現(xiàn)電路如圖1所示。
圖中D3、D4器件為74AHC373,提供了C5402采集I/O端口地址FFFFh的數(shù)據(jù),這里設(shè)置為4000h。EPROM選用27C512-60(64k),緩沖器74AHC244作電平變換用,EPROM的片選端和緩沖器的選通端同時接C5402的數(shù)據(jù)選通信號MSTRB。當(dāng)程序引導(dǎo)完后,MSTRB為高,緩沖器74AHC244輸出為高阻,可以并掛在數(shù)據(jù)總線上。
欲知詳情,請下載word文檔 下載文檔