亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        TMS320C672x系列浮點DSP的EMIF研究與應(yīng)用

        2010-03-26 07:32:12張西峰杜普選孔勇
        電子設(shè)計工程 2010年12期
        關(guān)鍵詞:存器存儲器寄存器

        張西峰,杜普選,孔勇

        (北京交通大學(xué)電子信息工程學(xué)院,北京100044)

        目前,DSP技術(shù)已廣泛用于信號處理、通信和雷達(dá)等領(lǐng)域。TI公司的帶EMIF擴(kuò)展存儲器接口的浮點DSP TMS320C672x系列是專為高速、高性能應(yīng)用而開發(fā)的,主要應(yīng)用于高速寬帶、圖像處理和高速鐵路軌道信號處理等領(lǐng)域。DSP應(yīng)用平臺設(shè)計中,外部存儲器接口(EMIF)是為DSP與外部設(shè)備之間提供連接。EMIF和外部器件SDRAM以及Flash的合理設(shè)計關(guān)系到系統(tǒng)的數(shù)據(jù)存儲和程序加載。

        TMS320C672x系列浮點DSP的EMIF性能優(yōu)良,增強(qiáng)了與外部1、2或4區(qū)的16位或32位SDRAM和異步器件連接的方便性和靈活性。TMS320C6722和TMS320C6726 EMIF寬度為16位,支持的SDRAM可達(dá)128 Mb;TMS320C6727 EMIF寬度為32位,支持高達(dá)256 Mb和512 Mb的SDRAM[1]。異步存儲器接口是從并行的8位、16位或32位NOR Flash實現(xiàn)系統(tǒng)自啟動。若使用大容量的Flash,EMIF連接Flash的高位地址線可通過外部器件CPLD或自身GPIO口擴(kuò)展。

        1 EMIF接口

        EMIF接口具有很強(qiáng)的外設(shè)連接能力,可尋址空間一般比較大,數(shù)據(jù)吞吐較快。EMIF接口支持的器件包括同步突發(fā)靜態(tài)RAM(SBSRAM)、同步動態(tài)RAM(SDRAM)、各種異步設(shè)備(SRAM、ROM和FIFO)以及同步FIFO。TMS320C672x的EMIF引腳結(jié)構(gòu)如圖1所示[2]。

        圖1 TMS320C672x的EMIF功能框圖Fig.1 Block diagram of EMIF for TMS320C672x

        其主要引腳功能如下:

        EM_A[x:0]:EMIF地址總線。當(dāng)與SDRAM器件連接時,地址總線主要為SDRAM提供行地址和列地址。當(dāng)與異步器件連接時,這些引腳與EM_BA引腳提供器件地址。

        EM_BA[1:0]:EMIF存儲區(qū)地址線。與SDRAM連接時,為SDRAM提供存儲區(qū)地址。與異步器件連接時,這些引腳與EM_A引腳共同提供器件地址。

        EM_WE_DQM[x:0]:低電平有效寫觸發(fā)或字節(jié)使能引腳。與SDRAM連接時,這些引腳與SDRAM的DQM引腳連接,在數(shù)據(jù)訪問中分別使能/禁止每一字節(jié)。與異步器件連接時,這些引腳可作為字節(jié)使能(DQM)或字節(jié)寫觸發(fā)(WE)。

        EM_CS[0]和[2]:CS[0]為SDRAM器件低電平有效芯片使能引腳,當(dāng)訪問異步器件時此引腳失效,在完成異步存取后自動恢復(fù)其功能;CS[2]為低電平有效異步器件使能引腳,僅在訪問異步存儲器時有效。

        EM_RAS:低電平有效行地址選通引腳,與SDRAM的RAS引腳連接,用于向此器件發(fā)送命令。

        EM_CAS:低電平有效列地址選通引腳,與SDRAM的CAS引腳連接,用于向此器件發(fā)送命令。

        EM_CKE:時鐘使能引腳,與SDRAM的CKE連接,發(fā)出自刷新命令,使器件進(jìn)入自刷新模式。

        EM_CLK:SDRAM時鐘引腳,EMIF時鐘來自DSP的PLL控制器的SYSCLK3時鐘模塊。

        2 EMIF與SDRAM的設(shè)計

        這里以SDRAM(HY57V281620A)為例,說明EMIF和SDRAM的接口與配置,HY57V281620A是4 Bank×2MB×16 bit的SDRAM器件,可與TMS320C6722 DSP無縫連接[3]。圖2是TMS320C6722型DSP與HY57V281620A型SDRAM的電路連接。

        圖2 TMS320C6722與HY57V281620A的電路連接圖Fig.2 Schematic diagram of TMS320C6722 and HY57V281620A

        2.1 SDRAM的軟件配置

        在TMS320C6722的EMIF中有一組存儲器映射寄存器,通過設(shè)置這些寄存器便可完成對SDRAM的配置,包括配置寄存器SDCR、刷新控制寄存器SDRCR、時序寄存器SDTIMR和自刷新退出時序寄存器SDSRETR。具體的配置代碼如下:

        *(int*)EMIF_SDTIMR=(6<<27)//T_RFC設(shè)置自動刷新周期(66 ns)

        |(1<<24)//T_RP預(yù)充電周期(20 ns)

        |(1<<20)//T_RCD激活讀寫延時(20 ns)

        |(1<<16)//T_WR寫恢復(fù)時間(1clk+7.5 ns)

        |(4<<12)//T_RAS激活充電命令周期(44 ns)

        |(6<<8)//T_RC激活激活命令周期(66 ns)

        |(1<<4);//T_RRD激活塊A和B周期(15 ns)

        *(int*)EMIF_SDSRETR=6;//設(shè)置自刷新(66 ns)

        *(int*)EMIF_SDRCR=0x000004E2;//設(shè)置SDRAM刷新速率

        *(int*)EMIF_SDCR=(0<<31)//SR退出自刷新模式

        |(1<<14)//NM設(shè)置16位數(shù)據(jù)線

        |(2<<9)//CL設(shè)置CAS latency=2 EM_CLK

        |(1<<8)//BIT11_9LOCK允許CL被寫

        |(2<<4)//IBANK表示器件為4塊的SDRAM

        |(0<<0);//PAGESIZE設(shè)置為256字的頁面

        *(int*)EMIF_SDRCR=0x0000061A;//再次設(shè)置刷新率,與器件的刷新間隔相匹配

        2.2 SDRAM的軟件操作

        根據(jù)上面軟件配置中IBANK和PAGESIZE字段的設(shè)置,圖3列出了C6722 EMIF連接16位4區(qū)256字頁面的SDRAM地址映射關(guān)系,其他系列地址映射關(guān)系參考TI資料。SDRAM讀/寫程序流程如圖4所示。

        圖3 EMIF連接16位SDRAM時的地址映射Fig.3 Address mapping when EMIF connecting to 16-bit SDRAM

        圖4 SDRAM讀/寫程序流程圖Fig.4 Flow chart of read/write SDRAM program

        EMIF控制SDRAM工作時,當(dāng)行地址選通引腳EM_RAS有效時,SDRAM通過A0~A11獲取行地址;當(dāng)列選通引腳EM_CAS有效時,SDRAM通過A0~A11獲取列地址。EMIF訪問的外部SDRAM空間地址映射為0x80000000~0x8FFFFFFF,由表1的地址映射知,如果要存儲16位的short int型數(shù)據(jù)到SDRAM,每次邏輯地址需要加2,如:*(short int*)(0x80000000+i*2)=short int i;存儲32位的int型數(shù)據(jù)每次地址需要加4,如:*(int*)(0x80000000+i*4)=int i。

        3 EMIF與Flash的設(shè)計

        當(dāng)DSP脫機(jī)運行時,系統(tǒng)上電或復(fù)位后,DSP系統(tǒng)自帶的Bootloader將一段存儲在外部的非易失性存儲器中的代碼搬移到內(nèi)部高速存儲單元中執(zhí)行。這樣既利用了外部存儲單元擴(kuò)展DSP本身有限的ROM資源,又充分發(fā)揮了DSP內(nèi)部資源的效能。TMS320C672x系列DSP只支持一種硬啟動選項,即從內(nèi)部ROM地址0x00000000啟動,其他啟動選項由存儲于ROM的軟啟動器實現(xiàn)。軟啟動器使用CFGPIN0和CFGPIN1寄存器,這2個寄存器在復(fù)位時捕捉相關(guān)器件引腳的狀態(tài),以決定進(jìn)入那種啟動模式。ROM主要有4種自啟動模式:從EM_CS2空間的并行Flash啟動、利用SPI0或I2C1主模式從EEPROM啟動、利用SPI0或I2C1從模式從外部MCU啟動以及利用UHPI口從外部MCU啟動。這里分析了從EM_CS2空間的并行Flash啟動模式,給出了高密度、非易失性的電可擦除存儲器AM29LV800BB-90EC(512 K×16 Bit)與EMIF的接口設(shè)計方案。

        3.1 Flash的硬件連接

        AM29LV800BB-90EC型Flash具有19根地址線,而TMS320C6722 EMIF只有14根地址線(EBA0~EBA1、EA0~EA11)。因此,EMIF與Flash連接時地址線不夠用,需要擴(kuò)展高位地址線,這里提出兩種擴(kuò)展方法:GPIO擴(kuò)展和CPLD地址鎖存器擴(kuò)展。

        3.1.1 G PIO擴(kuò)展

        TMS320C672X MCASP通道的各功能引腳都可以作為通用的I/O接口,直接與Flash存儲器的高位地址線連接。硬件原理圖如圖5所示[4]。圖5中,任何在復(fù)位時可下拉的GPIO引腳都可用于控制Flash啟動器的地址線A[18:13]。

        圖5GPIO擴(kuò)展高位地址線的連接圖

        Fig.5 Schematic diagram of high address extension by GPIO

        3.1.2 C PLD地址鎖存器擴(kuò)展

        在CPLD中設(shè)計一個地址鎖存器74L273,通過74L273的輸出口擴(kuò)展7根高位地址線A11~A17,分別與Flash的A12~A18連接。EMIF的EM_A[11]作為CPLD鎖存器的輸入選通端選,EMIF數(shù)據(jù)線作為鎖存器的輸入,如圖6所示。

        3.2 FLash的軟件配置

        在EMIF異步接口中,A1CR是唯一需要編程的寄存器。根據(jù)Flash器件的特性,配置如下:

        *(int*)EMIF_A1CR=(0<<31)//SS選擇寫觸發(fā)

        |(1<<30)//EW允許擴(kuò)展等待模式

        圖6 CPLD地址鎖存器擴(kuò)展的高位地址線連接圖Fig.6 Schematic diagram of high address extension by CPLD

        |(0<<26)//W_SETUP讀/寫建立時間寬度,根據(jù)異步器件數(shù)據(jù)手冊配置|(9<<20)//W_STROBE讀/寫觸發(fā)時間寬度|(3<<17)//W_HOLD讀/寫保持時間寬度|(0<<13)//R_SETUP讀建立時間寬度|(9<<7)//R_STROBE讀觸發(fā)時間寬度|(3<<4)//R_HOLD讀保持時間寬度

        |(0<<2)//TA讀/寫之間的最小時鐘周期數(shù)|(1<<0);//ASIZE設(shè)置數(shù)據(jù)總線寬度

        3.3 Flash的軟件操作

        TMS320C672x DSP的存儲器中EMIF訪問的外部異步器件FLash空間地址映射為0x90000000~0x9FFFFFFF之間。由于Flash數(shù)據(jù)總線寬度為16位,因此在硬件設(shè)計時選用半字尋址,即EMIF的BA[1]連接Flash的A[0]。根據(jù)配置寄存器A1CR中數(shù)據(jù)總線寬度的配置,訪問異步器件時TMS320C6722中內(nèi)部地址和EMIF地址引腳對應(yīng)如表1所示。

        表1 EMIF連接異步器件地址映射Tab.1 Address mapping when EMIF connect to asynchronous devices

        Flash在讀操作中類似于普通的ROM,在寫操作中需要使用一些特殊命令字,按一定的順序編程,且可隨時編程,編程命令根據(jù)器件參考資料。對Flash的讀/寫流程如圖7所示。

        圖7 Flash讀/寫流程圖Fig.7 Flow chart of Flash read/write

        由表1知,對Flash進(jìn)行16位數(shù)據(jù)寫操作時每次偏移地址需要左移1位,即:*(short int*)(0x90000000+i*2)=short int i;//對Flash的i地址寫入16位數(shù)據(jù)i

        由于此Flash高位地址線為擴(kuò)展的地址線,必然導(dǎo)致訪問Flash時地址不連續(xù)。每次只能連續(xù)訪問Flash內(nèi)部4 K×16 Bit空間,即0x9000_0000~0x9000_1FFE。需要訪問高地址空間時,首先通過設(shè)置相應(yīng)的GPIO引腳或者通過數(shù)據(jù)線利用CPLD設(shè)置Flash的相應(yīng)高地址線;然后再分別操作低位地址線進(jìn)行讀寫,便可完成對高地址空間的讀寫。

        4 EMIF并行Flash自啟動

        4.1 Flash自啟動過程

        在實際應(yīng)用中通常把代碼和數(shù)據(jù)表存放在外部的非易失性存儲器Flash中。TMS320C672X系列DSP片上的Bootloader工具只能將1 KB的代碼搬移到內(nèi)部RAM。但是在通常情況下,用戶應(yīng)用程序的大小都會超過1 KB,所以需要在外部Flash的前1 KB范圍內(nèi)預(yù)先存放一小段程序,待片上Bootloader工具把此段代碼搬移入內(nèi)部并開始執(zhí)行后,由此段代碼將Flash中剩余的用戶應(yīng)用程序搬移入內(nèi)部RAM中。Flash中前1 KB代碼為二級Bootloader。系統(tǒng)上電或復(fù)位時,DSP內(nèi)部固化的啟動代碼會自動將位于Flash地址空間(0x90000000~0x9FFFFFFF)開頭的1 KB代碼傳輸?shù)絉AM存儲空間,這就是一次引導(dǎo)。很明顯,一次引導(dǎo)的代碼并不能滿足絕大多數(shù)編程者對代碼長度的要求,因此就需要二次引導(dǎo)過程。二次引導(dǎo)是將DSP一次引導(dǎo)的l KB代碼編寫成一個搬移程序,搬移程序?qū)⒂脩舻闹鞒绦虬嵋频礁咚賀AM中,并且搬移完成后自動跳轉(zhuǎn)至主程序入口處運行主程序。由于硬件設(shè)計中Flash的地址不連續(xù),因此對高位地址線的控制需要在搬移程序中實現(xiàn)[5]。圖8為使用二級Bootloader的流程圖。

        圖8 使用二次Bootloader的CPU運行流程圖Fig.8 Flow chart of CPU operation when using the second Bootloader

        二級Bootloader代碼的編寫必須使用匯編語言,因為在執(zhí)行二級Bootloader時C的運行環(huán)境還未建立起來。

        4.2 Flash的燒寫方法

        應(yīng)用程序和二次Boot編寫和編譯完成之后,便可使用TI公司提供的FlashBurn工具完成Flash燒寫,燒寫完成后需要重新上電或復(fù)位,便可實現(xiàn)自啟動。此FlashBurn工具雖然燒寫方法較為直觀,但是過程復(fù)雜,首先需要下載一個.out文件(FBTC)至DSP系統(tǒng)中,實現(xiàn)對Flash的操作;其次Flash-Burn工具不能識別.out文件,只能接收.hex的十六進(jìn)制文件,必須將.out文件轉(zhuǎn)換為.hex文件。

        因此,用戶可以自己根據(jù)Flash器件的操作方法編寫燒寫程序,避免文件格式轉(zhuǎn)換的繁瑣。首先把用戶應(yīng)用程序(包括二級Bootloader)編譯生成的.out文件轉(zhuǎn)載到DSP的RAM中,然后根據(jù)要求編寫Flash燒寫程序,把燒寫程序的.out文件裝載到DSP的另一塊區(qū)域(注意修改cmd文件中地址范圍,避免兩次裝載可能產(chǎn)生的地址覆蓋),執(zhí)行程序完成Flash的燒寫。注意:燒寫到Flash中的應(yīng)用程序前面12個字節(jié)用于存放_c_int00地址、應(yīng)用程序字節(jié)數(shù)、應(yīng)用程序在RAM中的起始地址,這12個字節(jié)需要在燒寫過程中添加[6]。

        5 結(jié)束語

        本文主要研究了TMS320C672x系列DSP EMIF接口的功能和使用方法,并針對SDRAM和Flash器件討論了EMIF的具體硬件接口設(shè)計和軟件配置;同時分析了TMS320C672x系列的自啟動過程,提出了兩種燒寫Flash的方法。該應(yīng)用方法經(jīng)實驗驗證,確實可行并易于實現(xiàn)。

        [1]Texas Instruments Incorporated.TMS320C672x CPU and Instruction Set Reference Guide[EB/OL].(2006-11-07)[2010-03-02].http://www.ti.com/cn/litv/pdf/spru733a.

        [2]Texas Instuments Incorporated.TMS320C672x DSP External Memory Interface(EMIF)User's Guide[EB/OL].(2007-04-02)[2010-03-02].http://www.ti.com/cn/litv/pdf/spru711c.

        [3]汪安民,張松燦,常春藤.TMS320C6000 DSP實用技術(shù)與開發(fā)案例[M].北京:人民郵電出版社,2008:60-80.

        [4]劉偉,魏芹芹,王偉.TMS320C672x系列DSP原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008:60-104.

        [5]Texas Instuments Incorporated.Using the TMS320C672x Bootloader[EB/OL].(2009-09-01)[2010-03-02].http://www.ti.com/cn/litv/pdf/spraa69.

        [6]杜普選,馬慶龍.實時DSP技術(shù)及浮點處理器的應(yīng)用[M].北京:清華大學(xué)出版社,2007:159-166.

        猜你喜歡
        存器存儲器寄存器
        低面積與低延遲開銷的三節(jié)點翻轉(zhuǎn)容忍鎖存器設(shè)計
        一種低成本的四節(jié)點翻轉(zhuǎn)自恢復(fù)鎖存器設(shè)計
        靜態(tài)隨機(jī)存儲器在軌自檢算法
        一種低功耗的容軟錯誤鎖存器設(shè)計
        Lite寄存器模型的設(shè)計與實現(xiàn)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        存儲器——安格爾(墨西哥)▲
        Grain型級聯(lián)反饋移存器的非奇異性判定
        基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        欧美人妻日韩精品| 国产乱人伦av在线麻豆a| 亚洲人成人无码www影院| 永久免费不卡在线观看黄网站| 亚洲av日韩片在线观看| 91久久国产露脸国语对白| 国产无套内射又大又猛又粗又爽| 少妇性饥渴bbbbb搡bbbb| 国产一区二区精品尤物| 国产在线精彩自拍视频| 国产极品裸体av在线激情网| 国产一区二区波多野结衣| 一区一级三级在线观看 | 无码专区天天躁天天躁在线| 九一成人AV无码一区二区三区| 久久少妇高潮免费观看| 美女mm131爽爽爽| 久热在线播放中文字幕| 亚洲av综合色区在线观看| 亚洲网站一区在线播放| 久久精品国产亚洲av电影网| 色综合久久综合欧美综合图片| 亚洲精品国产二区在线观看| 无人区乱码一区二区三区| 女性女同性aⅴ免费观女性恋| 免费一级黄色大片久久久| 午夜免费观看一区二区三区| 欧美成人看片一区二区三区尤物| 极品粉嫩嫩模大尺度无码| 蜜桃网站在线免费观看视频| 日本人妻伦理在线播放| 天堂中文在线资源| 久久精品国产只有精品96| 国产av丝袜熟女丰满一区二区 | 日韩精品极品免费视频观看| 闺蜜张开腿让我爽了一夜| 国产精品玖玖玖在线资源| 久久精品国产精品亚洲艾| 乱中年女人伦av三区| 亚洲黄视频| 亚洲码无人客一区二区三区|