當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]提出Trimedia DSP芯片硬件仿真器的硬件電路組成和接口軟件設(shè)計(jì);介紹JTAG接口的標(biāo)準(zhǔn)、工作原理及在芯片中的實(shí)現(xiàn)。

摘要:提出Trimedia DSP芯片硬件仿真器的硬件電路組成和接口軟件設(shè)計(jì);介紹JTAG接口的標(biāo)準(zhǔn)、工作原理及在芯片中的實(shí)現(xiàn)。

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

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

1 仿真器硬件電路組成

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

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

圖1 系統(tǒng)的組成框圖

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

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

TMS:模式輸入信號(hào),在TCK的上升沿時(shí)刻TMS的狀態(tài)決定了TAP控制器即將進(jìn)入的工作狀態(tài)。

TDI:指令和數(shù)據(jù)寄存器的串行輸入端,TAP的控制器的當(dāng)前狀態(tài)以及保存在指令寄存器的具體指令,決定了對于一個(gè)特定的操作由TDI裝入哪個(gè)寄存器。在TCK的上升沿時(shí)刻,TDI引腳的數(shù)據(jù)被采樣,結(jié)果送到JTAG寄存器中。

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

TAP:測試訪問端口。

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

data_reg和addr_reg分別表示發(fā)送的8位數(shù)據(jù)和指令寄存器,data_flag表示數(shù)據(jù)是否發(fā)送或接收完畢,data_tms_counter為串行發(fā)送數(shù)據(jù)時(shí)的計(jì)數(shù)器,oscnm為外接的TCK時(shí)鐘。NDatastb、nWrite、nAddrstb、nReset為EPP模式的并行接口控制信號(hào),data為并行口的D0~D7數(shù)據(jù)總線,tmsjtag、tdijtag為連接到TAP控制器的TMS、TDI引腳線。

    下面為數(shù)據(jù)和指令寫入相應(yīng)的寄存器的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;

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

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操作系統(tǒng)中的DLL(動(dòng)態(tài)連接庫)如圖3所示。圖3中TriMedia Turbo JTAG仿真板和Corelis ISA 100f JTAG仿真板是第三方廠商提供的仿真板,而Other JTAG Board就是要自行設(shè)計(jì)的仿真板。選擇何種仿真板,用戶在使用調(diào)試軟件時(shí),可自行選擇。自行開發(fā)的仿真板需要有相應(yīng)的動(dòng)態(tài)鏈接庫和驅(qū)動(dòng)程序,它們需要命名如下:newjtagboard.dll和newjtagboard.vxd。在Windows98操作系統(tǒng)下,由于可以直接使用EPP端口操縱,所以在Windows98操作系統(tǒng)下不需要相應(yīng)的低層驅(qū)動(dòng)——newjtagboard.vxd文件。在newjtagboard.dll中至少包含以下4個(gè)函數(shù):

void tmJtagReset(long pindx/*Processor index*/) ;對DSP芯片進(jìn)行復(fù)位

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

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) ;傳送給數(shù)據(jù)寄存器DR數(shù)據(jù)的函數(shù)

采用EPP端口的0x37BH和0x37CH地址,分別產(chǎn)生互鎖的地址讀或?qū)懼芷诤突ユi的數(shù)據(jù)讀或?qū)懼芷?。DLL通過EPP模式端口查詢nwait信號(hào),以確定nWrite信號(hào),進(jìn)行發(fā)送或接收并行8位數(shù)據(jù)。用nDatastb引腳鎖定data數(shù)據(jù)(數(shù)據(jù)寄存器DR內(nèi)數(shù)據(jù))和Instruction指令(指令寄存器IR內(nèi)數(shù)據(jù)),用nAddrstb引腳鎖定TMS數(shù)據(jù),以實(shí)現(xiàn)數(shù)據(jù)寄存器DR和指令寄存器IR的切換。Data數(shù)據(jù)放在32位的數(shù)據(jù)寄存器DR中,Instruction指令放在5位指令寄存器IR中。芯片提供的JTAG指令包括:

RESET(10000)對設(shè)備進(jìn)行復(fù)位;

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

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

SEL_IFULL_IN(10011)選擇輸入數(shù)據(jù)滿的標(biāo)志寄存器;

SEL_IFULL_OUT(10100)選擇輸出數(shù)據(jù)滿的標(biāo)志寄存器;

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

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

括號(hào)中的內(nèi)容是指令的操作碼,它們通過TDI引腳串行地移入指令寄存器IR。DLL被上層應(yīng)用程序調(diào)用,進(jìn)行Data數(shù)據(jù)和Instruction指令的傳送;同時(shí),DLL會(huì)發(fā)送相應(yīng)的TMS數(shù)據(jù)。

結(jié)語

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉