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

利用單片機實現CPLD的在系統編程

發布時間:2010-7-22 17:22    發布者:vinda
關鍵詞: CPLD , 單片機 , 系統編程
一、問題的提出  

嵌入式系統而靈活性的要求。一方面,應用環境會對嵌入式系統不斷提出新的要求,需要更改最初的設計;另一方面指生產多個品種時希望盡量能在單一的硬件平臺上實現。為了最大限度地滿足靈活性的需要,嵌入式系統一般都設計而可編程邏輯器件CPLD。在設計階段和現場運行之后的各個階段,都可能會遇到設計的升級、修改和測試問題。FLASH的使用方便了程序的更新;帶而在系統可編程(ISP)功能的可編程邏輯器件,使得不需重新設計印制板就可以改變原而的設計;網絡技術的發展,又使得遠程維護成為可能。  

筆者設計的嵌入式系統,實現了遠程維護,其組成結構如圖1所示。其中CPLD采用了XILINX公司的XC9500系列。

  


二、JTAG簡介  

JTAG簡介  

JTAG是IEEE的聯合測試行動小組(Joint Test Action Group)所制定的測試標準(IEEE1149.1-1990),使得用戶可以測試器件的邏輯和相互之間的連接。目前,它是國際上最流行的ICE技術,眾多的芯片廠家都在自己的產品中加入JTAG口,以便用戶調試。  

XILINX的XC9500系列CPLD采用了JTAG的編程和測試指令。XC9500系列CPLD帶而測試訪問口TAP(Test Access Port),包括4個引腳:  

*TDI-測試數據輸入;  
*TDO-測試數據輸出;  
*TCK-測試口同步時鐘;  
*TMS-測試模式選擇。  

當用基于PC機的編程軟件對CPLD進行編程時,PC機的并口經轉換板與目標器件的TAP接口相連,完成編程工作。

在本設計上,將MCU的I/O口與CPLD的TAP接口相連,利用MCU的I/O口模擬JTAG測試口的行為,實現對PLD的編程。  

三、SVF與XSVF  

SVF(Serial Vector Format)格式由TI公司和Teradyne公司于1991年聯合開發完成。SVF文件是一個ASCII碼文件,用于描述基于IEEE.1119.1標準的測試模式,包括激勵、預期響應和屏蔽數據。開發SVF的初衷就是獲得一種獨立于供應商的IEEE1149.1標準的測試模式,它能夠在各個仿真軟件和測試儀器廠商之間進行數據交換,可以應用于從設計驗證現場診斷各個階段。  

SVF文件中包含了編程所需要的命令及相應的數據。SVF文件由一系列SVF語句組成。語句以分號結束。每一個語句由一個命令和相關的參數組成。命令分為三類:狀態命令、偏移命令和并行命令。其中狀態命令說明測試序列如何驅動IEEE1149.1TAP的狀態機,包括:  

*SDR-掃描數據寄存器;  
*SIR-掃描指令寄存器;  
*ENDDR-數據寄存器掃描結束;  
*ENDIR-指令寄存器掃描結束;  
*RUNTEST-進入測試/空閑狀態;  
*STATE-進入特定狀態;  
*TRST-驅動TRST為特定電平。  

XILINX的CPLD通過自身的TAP接口接受SVF格式的編程指令和JTAG邊界掃描指令。事實上,XILINX提供的JTAGProgrammer編程軟件能夠自動將標準的JEDEC/BIT格式的編程文件轉換為SVF格式;但是SVF文件格式為ASCII碼,需要較大的存儲空間,并不適合直接用于嵌入式系統。為此,需要一種結構更為緊湊的數據格式-XSVF。  

XSVF用與SVF類似的方法描述IEEE1149.1總線的操作。SXVF與SVF的最大區別在于它能獲得更大的數據壓縮率,從而得到較小的文件。它是二進制格式的。  

SVF轉換為XSVF可以利用XILINX公司的軟件SVF2XSVF.EXE來實現。經轉換之后的文件大小如表1所列。注意文件的大小只與芯片的型號相關而和邏輯的復雜程度無關。

表1 XSVF文件大小  


芯片型號
XC9536
XC9572
XC95108
XC95144
XC95216

XSCF文件/B
5194
11674
19598
12960
26390

XSVF共而16個單字節指令,每一個指令后跟多少不等的單字節數據,如表2所列。

表2 XSVF指令  

指令名稱
指令代碼
指令解釋

XCOMPLETE
0x00
XSVF文件結束標志

XTDOMASK
0x01
設置TDO的屏蔽數據

XSIR
0x02
進入移位指令寄存器狀態,并且移入TDI的值

XSDR
0x03
進入移位數據寄存器狀態,并且移入TDI的值

XRUNTEST
0x04
設置每次訪問掃描數據寄存器狀態之后處于測試/空閑狀態的時間(單位:ms)

XREPEAT
0x07
設置在ISP操作判為失敗之前,TDO移出值與預期值比較的次數

XSDRSIZE
0x08
設置后續XSDR/XSDRTDO指令記錄的長度

XSDRTDO
0x09
進入移位數據寄存器狀態,移入TDI的值,將TDO的移出值與預期的值比較,屏蔽數據起作用

XSETSDRMASKS
0x0a
設置移位數據寄存器的地址和屏蔽數據

XSDRINC
0x0b
執行連續的XSDR指令

XSDRB
0x0c
進入移位數據寄存器狀態,并且移入TDI的值,操作結束后保持在此狀態

XSDRC
0x0d
移入TDI的值,操作結束后保持在此狀態

XSDRE
0x0e
移入TDI的值,操作結束后退出狀態,進入測試/空閑狀態

XSDRTDOB
0x0f
進入移位數據寄存器狀態,移入TDI的值,將TDO的移出值與預期的值比較,屏蔽數據不起作用。操作結束后保持在此狀態

XSDRTDOC
0x10
移入TDI的值,將TDO的移出值與預期的值比較,屏蔽數據不起作用。操作結束后保持在此狀態

XSDRTDOE
0x11
移入TDI的值,將TDO的移出值與預期的值比較,屏蔽數據不起作用。操作結束后退出此狀態,進入測試/空閑狀態

四、實現過程  

本設計的實現過程如圖2所示。  



第一步,利用XILINX提供的工具,用原理圖或HDL語言設計所需的邏輯,然后進行綜合。  
第二步,將編程文件輸出為標準的JEDEC文件(*.jed)。  
第三步,順JTAGProgrammer環境下,將編程文件進一步轉換為SVF文件。  
第四步,利用VSF2XSVF軟件,將SVF轉換為XSVF。  
第五步,將二進制的XSVF轉換為MCU可接受的相應格式。本設計中采用Intel公司16位單片機,所以生成Intel Hex格式文件。  

當需要更新邏輯時,MCU從網絡總線上獲得更新后的XSVF文件(Intel Hex格式),暫存于RAM空間,然后讀取XSVF文件命令,逐條解釋,并予以執行,即通過I/O口模擬JTAG的TAP口操作,產生編程指令、數據和控制信號,完成對CPLD的擦除、編程、校驗、讀寫保護設置等項工作。
本文地址:http://www.qingdxww.cn/thread-16192-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 利用模擬開發工具生態系統進行安全電路設計
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天综合视频网 | 成人在线播放网站 | 狠狠色丁香婷婷久久综合考虑 | 武侠古典第7页色综合 | 黄色免费高清视频 | 一级韩国aa毛片免费观看 | 四虎国产精品永久地址99 | 四虎影院黄色 | 亚洲spank男男实践网站 | 这里只有精品网 | 视频一区二区在线 | 美女免费视频一区二区 | 在线观看日本 | 亚洲一区中文字幕在线观看 | 久久这里只有精品66re99 | 精品久久久久久久九九九精品 | 麻豆激情 | 古典武侠二区 | 成人亚洲欧美日韩在线观看 | 久久精品亚洲一区二区 | 久久99久久精品久久久久久 | h番无遮挡动漫在线观看 | 五月综合色婷婷影院在线观看 | 色婷婷色 | 日韩免费观看 | 男女免费高清在线爱做视频 | 97成人精品视频在线播放 | 香蕉伊思人在线 | 日本不卡视频免费的 | 欧美女人天堂 | 九色视频播放 | 日韩免费不卡视频 | 日韩手机在线 | 高清色本在线www | 欧美精品一区二区三区在线 | 国产91系列 | 欧美成人第一页 | 亚洲第一夜 | 开操网 | 日韩精品视频在线观看免费 | 视频91在线|