《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于CPLD譯碼的DSP外部Flash燒寫(xiě)方法
一種基于CPLD譯碼的DSP外部Flash燒寫(xiě)方法
張芝賢1,邱委華1,朱慶賢2,王
摘要: 以實(shí)際的圖像監(jiān)控系統(tǒng)為背景,介紹了對(duì)S29AL008D Flash存儲(chǔ)器進(jìn)行操作的指令格式和控制方法。通過(guò)CPLD實(shí)現(xiàn)DSP和Flash存儲(chǔ)器之間的硬件連接,給出了部分VHDL源程序。利用TMS320C5509A DSP通過(guò)CPLD快速譯碼實(shí)現(xiàn)Flash燒寫(xiě)具有接口簡(jiǎn)單、通用性強(qiáng)的優(yōu)點(diǎn),在實(shí)踐中證明了方法的有效性。
關(guān)鍵詞: DSP CPLD VHDL TMS320C5509A
Abstract:
Key words :

  摘 要: 以實(shí)際的圖像監(jiān)控系統(tǒng)為背景,介紹了對(duì)S29AL008D Flash存儲(chǔ)器進(jìn)行操作的指令格式和控制方法。通過(guò)CPLD實(shí)現(xiàn)DSP和Flash存儲(chǔ)器之間的硬件連接,給出了部分VHDL源程序。利用TMS320C5509A DSP通過(guò)CPLD快速譯碼實(shí)現(xiàn)Flash燒寫(xiě)具有接口簡(jiǎn)單、通用性強(qiáng)的優(yōu)點(diǎn),在實(shí)踐中證明了方法的有效性。
    關(guān)鍵詞: DSP;S29AL008D;CPLD譯碼;Flash燒寫(xiě)

 

   數(shù)字信號(hào)處理器DSP因其運(yùn)算精度高,實(shí)時(shí)性強(qiáng)等特點(diǎn),在通信、工業(yè)控制和消費(fèi)類(lèi)電子等領(lǐng)域得到了廣泛應(yīng)用,成為進(jìn)行數(shù)字信號(hào)處理的首選器件。在圖像監(jiān)控系統(tǒng)中,往往要對(duì)大量的數(shù)據(jù)和應(yīng)用程序進(jìn)行處理和非易失性存儲(chǔ)。采用Flash存儲(chǔ)器對(duì)這些大量數(shù)據(jù)和應(yīng)用程序進(jìn)行存儲(chǔ)是一種性?xún)r(jià)比較高的選擇。本文設(shè)計(jì)的以TI公司DSP芯片TMS320VC5509A(以下簡(jiǎn)稱(chēng)VC5509A)為主處理器的圖像監(jiān)控系統(tǒng)中,使用了AMD公司S29AL008D Flash存儲(chǔ)器作為數(shù)據(jù)和應(yīng)用程序存儲(chǔ)芯片。使用VC5509A對(duì)S29AL008D進(jìn)行操作,在硬件接口設(shè)計(jì)中采用CPLD進(jìn)行譯碼和時(shí)序控制。
1 VC5509A及其外部存儲(chǔ)空間
    TMS320VC5509A是TI公司的一款16位高速低功耗定點(diǎn)DSP芯片,主要應(yīng)用于對(duì)音頻、靜態(tài)圖像的數(shù)字信號(hào)處理,是設(shè)計(jì)便攜設(shè)備的較佳解決方案。該DSP芯片在核心電壓為1.35 V時(shí)最大工作頻率為144 MHz;地址線(xiàn)為24位,對(duì)地址的尋址范圍為16 M×8 bit或8 M×16 bit。VC5509A采用統(tǒng)一的編址方式,即存儲(chǔ)空間地址沒(méi)有重疊但是尋址方式卻有2種不同的方式:字節(jié)尋址和字尋址[1]。當(dāng)DSP中的CPU訪(fǎng)問(wèn)VC5509A程序存儲(chǔ)空間時(shí),通過(guò)外部存儲(chǔ)器接口(EMIF)對(duì)外部存儲(chǔ)空間進(jìn)行管理。外部存儲(chǔ)空間被分成CE0~CE3 4個(gè)空間,分別由EMIF的CE0#~CE3#引腳管理,外部存儲(chǔ)空間劃分如圖1所示[2]。CEn#(n=0~3)與外設(shè)的片選端連接。

 


2 硬件電路設(shè)計(jì)
2.1 VC5509A與Flash的硬件連接
    使用PGE封裝的VC5509A對(duì)外只提供14條地址線(xiàn)引腳,因此只能尋址8 K×16 bit的空間范圍[3],要對(duì)S29AL008D的512 K×16 bit存儲(chǔ)空間尋址需19條地址線(xiàn)。解決辦法是用CPLD實(shí)現(xiàn)鎖存譯碼使D[5:0]具有數(shù)據(jù)/地址復(fù)用功能,為S29AL008D Flash存儲(chǔ)器提供高6位地址[4]。VC5509A和CPLD與S29AL008D的硬件接口電路如圖2所示[5]。通過(guò)CPLD的快速譯碼功能在CE2空間模擬1個(gè)Flash高位地址控制寄存器(換頁(yè)控制寄存器)FPCR,上電復(fù)位后通過(guò)寫(xiě)FPCR控制FLASH的高位地址來(lái)實(shí)現(xiàn)換頁(yè)功能。此處用VHDL對(duì)XC9536XL進(jìn)行編程將FPCR映射到0x400000,由于篇幅限制僅給出如下部分核心源程序:
    begain
    fce<=ce1;
    foe<=aoe;
    fwe<=awe;
    addr<=a3&a2&a1;
    datain<=d5&d4&d3&d2&d1&d0;
    facs<='1' when ce2='0' and addr='000'   
        else'0';
    FAR:process(facs,awe,reset)
    begain
    if reset='0'  then
       fa<='000000';
    else if reset='1' then
if awe'event and awe='1' then
       if facs='1' then
    fa<=datain(5 downto 0);
            end if;
         end if;
      end if;  
    end process;
    dataout<=fa when aoe='0' and facs='1'
    else 'ZZZZZZ';
    ……


2.2 VC5509ADSP相關(guān)寄存器的初始化
    在DSP對(duì)S29AL008D 進(jìn)行讀寫(xiě)訪(fǎng)問(wèn)之前,要對(duì)DSP內(nèi)相關(guān)寄存器進(jìn)行正確的設(shè)置。此系統(tǒng)的初始化設(shè)置如下[6-7]:
    ioport unsigned int *ebsr=(unsigned int *) 0x6c00;
    ioport unsigned int *egcr=(unsigned int *) 0x800;
    ioport unsigned int *ce11=(unsigned int *) 0x806;
    ioport unsigned int *ce12=(unsigned int *) 0x807;
    ioport unsigned int *ce13=(unsigned int *) 0x808;
    *ebsr=0x01;   //外部總線(xiàn)選擇寄存器選定完全EMIF模式
    *egcr=0x0a10;    //關(guān)閉ARDY控制
    在CPU一半工作頻率下,設(shè)置CE1
    *ce11=0x162a     //設(shè)置存儲(chǔ)器模式為異步16位,讀操作的setup、strobe、hold與寫(xiě)操作的相同
    *ce12=0x162a; //寫(xiě)操作的setup、strobe、hold
    *ce13=0;
2.3 Flash存儲(chǔ)器的操作
    對(duì)S29AL008D的讀寫(xiě)過(guò)程必須嚴(yán)格按照S29AL008D提供的命令時(shí)序來(lái)完成。表1給出了S29AL008D對(duì)數(shù)據(jù)字進(jìn)行復(fù)位、擦除、讀、寫(xiě)的命令時(shí)序[7]。

           


    Flash操作寫(xiě)子函數(shù)C程序如下:
    # define flash_ba 0x200000
    //ptr是FLASH存儲(chǔ)器映射在整個(gè)DSP系統(tǒng)地址空間中的基地址
    # define FAR
    unsigned int PA,PD;
    void write_se(unsigned int se_addr,unsigned int se_data)
    {
      unsigned int *flash_adr,*FAR=(unsignedint*)
         0x400000;
     flash_adr=(unsigned int * )
         (flash_ba+se_addr);
     //se_addr由FAR和A[13:1]來(lái)決定
        *flash_adr=se_data;
    }
    對(duì)Flash進(jìn)行寫(xiě)操作前必須先擦除片內(nèi)原有的數(shù)據(jù)。Flash的整片字擦除操作時(shí)序C語(yǔ)言實(shí)現(xiàn)如下:
    void Erase-Chip()
    {
       void write_se (0x555,0xAA);
       void write_se 0x2AA,0x55);
       void write_se 0x555,0x80);
       void write_se 0x555,0Xaa);
       void write_se 0x2AA,0x55);
       void write_se 0x555,0x10);
    }
    Flash要對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行校驗(yàn)以及判斷操作是否正確完成。Flash寫(xiě)校驗(yàn)C語(yǔ)言實(shí)現(xiàn)如下:
    void program_check (void)
    {
        unsigned int algorithm_out;
        unsigned int datapolling_bit;
        unsigned int exceed_time;
        algorithm_out = read_arry( PA);
        datapolling_bit = intalgorith_out &0x80;
    exceed_time = algorithm_out &0x20 ;
    while((datapolling_bit !=PD&0x0080)
            &&(exceed_time != 0x20))
        {
        algorith_out = read_arry( PA);
        datapolling_bit = algorith_out &0x80;
        exceed_time = algorith_out &0x20;
        }
    if (exceed_time = = 0x20)
        {
         datapolling_bit =read_arry(PA) &0x80 ;
        if (datapolling_bit !=PD & 0x0080)
         {
          reset_flash();
          wrong();
          }
         }
    }
    Flash字編程程序如下:
    void Word-Program(void)

    {
        write_se (0x555,0xAA);
        write_se 0x2AA,0x55) 
        write_se (0x555,0XA0);
        write_se (PA,PD);
        program_check();
    }
    由于篇幅所限,本文僅給出部分核心程序代碼,讀者可利用上述代碼編寫(xiě)一個(gè)完整的程序。
    本文以解決DSP靜態(tài)圖像無(wú)線(xiàn)傳輸系統(tǒng)項(xiàng)目中對(duì)大規(guī)模程序和大量圖像數(shù)據(jù)的存儲(chǔ)問(wèn)題為背景,并最終在整個(gè)系統(tǒng)調(diào)試中實(shí)現(xiàn)其存儲(chǔ)功能和程序的二次加載。經(jīng)驗(yàn)證,本接口設(shè)計(jì)和編程實(shí)現(xiàn)具有操作方便,易于擴(kuò)展等優(yōu)點(diǎn)。
    對(duì)DSP外部Flash編程雖不是一項(xiàng)關(guān)鍵技術(shù),但它在整個(gè)DSP嵌入式系統(tǒng)開(kāi)發(fā)中卻有著至關(guān)重要的作用。如果開(kāi)發(fā)者在設(shè)計(jì)之初就掌握了這項(xiàng)技術(shù),將會(huì)大大方便系統(tǒng)的調(diào)試,縮短開(kāi)發(fā)時(shí)間。


參考文獻(xiàn)
[1] Texas Instruments. TMS320VC5509 DSP external memory interface(EMIF) reference guide[S]. Literature Number:SP-2 RU670, October 2003.
[2] 彭啟琮,武樂(lè)琴.TMS320VC55X系列DSP的CPU與外設(shè)[M].北京:清華大學(xué)出版社,2005:191-212.
[3] Texas Instruments.TMS320C55x DSP CPU reference guide[S]. Literature Number:SPRU371F,F(xiàn)ebruary 2004.
[4] 申敏,鄧矣冰.DSP原理及其在移動(dòng)通信系統(tǒng)中的應(yīng)用[M].北京:人民郵電出版社,2001:130-139.
[5] 劉偉,閆玉華.基于CPLD譯碼的DSP二次Bootloader方法[J].電子技術(shù)應(yīng)用,2008,34(10):61-63.
[6] 李坤,肖恒.TMS320VC33的引導(dǎo)加載方法設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2003,23(2):166-168.
[7] Publication number S29AL008D_00 revision A amendment 3. Issue Date June 16, 2005.

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久riav二区三区| 日韩视频免费| 亚洲精品小视频在线观看| 影音先锋成人资源站| 国产亚洲欧洲一区高清在线观看| 欧美性猛交99久久久久99按摩| 欧美激情成人在线视频| 欧美国内亚洲| 欧美激情一区二区三区在线| 欧美极品影院| 欧美日韩精选| 欧美丝袜一区二区三区| 国产精品国产精品| 国产精品久久福利| 国产久一道中文一区| 国产精品一区二区久激情瑜伽| 国产精品色婷婷| 国产日韩欧美二区| 国精品一区二区三区| 在线观看欧美成人| 亚洲国产精品久久久久秋霞影院| 亚洲国产mv| 亚洲精品色图| 中国成人亚色综合网站| 亚洲一区二区三区四区在线观看| 亚洲自拍偷拍一区| 久久精品国产免费| 亚洲人成人99网站| 中文欧美字幕免费| 午夜精品久久久久久久久| 久久国产精品一区二区三区| 久久噜噜噜精品国产亚洲综合| 久久精品91久久久久久再现| 久久人人97超碰精品888| 美女尤物久久精品| 欧美日韩国产限制| 国产精品男人爽免费视频1| 国产一区白浆| 91久久精品国产91久久性色| 夜夜精品视频一区二区| 亚洲欧美国产高清va在线播| 性色一区二区| 亚洲精品日韩精品| 亚洲一区欧美一区| 久久精品国产亚洲a| 免费成人激情视频| 欧美日韩免费精品| 国产日韩亚洲欧美综合| 1024成人网色www| 中文一区二区| 久久黄色小说| 亚洲少妇诱惑| 久久久久久夜精品精品免费| 欧美日本乱大交xxxxx| 国产欧美精品在线播放| 亚洲丁香婷深爱综合| 亚洲性视频网址| 亚洲黄色精品| 午夜精品av| 欧美国产免费| 国产目拍亚洲精品99久久精品| 亚洲第一在线视频| 亚洲免费视频观看| 亚洲人永久免费| 午夜精品久久| 欧美精品18+| 国产一区二区av| 一本久道久久综合中文字幕| 欧美专区中文字幕| 亚洲一品av免费观看| 免费亚洲一区| 国产日韩精品视频一区| 亚洲精品之草原avav久久| 欧美影视一区| 亚洲综合色自拍一区| 免费欧美电影| 国产美女在线精品免费观看| 亚洲精品日韩综合观看成人91| 欧美一区二区精品| 亚洲欧美国产制服动漫| 欧美精品网站| 激情欧美一区二区| 午夜视频在线观看一区| 亚洲视频一区在线| 蜜桃av一区二区在线观看| 国产区日韩欧美| 亚洲天堂av在线免费| 日韩亚洲一区在线播放| 久久精品国产亚洲a| 国产精品免费看片| 日韩图片一区| 亚洲伦理在线观看| 猛男gaygay欧美视频| 国产一区二区三区高清在线观看| 亚洲天堂免费观看| 一区二区高清在线| 欧美成人精品福利| 狠狠综合久久av一区二区小说| 亚洲一区在线看| 亚洲一区二区精品在线观看| 欧美精品在线一区二区| 在线观看成人网| 久久精品国产96久久久香蕉| 欧美一区二区三区另类| 国产精品激情偷乱一区二区∴| 亚洲精品在线视频观看| 99re6这里只有精品| 欧美成黄导航| 在线播放日韩| 亚洲国产精品一区| 裸体一区二区| 永久免费毛片在线播放不卡| 久久成人一区| 久久久久久久综合狠狠综合| 国产欧美日本| 午夜精品在线视频| 欧美综合国产| 国产日本精品| 欧美一级黄色录像| 久久久999国产| 国产一区二区三区四区| 欧美一区二区黄| 久久精品国产77777蜜臀| 国产区日韩欧美| 欧美一区二区三区精品电影| 欧美中文字幕久久| 国产亚洲综合性久久久影院| 久久成人精品一区二区三区| 久久天堂精品| 亚洲国产精品激情在线观看| 亚洲精品影院| 欧美日韩国产成人| 99在线精品视频| 亚洲综合电影| 国产精品美女久久久免费| 亚洲在线电影| 久久久激情视频| 尤物九九久久国产精品的分类| 亚洲国产日韩一区二区| 欧美精品成人一区二区在线观看| 亚洲欧洲一二三| 亚洲午夜一区二区三区| 国产精品国产三级欧美二区| 亚洲一区在线免费观看| 久久久久九九九九| 在线观看欧美日韩| 99精品视频免费全部在线| 欧美日韩在线大尺度| 亚洲一区二区三区中文字幕| 欧美在线影院| 亚洲福利专区| 亚洲影院色在线观看免费| 国产日韩欧美电影在线观看| 亚洲国产免费| 欧美三级特黄| 欧美一区二区三区四区在线观看地址 | 欧美日韩一区二区三区在线 | 欧美日韩国产123区| 亚洲一区尤物| 久久综合狠狠综合久久综合88| 亚洲激情av在线| 午夜精品视频在线| 激情小说另类小说亚洲欧美| 一区二区三区www| 国产视频在线观看一区二区| 亚洲精品一二| 国产精品视频99| 亚洲人成亚洲人成在线观看| 国产精品色网| 日韩亚洲成人av在线| 国产乱码精品| 日韩视频一区| 国产伦精品一区二区三区| 亚洲精品国久久99热| 国产精品欧美日韩久久| 亚洲国产成人av在线| 欧美性猛交xxxx免费看久久久 | 亚洲欧美精品在线观看| 一区在线视频观看| 亚洲免费视频一区二区| 禁断一区二区三区在线| 亚洲欧美中文日韩在线| 亚洲国产精品一区二区www在线 | 欧美午夜免费影院| 亚洲成人在线视频播放 | 欧美日韩免费观看一区=区三区| 欧美资源在线| 国产精品国产三级国产普通话三级 | 亚洲韩日在线| 久久成年人视频| 日韩特黄影片| 男人的天堂亚洲| 午夜激情亚洲| 欧美日韩在线视频一区| 亚洲国产婷婷香蕉久久久久久| 国产精品一区二区你懂得| 99精品久久免费看蜜臀剧情介绍| 国产视频一区二区在线观看| 亚洲摸下面视频| 99re热这里只有精品免费视频|