當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]TMS320VC5402是 TI公司的一種16位數(shù)字信號(hào)處理器,以其獨(dú)有的低功耗和高性價(jià)比,受到用戶的歡迎。C54x操作靈活及運(yùn)行速度高;使用改進(jìn)的哈佛結(jié)構(gòu),具有專用硬件邏輯的CPU、

TMS320VC5402是 TI公司的一種16位數(shù)字信號(hào)處理器,以其獨(dú)有的低功耗和高性價(jià)比,受到用戶的歡迎。C54x操作靈活及運(yùn)行速度高;使用改進(jìn)的哈佛結(jié)構(gòu),具有專用硬件邏輯的CPU、片內(nèi)存儲(chǔ)器和外設(shè)接口,以及高度專業(yè)化的指令集。而且, C54系列DSP與主機(jī)連接通過HPI(Host Port Interface)接口,以邏輯電路設(shè)計(jì)簡(jiǎn)單、不需要額外的存儲(chǔ)器和程序更新方便優(yōu)點(diǎn),可以應(yīng)用靈活多樣的引導(dǎo)加載模式以實(shí)現(xiàn)接口和處理功能開發(fā)。

HPI口是C54x DSP系列芯片內(nèi)部的并行接口部件,用于與其他總線或CPU主機(jī)之間進(jìn)行連接通信,主機(jī)是HPI口的主控者,通過專用地址和數(shù)據(jù)寄存器、HPI控制寄存器以及外部數(shù)據(jù)和接口控制信號(hào)與HPI口通信。

USB接口具有即插即用,速度快(最高可達(dá)480Mbps)等特點(diǎn),可成為PC機(jī)的外圍設(shè)備擴(kuò)展中應(yīng)用日益廣泛的接口標(biāo)準(zhǔn),基于USB總線對(duì)DSP實(shí)現(xiàn)HPI自舉,可以降低成本,也便于DSP與PC機(jī)的高速數(shù)據(jù)通信,鑒于此種考慮,本文介紹一種利用USB2.0接口控制芯片(CY7C68013-56PVC)實(shí)現(xiàn)TMS320VC5402自舉的實(shí)現(xiàn)方案。

USB2.0芯片及其GPIF簡(jiǎn)介

本方案采用的USB2.0接口控制芯片是Cvpress公司的CY7C6801356PVC,該系列芯片是世界上第一款支持USB2.0的集成微控制器芯片,它集成有USB2.0收發(fā)器、智能串行接口引擎(SIE)、增強(qiáng)的8051微處理器,通用可編程接口(GPIF)、片上RAM和FIFO存儲(chǔ)器.該系列芯片的智能引擎也支持USB1.1協(xié)議,因此,它具有很好兼容性。

CY7C68013與外設(shè)有主/從兩種接口方式:可編程接口GPIF和Slave FIFO,可編程接口GPIF是一個(gè)微狀態(tài)機(jī),可由軟件編寫讀寫控制時(shí)序,也可以作為USB FIFO的主控制器與DSP進(jìn)行無縫連接,GPIF可工作在自動(dòng)模式,USB總線和GPIF接口域直接進(jìn)行數(shù)據(jù)傳輸,無需8051內(nèi)核直接參入,以此解決 USB2.0高速傳輸?shù)?quot;瓶頸"問題,GPIF與8051內(nèi)核關(guān)系如圖1所示。

硬件設(shè)計(jì)原理

自舉從本質(zhì)上說就是DSP上電后,在Bootloader引導(dǎo)下,獲取應(yīng)用程序并開始運(yùn)行的過程,TMS320VC5402上電以后,當(dāng) MP/MC為低電平時(shí),系統(tǒng)將從片內(nèi)ROM的OFF80H開始執(zhí)行,此處的跳轉(zhuǎn)指令使程序跳轉(zhuǎn)至BootLoader程序入口處(OF800H處)。 Bootloader程序先清除IFR,并設(shè)置HPI入口點(diǎn)(0x7F)的值為0,置HINT為低,再檢測(cè)INT2是否置位,如置位則進(jìn)行HIP自舉,具過程如圖2所示。

 


DSP復(fù)位之后,如檢測(cè)到HPI自舉方式有效,就可以進(jìn)行HPI自舉引導(dǎo),基于USB總線的HPI自舉,就是在Bootloader引導(dǎo)下,通過USB接口控制芯片把程序數(shù)據(jù)由主機(jī)(PC)寫入DSP內(nèi)部RAM(DARAM)并使DSP開始運(yùn)行的過程,該自舉過程分為三個(gè)步驟:一是寫HPIC, 以設(shè)置HPI控制參數(shù);二是寫HPIA,設(shè)置訪問DSP的首地址;三是通過HPID下載程序。

首先,推動(dòng)EZ-USB Control Panel下載CY7C68013的固件程序。當(dāng)重枚舉結(jié)束,驅(qū)動(dòng)程序(ezusb.sis)重新安裝成功后,在Control Panel中通過發(fā)送請(qǐng)求的方式由端點(diǎn)0向HPIC發(fā)送兩個(gè)相同的8位控制字,而當(dāng)HPIC初始化完成之后,再通過端點(diǎn)0設(shè)置欲下載程序段到DSP中的首地址HPIA.HPIC、HPIA設(shè)置好之后,就可以通過端點(diǎn)2下載DSP程序代碼段,程序代碼段需要分段下載,實(shí)際上,CY7C68013通過端點(diǎn)2把數(shù)據(jù)寫入HPID,然后,DSP按照HPIA指定的地址,由DMA自動(dòng)將HPID中的數(shù)據(jù)寫到RAM,接口控制時(shí)序可由GPIF軟件編程控制,程序數(shù)據(jù)分段下載完畢之后,再將程序的入口地址通過端點(diǎn)0寫入0x7F處,在主機(jī)下載程序的過程中,DSP將一直檢測(cè)0x7F是否為0,如不為0,即判定DSP已由主機(jī)進(jìn)行了HPI自舉加載,并按照該值跳轉(zhuǎn)PC指針,以開始運(yùn)行,進(jìn)而完成HPI自舉。

硬件電路

本設(shè)計(jì)用CY7C68013-56PVC與TMS320VC5402的HPI口相連接,接口選擇GPIF模式,硬件電路如圖3所示,該方案中,HCNTL[1:0]與GPIF的低位地址線PA3、PA2相連,以選擇需要訪問的HPI的HPIA、HPIC,HPID寄存器,CTL0接至 HR/W,可作為讀寫控制信號(hào),HDS1與輸出信號(hào)線CTL1相連,以作為HPI訪問的選通信號(hào),HBIL與輸出信號(hào)線CTL2相連,已用于識(shí)別傳輸?shù)氖堑谝粋€(gè)字節(jié)還是第二個(gè)字節(jié),HRDY接輸入信號(hào)線RDY0.用于通過主機(jī)查詢HPI口的狀態(tài),HINT、INT2與INT0連接,可確保HPI自舉有效,HCS接GND,可使HPI片選信號(hào)有效,HPIENA接高電平時(shí),HPI使能,HAS、HDS2接高電平時(shí),信號(hào)線禁用。數(shù)據(jù)線PD[7:0]與 HD[7:0]相連,可在控制時(shí)序作用下傳輸一切數(shù)據(jù)信號(hào)。HPI接口控制時(shí)序由CTL0、CTL1、CTL2引腳輸出,在自舉過程中,系統(tǒng)將關(guān)閉 CY7C68013所有的中斷,若要通過中斷實(shí)現(xiàn)數(shù)據(jù)通信的握手,可以在自舉完畢打開CY7C68013的中斷。

 


CY7C68013的具體配置為:?jiǎn)⒂肎PIF接口控制數(shù)據(jù)傳輸,GPIF接口采用內(nèi)部時(shí)鐘(48MHz);端點(diǎn)2設(shè)置為批量傳輸輸出端點(diǎn),最大傳輸值是512字節(jié),雙緩沖;終端4、8禁用。端點(diǎn)6可作為批量傳輸輸入端點(diǎn)來向主機(jī)傳輸數(shù)據(jù),需要說明的是端點(diǎn)6不是自舉所必需的。

DSP應(yīng)用程序設(shè)計(jì)

實(shí)現(xiàn)TMS320VC5402 HPI自舉的前提是生成DSP應(yīng)用程序的分段Hex代碼文件,在CCS中可用匯編語(yǔ)言,C語(yǔ)言等編寫應(yīng)用程序源代碼,經(jīng)匯編、鏈接、編譯后,生成可執(zhí)行的公共目標(biāo)文件格式(COFF)的文件,COFF文件不能用于HPI自舉引導(dǎo),而需要利用TI公司的文件格式轉(zhuǎn)換工具h(yuǎn)ex00.exe,將COFF文件轉(zhuǎn)換為Hex格式文件[5].格式轉(zhuǎn)換的關(guān)鍵是正確編寫Hex命令文件,下面討論如何編寫這種命令文件,例如將包含text段的源程序鏈接、編譯生成 test.out文件,編寫命令文件時(shí),可利用hex500.exe將test.out轉(zhuǎn)換為對(duì)應(yīng)text段的Hex文件,命令文件test為。cmd如下:

-i //生成Intel格式

test.out //輸入文件

ROMS

{

PAGE 0:ROM1:org=0x2000,Length=0x2000,romwidth=16,memwidth=16,

files={test1.hex} //text段的起始地址為0x2000

} //如有多端就可增加多個(gè)ROM SECTIONS

[!--empirenews.page--]

{text:paddr=0x2000} //如有多端就可增加多個(gè)部分

在DOS環(huán)境下,利用hex500.exe轉(zhuǎn)換命令文件test.cmd,就可得到test1.hex文件,通過CY7C68013把test1.hex文件寫入DSP內(nèi)部RAM,再把程序的入口地址寫入0x7F處,便可完成自舉。

USB固件程序設(shè)計(jì)

Cypress公司提供有USB的輔助開發(fā)工具:EZ-USB Control Panel,GPIF Designer.通過GPIF Designer可以生成GPIF波形圖及相應(yīng)的C源代碼gpif.c.Cypress公司同時(shí)提供了固件程序框架,因而可把gpif.c加入固件程序框架進(jìn)行開發(fā),從而提高開發(fā)效率。本方案中,固件程序設(shè)計(jì)的重點(diǎn)是對(duì)GPIF的編程,以便生成符合HPI接口的時(shí)序的波形描述代碼,以用于控制數(shù)據(jù)傳輸,HPI自舉需要的GPIF控制波形描述符為:?jiǎn)巫止?jié)寫,F(xiàn)IFO寫。HPIA、HPIC的初始化需要單字節(jié)寫控制時(shí)序,程序代碼寫入HPID需要 FIFO寫控制時(shí)序,若要實(shí)現(xiàn)二者的數(shù)據(jù)通信,還需要單字節(jié)讀、FIFO讀等控制波形描述符。

HPIC、HPIA的初始值是在EZUSB Control Panel中通過制造商請(qǐng)求工具欄由EP0發(fā)送的,固件程序中還要有相應(yīng)的請(qǐng)求處理程序,以完成具體的設(shè)置,如假定HPIC請(qǐng)求類型的ID為 0xB6.HPIC=0x0101,則請(qǐng)求工具欄的具體參數(shù)應(yīng)為:Req=0xB6,Value=0x0000,Index=0xBEEF,Length=2,Dir=0,Hex Bytes=0101,固件中應(yīng)加入的請(qǐng)求處理程序?yàn)椋?/p>

case 0xB6:

{EPOBCL=0; //EP0使能

while(EP01STAT&bmEP0BSY); //等待EPO數(shù)據(jù)接收完畢

while(!HPI_RDY); //等待HPI處理完畢

IOA=0x00; //選擇HPIC寄存器

GPIFWFSELECT=0x1E; //選擇寫低字節(jié)的單字節(jié)寫控制波形

while(!(GPIFTRIG&0x80))

{;}

XGPIFSGLDATLX=EP0BUF[0]; //寫低字節(jié)數(shù)據(jù)

GPIFWFSELECT=0x4E; //選擇寫高字節(jié)的單字節(jié)寫控制波形

while(!(GPIFTRIG&0x80))

{;}

XGPIFSGLDATALX=EP0BUF[1]; //寫高字節(jié)數(shù)據(jù)

break;}

設(shè)置程序下載的首地址(HPIA值)的請(qǐng)求處理程序與設(shè)置HPIC的程序基本相同,只需按照請(qǐng)求類型的ID,來改變?cè)L問寄存器的地址即可,訪問HPIA時(shí),HCNTL[1:0]=10b,即IOA=0x08.

訪問HPID下載程序數(shù)據(jù)時(shí),可采用大端點(diǎn)EP2自動(dòng)打包方式(AUTOIN=1),即將數(shù)據(jù)發(fā)送到端點(diǎn)后,自動(dòng)傳到FIFO中,等待寫 HPID條件具備,再啟動(dòng)GPIF,以將程序數(shù)據(jù)寫入HPID,訪問HPDI可采用地址自動(dòng)增加模式(HCNTL[1:0]=01b),寫數(shù)據(jù)前,地址自動(dòng)加1,這樣,數(shù)據(jù)便可以經(jīng)過DSP內(nèi)部DMA自動(dòng)寫入內(nèi)部RAM,寫HPID的程序如下:

if(GPIFTRIG&0x80) //GPIF接口是否處于空閑狀態(tài)

{if(!(EP24FIFOELGS&0x02)) //自動(dòng)向量是否可以訪問EP2FIFO中數(shù)據(jù)

{IOA=0x04; //選擇HPID寄存器,且訪問時(shí)地址自動(dòng)增加

while(!HPI_RDY); //等待HPI處理完畢

SYNCDELAY;

GPIFTCB1=EP2FIFOBCH; //寫入的字節(jié)數(shù)

SYNCDELAY;

GPIFTCB0=EP2FIFOBCL;

SYNCDELAY;

GPIFTRIG=GPIF_EP2; //啟動(dòng)寫數(shù)據(jù)

SYNCDELAY;

While(!(GPIFTRIG&0x80) //等待寫入完畢

{;}

SYNCDELAY;}}

這樣程序數(shù)據(jù)就可以分段通過端點(diǎn)2寫入DSP內(nèi)部RAM,最后再把入口地址寫入0x7F,以完成HPI自舉,值得注意的是,采用此種方式訪問HPID時(shí),寫入HPIA的初值為程序入口的一個(gè)地址,例如,寫test1.hex時(shí),應(yīng)設(shè)定HPIA=0x1fff.

為縮短開發(fā)周期,本設(shè)計(jì)采用開發(fā)包中通用驅(qū)動(dòng)(ezusb.sys)和EZUSB Control Panel進(jìn)行開發(fā)、調(diào)試、也可以對(duì)通用驅(qū)動(dòng)、控制面板的源程序在VC++環(huán)境(需要DDK的支持)下進(jìn)行二次開發(fā),以便編譯出開發(fā)者滿意的驅(qū)動(dòng)程序和上位機(jī)程序。

結(jié)語(yǔ)

通過實(shí)踐證明,基于USB2.0總線DSP HPI自舉的方案是可行的,可以達(dá)到預(yù)期效果,該方案可以省掉外擴(kuò)的EPROM、FLASH及RAM等程序存儲(chǔ)器,故可節(jié)約成本,也便于DSP軟件算法升級(jí),而且符合嵌入式系統(tǒng)要求,有很好的應(yīng)用前景,當(dāng)然,該方案還有待進(jìn)一步優(yōu)化與增強(qiáng),若要訪問外部存儲(chǔ)器,還需要編寫二次引導(dǎo)程序,以便通過該程序把內(nèi)部存儲(chǔ)器中的數(shù)據(jù)編譯到外部存儲(chǔ)器,若需DSP與主機(jī)實(shí)時(shí)通信,則需要USB固件和DSP源程序中編寫相應(yīng)的中斷服務(wù)程序。

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

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

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

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(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)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

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

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(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ā)表演講稱,數(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)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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