<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

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

    發布時間:2010-11-25 12:07    發布者:eetech
    關鍵詞: dsp , JTAG , TRIMEDIA , 仿真器
    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引腳線。





    下面為數據和指令寫入相應的寄存器的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。
    本文地址:http://www.portaltwn.com/thread-41621-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷