鐵電存儲(chǔ)器FM18L08在DSP系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
作者Email: zk197911@yahoo.com.cn [摘 要] 介紹了一種新型鐵電存儲(chǔ)器FM18L08,同時(shí)還分析了TMS320VC5402 DSP的并行引導(dǎo)裝載模式,給出了一種基于鐵電存儲(chǔ)器FM18L08的DSP脫機(jī)獨(dú)立運(yùn)行系統(tǒng)的設(shè)計(jì)方案,并且該方案已成功的應(yīng)用到一種語(yǔ)音門鎖系統(tǒng)中。 [關(guān)鍵詞] DSP;鐵電存儲(chǔ)器;并行引導(dǎo)裝載模式 1 引 言 鐵電存儲(chǔ)器(FRAM)是Ramtron公司近年推出的一款掉電不揮發(fā)存儲(chǔ)器,它結(jié)合了高性能和低功耗操作,能在沒(méi)有電源的情況下保存數(shù)據(jù)。FRAM克服了EEPROM和FLASH寫(xiě)入時(shí)間長(zhǎng)、擦寫(xiě)次數(shù)低的缺點(diǎn),其價(jià)格又比相同容量的不揮發(fā)鋰電SRAM低很多,已在地鐵系統(tǒng)、抄表系統(tǒng)及IT工業(yè)中得到了廣泛的應(yīng)用。 TMS320VC5402(以下簡(jiǎn)稱C5402)是美國(guó)德州儀器公司(TI)推出的一款性價(jià)比極高的16bit定點(diǎn)數(shù)字信號(hào)處理器(DSP),操作速率可達(dá)100MIPS,它豐富的內(nèi)部資源配置為用戶構(gòu)造系統(tǒng)提供了很大便利,已經(jīng)在通信、電子、圖象處理等領(lǐng)域得到了廣泛的應(yīng)用。但是,C5402是RAM型器件,掉電后不能保持任何用戶信息,所以需要用戶把程序代碼放在不揮發(fā)的存儲(chǔ)器內(nèi),在系統(tǒng)上電時(shí),通過(guò)執(zhí)行自行引導(dǎo)裝載(Bootloader)程序?qū)⒋鎯?chǔ)在外部媒介中的代碼裝載到C5402高速的片內(nèi)存儲(chǔ)器或系統(tǒng)中的擴(kuò)展存儲(chǔ)器內(nèi),裝載成功后自動(dòng)去執(zhí)行代碼,完成自啟動(dòng)。 2 FM18L08 FRAM的特點(diǎn) Ramtron’s FRAM存儲(chǔ)器技術(shù)的核心是微小的鐵電晶體集成到記憶體單元,以至于它能象快速的不揮發(fā)RAM一樣操作。 當(dāng)一個(gè)電場(chǎng)被加到鐵電晶體,中心原子順著電場(chǎng)的方向移動(dòng)。 移去電場(chǎng),中心原子保持不動(dòng),保存記憶體的狀態(tài), FRAM 記憶體不需要定期刷新,掉電后立即保存數(shù)據(jù)。 FM18L08是Ramtron公司近年推出的一款存儲(chǔ)容量為32k╳8bits FRAM,其主要特點(diǎn)如下:3.0-3.65V單電源供電;并行接口;提供SOIC和DIP兩種封裝;功耗低,靜態(tài)電流小于15uA,讀寫(xiě)電流小于10mA;非揮發(fā)性,掉電后數(shù)據(jù)能保存10年;讀寫(xiě)無(wú)限次。 FM18L08引腳結(jié)構(gòu)如圖1: 3 C5402并行引導(dǎo)裝載模式設(shè)計(jì) 3.1 C5402系統(tǒng)的程序引導(dǎo)裝載模式類型: C5402提供以下幾種引導(dǎo)裝載模式類型: ① HPI(主機(jī)接口)引導(dǎo)裝載模式 欲執(zhí)行的程序代碼通過(guò)主機(jī)接口總線由外部處理器加載至DSP片內(nèi)存儲(chǔ)器中。當(dāng)外部處理器將被加載代碼的起始地址(C5402片內(nèi)地址007FH)的內(nèi)容改變,便開(kāi)始執(zhí)行引導(dǎo)裝載程序。 ② 8位/16位并行引導(dǎo)裝載模式 引導(dǎo)裝載程序通過(guò)外部并行接口總線讀取存放在外部數(shù)據(jù)存儲(chǔ)單元中的數(shù)據(jù)。外部數(shù)據(jù)單元中的數(shù)據(jù)是按照一定格式存儲(chǔ)的,其信息包括:欲加載的各段程序代碼、各段程序代碼長(zhǎng)度、各段程序代碼存放的目標(biāo)地址、程序代碼的入口地址以及其他配置信息。 ③ 8位/16位標(biāo)準(zhǔn)串行口引導(dǎo)裝載模式 引導(dǎo)裝載程序通過(guò)被設(shè)置為標(biāo)準(zhǔn)模式的多通道緩沖串口(McBSP)讀取存放在外部數(shù)據(jù)存儲(chǔ)單元中的數(shù)據(jù)。多通道緩沖串口1(McBSP1)支持8位串行接收方式,多通道緩沖串口0(McBSP0)支持16位串行接收方式。 ④ 8位串行EEPROM引導(dǎo)裝載模式 引導(dǎo)裝載程序通過(guò)一串聯(lián)的EEPROM讀取存放在外部數(shù)據(jù)存儲(chǔ)單元中的數(shù)據(jù)。在此種方式中,EEPROM與設(shè)置為SPI工作模式的McBSP1相連接。 ⑤I/O引導(dǎo)裝載模式 引導(dǎo)裝載程序通過(guò)外部并行接口總線地址為00H的I/O口讀取數(shù)據(jù)。該外部并口接口總線使用異步握手協(xié)議(使用C5402的XF和BIO引腳),使數(shù)據(jù)傳輸速度可按外部存儲(chǔ)器設(shè)備的要求執(zhí)行。 3.2 C5402并行引導(dǎo)裝載模式設(shè)計(jì) 對(duì)于以C5402為核心的數(shù)字信號(hào)處理系統(tǒng)來(lái)說(shuō),并行引導(dǎo)裝載模式被認(rèn)為是最適用的。因?yàn)?/SPAN>HPI引導(dǎo)裝載模式、標(biāo)準(zhǔn)串行口引導(dǎo)裝載模式和I/O口引導(dǎo)裝載模式只適用于由其它處理器為C5402提供運(yùn)行代碼的多處理器系統(tǒng)中,串行EEPROM引導(dǎo)裝載模式只支持價(jià)格偏高的SPI端口EEPROM,而并行引導(dǎo)裝載模式可采用的并行EEPROM和Flash種類很多,有的價(jià)格比較低,操作起來(lái)比較簡(jiǎn)單,因而并行引導(dǎo)加載方案是最佳選擇。 為使C5402能有效地把外擴(kuò)FRAM中的程序引導(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)表結(jié)構(gòu)如表1所示。
表1并行引導(dǎo)裝載模式引導(dǎo)表 片內(nèi)ROM的引導(dǎo)程序首先讀取I/O空間的FFFFh地址內(nèi)容(指定為8000h)作為引導(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)表的起始地址。 8bit 并行引導(dǎo)裝載的實(shí)現(xiàn)電路如圖1所示。其中A15經(jīng)過(guò)非門與/MSTRB相或是為了防止C5402的內(nèi)部16K DARAM(0000H-3FFFH)與外部FRAM沖突,同時(shí),對(duì)應(yīng)上并行引導(dǎo)裝載模式的引導(dǎo)表設(shè)置相對(duì)應(yīng)。
圖1 硬件系統(tǒng)原理圖 4系統(tǒng)軟件設(shè)計(jì) 這個(gè)系統(tǒng)中,軟件編程的核心在于按照特定的格式將數(shù)據(jù)寫(xiě)到FM18L08 FRAM中,下面具體介紹軟件系統(tǒng)的設(shè)計(jì)方法。 在TI公司的軟件開(kāi)發(fā)工具CCS(Code Composer Studio)中,匯編器和連接器創(chuàng)建的目標(biāo)文件采用COFF(Common Object File Format)格式,代碼和數(shù)據(jù)都按段(Section)來(lái)組織設(shè)計(jì)。先通過(guò)CCS將程序下載到硬件系統(tǒng)的C5402的片內(nèi)DARAM中,再運(yùn)行程序?qū)⑺钄?shù)據(jù)及程序按照表1的格式寫(xiě)到FM18L08 FRAM(對(duì)應(yīng)于DSP數(shù)據(jù)尋址的08000h—0FFFFh)中,斷開(kāi)硬件系統(tǒng)與CCS環(huán)境的聯(lián)系,重新上電或復(fù)位C5402,將看到燈在閃爍,此時(shí)硬件系統(tǒng)已經(jīng)可以脫機(jī)獨(dú)立運(yùn)行了。 .mmregs 主程序中,data段為上電引導(dǎo)程序提供了需要加載的各代碼段的長(zhǎng)度、源地址和目的地址這幾個(gè)參數(shù)。其中,代碼段長(zhǎng)度既可以根據(jù)載入DSP系統(tǒng)后在CCS反匯編窗口算得,也可以從連接生成的映像文件(后綴為.map)中得到。 5 結(jié)束語(yǔ) 本文介紹的基于鐵電存儲(chǔ)器FM18L08的DSP 并行引導(dǎo)裝載方案,可以在無(wú)需專用燒寫(xiě)器的情況下,實(shí)現(xiàn)DSP脫機(jī)獨(dú)立運(yùn)行系統(tǒng)的設(shè)計(jì),并且該方案已成功的應(yīng)用到一種語(yǔ)音門鎖系統(tǒng)中。實(shí)驗(yàn)結(jié)果表明,該方法具有簡(jiǎn)化接口電路、節(jié)省系統(tǒng)資源、性價(jià)比高的優(yōu)點(diǎn)。 但是,如果脫機(jī)獨(dú)立運(yùn)行系統(tǒng)程序超過(guò)了64K字節(jié),只能采用另外的替代方法,這是在一些電路設(shè)計(jì)方案論證時(shí)需要考慮的問(wèn)題。 作者Email: zk197911@yahoo.com.cn |