新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP的CPLD軟件更新方案研究

        基于DSP的CPLD軟件更新方案研究

        作者: 時間:2012-05-24 來源:網絡 收藏
        3的JTAG接口編程的設計

        本文引用地址:http://www.104case.com/article/148986.htm

          在硬件設計的基礎上,為實現通過的GPIO口模擬JTAG信號時序邏輯來對進行,需嚴格按照JTAG標準中的端口信號時序要求。對于本文所用的器件,其JTAG端口信號時序關系如圖4所示。

          由圖4可見,對于JTAG口時序邏輯需考慮如下3項內容:

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

          (2)JTAG接口在TCK的上升沿采樣TMS和TDI信號。因此在TCK上升沿之前,TMS和TDI要具有最小分別為TMSS和TDIS的建立時間,同時在TCK下降沿之后要保持最小分別為TMSH和TDIH長的時間。

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

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

          在本文設計的導航計算機系統中,的工作主頻為200MHz,利用TI公司提供的庫函數,由該的GPIO口模擬的時鐘頻率最大不超過3MHz,可以滿足表中TCKMIN參數對應的最大10MHz的要求。對于建立和保持時間等參數要求,可通過延時或定時器實現。由于在本系統的應用中,DSP在上電期間專注于CPLD的軟件,所以本文將采用軟件延時來實現這些參數要求,設計的JTAG口信號電平驅動函數模塊代碼如下:

          利用上述代碼,模擬實現的JTAG時鐘信號頻率為367.6kHz。

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

          在上述設計的基礎上,設計通過串行方式的CPLD流程如圖5所示。

          圖5中系統首先通過DSP的串行口接收CPLD的編程配置文件,接收完配置文件后,可在35s之內完成CPLD的軟件更新。在實際應用中,應用本文的更新,可根據需要很快實現不同的系統配置,如可選擇INS和GPS組合。或與地磁組合等,無需重新更改硬件,便可配合多種傳感器,克服了通過常用PC機與下載線纜進行軟件更新的弊端,避免了反復打開、組裝系統等一系列的繁瑣工作,提高了現場調試的效率,從而提高了導航計算機系統的適應性。

          4結語

          通過硬件和軟件設計,本文實現了DSP的CPLD器件軟件更新的串行方式。目前已在本課題組研制的DSP和CPLD的嵌入式導航計算機系統中進行了成功應用。該串行口更新方式相對常用的PC并口的編程方法,解決了并口轉JTAG口的下載線纜過長而不能可靠對CPLD更新的問題,同時可以實現CPLD器件在系統的遠端更新,避免了繁瑣的現場拆除板卡進行軟件更新和升級的弊端,提高了系統的可維護性。另外,通過外加網絡接口,應用本文設計的軟件更新,還可實現CPLD器件的遠程更新。本文的設計對于嵌入式導航計算機系統的更新和升級具有較好的適用性,提高了系統應用的靈活性,可以應用到具有不同配置的多種導航系統中,也可以在一種導航計算機系統中通過對CPLD的不同配置來適應不同的傳感器和接口。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 万全县| 咸阳市| 板桥市| 耿马| 苗栗县| 罗平县| 伊春市| 博乐市| 沙坪坝区| 商河县| 皋兰县| 运城市| 上杭县| 新宁县| 堆龙德庆县| 育儿| 酉阳| 习水县| 钦州市| 那坡县| 呼玛县| 西青区| 尼勒克县| 廉江市| 滦平县| 揭阳市| 柳河县| 石河子市| 苍溪县| 化德县| 昭平县| 张家川| 寿阳县| 崇阳县| 察雅县| 城市| 宁晋县| 卓资县| 镇赉县| 垦利县| 逊克县|