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