通信學(xué)論文-DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn).doc_第1頁
通信學(xué)論文-DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn).doc_第2頁
通信學(xué)論文-DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn).doc_第3頁
通信學(xué)論文-DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn).doc_第4頁
通信學(xué)論文-DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn).doc_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

通信學(xué)論文-DSPHPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn)論文關(guān)鍵詞:DSPHPIMPC8272FPGAVHDL源代碼論文摘要:通過對(duì)TI公司TMS320C6421DSPHPI接口信號(hào)和接口總線時(shí)序的分析,以VHDL語言為工具,使用Altera的FPGA芯片EP3C40F780C8,設(shè)計(jì)完成MPC8272總線和TMS320C6421DSPHPI總線之間的通信接口,并在實(shí)際的產(chǎn)品中得到運(yùn)用,給出與整個(gè)接口設(shè)計(jì)相關(guān)的VHDL源代碼。對(duì)于類似的DSPHPI接口設(shè)計(jì),此文章具有參考和指導(dǎo)意義。一、HPI概述HPI(Host-PortInterface)主機(jī)接口,是TI高性能DSP上配置的與主機(jī)進(jìn)行通信的片內(nèi)外設(shè)。通過HPI接口,主機(jī)可以非常方便地訪問DSP的所有地址空間,從而實(shí)現(xiàn)對(duì)DSP的控制。TMS320C6421的HPI接口是一個(gè)16bit寬的并行端口。主機(jī)(host)對(duì)CPU地址空間的訪問是通過EDMA控制器實(shí)現(xiàn)的。HPI接口的訪問主要通過三個(gè)專用寄存器來實(shí)現(xiàn),它們分別是HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)和HPI數(shù)據(jù)寄存器(HPID)。二、HPI接口信號(hào)簡(jiǎn)介(1)HD150(數(shù)據(jù)總線)(2)HCNTL10(控制HPI訪問類型)如前所述,對(duì)HPI的訪問需要通過三個(gè)寄存器,即HPI地址寄存器(HPIA),HPI數(shù)據(jù)寄存器(HPID)和HPI控制寄存器(HPIC)來實(shí)現(xiàn)。HCNTL10就是用于選擇這三個(gè)寄存器的專用引腳。HCNTL1HCNTL0HPI訪問類型00主機(jī)可讀寫HPI控制寄存器HPIC01主機(jī)可讀寫HPI數(shù)據(jù)寄存器HPID,讀操作或?qū)懖僮骱驢PIA自動(dòng)增110主機(jī)可讀寫HPI地址寄存器HPIA11主機(jī)可讀寫HPI數(shù)據(jù)寄存器HPID,讀操作或?qū)懖僮骱驢PIA不變(3)HHWIL(半字指示選擇)HHWIL指示當(dāng)前的為第一個(gè)或是第二個(gè)半字傳輸,但需要注意的是,它并不代表是最高有效的(mostsignificant)還是最低有效的(leastsignificant),而決定的依據(jù)是HPIC中的HWOB位的狀態(tài)。對(duì)于第一個(gè)半字,HHWIL必須被驅(qū)動(dòng)為低電平;對(duì)于第二個(gè)半字,HHWIL必須被驅(qū)動(dòng)為高電平。(4)HR/W(讀/寫操作指示)HR/W為高電平,表示從HPI接口讀;HR/W為低電平,表示向HPI接口寫。(5)HRDY(輸出準(zhǔn)備好)(6)HCS,HDS1,HDS2(選通信號(hào))當(dāng)HCS有效,并且HDS1和HDS2中僅有一個(gè)有效時(shí),內(nèi)部觸發(fā)信號(hào)HSTROBE有效。這三個(gè)信號(hào)的組合邏輯其實(shí)就是片選和讀/寫信號(hào)構(gòu)成的組合邏輯,因此,可直接與主機(jī)的片選和讀/寫信號(hào)相連。如下圖所示:(7)HAS(地址輸入選通)在TMS320C6421HPI接口中目前沒有用,連接到邏輯高電平。(8)HINT(向主機(jī)輸出的中斷)三、HPI接口寄存器簡(jiǎn)介如上所述,主機(jī)通過HPI接口對(duì)DSP的訪問實(shí)際上是通過三個(gè)寄存器來實(shí)現(xiàn)的,下面就針對(duì)這三個(gè)專用寄存器進(jìn)行介紹。(1)HPI控制寄存器(HPIC)HPIC中每一位都有特定的功能,在對(duì)HPI進(jìn)行訪問的過程中需要特別注意。簡(jiǎn)要介紹一下這些功能位的作用。HWOB(半字順序位)如果HWOB=1,第一個(gè)半字為最低有效;如果HWOB=0,第一個(gè)半字為最高有效。HWOB對(duì)地址和數(shù)據(jù)都起作用,如果采用HPI16模式,在訪問數(shù)據(jù)或者地址寄存器之前,應(yīng)該首先初始化HWOB位。DSPINT(主機(jī)產(chǎn)生的Processor-to-CPU中斷,用于HPI啟動(dòng)方式中將DSP內(nèi)核從復(fù)位狀態(tài)中喚醒)HINT(DSP-to-Host中斷,即通過向此位寫入特定值來產(chǎn)生對(duì)主機(jī)的中斷)(2)HPI地址寄存器(HPIA)存放32bit數(shù)據(jù),指向?qū)⒁L問的DSP地址空間中的地址。(3)HPI數(shù)據(jù)寄存器(HPID)在寫操作中存放將要寫入HPIA所指向地址的數(shù)據(jù),在讀操作中為HPIA所指向地址中的數(shù)據(jù)。四、HPI接口讀寫時(shí)序HPI接口讀時(shí)序HPI接口寫時(shí)序五、HPI接口硬件設(shè)計(jì)從C6421HPI寄存器的編址方式可以看出,主機(jī)需兩根地址線尋址到HPI接口的控制寄存器、地址寄存器和數(shù)據(jù)寄存器,因此選擇主機(jī)的地址線A29、A28連接C6421HPI的HCNTL1、HCNTL0。選擇主機(jī)的地址線A30連接到C6421HPI的HHWIL,作為半字指示選擇。HPI的選通由HCS、HDS1、HDS2三根信號(hào)線共同作用,最后的HPI使能信號(hào)(STROBE)為HDS1異或HDS2后,再與HCS進(jìn)行與非運(yùn)算的結(jié)果。HCS、HDS1、HDS2信號(hào)由FPGA產(chǎn)生。TA為MPC8272傳輸結(jié)束標(biāo)識(shí),HPI口HRDY有效后FPGA向CPU發(fā)送TA,保證HPI數(shù)據(jù)正確讀出。C6416HPI的HINT信號(hào)可以直接連接到主機(jī)的IRQ引腳上實(shí)現(xiàn)HPI對(duì)主機(jī)的中斷信號(hào)連接,也可通過FPGA連接到主機(jī),使控制更靈活。六、地址空間分配由于C6421為16位的HPI口,其內(nèi)部總線為32位,所以每次讀寫要分兩次,一次為高16位,一次為低16位,由HHWIL來選擇(0FirstHalfWord,1SecondHalfWord),設(shè)定HPIC.HWOB=0(FirstHalfWord高16位,SecondHalfWord=低16位)。C6421的HPI接口映射為MPC8272的4對(duì)地址空間,由MPC8272CS3控制,配置CS3為16位寬的GPCM訪問模式,如下地址分配:HPIC:0x0D000000(高16位),0x0D000002(低16位)。HPIA:0x0D000004(高16位),0x0D000006(低16位)。HPID_FIX:0x0D00000C(高16位),0x0D00000E(低16位),C6421地址由當(dāng)前的HPIA決定。HPID_Auto:0x0D000008(高16位),0x0D00000A(低16位)C6421地址自動(dòng)加1。七、HPI接口相關(guān)VHDL代碼outputwirec6421_hasn,c6421_hcsn,c6421_hdsn1,c6421_hdsn2,assignc6421_hasn=1B1;assignc6421_hcsn=cs3;assignc6421_hdsn1=wen;assignc6421_hdsn2=oen;reg7:0st_ta;regtax;wiretax001=(zzz_cnt=256)?0:1;wiretax002=(zzz_cnt=256+8)?0:1;wiretax003=(zzz_cnt=256+16)?0:1;wiretax004=(zzz_cnt=256+32)?0:1;regc6421hcsn_start;always(posedgeclk_cpu)if(zzz_cnt=5)c6421hcsn_start=1;elsec6421hcsn_start=0;always(posedgeclk_cpu)beginif(c6421hcsn_start)beginst_ta=STA_CHECKRD;tax=1;endelseif(STA_CHECKRD=st_ta)beginif(c6421_hrdyn)st_ta=STA_CHECKRD;elsest_ta=STA_GEN;tax=1;endelseif(STA_GEN=st_ta)beginst_ta=STA_END;tax=0;endelsebegintax=1;endendassignta=(cs3)?(tax&tax001&tax002&tax003&tax004):1BZ;MPC8272功能很強(qiáng)大,C6421HPI接口相對(duì)于MPC8272來說為慢速外部設(shè)備,TA為MPC8272傳輸結(jié)束標(biāo)識(shí),HPI口HRDY有效后FPGA向CPU發(fā)送TA,保證HPI數(shù)據(jù)正確讀出。因此在VHDL程序中設(shè)計(jì)了狀態(tài)機(jī),當(dāng)HRDY信號(hào)有效后就立即結(jié)束本次訪問,否則經(jīng)過一段時(shí)間的延遲后強(qiáng)制結(jié)束本次訪問,這樣可以避免接口長(zhǎng)時(shí)間占用總線,影響系統(tǒng)性能。八、結(jié)束語本文使用VHDL語言和FPGA,設(shè)計(jì)了MPC8272與DSP之間的HPI接口。之所以使用FPGA,是因?yàn)樵谙到y(tǒng)中FPGA還包含有其他的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論