
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于usb2.0的tms320vc5402 hpi自舉當(dāng)前,(digital signal processor)芯片已經(jīng)廣泛應(yīng)用于通信、信號(hào)處理、雷達(dá)、圖像處理等多個(gè)領(lǐng)域,其強(qiáng)大、高效的運(yùn)算能力,是其他微處理器無(wú)法比擬的。為充分發(fā)揮dsp運(yùn)算高效的優(yōu)勢(shì),用戶(hù)程序通常在dsp內(nèi)部ram中運(yùn)行,這就需要利用dsp的自舉引導(dǎo)(boot loader)功能。在dsp多機(jī)系統(tǒng)中,hpi自舉是首選。目前,采納hpi自舉的實(shí)例主要有兩種,一種是用作為主控制器,通過(guò)pc機(jī)串口或者外掛的存儲(chǔ)器得到要下載的dsp用戶(hù)程序數(shù)據(jù),這種計(jì)劃無(wú)法實(shí)現(xiàn)系統(tǒng)與pc機(jī)之間數(shù)據(jù)的實(shí)時(shí)高速傳輸;另一種是用pc機(jī)并口里控制dsp h
2、pi接口,從而把程序?qū)懭雂sp 的內(nèi)部ram,該計(jì)劃無(wú)法滿(mǎn)足系統(tǒng)的即插即用要求。接口具有即插即用,速度快(最高可達(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接口控制芯片(cy7c6801356pvc)實(shí)現(xiàn)tms320vc5402自舉的實(shí)現(xiàn)計(jì)劃。芯片介紹usb2.0芯片及其gpif簡(jiǎn)介本計(jì)劃采納的usb2.0接口控制芯片是cvpress公司的cy7c6801356pvc,該系列芯片是世界上第一款支持usb2.0的集成微控制器芯片,它集成有
3、usb2.0、智能串行接口引擎(sie)、增加的8051微處理器,通用可編程接口(gpif)、片上ram和fifo存儲(chǔ)器。該系列芯片的智能引擎也支持usb1.1協(xié)議,因此,它具有很好兼容性。cy7c68013與外設(shè)有主/從兩種接口方式:可編程接口gpif和slave fifo,可編程接口gpif是一個(gè)微狀態(tài)機(jī),可由軟件編寫(xiě)讀寫(xiě)控制時(shí)序,也可以作為usb fifo的主控制器與dsp舉行無(wú)縫銜接,gpif可工作在自動(dòng)模式,usb總線和gpif接口域挺直舉行數(shù)據(jù)傳輸,無(wú)需8051內(nèi)核挺直參入,以此解決usb2.0高速傳輸?shù)摹捌款i”問(wèn)題,gpif與8051內(nèi)核關(guān)系1所示。dsp芯片及其hpi簡(jiǎn)介tms
4、320vc5402是ti公司的一款性?xún)r(jià)比極高的低功耗定點(diǎn)數(shù)字信號(hào)處理器(dsp),該芯片的主機(jī)接口(hpi,host port interface)被稱(chēng)為hpi8。這種hpi8接口的最大特點(diǎn)是它允許主機(jī)拜訪dsp的囫圇片內(nèi)空間。hpi接口通過(guò)hpi控制寄存器(h)、地址寄存器(hpia)數(shù)據(jù)寄存器(hpid)和hpi內(nèi)存塊來(lái)實(shí)現(xiàn)與主機(jī)的數(shù)據(jù)通信。主處理器對(duì)hpi的拜訪由內(nèi)外兩部分組成,其中外部主要為主處理與hpi寄存器交換數(shù)據(jù),而內(nèi)部則用于為hpi寄存器與dsp存儲(chǔ)單元交換數(shù)據(jù)(由dma自動(dòng)完成)。在舉行數(shù)據(jù)地實(shí)時(shí)通信時(shí),dsp與主機(jī)可以通過(guò)中斷信號(hào)舉行握手。其詳細(xì)實(shí)現(xiàn)可通過(guò)設(shè)置hpic寄存器
5、的hint、dspint位來(lái)對(duì)對(duì)方舉行中斷。硬件設(shè)計(jì)設(shè)計(jì)原理自舉從本質(zhì)上說(shuō)就是dsp上電后,在bootloader引導(dǎo)下,獵取應(yīng)用程序并開(kāi)頭運(yùn)行的過(guò)程,tms320vc5402上電以后,當(dāng)mp/mc為低電平常,系統(tǒng)將從片內(nèi)rom的off80h開(kāi)頭執(zhí)行,此處的跳轉(zhuǎn)命令使程序跳轉(zhuǎn)至bootloader程序入口處(of800h處)。bootloader程序先清除ifr,并設(shè)置hpi入口點(diǎn)(0x7f)的值為0,置hint為低,再檢測(cè)int2是否置位(置位可以通過(guò)將hint和int2相連來(lái)實(shí)現(xiàn)),如置位則舉行hip自舉,具過(guò)程2所示。dsp復(fù)位之后,如檢測(cè)到hpi自舉方式有效,就可以舉行hpi自舉引導(dǎo),
6、基于usb總線的hpi自舉,就是在bootloader引導(dǎo)下,通過(guò)usb接口控制芯片把程序數(shù)據(jù)由主機(jī)(pc)寫(xiě)入dsp內(nèi)部ram(daram)并使dsp開(kāi)頭運(yùn)行的過(guò)程,該自舉過(guò)程分為三個(gè)步驟:一是寫(xiě)hpic,以設(shè)置hpi控制參數(shù);二是寫(xiě)hpia,設(shè)置拜訪dsp的首地址;三是通過(guò)hpid下載程序。首先,推進(jìn)ezusb control panel下載cy7c68013的固件程序。當(dāng)重枚舉結(jié)束,驅(qū)動(dòng)程序(ezusb.sis)重新安裝勝利后,在control panel中通過(guò)發(fā)送哀求的方式由端點(diǎn)0向hpic(主要設(shè)置bob位,確定字節(jié)協(xié)作)發(fā)送兩個(gè)相同的8位控制字,而當(dāng)hpic初始化完成之后,再通過(guò)端
7、點(diǎn)0設(shè)置欲下載程序段到dsp中的首地址hpia。hpic、hpia設(shè)置好之后,就可以通過(guò)端點(diǎn)2下載dsp程序代碼段,程序代碼段需要分段下載,事實(shí)上,cy7c68013通過(guò)端點(diǎn)2把數(shù)據(jù)寫(xiě)入hpid,然后,dsp根據(jù)hpia指定的地址,由dma自動(dòng)將hpid中的數(shù)據(jù)寫(xiě)到ram,接口控制時(shí)序可由gpif軟件編程控制,程序數(shù)據(jù)分段下載完畢之后,再將程序的入口地址通過(guò)端點(diǎn)0寫(xiě)入0x7f處,在主機(jī)下載程序的過(guò)程中,dsp將向來(lái)檢測(cè)0x7f是否為0,如不為0,即判定dsp已由主機(jī)舉行了hpi自舉加載,并根據(jù)該值跳轉(zhuǎn)pc指針,以開(kāi)頭運(yùn)行,進(jìn)而完成hpi自舉。硬件本設(shè)計(jì)用cy7c6801356pvc與tms32
8、0vc5402的hpi口相銜接,接口挑選gpif模式,硬件電路3所示,該計(jì)劃中,hcntl1:0與gpif的低位地址線pa3、pa2相連,以挑選需要拜訪的hpi的hpia、hpic,hpid寄存器,ctl0接至hr/w,可作為讀寫(xiě)控制信號(hào),hds1與輸出信號(hào)線ctl1相連,以作為hpi拜訪的選通信號(hào),hbil與輸出信號(hào)線ctl2相連,已用于識(shí)別傳輸?shù)氖堑谝粋€(gè)字節(jié)還是其次個(gè)字節(jié),hrdy接輸入信號(hào)線rdy0。用于通過(guò)主機(jī)查詢(xún)hpi口的狀態(tài),hint、int2與int0銜接,可確保hpi自舉有效,hcs接gnd,可使hpi片選信號(hào)有效,hpiena接高電平常,hpi使能,has、hds2接高電平常
9、,信號(hào)線禁用。數(shù)據(jù)線pd7:0與hd7:0相連,可在控制時(shí)序作用下傳輸一切數(shù)據(jù)信號(hào)。hpi接口控制時(shí)序由ctl0、ctl1、ctl2引腳輸出,在自舉過(guò)程中,系統(tǒng)將關(guān)閉cy7c68013全部的中斷,若要通過(guò)中斷實(shí)現(xiàn)數(shù)據(jù)通信的握手,可以在自舉完畢打開(kāi)cy7c68013的中斷。cy7c68013的詳細(xì)配置為:?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)來(lái)向主機(jī)傳輸數(shù)據(jù),需要解釋的是端點(diǎn)6不是自舉所必須的。軟件設(shè)計(jì)dsp應(yīng)用程序設(shè)計(jì)實(shí)現(xiàn)tms320vc5402 hpi自舉
10、的前提是生成dsp應(yīng)用程序的分段hex代碼文件,在ccs中可用匯編語(yǔ)言,等編寫(xiě)應(yīng)用程序源代碼,經(jīng)匯編、鏈接、編譯后,生成可執(zhí)行的公共目標(biāo)文件格式(coff)的文件,coff文件不能用于hpi自舉引導(dǎo),而需要利用ti公司的文件格式轉(zhuǎn)換工具h(yuǎn)ex00.exe,將coff文件轉(zhuǎn)換為hex格式文件。格式轉(zhuǎn)換的關(guān)鍵是正確編寫(xiě)hex指令文件,下面研究如何編寫(xiě)這種指令文件,例如將包含text段的源程序鏈接、編譯生成test.out文件,編寫(xiě)指令文件時(shí),可利用hex500.exe將test.out轉(zhuǎn)換為對(duì)應(yīng)text段的hex文件,指令文件test為.cmd如下:i /生成intel格式test.out /輸入
11、文件romspage 0:rom1:org0x2000,length0x2000,romwidth16,memwidth16,filestest1.hex /text段的起始地址為0x2000 /如有多端就可增強(qiáng)多個(gè)rom sectionstext:paddr0x2000 /如有多端就可增強(qiáng)多個(gè)部分在dos環(huán)境下,利用hex500.exe轉(zhuǎn)換指令文件test.cmd,就可得到test1.hex文件,通過(guò)cy7c68013把test1.hex文件寫(xiě)入dsp內(nèi)部ram,再把程序的入口地址寫(xiě)入0x7f處,便可完成自舉。usb固件程序設(shè)計(jì)公司提供有usb的輔助開(kāi)發(fā)工具:ezusb control pa
12、nel,gpif designer。通過(guò)gpif designer可以生成gpif波形圖及相應(yīng)的c源代碼gpif.c。cypress公司同時(shí)提供了固件程序框架,因而可把gpif.c加入固件程序框架舉行開(kāi)發(fā),從而提高開(kāi)發(fā)效率。本計(jì)劃中,固件程序設(shè)計(jì)的重點(diǎn)是對(duì)gpif的編程,以便生成符合hpi接口的時(shí)序的波形描述代碼,以用于控制數(shù)據(jù)傳輸,hpi自舉需要的gpif控制波形描述符為:?jiǎn)巫止?jié)寫(xiě)(兩種),fifo寫(xiě)。hpia、hpic的初始化需要單字節(jié)寫(xiě)控制時(shí)序,程序代碼寫(xiě)入hpid需要fifo寫(xiě)控制時(shí)序,若要實(shí)現(xiàn)二者的數(shù)據(jù)通信,還需要單字節(jié)讀、fifo讀等控制波形描述符。hpic、hpia的初始值是在e
13、zusb control panel中通過(guò)創(chuàng)造商哀求工具欄由ep0發(fā)送的,固件程序中還要有相應(yīng)的哀求處理程序,以完成詳細(xì)的設(shè)置,如假定hpic哀求類(lèi)型的id為0xb6.hpic0x0101(bob位為1),則哀求工具欄的詳細(xì)參數(shù)應(yīng)為:req0xb6,value0x0000,index0xbeef,length2,dir0,hex bytes0101,固件中應(yīng)加入的哀求處理程序?yàn)椋篶ase 0xb6:epobcl0; /ep0使能while(ep01statbmep0bsy); /等待epo數(shù)據(jù)接收完畢while(!hpi_rdy); /等待hpi處理完畢ioa0x00; /挑選hpic寄存器g
14、pifwfselect0x1e; /挑選寫(xiě)低字節(jié)的單字節(jié)寫(xiě)控制波形while(?。╣piftrig0x80);xgpifsgldatlxep0buf0; /寫(xiě)低字節(jié)數(shù)據(jù)gpifwfselect0x4e; /挑選寫(xiě)高字節(jié)的單字節(jié)寫(xiě)控制波形while(?。╣piftrig0x80);xgpifsgldatalxep0buf;/寫(xiě)高字節(jié)數(shù)據(jù)break;設(shè)置程序下載的首地址(hpia值)的哀求處理程序與設(shè)置hpic的程序基本相同,只需根據(jù)哀求類(lèi)型的id,來(lái)轉(zhuǎn)變拜訪寄存器的地址即可,拜訪hpia時(shí),hcntl1:010b,即ioa0x08。拜訪hpid下載程序數(shù)據(jù)時(shí),可采納大端點(diǎn)ep2自動(dòng)打包方式(au
15、toin1),即將數(shù)據(jù)發(fā)送到端點(diǎn)后,自動(dòng)傳到fifo中,等待寫(xiě)hpid條件具備,再啟動(dòng)gpif,以將程序數(shù)據(jù)寫(xiě)入hpid,拜訪hpdi可采納地址自動(dòng)增強(qiáng)模式(hcntl1:001b),寫(xiě)數(shù)據(jù)前,地址自動(dòng)加1,這樣,數(shù)據(jù)便可以經(jīng)過(guò)dsp內(nèi)部dma自動(dòng)寫(xiě)入內(nèi)部ram,寫(xiě)hpid的程序如下:if(gpiftrig0x80) /gpif接口是否處于空閑狀態(tài)if(?。╡p24fifoelgs0x02) /自動(dòng)向量是否可以拜訪ep2fifo中數(shù)據(jù)ioa0x04; /挑選hpid寄存器,且拜訪時(shí)地址自動(dòng)增強(qiáng)while(!hpi_rdy); /等待hpi處理完畢syncdelay;gpiftcb1ep2fif
16、obch; /寫(xiě)入的字節(jié)數(shù)syncdelay;gpiftcb0ep2fifobcl;syncdelay;gpiftriggpif_ep2; /啟動(dòng)寫(xiě)數(shù)據(jù)syncdelay;while(?。╣piftrig0x80) /等待寫(xiě)入完畢;syncdelay;這樣程序數(shù)據(jù)就可以分段通過(guò)端點(diǎn)2寫(xiě)入dsp內(nèi)部ram,最后再把入口地址寫(xiě)入0x7f,以完成hpi自舉,值得注重的是,采納此種方式拜訪hpid時(shí),寫(xiě)入hpia的初值為程序入口的一個(gè)地址,例如,寫(xiě)test1.hex時(shí),應(yīng)設(shè)定hpia0x1fff。為縮短開(kāi)發(fā)周期,本設(shè)計(jì)采納開(kāi)發(fā)包中通用驅(qū)動(dòng)(ezusb.sys)和ezusb control panel舉行開(kāi)發(fā)、調(diào)試、也可以對(duì)通用驅(qū)動(dòng)、控制面板的源程序在vc環(huán)境(需要ddk的支持)下舉行二次開(kāi)發(fā),以便編譯
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村合資合作建房合同范本
- 不標(biāo)準(zhǔn)水電施工合同范本
- 內(nèi)江小區(qū)保安合同范本
- 東亮駕照合同范本
- 兩方協(xié)議合同范本
- 買(mǎi)房假合同范例
- 農(nóng)村秸稈銷(xiāo)售合同范本
- 合同范本押金退還
- 化工重苯銷(xiāo)售合同范例
- 卡車(chē)購(gòu)車(chē)合同范本
- 體重管理健康科普教育
- 營(yíng)地布景規(guī)劃方案
- 大學(xué)數(shù)學(xué)《概率論與數(shù)理統(tǒng)計(jì)》說(shuō)課稿
- 北京市企業(yè)考勤管理制度
- 深大基坑設(shè)計(jì)施工關(guān)鍵技術(shù)孫加齊
- 《神經(jīng)外科常見(jiàn)疾病》課件
- DL-T5707-2014電力工程電纜防火封堵施工工藝導(dǎo)則
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)第二單元練習(xí)題
- 酒店傳染病防控緊急預(yù)案
- 職業(yè)素養(yǎng)提升第2版(大學(xué)生職業(yè)素養(yǎng)指導(dǎo)課程)全套教學(xué)課件
- 西師版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)單元測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論