国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-12-6 12:47    發布者:techshare
介紹基于SRAM的可重配置CPLD的原理,通過對多種串行配置的比較,提出了由單片機和FLASH存儲器組成的串行配置方式,并從系統復雜度、可靠性和經濟性等方面進行了比較和分析。

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

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





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

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

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

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





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

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

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

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引腳變為高電平。圖1是PS配置方式的時序圖。CONF_DONE變成高電平后,DCLK必須多余十個周期來初始化該器件。器件的初始化由下載電纜自動執行。在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發送1Bit數據至少需要4個指令周期。一個指令給DATA0賦值,兩個指令產生DCLK時鐘,一個指令移位取數據。如果晶振為fosc,一個指令周期為12/fosc,因此它的下載速率為fosc/48。然而如果采用串行口方式0,其下載速率提高為fosc/12。考慮到PLD配置文件數據比較大,通常都在數十千字節以上(其配置文件大小如表2),為了加快配置速度,并適合各種不同規模的PLD,采用了WINBOND78E58單片機。

表1 配置引腳功能說明  

DATA0
輸出
配置數據

DCLK
輸出
配置時鐘

nCONFIG
輸出
器件復位腳(該信號線的上升沿使配置開始)

CONF_DONE
輸入
狀態位(在配置完成后,該信號線為高)

nSTATUS
輸入
狀態位(如果該信號線為低,表明在配置過程中出現錯誤,需重新配置)
表2 各種CPLD配置文件大小  

器  件
配置數據大小(Bits)
配置文件大小(Kbytes)

APEX 0K1000E
APEX 20K600E
APEX 20K400E
APEX 20K300E
APEX 20K200E
APEX20K100
EPF10K100E
EPF10K70
EPF10K40
EPF10K30
EPF10K20
EPF10K10
8,938,000
5,564,000
3,878,000
2,733,000
1,950,000
985,000
1,336,000
892,000
498,000
376,000
231,000
118,000
1,029
680
474
333
238
121
164
109
61
46
29
15

注:配置文件大小由.rbf文件決定  

該單片機外接晶振最大頻率為40MHz,它在串行口方式0下波特率可設置為fosc/4。另外通過設置特殊功能寄存器CKCON的MD0、MD1、MD2三位,可以將MOVX、MOVC等指令周期縮短至2個機器周期。與普通單片機相比,可使配置時間大為縮短。WINBOND78E58單片機內部擁有32KB FLASH ROM.由配置文件數據表2可知,只需一片單片機就可以對EPF10K20系列以下的PLD進行配置了。本系統中使用了一片APEX20K300E,因此在硬件電路設計中,擴展了一片WINBOND29C040 FLASH存儲器(容量為512KB),其電路如圖2。DATA0與RXD、DCLK與TXD、nCONF與P15、CONFIG_DONE與P16、nSTATUS與P17分別相連。  

3.2 軟件設計  

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

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

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





部分asm語言源程序如下:  

NCONFIG BIT P1.5  
CONFDONE BIT P.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,@DPTA  
MOV SBUF,A ;串行移位  
NOP  
NOP ;采用填充2個空指令,正好使一個字節發送完成,可發送下一個字節  
INC COUNTER1 ;地址加  
MOV A,COUNTER1  
JB CONFDONE,WJEND1  
CJNE A,#0,WJPEIZHI  
INC COUNTER2  
NOV A,COUNTER2  
CJNE A,#0,WJPEIZHI  
INC COUNTER3  
LJMP WJPEIZHI  
WJEND1:MOV R0,#60  
WJEND:WOV A,#55H  
……  
MOV SBUF,A ;由此產生40個DCLK時鐘  
DJNZ R0,WJEND  
WERE:LJMP HERE ;配置完成,進入用戶工作模式  

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

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合色网| 在线观看网址| 国产99r视频精品免费观看| 最新精品在线| 麻豆成人啪啪色婷婷久久| 欧美高清亚洲欧美一区h| 丝袜毛片| 亚洲综合小说网| 伊人青青久久| 国产偷国产偷亚洲高清app| 亚洲精品一二三区区别在哪| 欧洲性大片xxxxx久久久| 午夜在线日韩免费精品福利| 亚洲一区二区三区精品视频| 韩日美无码精品无码| 天天摸夜添狠狠添高| 亚洲永久中文字幕在线| 日韩无毛| 亚洲成人一区在线| 国产精品-区区久久久狼| 亚洲精品蜜桃AV久久久| 涩涩伊人| 伊人一本之道| 综综综综合网| 日本中文一区| 中文字幕欧美日韩VA免费视频| 欧美成视频无需播放器| 中文天堂最新版www官网在线| 2019午夜福利757视频第12集| 青青热久久综合网伊人| 亚色在线观看| 亚洲成年男人的天堂网| 曰批全过程又爽又大又黄| 伦理片天堂eeuss影院| 奇米影视77777| 色综合久久88中文字幕| 亚洲精品亚洲九十七页| 和姐姐做插得很深| 西班牙一级特级毛片dvd| 亚洲快播| 色综色|