1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>Trimedia DSP芯片JTAG接口的仿真器設計

    Trimedia DSP芯片JTAG接口的仿真器設計

    時間:2023-02-21 00:11:11 電子通信論文 我要投稿
    • 相關推薦

    Trimedia DSP芯片JTAG接口的仿真器設計

    摘要:提出Trimedia DSP芯片硬件仿真器的硬件電路組成和接口軟件設計;介紹JTAG接口的標準、工作原理及在芯片中的實現。

        關鍵詞:Trimedia DSP的JTAG接口 EPP模式的并行口 硬件仿真器

    Trimedia集成電路是Philips公司新近推出的針對多媒體應用的一種高性能DSP。它能夠進行高質量的視頻和音頻處理,可以通過在線調試工具——JTAG來開發Trimedia DSP的各種資源和調試各種應用程序。為了能夠滿足研發、生產上對系統編程及工程上對現場調試的需要,開發了使用方便、成本低的仿真器。

    1 仿真器硬件電路組成

    圖1為系統的組成框圖。整個仿真器的功能可以由1片可編程邏輯器件來完成。圖1中有兩個接口:一個與Trimedia DSP的JTAG接口相連,另一個連接到計算機的并行接口。

    之所以采用計算機的增強型并行接口,是因為現在一般的計算機都有如下幾種端口:串行接口、并行接口、USB接口。串行接口速度不高,無法滿足JTAG仿真器快速下載的要求;普通的并行接口,數據傳輸速率限制在50~150kbps,也無法滿足JTAG仿真器快速下載的要求;USB接口是種快速的計算機接口,最高速率可以達到12Mbps,但由于該接口速度是在數據以塊方式傳輸時實現的,無法滿足快速讀寫轉換的要求,所以,也無法達到我們要求的數據傳輸速率。而且一般的PC上都安裝了具有EPP和ECP功能的I/O控制器,在EPP模式下,可以只用1個IN或OUT指令來向I/O控制器傳輸1個字節的數據,然后I/O控制器將會處理握手信號并產生選通信號。顯然,在這種機器上的數據傳輸速度受到指令執行速率的限制。通常在同時代的機器上很容易獲得1~1.75Mbps的數據傳輸速率。可見,增強型并行接口能夠滿足我們的需求,而且用EPP模式的并行接口進行開發的難度較小。

    圖1 系統的組成框圖

        圖2為仿真器硬件線路圖。

    TCK:測試時鐘,為TAP的控制器和寄存器提供測試參考時鐘,在TCK的同步作用下通過TDI和TDO引腳串行移入或同數據及指令。

    TMS:模式輸入信號,在TCK的上升沿時刻TMS的狀態決定了TAP控制器即將進入的工作狀態。

    TDI:指令和數據寄存器的串行輸入端,TAP的控制器的當前狀態以及保存在指令寄存器的具體指令,決定了對于一個特定的操作由TDI裝入哪個寄存器。在TCK的上升沿時刻,TDI引腳的數據被采樣,結果送到JTAG寄存器中。

    TDO:和TDI具有相同操作模式,只是在TCK的下降沿處改變狀態。

    TAP:測試訪問端口。

    從圖2中知道,仿真器的設計主要是可編程邏輯器件CPLD的設計,它將8位并行數據和串行數據進行相互轉換。也就是說,在JTAG端CPLD將產生TDI和TDO串行發送和接收時序,實現仿真器和Trimedia DSP芯片JTAG控制器的相互通信。在編程中可設置發送(TDI)和接收(TDO)的8位數據寄存器,接收TMS的8位數據寄存器,4位(十六進制)計數器。發送和接收數據都以字節方式進行,不足8位數據的用0補齊。

    data_reg和addr_reg分別表示發送的8位數據和指令寄存器,data_flag表示數據是否發送或接收完畢,data_tms_counter為串行發送數據時的計數器,oscnm為外接的TCK時鐘。NDatastb、nWrite、nAddrstb、nReset為EPP模式的并行接口控制信號,data為并行口的D0~D7數據總線,tmsjtag、tdijtag為連接到TAP控制器的TMS、TDI引腳線。
    (范文先生網www.baimashangsha.com收集整理)
        下面為數據和指令寫入相應的寄存器的VHDL例程:

    data_instruction_write:process(nDatastb,nWrite)

    Begin

    if(nDatastb'event and nDatastb='1')then

    if(nWrite='1')then

    data_reg<=data;

    else

    data_reg<=data_reg;

    end if;

    end if;

    End process;

    tms_write:process(nAddrstb,nWrite)

    Begin

    if(nAddrstb'event and nAddrstb='1')then

    if(nWrite='1')then

    addr_reg<=data;

    else

    addr_reg<=addr_reg;

    end if;

    end if;

    End process;

    下面為發送數據的VHDL例程:(由于接收例程類似發送例程,故省略。)

    tms_tdi_write:process(data_flag,oscnm_true)

    Begin

    if(oscnm_true'event and oscnm_true='1')then

    if(nreset='1')then

    tmsjtag<=';

    end if;

    if(data_flag='1')then

    if(data_tms_counter="0001")then

    tmsjtag<=addr_reg(0);

    tdijtag<data_reg(0);

    elsif(data_tms_counter="0010")then

    tmsjtag<=addr_reg(1);

    tdijtag<=data_reg(1);

    elsif(data_tms_counter="0011")then

    tmsjtag<=addr_reg(2);

    tdijtag<=data_reg(2);

    elsif(data_tms_counter="0100")then

    tmsjtag<=addr_reg(3);

    tdijtag<=data_reg(3);

    elsif(data_tms_counter="0101")then

    tmsjtag<=addr_reg(4);

    tdijtag<=data_reg(4);

    elsif(data_tms_counter="0110")then

    tmsjtag<=addr_reg(5);

    tdijtag<=data_reg(5);

    elsif(data_tms_counter="0111")then

    tmsjtag<=addr_reg(6);

    tdijtag<=data_reg(6);

    elsif(data_tms_counter="1000")then

    tmsjtag<=addr_reg(7);

    tdijtag<=data_reg(7);

    end if;

    end if;

    end if;

    End process;

    圖3 仿真器的DLL

    2 EPP接口控制軟件

    仿真器在Windows98操作系統中的DLL(動態連接庫)如圖3所示。圖3中TriMedia Turbo JTAG仿真板和Corelis ISA 100f JTAG仿真板是第三方廠商提供的仿真板,而Other JTAG Board就是要自行設計的仿真板。選擇何種仿真板,用戶在使用調試軟件時,可自行選擇。自行開發的仿真板需要有相應

    的動態鏈接庫和驅動程序,它們需要命名如下:newjtagboard.dll和newjtagboard.vxd。在Windows98操作系統下,由于可以直接使用EPP端口操縱,所以在Windows98操作系統下不需要相應的低層驅動——newjtagboard.vxd文件。在newjtagboard.dll中至少包含以下4個函數:

    void tmJtagReset(long pindx/*Processor index*/) ;對DSP芯片進行復位

    void tmJtagInitBoard(long pindx,unsigned short base) ;對DSP芯片的TAP控制器進行初始化

    void tmJtagScanInstructionRegister(long pindx,unsigned long bus_no,unsigned char *out_buf,unsigned long length,unsigned void tmJtagScanDataRegister(long pindx,unsigned long bus_no,unsigned char *out_buf,unsigned long length,unsigned char *in_buf) ;傳送給數據寄存器DR數據的函數

    采用EPP端口的0x37BH和0x37CH地址,分別產生互鎖的地址讀或寫周期和互鎖的數據讀或寫周期。DLL通過EPP模式端口查詢nwait信號,以確定nWrite信號,進行發送或接收并行8位數據。用nDatastb引腳鎖定data數據(數據寄存器DR內數據)和Instruction指令(指令寄存器IR內數據),用nAddrstb引腳鎖定TMS數據,以實現數據寄存器DR和指令寄存器IR的切換。Data數據放在32位的數據寄存器DR中,Instruction指令放在5位指令寄存器IR中。芯片提供的JTAG指令包括:

    RESET(10000)對設備進行復位;

    SEL_DATA_IN(10001)選擇數據輸入寄存器;

    SEL_DATA_OUT(10010)選擇數據輸出寄存器;

    SEL_IFULL_IN(10011)選擇輸入數據滿的標志寄存器;

    SEL_IFULL_OUT(10100)選擇輸出數據滿的標志寄存器;

    SEL_JTAG_CTRL(10101)選擇控制寄存器;

    MACRO(11110)硬件測試模式的選擇。

    括號中的內容是指令的操作碼,它們通過TDI引腳串行地移入指令寄存器IR。DLL被上層應用程序調用,進行Data數據和Instruction指令的傳送;同時,DLL會發送相應的TMS數據。

    結語

    Trimedia DSP芯片的廣泛應用,開發出了使用方便、成本低的仿真器,對于減少產品的研發和生產周期,保證產品的順利上市是非常有利的。


    【Trimedia DSP芯片JTAG接口的仿真器設計】相關文章:

    增強并口EPP與DSP接口的設計增強并口EPP與DSP接口的設計08-06

    基于DSP平臺的USB接口設計08-06

    用FIFO設計A/D與DSP之間的接口08-06

    PowerPC和Dallas的時鐘芯片接口設計08-06

    TLC320AC01與DSP的接口設計08-06

    TMS320F240的IDE接口仿真器設計08-06

    DSP接口效率的分析與提高08-06

    DSP與慢速設備接口的實現08-06

    TLC320AD50C與DSP接口設計08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      中文字幕无线码一区欧美 | 亚洲第一精品小视频在线观看 | 日本中文字幕在线视频二区 | 亚洲精品ⅴ在线观看 | 在线观看日本亚欧视频 | 在线观看日本a视频 |