《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 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。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频在线视频| 欧美国产一区二区| 99一区二区| 亚洲欧洲精品天堂一级| 久久精品成人一区二区三区| 亚洲欧美99| 亚洲在线黄色| 亚洲影院污污.| 亚洲一区二区毛片| 亚洲一级在线观看| 亚洲综合色在线| 亚洲欧美日韩综合| 欧美一二区视频| 欧美一区亚洲| 亚洲成色777777女色窝| 久久国产一二区| 久久国产夜色精品鲁鲁99| 久久精品国产v日韩v亚洲 | 在线一区二区视频| 亚洲视频一二区| 亚洲欧美国产日韩天堂区| 亚洲一区二区三区四区在线观看| 亚洲午夜伦理| 午夜精品久久久久久久| 欧美一区二区三区免费视| 久久精品国产一区二区三区| 亚洲国产精品免费| 亚洲精品免费在线| 一本色道久久加勒比88综合| 亚洲一区二区在线免费观看| 校园春色综合网| 久久久久久久综合| 免费永久网站黄欧美| 欧美激情精品久久久久久| 欧美性色aⅴ视频一区日韩精品| 国产精品久久久久aaaa九色| 国产日韩欧美| 在线观看日韩av先锋影音电影院| 亚洲高清视频的网址| 日韩亚洲欧美精品| 午夜精品福利一区二区三区av| 久久av免费一区| 日韩手机在线导航| 午夜精品久久99蜜桃的功能介绍| 久久精品夜夜夜夜久久| 欧美成人免费全部| 国产精品电影网站| 黑人操亚洲美女惩罚| 亚洲精选成人| 午夜精品999| 亚洲精品综合在线| 香蕉国产精品偷在线观看不卡| 久久综合999| 欧美色图一区二区三区| 国产一区二区av| 亚洲精品日产精品乱码不卡| 亚洲女女女同性video| 亚洲精品国产精品国自产观看| 亚洲一区免费在线观看| 久久久久欧美精品| 欧美日韩国产免费| 国产日韩在线看片| 亚洲精一区二区三区| 欧美在线视频播放| 中文日韩电影网站| 久久亚洲一区二区三区四区| 欧美日韩人人澡狠狠躁视频| 国产一区久久| 一区二区三区日韩在线观看| 亚洲国产精品va在看黑人| 亚洲淫性视频| 欧美成人一区二区| 国产日韩精品视频一区二区三区 | 亚洲国产欧洲综合997久久| 亚洲一区二区免费在线| 久久综合中文色婷婷| 国产精品高潮在线| 亚洲国产成人av在线| 亚洲欧美日韩在线高清直播| 一区二区三区**美女毛片| 久久婷婷国产综合国色天香| 国产精品成人观看视频国产奇米| 一区二区三区在线视频播放 | 午夜精品久久久久99热蜜桃导演| 99视频在线观看一区三区| 久久免费视频一区| 国产精品男女猛烈高潮激情| 亚洲黄色高清| 亚洲高清视频一区二区| 欧美一级免费视频| 欧美日韩国产色综合一二三四 | 午夜激情综合网| 欧美交受高潮1| 激情久久五月| 性久久久久久久久久久久| 亚洲一区二区三区四区五区午夜| 欧美国产亚洲精品久久久8v| 一色屋精品亚洲香蕉网站| 香蕉久久精品日日躁夜夜躁| 亚洲女同精品视频| 欧美少妇一区二区| 亚洲裸体在线观看| 亚洲伦理在线免费看| 免费美女久久99| 国产在线观看精品一区二区三区| 亚洲一区二区综合| 亚洲女人天堂av| 欧美午夜精品久久久久久超碰| 亚洲国产日韩欧美在线99| 亚洲国产1区| 久热re这里精品视频在线6| 国产主播精品| 久久国产精品72免费观看| 久久九九全国免费精品观看| 国产欧美视频一区二区| 亚洲在线观看视频网站| 午夜电影亚洲| 国产酒店精品激情| 亚洲一区二区三区影院| 亚洲欧美高清| 国产精品欧美日韩| 亚洲欧美另类在线观看| 香蕉久久夜色精品国产| 国产精品免费看片| 亚洲在线播放| 欧美专区一区二区三区| 国产日本欧美在线观看| 性一交一乱一区二区洋洋av| 久久精品国产亚洲一区二区三区| 国产日产高清欧美一区二区三区| 欧美一级片久久久久久久| 久久久久国产精品厨房| 国模精品娜娜一二三区| 久久精品一区二区三区四区 | 亚洲国产一区二区在线| 日韩视频在线观看| 欧美日韩一区视频| 亚洲午夜精品久久久久久app| 午夜精品久久久| 国产视频一区二区三区在线观看| 欧美在线在线| 嫩模写真一区二区三区三州| 亚洲人成在线播放| 亚洲图片欧洲图片av| 国产精品视频一区二区高潮| 香蕉久久夜色精品| 美女任你摸久久| 亚洲精品一区二区三区在线观看| 亚洲一区二区三区四区五区午夜| 国产精品免费福利| 欧美综合国产| 欧美精品电影在线| 亚洲一区www| 久久久亚洲综合| 亚洲区国产区| 亚洲一区激情| 激情六月综合| 99re6这里只有精品| 国产精品女主播| 亚洲国产成人高清精品| 欧美激情亚洲激情| 亚洲一区二区在线视频| 狂野欧美一区| av成人免费在线| 久久精品亚洲一区二区三区浴池| 亚洲国产精品久久久久秋霞影院| 亚洲一区二区三区视频| 狠狠爱www人成狠狠爱综合网| 日韩午夜在线播放| 国产欧美一区二区色老头| 亚洲国内高清视频| 欧美三区在线观看| 亚洲电影成人| 国产精品成人国产乱一区| 久久精品国产第一区二区三区最新章节| 欧美精品久久久久久| 亚洲免费视频成人| 欧美福利在线| 午夜日韩在线观看| 欧美区一区二| 久久国内精品自在自线400部| 欧美日韩精品免费观看视频完整| 欧美一区二视频| 欧美日韩精品一区二区三区四区| 亚洲欧美日韩直播| 欧美日韩国产一中文字不卡| 欧美影院一区| 欧美性猛交xxxx乱大交蜜桃| 亚洲级视频在线观看免费1级| 国产精品蜜臀在线观看| 99re在线精品| 影音先锋日韩精品| 欧美一区久久| 一本色道久久综合一区| 欧美成人免费小视频| 欧美影院成年免费版| 国产精品国产三级国产aⅴ浪潮| 最近中文字幕日韩精品 | 99热这里只有成人精品国产| 快she精品国产999|