基于CPLD的IEEE1149.1 USB下載電纜設計
引 言
隨著(zhù)片上系統(SoC,System on Chip)時(shí)代的到來(lái),包括復雜可編程邏輯器件(CPLD,Complex ProgrammableLogic Devi(e)和現場(chǎng)可編程門(mén)陣列(FPGA,Field Programmable Gate Array)的可編程邏輯器件(具有在系統可再編程的獨特優(yōu)點(diǎn)),應用越來(lái)越廣泛。這給用于可編程邏輯器件編程的下載電纜提出了更高的要求。
本文研究基于IEEEll49.1標準的USB下載接口電路的設計及實(shí)現。針對Altera公司的FPGA器件Cy-ckone,通過(guò)分析它的邊界掃描測試結構和各種JTAG指令,研究它的編程過(guò)程和編程特點(diǎn),并提出設計方案。在接口電路硬件設計中,選用FTDI公司的USB控制芯片FT2蠣BM,實(shí)現USB物理層和鏈路層協(xié)議的解析;Altera公司的可編程邏輯器件EPM7064實(shí)現接口邏輯。與傳統的基于PC并口的下載電纜相比,本設計的USB下載接口電路具有支持熱插拔、體積小、便于攜帶、降低對PC硬件傷害、編程速度快等明顯優(yōu)點(diǎn)。
目前已開(kāi)發(fā)的USB下載線(xiàn)一般需要在主機端另行設計軟件來(lái)控制與下載線(xiàn)及目標器件之間的通信和數據傳送;但是這樣不僅繁瑣,而且可能由于PC機操作系統的不同而影響兼容性。本文討論的USB下載線(xiàn)能在A(yíng)1tera公司的QuartusII開(kāi)發(fā)環(huán)境下直接使用,無(wú)須在主機端另行設計通信軟件。
1 系統結構及工作原理
接口電路的整體結構框圖如圖l所示。由于USB下載電路涉及了IEEEll49.1標準和USB協(xié)議,所以接口電路主要包含兩大部分。一部分是USB接口,它連接主機和可編程邏輯器件,主要功能是進(jìn)行USB和并行I/O口之間的數據格式轉換,用USB控制芯片實(shí)現。另一部分是JTAG接口,它連接USB控制芯片和需要編程的邏輯器件,主要功能是進(jìn)行并行I/O口和JTAG之間數據的轉換,轉換邏輯通過(guò)對可編程邏輯器件進(jìn)行設計來(lái)實(shí)現。其他還包括一些必要的時(shí)鐘電路和電壓轉換電路。
從主機傳來(lái)的USB數據,由USB控制芯片轉換為8位并行數據,經(jīng)數據總線(xiàn)送到CPLD的可編程I/O引腳。CPLD的數據也可以通過(guò)數據總線(xiàn)送回USB控制芯片,然后轉換為USB的數據格式傳回主機。CPLD收到USB控制芯片傳送來(lái)的數據后,對數據進(jìn)行解析,然后轉換為符合IEEEll49.1標準的編程數據和指令,從TCK、TMS和TDI串行輸出到要編程的可編程邏輯器件。從可編程邏輯器件返回的符合IEEEll49.1標準的校驗數據從TDO串行輸入到CPLD,轉換為8位并行數據傳送給USB控制芯片,最后返回主機進(jìn)行校驗。
評論