基于HPI接口的高速數(shù)據(jù)傳輸設(shè)計(jì)

相關(guān)專(zhuān)題: 大數(shù)據(jù) 芯片

引言

DSP芯片能夠大大提高數(shù)字信號(hào)處理的效率,但在主機(jī)與DSP構(gòu)成的系統(tǒng)中,當(dāng)DSP與主機(jī)間需要大數(shù)據(jù)量傳輸時(shí),數(shù)據(jù)傳輸速率就會(huì)成為程序運(yùn)行速度的瓶頸。所以在程序調(diào)試過(guò)程中,實(shí)現(xiàn)主機(jī)與DSP之間的快速數(shù)據(jù)傳輸,不僅可以提高程序運(yùn)行效率,還可以大大節(jié)省調(diào)試程序的時(shí)間。

TMS320C6000系列的HPI(Host Port Interface)接口不僅可以方便主機(jī)對(duì)DSP的控制,還可以實(shí)現(xiàn)主機(jī)與DSP內(nèi)存的快速數(shù)據(jù)傳輸。這里用雙TMS320C6416(600MHz)來(lái)進(jìn)行實(shí)驗(yàn),通過(guò)HPI接口實(shí)現(xiàn)了主DSP(下文中都稱為"主機(jī)")和從DSP的快速數(shù)據(jù)傳輸,并通過(guò)實(shí)驗(yàn)測(cè)試了HPI接口的數(shù)據(jù)傳輸速率。

系統(tǒng)介紹

HPI概述

HPI(Host-Port Interface)主機(jī)接口,是TI高性能DSP上配置的與主機(jī)進(jìn)行通信的片內(nèi)外設(shè)。通過(guò)HPI接口,主機(jī)可以非常方便地訪問(wèn)DSP的所有地址空間,從而實(shí)現(xiàn)對(duì)DSP的控制。

TMS320C6416的HPI接口是一個(gè)16bit/32bit寬的并行端口。主機(jī)(host)對(duì)CPU地址空間的訪問(wèn)是通過(guò)EDMA控制器實(shí)現(xiàn)的。HPI接口的訪問(wèn)主要通過(guò)三個(gè)專(zhuān)用寄存器來(lái)實(shí)現(xiàn),它們分別是HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)和HPI數(shù)據(jù)寄存器(HPID)。

HPI接口信號(hào)簡(jiǎn)介

(1) HD[31∶0](數(shù)據(jù)總線)

(2) HCNTL[1∶0](控制HPI訪問(wèn)類(lèi)型)

如前所述,對(duì)HPI的訪問(wèn)需要通過(guò)三個(gè)寄存器,即HPI地址寄存器(HPIA),HPI數(shù)據(jù)寄存器(HPID)和HPI控制寄存器(HPIC)來(lái)實(shí)現(xiàn)。HCNTL[1∶0]就是用于選擇這三個(gè)寄存器的專(zhuān)用引腳。

(3) HHWIL (半字指示選擇)

HHWIL指示當(dāng)前的為第一個(gè)或是第二個(gè)半字傳輸,但需要注意的是,它并不代表是最高有效的(most significant)還是最低有效的(least significant),而決定的依據(jù)是HPIC中的HWOB位的狀態(tài)。在HPI32模式下,不使用此信號(hào)。

(4) HR/W (讀/寫(xiě)操作指示)

(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í)就是片選和讀/寫(xiě)信號(hào)構(gòu)成的組合邏輯,因此,可直接與主機(jī)的片選和讀/寫(xiě)信號(hào)相連。

(7) HAS (地址輸入選通)

(8) HINT(向主機(jī)輸出的中斷)

HPI接口寄存器簡(jiǎn)介

如上所述,主機(jī)通過(guò)HPI接口對(duì)DSP的訪問(wèn)實(shí)際上是通過(guò)三個(gè)寄存器來(lái)實(shí)現(xiàn)的,下面就針對(duì)這三個(gè)專(zhuān)用寄存器進(jìn)行介紹。

(1) HPI控制寄存器(HPIC)

HPIC中每一位都有特定的功能,在對(duì)HPI進(jìn)行訪問(wèn)的過(guò)程中需要特別注意。簡(jiǎn)要介紹一下這些功能位的作用。

①HWOB(半字順序位)

如果HWOB=1,第一個(gè)半字為最低有效;如果HWOB=0,第一個(gè)半字為最高有效。HWOB對(duì)地址和數(shù)據(jù)都起作用,如果采用HPI16模式,在訪問(wèn)數(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中斷,即通過(guò)向此位寫(xiě)入特定值來(lái)產(chǎn)生對(duì)主機(jī)的中斷)

(2) HPI地址寄存器(HPIA)

存放32bit數(shù)據(jù),指向?qū)⒁L問(wèn)的DSP地址空間中的地址。

(3) HPI數(shù)據(jù)寄存器(HPID)

在寫(xiě)操作中存放將要寫(xiě)入HPIA所指向地址的數(shù)據(jù),在讀操作中為HPIA所指向地址中的數(shù)據(jù)。

系統(tǒng)設(shè)計(jì)

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

  外設(shè)選擇

在C6416中,一些外設(shè)共用某些引腳。其中HPI,GP[15:9],PCI, EEPROM以及McBSP2共用一組引腳,DSP在復(fù)位時(shí)通過(guò)鎖存PCI_EN及McBSP2_EN引腳的值來(lái)選擇使用何種外設(shè)。如表1,在本設(shè)計(jì)中,將這兩個(gè)選擇引腳都拉低。

數(shù)據(jù)總線

C6416 HPI數(shù)據(jù)總線具有32個(gè)外部引腳HD[31:0]。因此,C6416 HPI支持16位或32位的數(shù)據(jù)總線。當(dāng)用16位寬的主機(jī)接口時(shí),C6416 HPI稱為HPI16;當(dāng)用32位寬的主機(jī)接口時(shí),C6416 HPI稱為HPI32。C6416 HPI通過(guò)復(fù)位時(shí)的自舉和器件配置引腳(HD5)選擇采用HPI16還是HPI32。

HPI16具有16位數(shù)據(jù)總線,HPI16將兩個(gè)連續(xù)的16位傳輸組成一個(gè)32位數(shù)據(jù)傳送到CPU。為了和其他C6000器件兼容,無(wú)論復(fù)位時(shí)選擇何種Endian模式,HPI16都使用HD[15:0]作為數(shù)據(jù)引腳。HPI32具有32位的數(shù)據(jù)總線,使用該增加的總線寬度,所有傳輸均為一個(gè)32位的字傳輸,而不是兩個(gè)連續(xù)的16位半字。在本設(shè)計(jì)中采用HPI32總線模式。

來(lái)源:維庫(kù)開(kāi)發(fā)網(wǎng)


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息