一種現(xiàn)場可編程門陣列邏輯代碼的下載裝置制造方法
【專利摘要】本發(fā)明公開了一種現(xiàn)場可編程門陣列邏輯代碼下載裝置,該裝置由計算機、USB接口、USB協(xié)議轉(zhuǎn)換器、晶體振蕩器、JTAG下載接口模塊、系統(tǒng)控制器組成,USB接口與計算機數(shù)據(jù)端連接,電源轉(zhuǎn)換器與USB接口連接,USB協(xié)議轉(zhuǎn)換器與USB接口和系統(tǒng)控制器連接,系統(tǒng)控制器分別與USB協(xié)議轉(zhuǎn)換器、晶體振蕩器和JTAG下載接口模塊連接,JTAG下載接口模塊與系統(tǒng)控制器連接,本發(fā)明通過USB接口對FPGA器件進行JTAG模式下的邏輯代碼下載。該裝置在進行FPGA邏輯代碼下載時下載速率可調(diào),并可在下載的同時監(jiān)測FPGA器件工作狀態(tài)及邏輯代碼下載進度。
【專利說明】—種現(xiàn)場可編程門陣列邏輯代碼的下載裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及現(xiàn)場可編程門陣列器件(FPGA)的下載【技術(shù)領(lǐng)域】,尤其涉及一種JTAG(國際標(biāo)準(zhǔn)測試協(xié)議)模式下通過USB接口對FPGA進行邏輯代碼下載的技術(shù)。
【背景技術(shù)】
[0002]現(xiàn)場可編程門陣列器件實現(xiàn)的邏輯功能由用戶對其進行編程下載來確定,對現(xiàn)場可編程門陣列器件進行編程需使用專門的邏輯代碼下載裝置。目前,針對現(xiàn)有技術(shù)的現(xiàn)場可編程門陣列的下載裝置為基于并口(LPT 口,又稱打印機接口)的下載裝置,該下載裝置下載邏輯代碼速率較慢,采用分立數(shù)字元件實現(xiàn)控制器,穩(wěn)定性比較差。隨著計算機硬件技術(shù)的快速發(fā)展,近些年生產(chǎn)的計算機已很少具有并口,取而代之是方便高效的USB接口。
【發(fā)明內(nèi)容】
[0003](一 )要解決的技術(shù)問題
[0004]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明的目的在于提供一種現(xiàn)場可編程門陣列邏輯代碼的下載裝置。
[0005]( 二 )技術(shù)方案
[0006]本發(fā)明一種現(xiàn)場可編程門陣列邏輯代碼的下載裝置,可以通過以下技術(shù)方案來實現(xiàn):該下載裝置主要包括:計算機、USB接口、USB協(xié)議轉(zhuǎn)換器、晶體振蕩器、JTAG下載接口模塊、系統(tǒng)控制器組成,其中:
[0007]計算機,接收符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,輸出現(xiàn)場可編程門陣列的邏輯代碼;
[0008]USB接口與計算機數(shù)據(jù)端連接,接收并發(fā)送邏輯代碼,接收并發(fā)送符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,輸出5V電壓信號至電源轉(zhuǎn)換器;
[0009]電源轉(zhuǎn)換器與USB接口連接,將電壓信號轉(zhuǎn)換成兩路電壓信號,用于為USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器的供電;
[0010]USB協(xié)議轉(zhuǎn)換器與USB接口和系統(tǒng)控制器連接,接收系統(tǒng)控制器輸出的關(guān)于可編程邏輯門陣列工作狀態(tài)的8位并行數(shù)據(jù),生成并輸出符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,接收USB接口輸出的邏輯代碼,對邏輯代碼進行USB協(xié)議轉(zhuǎn)換,生成并輸出8位并行數(shù)據(jù);
[0011]系統(tǒng)控制器分別與USB協(xié)議轉(zhuǎn)換器、晶體振蕩器和JTAG下載接口模塊連接,接收晶體振蕩器輸出的時鐘信號,接收USB協(xié)議轉(zhuǎn)換器輸出的8位并行數(shù)據(jù),并根據(jù)國際標(biāo)準(zhǔn)測試協(xié)議,將時鐘信號、8位并行數(shù)據(jù)轉(zhuǎn)換生成并輸出現(xiàn)場可編程門陣列下載所需的現(xiàn)場可編程門陣列的測試時鐘TCK、測試模式選擇信號TMS和輸入測試數(shù)據(jù)信號TDI ;將接收JTAG下載接口模塊中的測試數(shù)據(jù)TDO轉(zhuǎn)換并輸出關(guān)于可編程邏輯門陣列工作狀態(tài)的8位并行數(shù)據(jù);
[0012]JTAG下載接口模塊與系統(tǒng)控制器連接,下載并輸出系統(tǒng)控制器生成的測試時鐘TCK、測試模式選擇信號TMS和輸入測試數(shù)據(jù)信號TDI,接收并輸出現(xiàn)場可編程門陣列產(chǎn)生的測試數(shù)據(jù)TDO信號。
[0013](三)有益效果
[0014]本發(fā)明中的裝置正是針對現(xiàn)場可編程門陣列器件而設(shè)計的。本發(fā)明通過USB(通用串行總線)接口對FPGA器件進行JTAG模式下的邏輯代碼下載。該裝置在進行FPGA邏輯代碼下載時下載速率可調(diào),并可在下載的同時監(jiān)測FPGA器件工作狀態(tài)及邏輯代碼下載進度。該裝置控制模塊中下載速率選擇單元不僅能夠靈活的設(shè)置現(xiàn)場可編程門陣列器件的下載速率,還能通過裝置控制模塊中下載進度顯示單元和下載狀態(tài)顯示監(jiān)測現(xiàn)場可編程門陣列器件的下載過程。裝置中系統(tǒng)控制器采用現(xiàn)場可編程門陣列實現(xiàn),代替?zhèn)鹘y(tǒng)下載裝置中的分立數(shù)字元件,穩(wěn)定性較高。該裝置對于現(xiàn)場可編程門陣列器件的程序開發(fā)與調(diào)試有重要意義,是自研現(xiàn)場可編程門陣列器件的應(yīng)用推廣中必不可少的配套裝置。
[0015]它的優(yōu)點在于硬件電路簡單、下載速率可控、現(xiàn)場可編程門陣列下載狀態(tài)可實時顯示、人機接口友好、使用簡便、工作穩(wěn)定等。
【專利附圖】
【附圖說明】
[0016]圖1所示是現(xiàn)場可編程門陣列邏輯代碼的下載裝置電路原理框圖;
[0017]圖2所示是現(xiàn)場可編程門陣列邏輯代碼的計算機中控制模塊功能框圖;
[0018]圖3所示是現(xiàn)場可編程門陣列邏輯代碼的下載裝置下載流程框圖。
【具體實施方式】
[0019]為使本發(fā)明的技術(shù)方案更加清晰,下面結(jié)合附圖對本發(fā)明進行詳細描述。
[0020]圖1是本發(fā)明一種現(xiàn)場可編程門陣列邏輯代碼下載裝置電路原理框圖,該裝置由計算機、USB接口、USB協(xié)議轉(zhuǎn)換器、晶體振蕩器、JTAG下載接口模塊、系統(tǒng)控制器組成,其中:計算機,接收符合USB協(xié)議的現(xiàn)場可編程門陣列(FPGA)的串行工作狀態(tài)信息,輸出現(xiàn)場可編程門陣列的邏輯代碼;USB接口與計算機數(shù)據(jù)端連接,接收并發(fā)送邏輯代碼,接收并發(fā)送符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,輸出5V電壓信號至電源轉(zhuǎn)換器;電源轉(zhuǎn)換器與USB接口連接,將電壓信號轉(zhuǎn)換成兩路電壓信號,用于為USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器的供電;USB協(xié)議轉(zhuǎn)換器與USB接口和系統(tǒng)控制器連接,接收系統(tǒng)控制器輸出的關(guān)于可編程邏輯門陣列工作狀態(tài)的8位并行數(shù)據(jù),生成并輸出符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,接收USB接口輸出的邏輯代碼,對邏輯代碼進行USB協(xié)議轉(zhuǎn)換,生成并輸出8位并行數(shù)據(jù);系統(tǒng)控制器分別與USB協(xié)議轉(zhuǎn)換器、晶體振蕩器和JTAG下載接口模塊連接,接收晶體振蕩器輸出的時鐘信號,接收USB協(xié)議轉(zhuǎn)換器輸出的8位并行數(shù)據(jù),并根據(jù)國際標(biāo)準(zhǔn)測試協(xié)議(JTAG),將時鐘信號、8位并行數(shù)據(jù)轉(zhuǎn)換生成并輸出現(xiàn)場可編程門陣列下載所需的現(xiàn)場可編程門陣列的測試時鐘TCK、測試模式選擇信號TMS和輸入測試數(shù)據(jù)信號TDI ;將接收JTAG下載接口模塊中的測試數(shù)據(jù)TDO轉(zhuǎn)換并輸出關(guān)于可編程邏輯門陣列工作狀態(tài)的8位并行數(shù)據(jù);JTAG下載接口模塊與系統(tǒng)控制器連接,下載并輸出系統(tǒng)控制器生成的測試時鐘TCK、測試模式選擇信號TMS和輸入測試數(shù)據(jù)信號TDI,接收并輸出現(xiàn)場可編程門陣列產(chǎn)生的測試數(shù)據(jù)TDO信號。
[0021]所述電源轉(zhuǎn)換器,接收并將USB接口輸出的5V直流電壓轉(zhuǎn)換產(chǎn)生1.5V和3.3V兩種直流電壓,并將此兩種電源分別輸出至USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器,用于USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器工作所需的1.5V和3.3V直流電源供電。USB協(xié)議轉(zhuǎn)換器選取FT245R轉(zhuǎn)換器。系統(tǒng)控制器采用EP1C3T100控制器。所述時鐘信號是20MHz方波信號用于系統(tǒng)控制器自身的時鐘。
[0022]在對現(xiàn)場可編程門陣列器件進行邏輯代碼下載時,JTAG下載接口模塊通過讀取現(xiàn)場可編程門陣列器件的TDO輸出波形來獲取現(xiàn)場可編程門陣列器件的工作狀態(tài),并通過USB接口將現(xiàn)場可編程門陣列器件的工作狀態(tài)傳回計算機的控制模塊,計算機的控制模塊根據(jù)現(xiàn)場可編程門陣列器件的狀態(tài)信息來控制JTAG下載接口模塊的下一步操作。
[0023]當(dāng)需要對FPGA進行下載時,計算機通過USB接口發(fā)送數(shù)據(jù)至USB協(xié)議轉(zhuǎn)換器,轉(zhuǎn)換器將復(fù)雜的USB格式數(shù)據(jù)轉(zhuǎn)換成簡單的并行數(shù)據(jù),系統(tǒng)控制器讀取這些數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)換成FPGA基于國際標(biāo)準(zhǔn)檢測協(xié)議JTAG輸入時所需的TCK、TMS、TDI信號,同時監(jiān)測器件輸出的TDO信號。JTAG下載接口模塊通過讀取FPGA器件的TDO端口輸出波形來獲取FPGA的工作狀態(tài),并通過USB接口將FPGA的工作狀態(tài)傳回計算機的控制單,計算機的控制單元根據(jù)FPGA的狀態(tài)信息來控制裝置的下一步操作。
[0024]圖2是本發(fā)明控制模塊功能框圖。在進行代碼下載之前,首先掃描FPGA是否正確安裝,在界面上選擇邏輯代碼下載速率和選擇將要下載的邏輯代碼文件,然后對FPGA進行邏輯代碼下載,界面上指示下載進度,狀態(tài)欄顯示器件下載狀態(tài)。所述計算機中具有一控制模塊,用于向下載裝置發(fā)送指令和邏輯代碼,并接收下載裝置輸出的可編程邏輯門陣列的工作狀態(tài)信息;所述控制模塊具有:器件掃描單元,用于在進行邏輯代碼下載前檢測JTAG下載接口模塊與現(xiàn)場可編程門陣列是否正確連接;下載速率選擇單元,用于將在下載邏輯代碼時選擇下載速率;下載文件選擇單元,用于在下載邏輯代碼前選擇不同的邏輯代碼文件;下載單元,用于控制USB接口開始進行邏輯代碼下載;下載進度顯示單元,用于顯示邏輯代碼文件向USB接口發(fā)送的進度;下載狀態(tài)顯示單元,接收USB接口返回的可編程邏輯門陣列的工作狀態(tài)信息,用于下載邏輯代碼前后顯示現(xiàn)場可編程門陣列工作狀態(tài)。
[0025]所述器件掃描的具體實現(xiàn)方案為:計算機通過USB接口向USB協(xié)議轉(zhuǎn)換器發(fā)送器件發(fā)送掃描指令,掃描指令經(jīng)過USB協(xié)議轉(zhuǎn)換后生成8位并行數(shù)據(jù)并發(fā)送至系統(tǒng)控制器,系統(tǒng)控制器接收指令后產(chǎn)生對應(yīng)的TCK、TMS、TDI信號時序,并輸出至FPGA,系統(tǒng)控制器同時監(jiān)測FPGA的TDO管腳輸出波形,裝置根據(jù)TDO波形識別已連接上的FPGA,并將掃描結(jié)果通過USB接口傳回計算機,計算機將FPGA的掃描結(jié)果顯示在界面上。若TDO上輸出波形與掃描芯片掃描指令預(yù)期輸出不符,則在軟件界面上顯示器件未正確連接。
[0026]圖3所示是本發(fā)明下載流程框圖,包括步驟如下:
[0027]JTAG下載接口模塊首先對FPGA進行復(fù)位操作;系統(tǒng)控制器接收復(fù)位指令后產(chǎn)生對應(yīng)的國際標(biāo)準(zhǔn)測試協(xié)議的TCK、TMS、TDI信號時序,并同時監(jiān)測國際標(biāo)準(zhǔn)測試協(xié)議的TDO信號,JTAG下載接口模塊根據(jù)TDO波形獲取FPGA器件復(fù)位結(jié)果,并將復(fù)位結(jié)果通過USB接口傳回計算機,計算機將復(fù)位結(jié)果顯示在狀態(tài)欄中。
[0028]對FPGA復(fù)位結(jié)果成功與否進行判斷:
[0029]若FPGA復(fù)位失敗,則下載結(jié)束。開發(fā)人員需檢查系統(tǒng)連接情況,確認無誤后再啟動下一次復(fù)位操作。
[0030]若FPGA復(fù)位成功,則JTAG下載接口模塊接下來進行FPGA初始化操作,系統(tǒng)控制器收到初始化指令后輸出相應(yīng)時序的TCK、TMS、TDI信號,同時監(jiān)測TDO信號,裝置根據(jù)TDO波形獲取FPGA初始化結(jié)果,并將初始化結(jié)果通過USB接口傳回計算機,計算機將初始化結(jié)果顯示在狀態(tài)欄中。若FPGA初始化失敗,則下載結(jié)束。
[0031]若FPGA初始化成功,則裝置開始向FPGA進行邏輯代碼下載,系統(tǒng)控制器將通過USB接口接收到的計算機發(fā)送過來的邏輯代碼數(shù)據(jù)轉(zhuǎn)換為相應(yīng)時序的TCK、TMS、TDI信號,并發(fā)送至JTAG下載接口模塊,若此邏輯代碼數(shù)據(jù)發(fā)送失敗,則下載結(jié)束。
[0032]若邏輯代碼下載完成,JTAG下載接口模塊將對FPGA進行解凍操作,JTAG下載接口模塊將控制FPGA進入解凍階段,系統(tǒng)控制器接收解凍指令后產(chǎn)生對應(yīng)的TCK、TMS、TDI信號時序,并同時監(jiān)測TDO信號,根據(jù)TDO波形判斷FPGA解凍結(jié)果,并將解凍結(jié)果通過USB接口傳回計算機,計算機將FPGA的解凍結(jié)果顯示在狀態(tài)欄中,至此下載操作全部完成。
[0033]上述功能模塊均為市場上常見功能模塊或可簡單實現(xiàn)模塊,本領(lǐng)域相關(guān)技術(shù)人員均熟悉其具體實現(xiàn)方法,因此,在本發(fā)明中不再對各模塊的具體結(jié)構(gòu)和實現(xiàn)方法一一贅述。
[0034]以上所述為本發(fā)明的一種具體實現(xiàn)方法,但顯然本發(fā)明的具體實現(xiàn)形式并不局限于此。應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明原理情況下,對它進行的各種顯而易見的改變都在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種現(xiàn)場可編程門陣列邏輯代碼下載裝置,其特征在于:由計算機、USB接口、USB協(xié)議轉(zhuǎn)換器、晶體振蕩器、JTAG下載接口模塊、系統(tǒng)控制器組成,其中: 計算機,接收符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,輸出現(xiàn)場可編程門陣列的邏輯代碼; USB接口與計算機數(shù)據(jù)端連接,接收并發(fā)送邏輯代碼,接收并發(fā)送符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,輸出5V電壓信號至電源轉(zhuǎn)換器; 電源轉(zhuǎn)換器與USB接口連接,將電壓信號轉(zhuǎn)換成兩路電壓信號,用于為USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器的供電; USB協(xié)議轉(zhuǎn)換器與USB接口和系統(tǒng)控制器連接,接收系統(tǒng)控制器輸出的關(guān)于可編程邏輯門陣列工作狀態(tài)的8位并行數(shù)據(jù),生成并輸出符合USB協(xié)議的現(xiàn)場可編程門陣列的串行工作狀態(tài)信息,接收USB接口輸出的邏輯代碼,對邏輯代碼進行USB協(xié)議轉(zhuǎn)換,生成并輸出8位并行數(shù)據(jù); 系統(tǒng)控制器分別與USB協(xié)議轉(zhuǎn)換器、晶體振蕩器和JTAG下載接口模塊連接,接收晶體振蕩器輸出的時鐘信號,接收USB協(xié)議轉(zhuǎn)換器輸出的8位并行數(shù)據(jù),并根據(jù)國際標(biāo)準(zhǔn)測試協(xié)議,將時鐘信號、8位并行數(shù)據(jù)轉(zhuǎn)換生成并輸出現(xiàn)場可編程門陣列下載所需的現(xiàn)場可編程門陣列的測試時鐘TCK、測試模式選擇信號TMS和輸入測試數(shù)據(jù)信號TDI ;將接收JTAG下載接口模塊中的測試數(shù)據(jù)TDO轉(zhuǎn)換并輸出關(guān)于可編程邏輯門陣列工作狀態(tài)的8位并行數(shù)據(jù);JTAG下載接口模塊與系統(tǒng)控制器連接,下載并輸出系統(tǒng)控制器生成的測試時鐘TCK、測試模式選擇信號TMS和輸入測試數(shù)據(jù)信號TDI,接收并輸出現(xiàn)場可編程門陣列產(chǎn)生的測試數(shù)據(jù)TDO信號。
2.根據(jù) 權(quán)利要求1所述現(xiàn)場可編程門陣列邏輯代碼的下載裝置,其特征在于:所述電源轉(zhuǎn)換器,接收并將USB接口輸出的5V直流電壓轉(zhuǎn)換產(chǎn)生1.5V和3.3V兩種直流電壓,并將此兩種電源分別輸出至USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器,用于USB協(xié)議轉(zhuǎn)換器和系統(tǒng)控制器工作所需的1.5V和3.3V直流電源供電。
3.根據(jù)權(quán)利要求1所述現(xiàn)場可編程門陣列邏輯代碼的下載裝置,其特征在于:計算機中具有一控制模塊,用于向下載裝置發(fā)送指令和邏輯代碼,并接收下載裝置輸出的可編程邏輯門陣列的工作狀態(tài)信息;所述控制模塊具有: 器件掃描單元,用于在進行邏輯代碼下載前檢測JTAG下載接口模塊與現(xiàn)場可編程門陣列是否正確連接; 下載速率選擇單元,用于將在下載邏輯代碼時選擇下載速率; 下載文件選擇單元,用于在下載邏輯代碼前選擇不同的邏輯代碼文件; 下載單元,用于控制USB接口開始進行邏輯代碼下載; 下載進度顯示單元,用于顯示邏輯代碼文件向USB接口發(fā)送的進度; 下載狀態(tài)顯示單元,接收USB接口返回的可編程邏輯門陣列的工作狀態(tài)信息,用于下載邏輯代碼前后顯示現(xiàn)場可編程門陣列工作狀態(tài)。
4.根據(jù)權(quán)利要求1所述現(xiàn)場可編程門陣列邏輯代碼的下載裝置,其特征在于:USB協(xié)議轉(zhuǎn)換器選取FT245R轉(zhuǎn)換器。
5.根據(jù)權(quán)利要求1所述現(xiàn)場可編程門陣列邏輯代碼的下載裝置,其特征在于:系統(tǒng)控制器采用EP1C3T100控制器。
6.根據(jù)權(quán)利要求1所述現(xiàn)場可編程門陣列邏輯代碼的下載裝置,其特征在于:在對現(xiàn)場可編程門陣列器件進行邏輯代碼下載時,JTAG下載接口模塊通過讀取現(xiàn)場可編程門陣列器件的TDO輸出波形來獲取現(xiàn)場可編程門陣列器件的工作狀態(tài),并通過USB接口將現(xiàn)場可編程門陣列器件的工作狀態(tài)傳回計算機的控制模塊,計算機的控制模塊根據(jù)現(xiàn)場可編程門陣列器件的狀態(tài)信息來控制JTAG下載接口模塊的下一步操作。
7.根據(jù)權(quán)利要求1所述現(xiàn)場可編程門陣列邏輯代碼的下載裝置,其特征在于:所述時鐘信號是20MHz方波信`號用于系統(tǒng)控制器自身的時鐘。
【文檔編號】G06F13/40GK103823781SQ201410074932
【公開日】2014年5月28日 申請日期:2014年3月3日 優(yōu)先權(quán)日:2014年3月3日
【發(fā)明者】胡凱, 楊海鋼, 徐春雨, 曾憲理, 王德利 申請人:中國科學(xué)院電子學(xué)研究所