周清文,殳國華,黃冠
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
目前,可編程器件(如CPLD、FPGA)由于其高性能及靈活可配置性,得到廣泛的應(yīng)用。開發(fā)人員在對其開發(fā)時,都需要專用的有線下載器對其進(jìn)行配置,或者需要在器件周圍設(shè)計專門的配置電路,這在一定程度上增加了設(shè)計的難度與成本。可編程器件都具有在系統(tǒng)可編程性,并且兼容邊界掃描功能(JTAG)[1]1,這使得使用微控制器更新、修改器件配置極為方便。本文針對Xilinx公司可編程邏輯器件FPGA芯片,基于藍(lán)牙通信并利用ARM處理器,設(shè)計了一種實(shí)現(xiàn)無線配置FPGA的下載器。
JTAG(Joint Test Action Group,聯(lián)合測試工作組),是一種國際標(biāo)準(zhǔn)測試協(xié)議(IEEE 1149.1兼容),主要用于芯片(主要是復(fù)雜的集成芯片,如微處理器、DSP、FPGA和CPLD)內(nèi)部測試。其基本原理是在器件內(nèi)部定義一個TAP(Test Access Port,測試訪問口)通過專用的JTAG測試工具對內(nèi)部節(jié)點(diǎn)進(jìn)行測試[2]。在芯片正常工作時,邊界掃描單元對于芯片內(nèi)部電路是“透明”的,所以不會影響芯片電路的正常工作與信號傳輸。
IEEE 1149.1 標(biāo)準(zhǔn)規(guī)定了一個四線串行接口(第五條線是可選的):
TCK:邊界掃描邏輯測試時鐘;
TMS:測試模式選擇,用于驅(qū)動TAP控制器的狀態(tài);
TDI:測試數(shù)據(jù)輸入,數(shù)據(jù)在TCK上升沿采樣進(jìn)入器件寄存器;
TDO:測試數(shù)據(jù)輸出,串行數(shù)據(jù)在TCK的下降沿從移位寄存器輸出;
TRST:測試重置,為可選輸入信號。
在時鐘TCK的驅(qū)動下,測試模式TMS信號控制TAP狀態(tài)機(jī)的狀態(tài),在不同的狀態(tài)下,TDI提供串行數(shù)據(jù)輸入,TDO為數(shù)據(jù)輸出提供通道。如圖1所示,JTAG所有的操作都同步于時鐘信號TCK,在時鐘上升沿,采樣信號TMS和TDI,在時鐘下降沿,輸出測試信號TDO。……