淺談TMS320C672x系列浮點(diǎn)DSP的EMIF研究與應(yīng)用
出處:張西峰 杜普選 孔 勇 發(fā)布于:2011-09-01 20:25:23
目前,DSP技術(shù)已廣泛用于信號(hào)處理、通信和雷達(dá)等領(lǐng)域。數(shù)字信號(hào)處理(DigitalSignalProcessing,簡(jiǎn)稱(chēng)DSP)是一門(mén)涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來(lái),隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。在過(guò)去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛DSP技術(shù)圖解的應(yīng)用。數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字形式對(duì)信號(hào)進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識(shí)別等處理,以得到符合人們需要的信號(hào)形式。數(shù)字信號(hào)處理是將信號(hào)以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號(hào)處理與模擬信號(hào)處理是信號(hào)處理的子集。
TMS320C672x系列浮點(diǎn)DSP的EMIF性能優(yōu)良,增強(qiáng)了與外部1、2或4區(qū)的16位或32位SDRAM和異步器件連接的方便性和靈活性。TMS320C6722和TMS320C6726 EMIF寬度為16位,支持的SDRAM可達(dá)128 Mb。
異步存儲(chǔ)器接口是從并行的8位、16位或32位NOR Flash實(shí)現(xiàn)系統(tǒng)自啟動(dòng)。若使用大容量的Flash,EMIF連接Flash的高位地址線可通過(guò)外部器件CPLD或自身GPIO口擴(kuò)展。外部存儲(chǔ)器接口(EMIF),External Memory Interface,是TMS DSP器件上的一種接口。一般來(lái)說(shuō),EMIF可實(shí)現(xiàn)DSP與不同類(lèi)型存儲(chǔ)器(SRAM、Flash RAM、DDR-RAM等)的連接。一般EMIF與FPGA相連,從而使FPGA平臺(tái)充當(dāng)一個(gè)協(xié)同處理器、高速數(shù)據(jù)處理器或高速數(shù)據(jù)傳輸接口。設(shè)計(jì)接口提供了一個(gè)FPGA塊至RAM的無(wú)縫連接。在讀/寫(xiě)、FIFO或存儲(chǔ)器模式中,雙端口塊RAM的一側(cè)被用來(lái)實(shí)現(xiàn)與DSP的通信。另一側(cè)用于實(shí)現(xiàn)與內(nèi)部FPGA邏輯電路或平臺(tái)-FPGA嵌入式處理器的通信。在使用DSP的過(guò)程中,需要設(shè)計(jì)外部存儲(chǔ)器接口時(shí)可以參考TI的TMS320XX DSP External Memory Interface (EMIF) Reference Guide。其中XX代表某一種具體的dsp處理器。
1 EMIF接口
EMIF接口具有很強(qiáng)的外設(shè)連接能力,可尋址空間一般比較大,數(shù)據(jù)吞吐較快。EMW接口支持的器件包括同步突發(fā)靜態(tài)RAM(SBSRAM)、同步動(dòng)態(tài)RAM(SDRAM)、各種異步設(shè)備(SRAM、ROM和FIFO)以及同步FIFO。TMS320C672x的EMIF引腳結(jié)構(gòu)如圖1所示。
其主要引腳功能如下:
EM_A[x:0]:EMIF地址總線。當(dāng)與SDRAM器件連接時(shí),地址總線主要為SDRAM提供行地址和列地址。當(dāng)與異步器件連接時(shí),這些引腳與EM_BA引腳提供器件地址。
EM_BA[1:0]:EMIF存儲(chǔ)區(qū)地址線。與SDRAM連接時(shí),為SDRAM提供存儲(chǔ)區(qū)地址。與異步器件連接時(shí),這些引腳與EM_A引腳共同提供器件地址。
EM_WE_DQM[x:0]:低電平有效寫(xiě)觸發(fā)或字節(jié)使能引腳。與SDRAM連接時(shí),這些引腳與SDRAM的DQM引腳連接。在數(shù)據(jù)訪問(wèn)中分別使能/禁止每一字節(jié)。與異步器件連接時(shí),這些引腳可作為字節(jié)使能(DQM)或字節(jié)寫(xiě)觸發(fā)(WE)。SDRAM:Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步是指 Memory工作需要同步時(shí)鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動(dòng)態(tài)是指存儲(chǔ)陣列需要不斷的刷新來(lái)保證數(shù)據(jù)不丟失;隨機(jī)是指數(shù)據(jù)不是線性依次存儲(chǔ),而是自由指定地址進(jìn)行數(shù)據(jù)讀寫(xiě)。
EM_CS[0]和[2]:CS[0]為SDRAM器件低電平有效芯片使能引腳,當(dāng)訪問(wèn)異步器件時(shí)此引腳失效,在完成異步存取后自動(dòng)恢復(fù)其功能;CS[2]為低電平有效異步器件使能引腳,僅在訪問(wèn)異步存儲(chǔ)器時(shí)有效。
EM_RAS:低電平有效行地址選通引腳,與SDRAM的RAS引腳連接,用于向此器件發(fā)送命令。
EM_CAS:低電平有效列地址選通引腳,與SDRAM的CAS引腳連接,用于向此器件發(fā)送命令。
EM_CKE:時(shí)鐘使能引腳,與SDRAM的CKE連接,發(fā)出自刷新命令,使器件進(jìn)入自刷新模式。
EM_CLK:SDRAM時(shí)鐘引腳,EMIF時(shí)鐘來(lái)自DSP的PLL控制器的SYSCLK3時(shí)鐘模塊。
2 EMIF與SDRAM的設(shè)計(jì)
這里以SDRAM(HY57V281620A)為例,說(shuō)明EMIF和SDRAM的接口與配置,HY57V281620A是4 Bankx2MBx16 bit的SDRAM器件,可與TMS320C67 22 DSP無(wú)縫連接。圖2是TMS320C6722型DSP與HY57V281620A型SDRAM的電路連接。
2.1 SDRAM的軟件配置
在TMS320C6722的EMIF中有一組存儲(chǔ)器映射寄存器,通過(guò)設(shè)置這些寄存器便可完成對(duì)SDRAM的配置,包括配置寄存器SDCR、刷新控制寄存器SDRCR、時(shí)序寄存器SDTIMR和自刷新退出時(shí)序寄存器SDSRETR。具體的配置代碼如下:
2.2 SDRAM的軟件操作
根據(jù)上面軟件配置中IBANK和PAGESIZE字段的設(shè)置,圖3列出了C6722 EMIF連接16位4區(qū)256字頁(yè)面的SDRAM地址映射關(guān)系,其他系列地址映射關(guān)系參考TI資料。SDRAM讀/寫(xiě)程序流程如圖4所示。
EMIF控制SDRAM工作時(shí),當(dāng)行地址選通引腳EM_RAS有效時(shí),SDRAM通過(guò)A0~A11獲取行地址;當(dāng)列選通引腳EM_CAS有效時(shí),SDRAM通過(guò)A0~A11獲取列地址。EMIF訪問(wèn)的外部SDRAM空間地址映射為0x80000000-0x8FFFFFFF,由表1的地址映射知,如果要存儲(chǔ)16位的short int型數(shù)據(jù)到SDRAM,每次邏輯地址需要加2,如:*(short int*)(0x80000000+i*2)=short int i;存儲(chǔ)32位的int型數(shù)據(jù)每次地址需要加4,如:*(int*)(0x80000000+i*4)=int i。
3 EMIF與Flash的設(shè)計(jì)
當(dāng)DSP脫機(jī)運(yùn)行時(shí),系統(tǒng)上電或復(fù)位后,DSP系統(tǒng)自帶的Bootloader將一段存儲(chǔ)在外部的非易失性存儲(chǔ)器中的代碼搬移到內(nèi)部高速存儲(chǔ)單元中執(zhí)行。這樣既利用了外部存儲(chǔ)單元擴(kuò)展DSP本身有限的ROM資源,又充分發(fā)揮了DSP內(nèi)部資源的效能。TMS320C672x系列DSP只支持一種硬啟動(dòng)選項(xiàng),即從內(nèi)部ROM地址0x00000000啟動(dòng),其他啟動(dòng)選項(xiàng)由存儲(chǔ)于ROM的軟啟動(dòng)器實(shí)現(xiàn)。軟啟動(dòng)器使用CFGPIN0和CFGPIN1寄存器,這2個(gè)寄存器在復(fù)位時(shí)捕捉相關(guān)器件引腳的狀態(tài),以決定進(jìn)入那種啟動(dòng)模式。ROM是只讀內(nèi)存(Read-Only Memory)的簡(jiǎn)稱(chēng),是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲(chǔ)器。其特性是一旦儲(chǔ)存資料就無(wú)法再將之改變或刪除。通常用在不需經(jīng)常變更資料的電子或電腦系統(tǒng)中,資料并且不會(huì)因?yàn)?a target="_blank">電源關(guān)閉而消失。英文簡(jiǎn)稱(chēng)ROM。ROM所存數(shù)據(jù),一般是裝入整機(jī)前事先寫(xiě)好的,整機(jī)工作過(guò)程中只能讀出,而不像隨機(jī)存儲(chǔ)器那樣能快速地、方便地加以改寫(xiě)。ROM所存數(shù)據(jù)穩(wěn)定 ,斷電后所存數(shù)據(jù)也不會(huì)改變;其結(jié)構(gòu)較簡(jiǎn)單,讀出較方便,因而常用于存儲(chǔ)各種固定程序和數(shù)據(jù)。除少數(shù)品種的只讀存儲(chǔ)器(如字符發(fā)生器)可以通用之外,不同用戶(hù)所需只讀存儲(chǔ)器的內(nèi)容不同。為便于使 用和大批 量 生產(chǎn) ,進(jìn)一步發(fā)展了可編程只讀存儲(chǔ)器(PROM)、可擦可編程序只讀存儲(chǔ)器(EPROM)和電可擦可編程只讀存儲(chǔ)器(EEPROM)。例如早期的個(gè)人電腦如Apple II或IBM PC XT/AT的開(kāi)機(jī)程序(操作系統(tǒng))或是其他各種微電腦系統(tǒng)中的韌體(Firmware)。
3.1 Flash的硬件連接
AM29LV800BB~90EC型Flash具有19根地址線,而TMS320C6722 EMIF只有14根地址線(EBA0~EBA1、EA0~EA11)。因此,EMIF與Flash連接時(shí)地址線不夠用,需要擴(kuò)展高位地址線。
3.1.1 GPIO擴(kuò)展
TMS320C672X MCASP通道的各功能引腳都可以作為通用的I/O接口,直接與Flash存儲(chǔ)器的高位地址線連接。硬件原理圖如圖5所示研。圖5中,任何在復(fù)位時(shí)可下拉的GPIO引腳都可用于控制Flash啟動(dòng)器的地址線A。
3.1.2 CPLD地址鎖存器擴(kuò)展
在CPID中設(shè)計(jì)一個(gè)地址鎖存器74L273,通過(guò)74L273的輸出口擴(kuò)展7根高位地址線A11~A17,分別與Flash的A12~A18連接。EMW的EM_A[11]作為CPLD鎖存器的輸入選通端選,EMIT數(shù)據(jù)線作為鎖存器的輸入,如圖6所示。
3.2 FLash的軟件配置
在EMIF異步接口中,AICR是需要編程的寄存器。根據(jù)Flash器件的特性,配置如下:
3.3 Flash的軟件操作
TMS320C672x DSP的存儲(chǔ)器中EMIF訪問(wèn)的外部異步器件Flash空間地址映射為0x90000000~0x9FFFFFFF之間。由于Flash數(shù)據(jù)總線寬度為16位,因此在硬件設(shè)計(jì)時(shí)選用半字尋址,即EMIF的BA連接Flash的A。訪問(wèn)異步器件時(shí)TMS320C6722中內(nèi)部地址和EMIF地址引腳對(duì)應(yīng)如表1所示。
Flash在讀操作中類(lèi)似于普通的ROM,在寫(xiě)操作中需要使用一些特殊命令字,按一定的順序編程,且可隨時(shí)編程,編程命令根據(jù)器件參考資料。對(duì)Flash的讀/寫(xiě)流程如圖7所示。
由表1知,對(duì)Flash進(jìn)行16位數(shù)據(jù)寫(xiě)操作時(shí)每次偏移地址需要左移1位,即:*(short int*)(0x90000000+i*2)=shortint i://對(duì)Flash的i地址寫(xiě)入16位數(shù)據(jù)i由于此Flash高位地址線為擴(kuò)展的地址線,必然導(dǎo)致訪問(wèn)Flash時(shí)地址不連續(xù)。每次只能連續(xù)訪問(wèn)Flash內(nèi)部4 Kx16 Bit空間,即0x9000_0000~0x9000_1FFE。
4 EMIF并行Flash自啟動(dòng)
4.1 Flash自啟動(dòng)過(guò)程
在實(shí)際應(yīng)用中通常把代碼和數(shù)據(jù)表存放在外部的非易失性存儲(chǔ)器Flash中。TMS320C672X系列DSP片上的Bootloader工具只能將1KB的代碼搬移到內(nèi)部RAM。但是在通常情況下,用戶(hù)應(yīng)用程序的大小都會(huì)超過(guò)1 KB,所以需要在外部Flash的前1 KB范圍內(nèi)預(yù)先存放一小段程序,待片上Bootloader工具把此段代碼搬移入內(nèi)部并開(kāi)始執(zhí)行后,由此段代碼將Flash中剩余的用戶(hù)應(yīng)用程序搬移入內(nèi)部RAM中。Flash中前1 KB代碼為二級(jí)Bootloader。系統(tǒng)上電或復(fù)位時(shí),DSP內(nèi)部固化的啟動(dòng)代碼會(huì)自動(dòng)將位于Flash地址空間(0x90000000~0x9FFFFFFF)開(kāi)頭的1 KB代碼傳輸?shù)絉AM存儲(chǔ)空間,這就是引導(dǎo)。很明顯,引導(dǎo)的代碼并不能滿(mǎn)足絕大多數(shù)編程者對(duì)代碼長(zhǎng)度的要求,因此就需要二次引導(dǎo)過(guò)程。二次引導(dǎo)是將DSP引導(dǎo)的1 KB代碼編寫(xiě)成一個(gè)搬移程序,搬移程序?qū)⒂脩?hù)的主程序搬移到高速RAM中,并且搬移完成后自動(dòng)跳轉(zhuǎn)至主程序入口處運(yùn)行主程序。由于硬件設(shè)計(jì)中Flash的地址不連續(xù),圖8為使用二級(jí)Bootloader的流程圖。
4.2 Flash的燒寫(xiě)方法
應(yīng)用程序和二次Boot編寫(xiě)和編譯完成之后,便可使用TI公司提供的FlashBurn工具完成Flash燒寫(xiě),燒寫(xiě)完成后需要重新上電或復(fù)位,便可實(shí)現(xiàn)自啟動(dòng)。此FlashBurn工具雖然燒寫(xiě)方法較為直觀,但是過(guò)程復(fù)雜,首先需要一個(gè)。out文件(FBTC)至DSP系統(tǒng)中,實(shí)現(xiàn)對(duì)Flash的操作;其次FlashBurn工具不能識(shí)別。out文件,只能接收。hex的十六進(jìn)制文件,必須將。out文件轉(zhuǎn)換為。
因此,用戶(hù)可以自己根據(jù)Flash器件的操作方法編寫(xiě)燒寫(xiě)程序,避免文件格式轉(zhuǎn)換的繁瑣。首先把用戶(hù)應(yīng)用程序(包括二級(jí)Bootloader)編譯生成的。out文件轉(zhuǎn)載到DSP的RAM中,然后根據(jù)要求編寫(xiě)Flash燒寫(xiě)程序,把燒寫(xiě)程序的。out文件裝載到DSP的另一塊區(qū)域(注意修改cmd文件中地址范圍,避免兩次裝載可能產(chǎn)生的地址覆蓋),執(zhí)行程序完成Flash的燒寫(xiě)。
5 結(jié)束語(yǔ)
本文主要研究了TMS320C672x系列DSP EMIF接口的功能和使用方法,并針對(duì)SDRAM和Flash器件討論了EMIF的具體硬件接口設(shè)計(jì)和軟件配置;同時(shí)分析了TMS320C672x系列的自啟動(dòng)過(guò)程,提出了兩種燒寫(xiě)Flash的方法。
參考文獻(xiàn):
[1]. CPLD datasheet http://udpf.com.cn/datasheet/CPLD_1136600.html.
[2]. ROM datasheet http://udpf.com.cn/datasheet/ROM_1188413.html.
[3]. HY57V281620A datasheet http://udpf.com.cn/datasheet/HY57V281620A_390393.html.
[4]. A11 datasheet http://udpf.com.cn/datasheet/A11_1818106.html.
[5]. EPROM datasheet http://udpf.com.cn/datasheet/EPROM_1128137.html.
[6]. A17 datasheet http://udpf.com.cn/datasheet/A17_1819429.html.
[7]. A12 datasheet http://udpf.com.cn/datasheet/A12_1818348.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 深入解析嵌入式 OPENAMP 框架:開(kāi)啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 獨(dú)立 ADC 優(yōu)勢(shì)大揭秘:為何不可替代?2025/7/7 16:21:04
- 深入剖析:嵌入式中 RS485、RS422 和 RS232 的特點(diǎn)差異2025/7/5 15:07:54
- 揭秘嵌入式 MCU:浮點(diǎn)數(shù)據(jù)處理難點(diǎn)及應(yīng)對(duì)策略2025/6/20 15:19:07
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 交交型變頻器和交直交型變頻器的區(qū)別
- 800G DR8 與其他 800G 光模塊的對(duì)比分析
- UPS電源中電流電壓傳感器的應(yīng)用
- 51單片機(jī)電平特性是什么
- AC/DC 與 DC/DC 轉(zhuǎn)換器的工作原理與應(yīng)用
- PCB板層設(shè)計(jì)與電磁兼容性的關(guān)系解析
- 接觸器式繼電器怎么區(qū)分 如何測(cè)量好壞
- 車(chē)規(guī)級(jí)MCU介紹及應(yīng)用場(chǎng)景
- 電容選型時(shí)如何選擇產(chǎn)品的電壓
- 線性穩(wěn)壓電源與開(kāi)關(guān)穩(wěn)壓電源:原理、特性及應(yīng)用