基于CPLD的USB下載電纜設(shè)計
發(fā)布時間:2008/5/28 0:00:00 訪問次數(shù):798
隨著片上系統(tǒng)(soc,system on chip)時代的到來,包括復(fù)雜可編程邏輯器件(cpld,complex programmablelogic device)和現(xiàn)場可編程門陣列(fpga,field pro-grammable gate array)的可編程邏輯器件(具有在系統(tǒng)可再編程的獨特優(yōu)點),應(yīng)用越來越廣泛。這給用于可編程邏輯器件編程的下載電纜提出了更高的要求。
本文研究基于ieee1149.1標(biāo)準(zhǔn)的u5sb下載接口電路的設(shè)計及實現(xiàn)。針對altera公司的fpga器件cy-clone,通過分析它的邊界掃描測試結(jié)構(gòu)和各種jtag指令,研究它的編程過程和編程特點,并提出設(shè)計方案。在接口電路硬件設(shè)計中,選用ftdi公司的usb控制芯片ft245bm,實現(xiàn)usb物理層和鏈路層協(xié)議的解析;altera公司的可編程邏輯器件epm7064實現(xiàn)接口邏輯。與傳統(tǒng)的基于pc并口的下載電纜相比,本設(shè)計的usb下載接口電路具有支持熱插拔、體積小、便于攜帶、降低對pc硬件傷害、編程速度快等明顯優(yōu)點。
目前已開發(fā)的usb下載線一般需要在主機端另行設(shè)計軟件來控制與下載線及目標(biāo)器件之間的通信和數(shù)據(jù)傳送;但是這樣不僅繁瑣,而且可能由于pc機操作系統(tǒng)的不同而影響兼容性。本文討淪的usb下載線能在altera公司的quartusii開發(fā)環(huán)境下直接使用,無須在主機端另行設(shè)計通信軟件。
1 系統(tǒng)結(jié)構(gòu)及工作原理
接口電路的整體結(jié)構(gòu)框圖如圖1所示。由于usb下載電路涉及了ieee1149.1標(biāo)準(zhǔn)和usb協(xié)議,所以接口電路主要包含兩大部分。一部分是usb接口,它連接主機和可編程邏輯器件,主要功能是進(jìn)行usb和并行i/o口之間的數(shù)據(jù)格式轉(zhuǎn)換,用usb控制芯片實現(xiàn)。另一部分是jtag接口,它連接usb控制芯片和需要編程的邏輯器件,主要功能是進(jìn)行并行i/o口和jtag之間數(shù)據(jù)的轉(zhuǎn)換,轉(zhuǎn)換邏輯通過對可編程邏輯器件進(jìn)行設(shè)計來實現(xiàn)。其他還包括一些必要的時鐘電路和電壓轉(zhuǎn)換電路。
從主機傳來的usb數(shù)據(jù),由usb控制芯片轉(zhuǎn)換為8位并行數(shù)據(jù),經(jīng)數(shù)據(jù)總線送到cpld的可編程i/o引腳。cpld的數(shù)據(jù)也可以通過數(shù)據(jù)總線送回usb控制芯片,然后轉(zhuǎn)換為usb的數(shù)據(jù)格式傳回主機。cpld收到usb控制芯片傳送來的數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行解析,然后轉(zhuǎn)換為符合ieee1149.1標(biāo)準(zhǔn)的編程數(shù)據(jù)和指令,從tck、tms和tdi串行輸出到要編程的可編程邏輯器件。從可編程邏輯器件返回的符合ieee1149.1標(biāo)準(zhǔn)的校驗數(shù)據(jù)從tdo串行輸入到cpld,轉(zhuǎn)換為8位并行數(shù)據(jù)傳送給usb控制芯片,最后返回主機進(jìn)行校驗。
usb控制芯片ft245bm負(fù)責(zé)解釋usb協(xié)議,完成雙方數(shù)據(jù)通信。其內(nèi)部有usb協(xié)議引擎,并且集成的電平轉(zhuǎn)換器使fifo和控制信號能與電壓為5 v、3.3 v的邏輯器件接口。usb接口電路原理如圖2所示。
2 對目標(biāo)器件的配置過程
對目標(biāo)器件的配置流程如圖3所示。
(1) 識別usb下載接口
quartusii編程器通過pc的usb接口向ft245bm依次發(fā)7e、7f、7e三個數(shù)據(jù)。ft245bm經(jīng)pc的usb接口向編程器依次返回3個數(shù)據(jù)03。在編程器收到返回的3個03以后,編程器就識別此usb下載接口電路為它的下載硬件平臺。
(2) 測試bst電路
測試包括以下幾個方面:
◇復(fù)位測試;
◇指令寄存器移位測試;
◇標(biāo)志寄存器移位測試。
(3) 下載編程數(shù)據(jù)
這個步驟把所有的編程數(shù)據(jù)從pc下載進(jìn)可編程邏輯器件的配置存儲器。因為這一步驟下載的編程數(shù)據(jù)龐大,所以下載時采用特快模式,并且不進(jìn)行校驗,避免影響下載速度。下載選用的指令是altera公司自己定義的down-load指令(00 0000 0010)。
(4) 內(nèi)建自測試
內(nèi)建自測試是在電路內(nèi)部建立測試生成、施加、分析和測試控制結(jié)構(gòu),使得電路能夠測試自己。
(5) 校驗器件的idcode
在整個編程流程結(jié)束以前,再一次校驗器件的id-code,確認(rèn)器件的bst電路在下載編程數(shù)據(jù)后是否工作正常。這一步的過程和標(biāo)志寄存器移位測試完全相同。
(6) 返回測試邏輯復(fù)位狀態(tài)
保持tms為高6個tck周期,使tap控制器進(jìn)入測試邏輯復(fù)位狀態(tài),并且讓tms保持為高電平,以保持測試邏輯復(fù)位狀態(tài)。這樣器件的測試邏輯失效,器件的核心邏輯開始正常工作。
結(jié) 語
本文所討論的usb數(shù)據(jù)下載線能在altera公司的quartusii開發(fā)環(huán)境下直接使用,無須另行開發(fā)主機端通信程序。與傳統(tǒng)并口的編程方式相比,優(yōu)勢十分明顯:支持熱插拔,使用更方便;體積更小,攜帶
隨著片上系統(tǒng)(soc,system on chip)時代的到來,包括復(fù)雜可編程邏輯器件(cpld,complex programmablelogic device)和現(xiàn)場可編程門陣列(fpga,field pro-grammable gate array)的可編程邏輯器件(具有在系統(tǒng)可再編程的獨特優(yōu)點),應(yīng)用越來越廣泛。這給用于可編程邏輯器件編程的下載電纜提出了更高的要求。
本文研究基于ieee1149.1標(biāo)準(zhǔn)的u5sb下載接口電路的設(shè)計及實現(xiàn)。針對altera公司的fpga器件cy-clone,通過分析它的邊界掃描測試結(jié)構(gòu)和各種jtag指令,研究它的編程過程和編程特點,并提出設(shè)計方案。在接口電路硬件設(shè)計中,選用ftdi公司的usb控制芯片ft245bm,實現(xiàn)usb物理層和鏈路層協(xié)議的解析;altera公司的可編程邏輯器件epm7064實現(xiàn)接口邏輯。與傳統(tǒng)的基于pc并口的下載電纜相比,本設(shè)計的usb下載接口電路具有支持熱插拔、體積小、便于攜帶、降低對pc硬件傷害、編程速度快等明顯優(yōu)點。
目前已開發(fā)的usb下載線一般需要在主機端另行設(shè)計軟件來控制與下載線及目標(biāo)器件之間的通信和數(shù)據(jù)傳送;但是這樣不僅繁瑣,而且可能由于pc機操作系統(tǒng)的不同而影響兼容性。本文討淪的usb下載線能在altera公司的quartusii開發(fā)環(huán)境下直接使用,無須在主機端另行設(shè)計通信軟件。
1 系統(tǒng)結(jié)構(gòu)及工作原理
接口電路的整體結(jié)構(gòu)框圖如圖1所示。由于usb下載電路涉及了ieee1149.1標(biāo)準(zhǔn)和usb協(xié)議,所以接口電路主要包含兩大部分。一部分是usb接口,它連接主機和可編程邏輯器件,主要功能是進(jìn)行usb和并行i/o口之間的數(shù)據(jù)格式轉(zhuǎn)換,用usb控制芯片實現(xiàn)。另一部分是jtag接口,它連接usb控制芯片和需要編程的邏輯器件,主要功能是進(jìn)行并行i/o口和jtag之間數(shù)據(jù)的轉(zhuǎn)換,轉(zhuǎn)換邏輯通過對可編程邏輯器件進(jìn)行設(shè)計來實現(xiàn)。其他還包括一些必要的時鐘電路和電壓轉(zhuǎn)換電路。
從主機傳來的usb數(shù)據(jù),由usb控制芯片轉(zhuǎn)換為8位并行數(shù)據(jù),經(jīng)數(shù)據(jù)總線送到cpld的可編程i/o引腳。cpld的數(shù)據(jù)也可以通過數(shù)據(jù)總線送回usb控制芯片,然后轉(zhuǎn)換為usb的數(shù)據(jù)格式傳回主機。cpld收到usb控制芯片傳送來的數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行解析,然后轉(zhuǎn)換為符合ieee1149.1標(biāo)準(zhǔn)的編程數(shù)據(jù)和指令,從tck、tms和tdi串行輸出到要編程的可編程邏輯器件。從可編程邏輯器件返回的符合ieee1149.1標(biāo)準(zhǔn)的校驗數(shù)據(jù)從tdo串行輸入到cpld,轉(zhuǎn)換為8位并行數(shù)據(jù)傳送給usb控制芯片,最后返回主機進(jìn)行校驗。
usb控制芯片ft245bm負(fù)責(zé)解釋usb協(xié)議,完成雙方數(shù)據(jù)通信。其內(nèi)部有usb協(xié)議引擎,并且集成的電平轉(zhuǎn)換器使fifo和控制信號能與電壓為5 v、3.3 v的邏輯器件接口。usb接口電路原理如圖2所示。
2 對目標(biāo)器件的配置過程
對目標(biāo)器件的配置流程如圖3所示。
(1) 識別usb下載接口
quartusii編程器通過pc的usb接口向ft245bm依次發(fā)7e、7f、7e三個數(shù)據(jù)。ft245bm經(jīng)pc的usb接口向編程器依次返回3個數(shù)據(jù)03。在編程器收到返回的3個03以后,編程器就識別此usb下載接口電路為它的下載硬件平臺。
(2) 測試bst電路
測試包括以下幾個方面:
◇復(fù)位測試;
◇指令寄存器移位測試;
◇標(biāo)志寄存器移位測試。
(3) 下載編程數(shù)據(jù)
這個步驟把所有的編程數(shù)據(jù)從pc下載進(jìn)可編程邏輯器件的配置存儲器。因為這一步驟下載的編程數(shù)據(jù)龐大,所以下載時采用特快模式,并且不進(jìn)行校驗,避免影響下載速度。下載選用的指令是altera公司自己定義的down-load指令(00 0000 0010)。
(4) 內(nèi)建自測試
內(nèi)建自測試是在電路內(nèi)部建立測試生成、施加、分析和測試控制結(jié)構(gòu),使得電路能夠測試自己。
(5) 校驗器件的idcode
在整個編程流程結(jié)束以前,再一次校驗器件的id-code,確認(rèn)器件的bst電路在下載編程數(shù)據(jù)后是否工作正常。這一步的過程和標(biāo)志寄存器移位測試完全相同。
(6) 返回測試邏輯復(fù)位狀態(tài)
保持tms為高6個tck周期,使tap控制器進(jìn)入測試邏輯復(fù)位狀態(tài),并且讓tms保持為高電平,以保持測試邏輯復(fù)位狀態(tài)。這樣器件的測試邏輯失效,器件的核心邏輯開始正常工作。
結(jié) 語
本文所討論的usb數(shù)據(jù)下載線能在altera公司的quartusii開發(fā)環(huán)境下直接使用,無須另行開發(fā)主機端通信程序。與傳統(tǒng)并口的編程方式相比,優(yōu)勢十分明顯:支持熱插拔,使用更方便;體積更小,攜帶
熱門點擊
- 基于FPGA的可編程定時器/計數(shù)器8253的
- PLC和PLD的區(qū)別與聯(lián)系
- Xilinx FPGA全局時鐘和第二全局時鐘
- 基于FPGA片上PowerPC和VxWork
- 基于FPGA的數(shù)字正交混頻變換算法的實現(xiàn)
- 使用C編譯器+ICD2調(diào)試程序需要注意的問題
- Altera發(fā)布低成本低功耗CPLD EPM
- 基于VHDL的彩燈控制
- 32位單精度浮點乘法器的FPGA實現(xiàn)
- Verilog 的文本編輯器
推薦技術(shù)資料
- 聲道前級設(shè)計特點
- 與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究