當(dāng)前位置:首頁(yè) > 模擬 > 模擬
[導(dǎo)讀]本文介紹了一種基于USB接口的協(xié)議轉(zhuǎn)換器(EmJTAG)設(shè)計(jì)思想,并給出了硬件設(shè)計(jì)和固件設(shè)計(jì)的實(shí)現(xiàn)方法。

<STRONG>摘要:協(xié)議轉(zhuǎn)換器是ARM嵌入式系統(tǒng)調(diào)試技術(shù)的關(guān)鍵所在。本文介紹了一種基于USB接口的協(xié)議轉(zhuǎn)換器(EmJTAG)設(shè)計(jì)思想,并給出了硬件設(shè)計(jì)和固件設(shè)計(jì)的實(shí)現(xiàn)方法。
關(guān)鍵詞:協(xié)議轉(zhuǎn)換器;硬件設(shè)計(jì);固件設(shè)計(jì)

1  引言

協(xié)議轉(zhuǎn)換器的主要功能是接收調(diào)試服務(wù)器發(fā)來(lái)的各種調(diào)試協(xié)議信息,將它們轉(zhuǎn)換成JTAG 時(shí)序信號(hào),控制ARM 核以及EmbeddedICE 宏單元,并返回一些數(shù)據(jù)和狀態(tài)信息給調(diào)試器。所以協(xié)議轉(zhuǎn)換器主要由兩部分組成:與調(diào)試器的通信接口部分,用于準(zhǔn)確接收調(diào)試器發(fā)來(lái)的各種調(diào)試協(xié)議信息;與目標(biāo)板的JTAG 接口部分,用于產(chǎn)生快速穩(wěn)定的JTAG 時(shí)序信號(hào)。

各調(diào)試工具生產(chǎn)商所設(shè)計(jì)的協(xié)議轉(zhuǎn)換器各不相同,但歸納起來(lái)主要有3種實(shí)現(xiàn)模型:

1.利用PC 的并口,外部加上簡(jiǎn)單的接口驅(qū)動(dòng)電路或單片機(jī)引出JTAG 接口。這種實(shí)現(xiàn)模型的特點(diǎn)是價(jià)格便宜,沒(méi)有固件程序或只有簡(jiǎn)單的固件程序,與調(diào)試器的接口單一,JTAG 時(shí)鐘頻率低,程序下載速度慢。網(wǎng)上流行的Wiggler 協(xié)議轉(zhuǎn)換器和EasyJTAG 協(xié)議轉(zhuǎn)換器就是基于這種實(shí)現(xiàn)模型。

2.利用單片復(fù)雜FPGA,實(shí)現(xiàn)與調(diào)試器的接口部分和產(chǎn)生快速JTAG 時(shí)序信號(hào)。這種實(shí)現(xiàn)模式的特點(diǎn)是價(jià)格昂貴,固件程序復(fù)雜,JTAG 時(shí)鐘頻率高,下載速度快。ARM 公司生產(chǎn)的Multi-ICE 協(xié)議轉(zhuǎn)換器就是基于這種實(shí)現(xiàn)模型。

3.利用通用微處理器實(shí)現(xiàn)與調(diào)試器的接口部分,利用簡(jiǎn)單FPGA 或CPLD 產(chǎn)生快速JTAG 信號(hào)。這種實(shí)現(xiàn)模型是前兩種實(shí)現(xiàn)模型的折中,價(jià)格適中,固件程序升級(jí)容易,與調(diào)試器的接口豐富,JTAG 時(shí)鐘頻率快,程序下載速度快。

本文介紹了使用ST72651設(shè)計(jì)實(shí)現(xiàn)協(xié)議轉(zhuǎn)換器。利用ST72651 內(nèi)部集成的USB模塊和數(shù)據(jù)傳輸協(xié)處理器(DTC)分別實(shí)現(xiàn)與調(diào)試器的接口和JTAG 信號(hào)的穩(wěn)定高速產(chǎn)生。這種實(shí)現(xiàn)方法屬于第3 種模型,但微處理器模塊和DTC 模塊是封裝在同一個(gè)芯片里面,這保證了微處理器模塊和DTC 模塊之間數(shù)據(jù)的快速傳輸。

2  硬件設(shè)計(jì)

2.1  ST72651 的概述

ST72651 是專(zhuān)門(mén)為解決USB 接口的大量數(shù)據(jù)傳輸應(yīng)用而設(shè)計(jì)的一款芯片。它基于ST7標(biāo)準(zhǔn)內(nèi)核,內(nèi)部集成了一個(gè)全速的USB接口,以及一個(gè)時(shí)鐘頻率為24M 的數(shù)據(jù)傳輸協(xié)處理器(DTC),32KB 的程序存儲(chǔ)空間,5KB 的RAM,支持I2C 和SPI 接口, 2.7V-5.5V 的工作電壓范圍,可用USB 接口直接供電,是一款功能強(qiáng)大的8 位機(jī)。

2.2  硬件原理框圖

基于ST72651的協(xié)議轉(zhuǎn)換器原理框圖如圖1所示。

圖 1   協(xié)議轉(zhuǎn)換器硬件原理框圖

USB 接口部分的電路比較簡(jiǎn)單,只需在USB 的DP 腳上拉一個(gè)電阻,以使得USB 主機(jī)識(shí)別到該USB 設(shè)備。DTC 模塊產(chǎn)生的4 個(gè)JTAG 時(shí)鐘通過(guò)I/O 口引出,外部加一個(gè)接口驅(qū)動(dòng)芯片,然后連到標(biāo)準(zhǔn)的JTAG接口上。TAP 控制器復(fù)位信號(hào)nTRST 和系統(tǒng)復(fù)位信號(hào)nSRST 通過(guò)I/O 邏輯直接控制。系統(tǒng)采用USB 供電模式,POWER 燈指示系統(tǒng)的供電狀態(tài)。BUSY 燈連到TCK 引腳上,指示系統(tǒng)是否處于忙狀態(tài)。內(nèi)部集成的電壓校準(zhǔn)器產(chǎn)生3.3V 的電壓供給接口驅(qū)動(dòng)芯片。

3  固件設(shè)計(jì)

采用分模塊設(shè)計(jì)固件程序,包括下列六個(gè)模塊:DTC軟件插件程序模塊,掃描鏈操作模塊,EmbeddedICE 寄存器操作模塊,高層調(diào)試命令模塊,USB接口驅(qū)動(dòng)模塊,主程序狀態(tài)機(jī)模塊。各模塊的調(diào)用關(guān)系如圖2所示。

圖 2   固件各模塊調(diào)用關(guān)系

3.1  DTC插件程序模塊

ST72651內(nèi)部集成的數(shù)據(jù)傳輸協(xié)處理器(DTC)是一個(gè)通用的串行/并行通信接口。ST7 核也可以讀寫(xiě)DTC 的數(shù)據(jù)傳輸緩沖區(qū),因此需要一個(gè)仲裁電路用于防止ST7核和DTC沖突訪問(wèn)該緩沖區(qū)。如果其中有一個(gè)在訪問(wèn)數(shù)據(jù)傳輸緩沖區(qū),則另一個(gè)的請(qǐng)求將在數(shù)據(jù)傳輸緩沖區(qū)空閑時(shí)才得到響應(yīng);如果兩個(gè)同時(shí)請(qǐng)求,則按優(yōu)先級(jí)響應(yīng),ST7核的優(yōu)先級(jí)高于DTC。ST7 核通過(guò)DTC 控制寄存器DTCCR 控制DTC的操作,通過(guò)DTC 狀態(tài)寄存器DTCSR 查詢(xún)DTC 的狀態(tài),通過(guò)DTC 指針寄存器DTCPR 改變DTC的操作指針。DTC功能框圖如圖3所示。

圖 3   DTC功能框圖

DTC運(yùn)行的插件程序非常簡(jiǎn)單:將數(shù)據(jù)傳輸緩沖區(qū)中的數(shù)據(jù)快速移出到I/O口,或?qū)/O口數(shù)據(jù)快速移入到數(shù)據(jù)傳輸緩沖區(qū)。由DTC操作的I/O口為4個(gè)JTAG信號(hào):TCK、TMS、TDI和TDO。TCK作為移入/移出數(shù)據(jù)的觸發(fā)時(shí)鐘,TDI作為移出數(shù)據(jù)出口,TDO作為移入數(shù)據(jù)進(jìn)口,TMS作為輸入信號(hào),與TCK 一起決定TAP 控制器狀態(tài)的轉(zhuǎn)移過(guò)程。執(zhí)行插件程序前必須使TAP 控制器處Select-DR-Scan 狀態(tài),執(zhí)行完插件程序后TAP 控制器返回到Select-DR-Scan狀態(tài)。

3.2  掃描鏈操作模塊

掃描鏈操作模塊調(diào)用DTC 軟件插件程序,完成初始化TAP 控制器、掃描鏈1操作和掃描鏈2操作。掃描鏈1有33位,按掃描先后順序依次為:BREAKPT位(輸入),D31-D0(輸入/輸出)。掃描鏈1 操作的目的是移入BREAKPT 位和向/從數(shù)據(jù)總線移入/移出 32位數(shù)據(jù)。掃描鏈2有38位,按掃描先后順序依次為:EmbeddedICE 寄存器的D0-D31,EmbeddedICE 寄存器的A0-A4,讀/寫(xiě)位。掃描鏈2 操作的目的是讀寫(xiě)EmbeddedICE 宏單元的寄存器。

3.3  EmbeddedICE寄存器操作模塊

    EmbeddedICE 寄存器的讀寫(xiě)通過(guò)對(duì)掃描鏈2 操作實(shí)現(xiàn)。讀時(shí)將欲讀的EmbeddedICE 寄存器地址作為參數(shù)調(diào)用掃描鏈2 操作函數(shù),寫(xiě)時(shí)將欲寫(xiě)的值和EmbeddedICE 寄存器地址作為參數(shù)調(diào)用掃描鏈2操作函數(shù)。

3.4  高層調(diào)試命令模塊

高層調(diào)試命令模塊完成的功能是:調(diào)用掃描鏈操作模塊和EmbeddedICE 寄存器操作模塊,實(shí)現(xiàn)各種調(diào)試控制命令,這些命令供主程序狀態(tài)機(jī)模塊調(diào)用。包括下列調(diào)試控制命令:讀寫(xiě)核寄存器,讀寫(xiě)存儲(chǔ)器,設(shè)置與清除硬件斷點(diǎn),設(shè)置與清除軟件斷點(diǎn),設(shè)置與清除觀察點(diǎn),復(fù)位,停止運(yùn)行,全速運(yùn)行,單步運(yùn)行,返回處理器狀態(tài),返回設(shè)備標(biāo)志位。

3.5       USB接口驅(qū)動(dòng)模塊

USB接口驅(qū)動(dòng)模塊主要包含五個(gè)函數(shù):函數(shù)InitUSB( )用于初始化USB;函數(shù)USB_Polling( )用于處理USB 主機(jī)發(fā)來(lái)的USB 標(biāo)準(zhǔn)設(shè)備請(qǐng)求,實(shí)現(xiàn)USB 枚舉階段的傳輸過(guò)程,同時(shí)根據(jù)狀態(tài)寄存器的標(biāo)志位調(diào)用相應(yīng)的端點(diǎn)處理函數(shù);CTR中斷服務(wù)程序用于處理端點(diǎn)上發(fā)生的各種中斷;函數(shù)USB_RecvDataEP2(unsigned char  *dp, uint8  len)和USB_SendDataEP2(unsigned char  *dp, uint8  len)分別用于從端點(diǎn)2接收和發(fā)送USB包。

ST72651內(nèi)部集成的USB模塊實(shí)現(xiàn)兼容USB2.0規(guī)范的全速(12Mb/s)USB協(xié)議。它包括:模擬收發(fā)器、3.3V 電壓校準(zhǔn)器、串行接口引擎(SIE)、USB 數(shù)據(jù)緩沖區(qū)接口、端點(diǎn)相關(guān)寄存器和各種控制狀態(tài)寄存器,如圖4所示。

圖 4   USB功能模塊

3.6  主程序狀態(tài)機(jī)模塊

主程序狀態(tài)機(jī)模塊循環(huán)調(diào)用USB 接口驅(qū)動(dòng)模塊的USB_RecvDataEP2( )函數(shù)接收調(diào)試器發(fā)來(lái)的命令報(bào)文,根據(jù)命令報(bào)文的主命令號(hào)和次命令號(hào)調(diào)用高層調(diào)試命令模塊的相應(yīng)命令函數(shù), 并將命令函數(shù)返回的數(shù)據(jù)通過(guò)調(diào)用USB_SendDataEP2( )函數(shù)返回給調(diào)試器,最終根據(jù)命令函數(shù)返回的狀態(tài)通過(guò)調(diào)用USB_SendDataEP2( )函數(shù)發(fā)確認(rèn)報(bào)文給調(diào)試器。

4  結(jié)束語(yǔ)

本文所設(shè)計(jì)的EmJTAG協(xié)議轉(zhuǎn)換器代碼下載速度、單步執(zhí)行能力等各方面性能都接近ARM公司生產(chǎn)的Multi-ICE協(xié)議轉(zhuǎn)換器的性能。而EmJTAG支持USB接口協(xié)議與主機(jī)通信,在PC外圍接口簡(jiǎn)化的今天,USB接口就大大方便了嵌入式軟件設(shè)計(jì)者的使用,同時(shí)價(jià)格上的優(yōu)勢(shì)不言而喻的。該協(xié)議轉(zhuǎn)換器實(shí)現(xiàn)與現(xiàn)成調(diào)試器AXD的連接,而ARM公司擁有調(diào)試器AXD的知識(shí)產(chǎn)權(quán)。為實(shí)現(xiàn)一個(gè)完整的自主產(chǎn)權(quán)ARM嵌入式軟件開(kāi)發(fā)工具鏈,還須完成的工作包括:自主產(chǎn)權(quán)編譯系統(tǒng)的實(shí)現(xiàn),自主產(chǎn)權(quán)主機(jī)調(diào)試器的實(shí)現(xiàn)。筆者希望本文對(duì)ARM調(diào)試系統(tǒng)在國(guó)內(nèi)的研究和推廣有所貢獻(xiàn)。

本文作者創(chuàng)新點(diǎn):本設(shè)計(jì)選取內(nèi)部集成USB模塊和數(shù)據(jù)傳輸協(xié)處理器(DTC)模塊的微處理芯片。USB模塊實(shí)現(xiàn)與調(diào)試器的通信,數(shù)據(jù)傳輸協(xié)處理器(DTC)模塊產(chǎn)生穩(wěn)定高速的JTAG 時(shí)序信號(hào)。微處理器模塊和DTC 模塊封裝在同一個(gè)芯片里,這保證了微處理器模塊和DTC 模塊之間數(shù)據(jù)的快速傳輸。用封裝在一塊芯片上USB模塊、微處理器模塊和DTC 模塊實(shí)現(xiàn)EmJTAG 協(xié)議轉(zhuǎn)換器,以此協(xié)議轉(zhuǎn)換器為理論基礎(chǔ)的調(diào)試器非常方便、高速穩(wěn)定和高性?xún)r(jià)比。

參考文獻(xiàn):

[1] 楊峰,張根寶等,基于JTAG的ARM芯片系統(tǒng)調(diào)試,微計(jì)算機(jī)信息,2005年,11-2:87-89

[2] ST,ST72651 DTC Specification,Jan. 2002

[3] 馬忠梅等,ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ),北京航空航天大學(xué)出版社,2002年1月

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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