基于DSP的CPLD軟件更新方案研究
0引言
在現代導航計算機系統朝著(zhù)微型化發(fā)展的過(guò)程中,采用高性能數字信號處理器和可編程邏輯器件方案實(shí)現的導航計算機系統有著(zhù)很高的性能優(yōu)勢。在本課題組研制的基于浮點(diǎn)型DSP和復雜可編程邏輯器件(CPLD)結構的嵌入式微型導航計算機系統中,DSP負責導航解算任務(wù),CPLD用來(lái)輔助DSP對外圍通信接口芯片進(jìn)行控制,以減少DSP的控制任務(wù),使其更專(zhuān)注于導航任務(wù)的解算。采用CPLD可以提高導航計算機控制和配置的靈活性,便于系統的升級和更新,使接口配置更靈活,適合于不同的傳感器和便于應用于采用多傳感器信息融合的組合導航系統中,充分發(fā)揮DSP的計算能力,提高導航性能。此嵌入式導航計算機系統中CPLD采用的是Xilinx公司的XC95144,該器件支持在系統編程(InSystemProgramming)和擴展的IEEEStd1149.1JTAG邊界掃描測試規范。JTAG標準作為一個(gè)測試規范,已被多數可編程邏輯器件采用。對于該芯片的一般編程方法是,通過(guò)Xilinx公司提供的下載線(xiàn)纜將PC機并口轉接至其JTAG端口,使用PC機下載軟件實(shí)現對其軟件更新。由于JTAG口的信號特點(diǎn),下載線(xiàn)纜不能太長(cháng),否則會(huì )導致信號失真;此外,在系統投入使用后,如果需要對軟件進(jìn)行更新升級,采用這種線(xiàn)纜方式必須將系統的外殼打開(kāi),不便于系統的維護更新。本文通過(guò)對JTAG接口特性的研究,提出了一種采用UART串行通信進(jìn)行軟件更新的方案,對基于DSP接口控制的CPLD器件實(shí)現了軟件更新,使采用JTAG口進(jìn)行編程的PLD器件可以實(shí)現遠端更新和升級。
1JTAG接口原理
JTAG是IEEE的聯(lián)合測試行動(dòng)小組(JointTestActionGroup)提出的測試標準,此標準最初是用來(lái)解決因芯片集成度和板級器件密度越來(lái)越高帶來(lái)的測試問(wèn)題?,F在這一標準已被大多數器件廠(chǎng)商采用并設計到芯片電路中,用以支持其器件在系統調試或編程功能。對于本文所用的CPLD器件,其JTAG接口的結構如圖1所示。

JTAG標準定義了4個(gè)基本單元:測試訪(fǎng)問(wèn)端口TAP(TestAccessPort)、數據寄存器、指令寄存器和TAP控制器。TAP端口包含了4個(gè)JTAG信號:測試時(shí)鐘輸入引腳TCK,測試數據輸入引腳TDI,測試數據輸出引腳TDO和測試模式選擇引腳TMS。數據寄存器主要包含2種:BYPASS寄存器和BSR(BotlndaryScanRegister)寄存器,其中BSR由BSC(BotmdaryScanCell)串聯(lián)而成,正是通過(guò)BSC掃描鏈電路,來(lái)自于TDI上的CPLD配置信息便可移入到芯片內部,從而實(shí)現對器件的擦除與編程功能。TAP控制器其實(shí)是一個(gè)包含16個(gè)狀態(tài)的狀態(tài)機,它控制著(zhù)測試訪(fǎng)問(wèn)口、指令寄存器和數據寄存器。TAP控制器狀態(tài)轉換圖如圖2所示。
TAP控制器的狀態(tài)由TMS和TCK兩信號控制。當需要將TDI上的數據移到指令寄存器中時(shí),可使TAP控制器進(jìn)入Shift-IR狀態(tài);當需要將TDI上的數據移到數據寄存器中時(shí),可使其進(jìn)入Shift-DR狀態(tài)。通過(guò)TAP控制器的狀態(tài)轉換,可將CPLD的配置信息移入到其內部邏輯中。
在基于PC的編程方法中,CPLD的配置信息文件存儲在PC里,在PC中運行的下載軟件不斷讀取器件的配置信息,并通過(guò)其并行接口模擬JTAG測試端口的時(shí)序和邏輯,從而實(shí)現其軟件更新和下載。本文將采用導航計算機系統中的DSP來(lái)實(shí)現這種編程方法:CPLD的配置文件通過(guò)DSP的UART串行口發(fā)送給導航計算機系統,然后由DSP解析并執行配置文件中的指令,通過(guò)DSP的I/O口模擬JTAG端口信號行為,來(lái)實(shí)現對CPLD器件軟件更新的功能?;谶@種方案可以實(shí)現采用普通的串行口方便地對CPLD進(jìn)行遠端編程和更新。

評論