《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > XC9500系列CPLD遙控編程的實現

XC9500系列CPLD遙控編程的實現

2009-05-31
作者:孫紅勝

  摘 要: 簡單介紹了XC9500系列CPLD器件及其系統內編程(ISP)性能,接著講述了XC9500系列CPLD器件遙控編程的實現方法,并重點介紹了在遙控編程系統中應用微控制器(Intel 8031)實現嵌入式ISP的軟硬件設計。
  關鍵詞: CPLD 遙控編程 ISP 微控制器


1 XC9500系列CPLD器件及其ISP性能
  XC9500系列CPLD器件是由多個功能塊(FB)和IO塊(IOB)組成,可用開關矩陣FastCONNECT完全互連的子系統,IOB提供輸入和輸出的緩沖,每個FB提供具有36個輸入和18個輸出的可編程邏輯容量。FastCONNECT開關矩陣連接所有的FB的輸出和FB的輸入,對于每個FB,12至18個(取決于封裝的引腳數)輸出和有關的輸出使能信號直接驅動IOB。
  所有XC9500系列CPLD器件都是系統內編程的,最小達一萬次編程/擦除次數,支持擴充的IEEE 1149.1邊界掃描標準,XC9500的結構特性著重滿足系統內編程的要求,增強的引腳鎖定能力可以避免重做昂貴的印制板,擴充的JTAG指令集允許編程模式和系統內診斷的各種控制。由于JTAG在其權限內把ISP的性能擴充到1149.1的測試標準中,XC9500系列CPLD器件可以通過JTAG接口實現ISP性能。XC9500系列的系統內編程性能,不僅為現場編程和調試提供了方便,允許用戶編程和再編程已經安裝在系統印制板上的XC9500系列器件來改進樣機、更新制造流程;而且正是由于系統內編程性能使得搖控編程成為可能。下面對XC9500系列CPLD器件搖控編程的實現方法做一介紹。
2 XC9500系列CPLD器件遙控編程的實現方法
  對CPLD器件的編程,傳統的方法都是現場工程師通過PC機來實現的,PC機上必須有EZTag或者JTAG編程器軟件,并且PC機必須通過Xchecker或JTAG電纜和目標板相連,然后將JEDEC編程數據下載到目標板的CPLD器件中去。這種傳統的編程方法要求工程師必須親臨現場,這就帶來一個問題,那就是當產品銷售以后,如果要對它升級(主要是指升級CPLD器件的功能)就十分麻煩。本文所要介紹的遙控編程不同于傳統的編程方法,它不需要工程師親臨現場,只需在系統設計時將編程控制電路加入到嵌入式系統中去即可實現。


  遙控編程的方框圖如圖1所示。要實現遙控編程,關鍵在于通信和嵌入式下載技術。通信部分包括通信接口和通信信道,它完成遠程數據傳輸,即將本地PC機生成的CPLD器件編程數據傳輸到遠程的目標系統的嵌入式下載模塊(即圖中所示的“微控制器及嵌入式編程控制”部分);嵌入式下載技術是指用微控制器通過JTAG接口實現對XC9500系列CPLD器件編程。通信可采用現有的各種通信技術,例如通過電話線用調制解調器實現通信以及通過電纜、激光和無線電等實現通信,在本文對通信的實現不做過多的介紹,下面只以簡單的紅外收發器為例加以說明,重點介紹微控制器及嵌入式編程控制的軟硬件實現。
3 微控制器及嵌入式編程控制的實現
3.1 硬件設計

  微控制器及嵌入式編程控制硬件電路如圖2所示,由微控制器Intel 8031、時鐘、地址鎖存器74LS373、程序存儲器27512、數據存儲器RAM(包括XSVF格式數據存儲器)、XC95108及數據輸入接口等幾部分組成。圖中8031不僅可用來對CPLD進行編程控制,而且還可實現其它控制和處理,因為設計中使用了一片XSVF(Xilinx Serial Vector Format)格式數據存儲器,在XC95108的控制下可以在后臺實現數據通信,并將XSVF格式數據存儲到XSVM RAM中,當數據接收完畢時再中斷微控制器,在微控制器的中斷服務子程序中通過JTAG接口實現對目標CPLD器件編程。從圖中可見,除了XC95108、數據輸入和XSVF RAM部分外,其它部分和常見的8031應用系統一樣,這里不再贅述,下面主要講述數據輸入和XC95108的內部功能。


  數據輸入由紅外收發器實現(如可用Siemens公司的IRM3105),它所接收到的數據是由PC機生成的按RS232格式打包的XSVF格式編程數據文件,收發器通過UART(Universal Asynchronous Receiver Transmitter)接口和XC95108相連。
  XC95108包含URAT接收器、時序控制狀態機及總線控制器等。URAT接收器對接收到的數據進行校驗,并且去掉起始位和結束位,如果接收正確則通知時序控制狀態機數據接收就緒,如果接收不正確則給出錯誤指示。
  時序控制狀態機是遙控編程的核心,包括四種狀態,即HIGH、LOW、DOWNLOAD和ISP。XSVF文件的第一、二個字節為傳輸的字節總數,在狀態HIGH和LOW時字節總數的高低字節被保存到一個變量中,當在DOWNLOAD狀態時,每當往XSVF RAM寫入一個字節,該變量的值減1,同時XSVF RAM的地址增1。一旦全部XSVF文件都寫入XSVF RAM中,狀態機便進入ISP狀態,此時中斷微控制器,微控制器響應中斷并進入中斷服務子程序。中斷服務子程序根據XSVF RAM中的信息通過JTAG對XC9500 CPLD器件進行編程。
  總線控制器根據時序控制狀態機控制XSVF格式數據存儲器的數據總線的切換,當在DOWNLOAD狀態時,總線控制權交由XC95108;當在ISP狀態時,總線控制權交由8031;當在HIGH和LOW狀態時,總線為高阻狀態。
3.2 XSVF文件的生成
  上面提到過遠程端接收到的數據為XSVF文件,XSVF文件是由本地PC機生成的,它是如何生成的呢?首先將設計數據輸入,開發系統進行設計轉換生成JEDEC器件編程文件;然后,由Xilinx公司提供的軟件EZTagTM自動讀取JEDEC文件并轉換成SVF文件,SVF格式是專門用來描述IEEE 1149.1(JTAG)總線操作的格式,SVF文件中不僅包含CPLD的編程數據,也包含有編程命令,但由于SVF格式為ASCII碼,因要求較大內存,不適合嵌入式應用;最后,由軟件svf2xsvf將SVF格式轉換成XSVF格式,XSVF格式為壓縮的二進制格式,占用存儲空間小,因而更適合嵌入式應用。
3.3 嵌入式ISP編程流程
  XC9500通過四線測試存取端口TAP(Test Access Port)和TAP控制器來執行系統內編程和IEEE 1149.1邊界掃描測試(JTAG)。TAP包括TCK、TMS、TDI和TDO四個引腳,TAP控制器是16狀態的狀態機,控制邊界掃描電路按照TMS運行,執行由IEEE規定的狀態圖(詳細內容參見參考文獻1,下面所提到的狀態,如Shift-IR、Shift-DR等包含在16個狀態之中)。微控制器根據XSVF文件提供的指令和數據激勵TAP端口,在TAP控制器的控制下實現XC9500 CPLD的ISP編程。流程圖如圖3所示。


  XSVF格式的編程文件包含編程指令和數據,編程指令主要有三條,即XRUNTEST、XSIR和XSDR。微控制器讀取指令后進行解釋,并根據指令執行相應的操作。
  XRUNTEST指令指定在執行下一條XSIR和XSDR指令之前在Run-Test/Idle狀態停留的時間,指令之后緊接的4個字節為時間數值(毫秒數);當微控制器讀取的指令為XSIR時,便為TMS和TCK提供激勵直至進入Shift-IR狀態,然后讀取指定的數據長度值和數據,并將數據送到TDI口;微控制器讀取XSDR指令時,首先讀取將要在Shift-DR狀態輸出的數據,再觸發TMS和TCK直接進入Shift-DR狀態,并保持TMS為低,停留在Shift-DR狀態,將XSVF文件數據輸出到TDI口,并存儲從TD0口接收到的數據,在所有數據都輸出到TDI口之后,TMS變高進入Exit-1-DR狀態,然后將從TD0輸入的值和TD0預期值相比較,如果不匹配則轉出錯處理,如匹配則重新進入Run-Test/Idle狀態。微控制器循環地從XSVF RAM中讀取指令和數據并執行,直到編程結束。
參考文獻
1 孟憲元.可編程ASIC集成數字系統.北京:電子工業出版社,1998
2 Xilinx公司.The Programmable Logic Data Book,1999

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 香港日本三级在线播放 | 一区二区三区日本 | 亚洲激情影院 | 日本一区二区三区在线 观看网站 | 性欧美高清精品video | 精品国产高清自在线一区二区三区 | 韩国黄色网 | free性video另类重口 | 午夜性生活片 | 99精品视频在线视频免费观看 | 91短视频版在线观看www | 日批视频在线看 | 美女视频黄.免费网址 | 欧美日韩精 | h视频网站在线 | ririai99在线视频观看 | 日本香蕉视频在线观看 | 国产一区二区高清 | 曰皮全部过程免费视频 | 成人短视频在线在线观看 | 天天干狠狠操 | 玖玖爱zh综合伊人久久 | 美国俄罗斯毛片一区二区 | 日韩在线不卡 | 欧美日一区二区三区 | 久久成人18 | 香蕉网站在线观看 | 直接看的黄色网址 | 欧美va天堂 | a在线观看欧美在线观看 | 成年人视频在线播放 | 一级大毛片 | 免费大香伊蕉在人线国产 | 黄色美女免费看 | 免费亚洲成人 | 狠狠躁夜夜躁人人爽天天 | 一级全黄视频 | 亚洲国产精品一区二区九九 | 免费观看黄色a一级视频播放 | 黄色激情网站 | a欧美在线|