《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于單片機的復雜可編程邏輯器件快速配置方法

基于單片機的復雜可編程邏輯器件快速配置方法

2008-11-17
作者:劉曉明 王 軍 謝明欽

  摘? 要: 介紹基于SRAM的可重配置" title="可重配置">可重配置CPLD的原理,通過對多種串行配置的比較,提出了由單片機和FLASH存儲器組成的串行配置方式" title="配置方式">配置方式,并從系統(tǒng)復雜度、可靠性和經濟性等方面進行了比較和分析。?

??? 關鍵詞: 復雜可編程邏輯器件" title="可編程邏輯器件">可編程邏輯器件? 靜態(tài)隨機存儲器? 被動串行" title="被動串行">被動串行?

?

  基于SRAM(靜態(tài)隨機存儲器)的可重配置PLD(可編程邏輯器件)的出現,為系統(tǒng)設計者動態(tài)改變運行電路中PLD的邏輯功能創(chuàng)造了條件。PLD使用SRAM單元來保存配置數據。這些配置數據決定了PLD內部的互連關系和邏輯功能,改變這些數據,也就改變了器件的邏輯功能。由于SRAM的數據是易失的,因此這些數據必須保存在PLD器件以外的EPROM、EEPROM或FLASH ROM等非易失存儲器內,以便使系統(tǒng)在適當的時候將其下載到PLD的SRAM單元中,從而實現在電路可重配置ICR(In-Circuit Reconfigurability)。?

  本文介紹筆者設計的PLD ICR控制電路,它不但線路結構簡潔、開發(fā)容易、體積小、成本低,并且在圖2介紹的ICR控制電路中,其存儲PLD配置數據的FLASH存儲器采用并行總線,交換速度較快。然而PLD配置數據較大,通常都在數十千字節(jié)以上。如何提高圖2介紹的ICR控制電路的配置速度,使系統(tǒng)上電" title="上電">上電后在最短的時間內完成配置而進入正常工作狀態(tài),是軟件設計上的一個重點。?

1 基于SRAM的可重配置CPLD的結構與原理?

  早期的可編程邏輯器件大多采用紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)方式,如GAL系列、EPF7064、EPF7128等。由于其結構簡單、規(guī)模小,只能完成簡單的數字邏輯功能。此后,出現了一類結構上稍復雜的基于SRAM存儲器的可編程芯片,即復雜可編程邏輯器件(CPLD),它能完成各種數字邏輯功能。?

  采用這種結構的可編程邏輯器件有ALTERA公司的FLEX、ACEX、APEX系列,XILINX公司的Spartan、Virtex系列。多年來,ALTERA公司一直致力于CPLD的開發(fā)。近幾年,該公司又推出了很有競爭力的CPLD器件,即靈活的邏輯單元陣列FLEX(Flexible Logic Element Matrix)系列產品。相對于其它一些廠家的FPGA產品來說,ALTERA公司的FLEX系列產品有其獨特之處。這主要表現在高密度、在線配置功能、高速度和連續(xù)式布線結構等方面。?

  查找表LUT(Look-Up-Table)是基于SRAM的可重配置PLD的一個重要組成部分,LUT本質上就是一個RAM。目前CPLD中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16×1bit的RAM。當用戶通過GDF原理圖或VHDL語言描述了一個邏輯電路后,CPLD開發(fā)軟件會自動計算邏輯電路的所有可能結果,并把結果事先存入查找表。這樣,當多個信號進行邏輯運算時就等于輸入一個地址進行查表,找出地址所對應的內容,然后將其輸出即可。?

2 可編程邏輯器件的配置原理?

  首先在開發(fā)軟件MAX+PLUSⅡ的ASSIGN菜單下選擇將要采用的基于SRAM的器件名稱。經過編譯、優(yōu)化、邏輯綜合、仿真等步驟達到設計要求后,軟件會自動產生一個編程文件(擴展名為.SOF文件)。對于基于SRAM工藝的可編程邏輯器件(如ALTERA的所有FLEX、ACEX、APEX系列,XILINX的Sparten、Vertex系列),由于SRAM存儲器的特點,掉電后數據會消失,因此在調試期間可以采用并口ByteblasteMV下載電纜多次重復配置PLD器件。當電路設計成功,調試完成后,需要將配置數據燒寫固化在一個由ALTERA生產的專用EEPROM(如EPC1441)中。上電時,由這片配置EEPROM先對PLD加載數據,幾十毫秒后,PLD即可正常工作。?

  CPLD器件的工作狀態(tài)分為三種:首先是上電配置狀態(tài)(Configuration Mode),將編程數據裝入CPLD器件的過程,也可稱之為構造;然后是初始化狀態(tài)(Initialization Mode),在配置完成后,CPLD器件復位內部各類寄存器,讓I/O引腳為邏輯器件正常工作做準備;最后是用戶狀態(tài)(User Mode),指電路中CPLD器件正常工作時的狀態(tài)。?

  ALTERA公司具有ICR功能的PLD器件有FLEX8000、FLEX10K、APEX和ACEX系列,它們的配置方式可分為PS、PPS和JTAG(Joint Test Action Group)等方式。PS方式因PLD與配置電路的互連最簡單,對配置時鐘的最小頻率沒有限制而應用最廣泛,因此在ICR控制電路中通常采用PS配置方式來實現ICR功能。?

  被動串行(PS)配置方式:在該配置方式下,由ByteblasteMV下載電纜產生一個由低到高的跳變送到nCONFIG引腳復位PLD,然后將配置數據送到DATA0引腳,直到CONF_DONE引腳變?yōu)楦唠娖健D1是PS配置方式的時序圖。CONF_DONE變成高電平后,DCLK必須多余十個周期來初始化該器件。器件的初始化由下載電纜自動執(zhí)行。在PS方式中沒有握手信號,所以配置時鐘的工作頻率必須低于10MHz。在多器件PS配置方式中,第一片PLD的nCEO引腳級聯到下一片PLD的nCE引腳。在配置完第一個器件后,nCEO輸出為低,使第二個PLD器件的nCE有效,開始對第二塊器件進行配置。?

?

?

3 用WINBOND78E58單片機配置可編程邏輯器件?

  用單片機配置可編程邏輯器件與上述PS配置方式原理一致,只需模擬PS配置方式中DATA0、DCLK、nCONFIG、CONF_DONE、nSTATUS引腳的配置時序,將配置數據串行移入PLD。配置引腳的功能如表1所示。?

?

?

3.1 硬件設計?

  用單片機配置PLD,可以使用普通輸入輸出口或串行口。使用普通I/O口(如P1口),向PLD發(fā)送1Bit數據至少需要4個指令周期。一個指令給DATA0賦值,兩個指令產生DCLK時鐘,一個指令移位取數據。如果晶振為fosc,一個指令周期為12/fosc,因此它的下載速率為fosc/48。然而如果采用串行口方式0,其下載速率提高為fosc/12。考慮到PLD配置文件數據比較大,通常都在數十千字節(jié)以上(其配置文件大小如表2),為了加快配置速度,并適合各種不同規(guī)模的PLD,采用了WINBOND78E58單片機。該單片機外接晶振最大頻率為40MHz,它在串行口方式0下波特率可設置為fosc/4。另外通過設置特殊功能寄存器CKCON的MD0、MD1、MD2三位,可以將MOVX、MOVC等指令周期縮短至2個機器周期。與普通單片機相比,可使配置時間大為縮短。WINBOND78E58單片機內部擁有32KB FLASH ROM。由配置文件數據表2可知,只需一片單片機就可以對EPF10K20系列以下的PLD進行配置了。本系統(tǒng)中使用了一片APEX20K300E,因此在硬件電路設計中,擴展了一片WINBOND29C040 FLASH存儲器(容量為512KB),其電路如圖2。DATA0與RXD、DCLK與TXD、nCONF與P15、CONFIG_DONE與P16、nSTATUS與P17分別相連。?

?

?

?

3.2 軟件設計?

  在軟件編程時,使用了串行口移位寄存器輸入輸出方式。本系統(tǒng)只需用到輸出方式,串行數據通過RXD引腳輸出,而在TXD引腳輸出移位時鐘。當一字節(jié)數據寫入串行數據緩沖器SBUF時,就開始發(fā)送。在此期間,發(fā)送控制器送出移位信號,使發(fā)送移位寄存器的內容右移一位,直至最高位(D7位)數字移出后,停止發(fā)送數據和移位時鐘脈沖。RXD、TXD時序如圖3。由圖3可知,它可以用來模擬配置時序。發(fā)送完一字節(jié)數據后,硬件置發(fā)送標志位TI為1,向CPU申請中斷。若CPU響應中斷,則從0023H單元開始執(zhí)行串行口中斷服務程序。?

?

?

  為了提高配置速度,單片機程序用匯編語言編寫。單片機上電后使nCONFIG腳由低到高復位待配置PLD;當判斷到nSTATUS為高后,開始從外部FLASH存儲器取數據串行移位。配置過程中,查詢CONF_DONE。一旦為高,配置完成,但還要送40個DCLK脈沖,PLD才能進入用戶工作狀態(tài)。?

  用戶設計的PLD程序經MAXPLUSⅡ或QUARTUS編譯后將產生后綴名為.sof的SRAM目標文件。該文件含有除配置數據以外的控制字符,不能直接寫入到PLD中去,需要利用軟件的編程文件轉換功能將該文件轉換成.rbf(Raw Binary File)十六進制文件。把.rbf文件燒寫到存儲器中,單片機通過MOVX指令讀入后,串行移位到PLD。?

??? 部分asm語言源程序如下:?

??? NCONFIG???????????? BIT ??? P1.5?

??? CONFDONE??????????? BIT P1.6?

??? NSTATUS???????????? BIT P1.7?

??? ORG 000h?

??? ……?

??? CLR SM0?

??? CLR SM1 ?????? ;SM0,SM1為0,串口工作于方式0?

??? CLR SM2 ?????? ;串口波特率為fosc/4?

??? CLR REN?

??? ANL 8EH,#0f8h?????????? ;地址8EH是CKCON單元,MD0、MD1、MD2清0?

??? CLR EA?

WJRESTART:CLR NCONFIG?

??? SETB NCONFIG??? ? ????? ;上升沿復位PLD?

WAIT: JNB NSTATUS,WAIT? ;NSTATUS為高,可進行配置?

??????????????????????????????? ??

WJPEIZHI:MOV P1,COUNTER3?

??? MOV DPH,COUNTER2?

??? MOV DPL,COUNTER1??????? ;配置數據大,需3個單元作地址記數?

??? MOVX A,@DPTR?

??? MOV SBUF,A????????????? ;串行移位?

??? NOP ?

??? NOP ?? ??;采用填充2個空指令,正好使一個字節(jié)發(fā)送完成,可發(fā)送下一字節(jié)?

??? INC COUNTER1??????????? ;地址加?

??? MOV A,COUNTER1?

??? JB CONFDONE,WJEND1?

??? CJNE A,#0,WJPEIZHI?

??? INC COUNTER2?

??? MOV A,COUNTER2?

??? CJNE A,#0,WJPEIZHI?

??? INC COUNTER3?

??? LJMP WJPEIZHI?

WJEND1:MOV R0,#60?

WJEND:MOV A,#55H?

??? ……?

????MOV SBUF,A? ;由此產生40個?DCLK時鐘?

??? DJNZ R0,WJEND?

??? HERE:?? LJMP HERE??? ;配置完成,進入用戶工作模式?

??? 使用OTP(One Time Programming)器件配置CPLD具有一定的冒險性,一次簡單的代碼更換就可能意味著更換OTP器件,并重新開始所有的程序。被動串行微處理器(Passive Serial With Processor)配置方式以EEPROM為基礎,允許對這些存儲器進行多次編程,所有其它芯片都無需從已裝配的印制電路板上拆卸下來。高速讀寫周期的FLASH存儲器能確保1萬次編程,而且能對任何以SRAM為基礎的PLD下載。該方式除了在加電期間能承載配置數據外,還有許多方便之處。例如,用戶可以將多個配置文件.rbf分區(qū)編程到外部存儲器的未用區(qū)段,通過單片機讀取不同存儲區(qū)可以將可編程邏輯器件在線配置成多種不同的工作模式。?

參考文獻?

1 宋萬杰,羅 豐,吳順君.CPLD技術及其應用. 西安:西安電子科技大學出版社,2000?

2 候伯亨,顧 新.VHDL硬件描述語言與數字邏輯電路設計.西安:西安電子科技大學出版社,1999?

3 蔡美琴,張為民,沈新群,張榮娟. MCS-51系列單片機系統(tǒng)及其應用.北京:高等教育出版社,1992?

4 APPLICATION NOTE 116 OF CONFIGURING APEX20K,FLEX10K&FLEX6000 DEVICES.12.1999,VER 1.02 FROM ALTERA WEB SITE
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一天堂av| 亚洲欧美激情诱惑| 亚洲一区二区成人| 日韩一区二区电影网| 亚洲高清久久网| 精品成人一区二区三区| 国产小视频国产精品| 国产片一区二区| 国产亚洲成精品久久| 国产欧美日韩在线| 国产精品中文在线| 国产欧美日韩精品丝袜高跟鞋| 国产精品久久久久婷婷| 国产精品黄视频| 国产精品视频一| 国产欧美视频一区二区三区| 国产精品午夜春色av| 国产精品私房写真福利视频| 国产精品美女主播| 国产美女扒开尿口久久久| 国产精品少妇自拍| 国产欧美日韩一区二区三区| 国产农村妇女毛片精品久久莱园子 | 好看的av在线不卡观看| 国内精品99| 亚洲第一福利社区| 亚洲乱码国产乱码精品精天堂| 亚洲日韩中文字幕在线播放| 亚洲一区二区免费在线| 一区二区三区精品| 亚洲欧美成aⅴ人在线观看| 亚洲欧美不卡| 久久成人人人人精品欧| 久久噜噜亚洲综合| 欧美经典一区二区三区| 欧美色视频一区| 国产精品综合久久久| 韩国精品久久久999| 亚洲国产导航| 亚洲作爱视频| 午夜精品一区二区三区在线视| 亚洲第一精品夜夜躁人人躁| 亚洲剧情一区二区| 一区二区三区|亚洲午夜| 亚洲欧美日韩在线高清直播| 久久精品人人做人人综合| 亚洲片在线资源| 国产精品99久久久久久www| 性做久久久久久久久| 久久天堂精品| 欧美日本在线看| 国产欧美日韩激情| 亚洲激情自拍| 亚洲男人天堂2024| 91久久在线播放| 亚洲免费在线视频| 久久手机精品视频| 欧美三级特黄| 精品91在线| 一区二区三区视频在线| 欧美一区二区在线播放| 亚洲精选大片| 久久国产精品久久久久久电车| 欧美国产精品日韩| 国产精品欧美精品| 亚洲国产精品va| 午夜精品福利视频| 日韩一区二区精品视频| 欧美中文字幕久久| 欧美精品三级| 国产一区二区三区的电影 | 久久综合导航| 国产精品白丝av嫩草影院| 国产一区二区0| 日韩视频三区| 亚洲国产视频一区| 午夜精品在线看| 欧美精品国产| 国产在线播精品第三| 一区二区三区四区五区精品视频| 久久精品欧美日韩| 校园春色综合网| 欧美日韩国产综合久久| 韩日欧美一区| 亚洲欧美综合国产精品一区| 99国产一区二区三精品乱码| 亚洲日韩视频| 欧美中文字幕视频在线观看| 欧美日韩综合精品| 亚洲国产精品成人综合| 欧美在线观看一区| 亚洲综合视频1区| 欧美日韩国产美女| 亚洲国产aⅴ天堂久久| 欧美伊人久久| 欧美在线精品免播放器视频| 欧美三级中文字幕在线观看| 最新亚洲激情| 亚洲国产一区二区在线| 久久色在线观看| 国产一区二区电影在线观看| 亚洲无亚洲人成网站77777| 艳女tv在线观看国产一区| 免费观看在线综合色| 国产综合激情| 欧美一区二区在线视频| 西瓜成人精品人成网站| 欧美色精品天天在线观看视频| 亚洲日本成人女熟在线观看| 亚洲狠狠丁香婷婷综合久久久| 久久国产精品99国产| 国产精品视频1区| 亚洲影院在线| 亚洲欧美国产制服动漫| 欧美日韩综合视频| 一本色道久久综合亚洲精品小说 | 一本久久综合| 一本色道久久88综合亚洲精品ⅰ| 欧美ed2k| 永久免费毛片在线播放不卡| 亚洲电影欧美电影有声小说| 久久婷婷久久| 红桃视频一区| 久久精品国内一区二区三区| 久久久久国产一区二区三区| 国产日韩三区| 欧美主播一区二区三区美女 久久精品人 | 国产精品久久99| 亚洲一区在线视频| 欧美伊人影院| 国产一区二区三区高清播放| 欧美一区中文字幕| 美女国产一区| 亚洲欧洲精品一区二区精品久久久| 亚洲美女精品一区| 欧美日韩成人一区二区| 一区二区免费在线视频| 99精品欧美一区| 欧美日韩美女一区二区| 99在线热播精品免费| 亚洲欧美一区二区激情| 国产精品日本精品| 欧美一区二区三区的| 久久最新视频| 亚洲人成毛片在线播放| 亚洲视频中文字幕| 国产精品劲爆视频| 久久不射电影网| 免费成人黄色片| 亚洲精品美女免费| 亚洲欧美视频在线观看视频| 国产色视频一区| 亚洲国产一区二区三区高清| 免费欧美日韩| 一本色道久久加勒比精品| 小处雏高清一区二区三区| 韩国精品久久久999| 亚洲精品久久7777| 国产精品v日韩精品| 欧美一区二区三区在线| 欧美成va人片在线观看| 夜夜嗨一区二区| 久久不射网站| 亚洲国产裸拍裸体视频在线观看乱了| 99在线热播精品免费| 国产精品视频99| 亚洲国产精品999| 欧美日韩国产影片| 午夜精品久久久久久久久| 免费黄网站欧美| 亚洲午夜成aⅴ人片| 欧美一区二区三区在线免费观看 | 一本色道久久综合狠狠躁篇怎么玩 | 1204国产成人精品视频| 91久久久久久久久久久久久| 欧美日韩影院| 欧美一区二区三区日韩| 欧美激情黄色片| 亚洲自拍偷拍福利| 欧美韩国日本一区| 亚洲欧美国产另类| 欧美夫妇交换俱乐部在线观看| 亚洲特色特黄| 欧美成年人网站| 先锋影音国产精品| 欧美巨乳在线观看| 久久精品91久久久久久再现| 欧美视频福利| 亚洲国产精品999| 国产精品一区二区在线观看网站 | 亚洲成色精品| 欧美在线亚洲| 9久草视频在线视频精品| 老鸭窝毛片一区二区三区| 在线亚洲一区| 欧美福利视频一区| 久久www成人_看片免费不卡| 国产精品大片| 99视频精品| 黄色亚洲大片免费在线观看|