www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于DSP的CPLD軟件更新方案研究

 

0引言

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

  1JTAG接口原理
  JTAG是IEEE的聯(lián)合測(cè)試行動(dòng)小組(JointTestActionGroup)提出的測(cè)試標(biāo)準(zhǔn),此標(biāo)準(zhǔn)最初是用來(lái)解決因芯片集成度和板級(jí)器件密度越來(lái)越高帶來(lái)的測(cè)試問(wèn)題?,F(xiàn)在這一標(biāo)準(zhǔn)已被大多數(shù)器件廠商采用并設(shè)計(jì)到芯片電路中,用以支持其器件在系統(tǒng)調(diào)試或編程功能。對(duì)于本文所用的CPLD器件,其JTAG接口的結(jié)構(gòu)如圖1所示。

<center>

  JTAG標(biāo)準(zhǔn)定義了4個(gè)基本單元:測(cè)試訪問(wèn)端口TAP(TestAccessPort)、數(shù)據(jù)寄存器、指令寄存器和TAP控制器。TAP端口包含了4個(gè)JTAG信號(hào):測(cè)試時(shí)鐘輸入引腳TCK,測(cè)試數(shù)據(jù)輸入引腳TDI,測(cè)試數(shù)據(jù)輸出引腳TDO和測(cè)試模式選擇引腳TMS。數(shù)據(jù)寄存器主要包含2種:BYPASS寄存器和BSR(BotlndaryScanRegister)寄存器,其中BSR由BSC(BotmdaryScanCell)串聯(lián)而成,正是通過(guò)BSC掃描鏈電路,來(lái)自于TDI上的CPLD配置信息便可移入到芯片內(nèi)部,從而實(shí)現(xiàn)對(duì)器件的擦除與編程功能。TAP控制器其實(shí)是一個(gè)包含16個(gè)狀態(tài)的狀態(tài)機(jī),它控制著測(cè)試訪問(wèn)口、指令寄存器和數(shù)據(jù)寄存器。TAP控制器狀態(tài)轉(zhuǎn)換圖如圖2所示。

  TAP控制器的狀態(tài)由TMS和TCK兩信號(hào)控制。當(dāng)需要將TDI上的數(shù)據(jù)移到指令寄存器中時(shí),可使TAP控制器進(jìn)入Shift-IR狀態(tài);當(dāng)需要將TDI上的數(shù)據(jù)移到數(shù)據(jù)寄存器中時(shí),可使其進(jìn)入Shift-DR狀態(tài)。通過(guò)TAP控制器的狀態(tài)轉(zhuǎn)換,可將CPLD的配置信息移入到其內(nèi)部邏輯中。

  在基于PC的編程方法中,CPLD的配置信息文件存儲(chǔ)在PC里,在PC中運(yùn)行的下載軟件不斷讀取器件的配置信息,并通過(guò)其并行接口模擬JTAG測(cè)試端口的時(shí)序和邏輯,從而實(shí)現(xiàn)其軟件更新和下載。本文將采用導(dǎo)航計(jì)算機(jī)系統(tǒng)中的DSP來(lái)實(shí)現(xiàn)這種編程方法:CPLD的配置文件通過(guò)DSP的UART串行口發(fā)送給導(dǎo)航計(jì)算機(jī)系統(tǒng),然后由DSP解析并執(zhí)行配置文件中的指令,通過(guò)DSP的I/O口模擬JTAG端口信號(hào)行為,來(lái)實(shí)現(xiàn)對(duì)CPLD器件軟件更新的功能?;谶@種方案可以實(shí)現(xiàn)采用普通的串行口方便地對(duì)CPLD進(jìn)行遠(yuǎn)端編程和更新。

   [!--empirenews.page--]2CPLD的JTAG接口編程的硬件設(shè)計(jì)

 

  為實(shí)現(xiàn)本文提出的導(dǎo)航計(jì)算機(jī)系統(tǒng)中基于DSP的CPLD器件軟件更新串行方案,首先需要在硬件方面解決如下3個(gè)問(wèn)題:

  (1)導(dǎo)航計(jì)算機(jī)系統(tǒng)所用DSP至少要有4個(gè)空余的I/O口,分別用于模擬CPLD的4個(gè)JTAG信號(hào)時(shí)序信號(hào)。

  (2)導(dǎo)航計(jì)算機(jī)系統(tǒng)必須包含支持一個(gè)UART通信接口,用于接收CPLD的配置文件。此UART接口不能由CPLD參與控制,以避免CPLD某次編程失敗后,該UART通信口不再可用的問(wèn)題。

  (3)導(dǎo)航計(jì)算機(jī)系統(tǒng)應(yīng)保證足夠的CPLD配置信息文件需要的存儲(chǔ)空間。

  本文所用DSP為T(mén)I公司的TMS320C6713B芯片,該款DSP支持16個(gè)通用輸入輸出口(GPIO)。在本導(dǎo)航計(jì)算機(jī)系統(tǒng)中,有12個(gè)GPIO口已被占用,多余的4個(gè)GPIO口可用來(lái)連接CPLD的4個(gè)JTAG信號(hào)引腳。

  TMS320C6713B本身并不支持包含UART通信接口,其片上外設(shè)中包含2個(gè)多通道緩沖串行接口(McBSP),McBSP接口支持全雙工串行通信,只是收發(fā)數(shù)據(jù)需要獨(dú)立的收發(fā)幀同步信號(hào)。根據(jù)TI公司提供的應(yīng)用技術(shù)報(bào)告,經(jīng)過(guò)對(duì)軟件或硬件進(jìn)行改造設(shè)計(jì),McBSP接口可以支持UART通信標(biāo)準(zhǔn)。軟件修改方法是通過(guò)將McBSP接口配置成通用I/O接口來(lái)模擬UART時(shí)序;硬件修改方法是將McBSP接口配置在串行口模式,McBSP接口中接收幀同步信號(hào)FSR來(lái)自于UART的發(fā)送數(shù)據(jù)線Tx,在檢測(cè)到Tx的下跳沿時(shí),McBSP內(nèi)部開(kāi)始采樣接收數(shù)據(jù),之后Tx的下跳沿將被忽略直至下一個(gè)字節(jié)的起始位再次觸發(fā)內(nèi)部幀接收新的數(shù)據(jù);發(fā)送幀同步信號(hào)FSR由McBSP電路在發(fā)送UART數(shù)據(jù)起始位時(shí)產(chǎn)生。本文采用硬件修改和過(guò)采樣軟件措施,將一個(gè)多通道緩沖串行接口McBSP0設(shè)計(jì)成了支持UART通信標(biāo)準(zhǔn)的接口。

  本導(dǎo)航計(jì)算機(jī)系統(tǒng)使用的CPLD配置信息文件是串行矢量格式(SVF),可以在Xilinx軟件開(kāi)發(fā)平臺(tái)ISE上生成。SVF是一種用來(lái)描述IEEE1149.1(JTAG)總線操作的規(guī)范,包含了編程需要的指令和數(shù)據(jù),描述了TAP測(cè)試訪問(wèn)端口狀態(tài)圖中各狀態(tài)之間的掃描操作過(guò)程和行為。由于SVF文件是ASCII格式,所以占用的存儲(chǔ)空間比較大,可以將其轉(zhuǎn)換為一種更簡(jiǎn)潔和緊湊的二進(jìn)制格式:XSVF文件。對(duì)于本系統(tǒng)所用CPLD器件而言,僅對(duì)其進(jìn)行編程操作時(shí),XSVF文件大小為129720B,加上擦除和校驗(yàn)操作后,XSVF文件大小為259533B。根據(jù)上述分析,本文設(shè)計(jì)的嵌入式導(dǎo)航計(jì)算機(jī)系統(tǒng)中通過(guò)UART接口對(duì)CPLD器件進(jìn)行在系統(tǒng)軟件更新的硬件電路結(jié)構(gòu)如圖3所示。

  

  圖3中,UART通信口由DSP片上多通道緩沖串行口McBSP0實(shí)現(xiàn)。為了存儲(chǔ)通過(guò)UART口接收到的包含CPLD配置信息的XSVF文件,本系統(tǒng)外擴(kuò)了一片512kB的SRAM。FLASH芯片用來(lái)存儲(chǔ)導(dǎo)航計(jì)算機(jī)系統(tǒng)升級(jí)固件和應(yīng)用程序。CPLD的JTAG口直接與DSP空閑的4個(gè)GPIO口相連,為了提高CPLD器件編程的靈活性,在本系統(tǒng)中保留了連接PC機(jī)并口的CPLD程序下載接口。

  [!--empirenews.page--]3CPLD的JTAG接口編程的軟件設(shè)計(jì)

 

  在硬件設(shè)計(jì)的基礎(chǔ)上,為實(shí)現(xiàn)通過(guò)DSP的GPIO口模擬JTAG信號(hào)時(shí)序邏輯來(lái)對(duì)CPLD進(jìn)行軟件更新,需嚴(yán)格按照J(rèn)TAG標(biāo)準(zhǔn)中的端口信號(hào)時(shí)序要求。對(duì)于本文所用的CPLD器件,其JTAG端口信號(hào)時(shí)序關(guān)系如圖4所示。

  由圖4可見(jiàn),對(duì)于JTAG口時(shí)序邏輯需考慮如下3項(xiàng)內(nèi)容:

  (1)JTAG接口要求一個(gè)最小時(shí)鐘周期TCKMIN。

  (2)JTAG接口在TCK的上升沿采樣TMS和TDI信號(hào)。因此在TCK上升沿之前,TMS和TDI要具有最小分別為T(mén)MSS和TDIS的建立時(shí)間,同時(shí)在TCK下降沿之后要保持最小分別為T(mén)MSH和TDIH長(zhǎng)的時(shí)間。

  (3)在TCK的下降沿,JTAT接口輸出新的TDO值,并保持至少TDOV長(zhǎng)的時(shí)間。

  本文所用CPLD的JTAG端口時(shí)序參數(shù)要求如表1所示。

  在本文設(shè)計(jì)的導(dǎo)航計(jì)算機(jī)系統(tǒng)中,DSP的工作主頻為200MHz,利用TI公司提供的庫(kù)函數(shù),由該DSP的GPIO口模擬的時(shí)鐘頻率最大不超過(guò)3MHz,可以滿足表中TCKMIN參數(shù)對(duì)應(yīng)的最大10MHz的要求。對(duì)于建立和保持時(shí)間等參數(shù)要求,可通過(guò)軟件延時(shí)或定時(shí)器實(shí)現(xiàn)。由于在本系統(tǒng)的應(yīng)用中,DSP在上電期間專注于CPLD的軟件更新,所以本文將采用軟件延時(shí)來(lái)實(shí)現(xiàn)這些參數(shù)要求,設(shè)計(jì)的JTAG口信號(hào)電平驅(qū)動(dòng)函數(shù)模塊代碼如下:

  利用上述代碼,模擬實(shí)現(xiàn)的JTAG時(shí)鐘信號(hào)頻率為367.6kHz。

  DSP在配置CPLD器件時(shí),不斷從存儲(chǔ)在SRAM里的XSVF文件中讀出指令和參數(shù),并根據(jù)不同的指令執(zhí)行對(duì)應(yīng)的操作。根據(jù)功能特點(diǎn),XSVF文件中的指令主要包括:狀態(tài)轉(zhuǎn)移、指令移入、數(shù)據(jù)移入或移出和空閑等待這4類指令。狀態(tài)轉(zhuǎn)移指令用于控制TAP狀態(tài)機(jī)進(jìn)入與下條XSVF指令操作對(duì)應(yīng)的狀態(tài)中,在XSVF文件中,圖2中的每個(gè)狀態(tài)對(duì)應(yīng)一個(gè)字節(jié)的編碼;指令移入用于將TDI上的指令代碼移入對(duì)應(yīng)的指令寄存器;數(shù)據(jù)移入或移出指令可將TDI上的數(shù)據(jù)移入CPLD器件內(nèi)部邏輯中,同時(shí)可以捕獲從TDO上移出的數(shù)據(jù);空閑等待指令可提供移進(jìn)CPLD擦出指令或數(shù)據(jù)后等待內(nèi)部邏輯成功響應(yīng)需要的時(shí)間。

  在上述設(shè)計(jì)的基礎(chǔ)上,設(shè)計(jì)通過(guò)串行方式的CPLD更新流程如圖5所示。

center>

  圖5中系統(tǒng)首先通過(guò)DSP的串行口接收CPLD的編程配置文件,接收完配置文件后,可在35s之內(nèi)完成CPLD的軟件更新。在實(shí)際應(yīng)用中,應(yīng)用本文的更新方案,可根據(jù)需要很快實(shí)現(xiàn)不同的系統(tǒng)配置方案,如可選擇INS和GPS組合?;蚺c地磁組合等,無(wú)需重新更改硬件,便可配合多種傳感器,克服了通過(guò)常用PC機(jī)與下載線纜進(jìn)行軟件更新的弊端,避免了反復(fù)打開(kāi)、組裝系統(tǒng)等一系列的繁瑣工作,提高了現(xiàn)場(chǎng)調(diào)試的效率,從而提高了導(dǎo)航計(jì)算機(jī)系統(tǒng)的適應(yīng)性。

  4結(jié)語(yǔ)

  通過(guò)硬件和軟件設(shè)計(jì),本文實(shí)現(xiàn)了基于DSP的CPLD器件軟件更新的串行方式。目前已在本課題組研制的基于DSP和CPLD的嵌入式導(dǎo)航計(jì)算機(jī)系統(tǒng)中進(jìn)行了成功應(yīng)用。該串行口更新方式相對(duì)常用的基于PC并口的編程方法,解決了并口轉(zhuǎn)JTAG口的下載線纜過(guò)長(zhǎng)而不能可靠對(duì)CPLD更新的問(wèn)題,同時(shí)可以實(shí)現(xiàn)CPLD器件在系統(tǒng)的遠(yuǎn)端更新,避免了繁瑣的現(xiàn)場(chǎng)拆除板卡進(jìn)行軟件更新和升級(jí)的弊端,提高了系統(tǒng)的可維護(hù)性。另外,通過(guò)外加網(wǎng)絡(luò)接口,應(yīng)用本文設(shè)計(jì)的軟件更新方案,還可實(shí)現(xiàn)CPLD器件的遠(yuǎn)程更新。本文的設(shè)計(jì)對(duì)于嵌入式導(dǎo)航計(jì)算機(jī)系統(tǒng)的更新和升級(jí)具有較好的適用性,提高了系統(tǒng)應(yīng)用的靈活性,可以應(yīng)用到具有不同配置的多種導(dǎo)航系統(tǒng)中,也可以在一種導(dǎo)航計(jì)算機(jī)系統(tǒng)中通過(guò)對(duì)CPLD的不同配置來(lái)適應(yīng)不同的傳感器和接口。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉