新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于HPI接口的高速數據傳輸設計

        基于HPI接口的高速數據傳輸設計

        作者:煙臺大學光電信息學院 張玉猛 邵左文 賈偉 時間:2008-08-01 來源:中電網 收藏

        引言

        本文引用地址:http://www.104case.com/article/86522.htm

          芯片能夠大大提高的效率,但在主機與構成的系統中,當與主機間需要大數據量傳輸時,速率就會成為程序運行速度的瓶頸。所以在程序調試過程中,實現主機與DSP之間的快速,不僅可以提高程序運行效率,還可以大大節省調試程序的時間。

          TMS320C6000系列的HPI(Host Port Interface)接口不僅可以方便主機對DSP的控制,還可以實現主機與DSP內存的快速。這里用雙TMS320C6416(600MHz)來進行實驗,通過HPI接口實現了主DSP(下文中都稱為"主機")和從DSP的快速數據傳輸,并通過實驗測試了HPI接口的數據傳輸速率。

        系統介紹

          HPI概述

          HPI(Host-Port Interface)主機接口,是TI高性能DSP上配置的與主機進行通信的片內外設。通過HPI接口,主機可以非常方便地訪問DSP的所有地址空間,從而實現對DSP的控制。

          TMS320C6416的HPI接口是一個16bit/32bit寬的并行端口。主機(host)對CPU地址空間的訪問是通過EDMA控制器實現的。HPI接口的訪問主要通過三個專用寄存器來實現,它們分別是HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)和HPI數據寄存器(HPID)。

          HPI接口信號簡介
         
          (1) HD[31∶0](數據總線)
          
          (2) HCNTL[1∶0](控制HPI訪問類型)

          如前所述,對HPI的訪問需要通過三個寄存器,即HPI地址寄存器(HPIA),HPI數據寄存器(HPID)和HPI控制寄存器(HPIC)來實現。HCNTL[1∶0]就是用于選擇這三個寄存器的專用引腳。

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

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

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

          (5) HRDY (輸出準備好)

          (6) HCS,HDS1,HDS2(選通信號)

          當HCS有效,并且HDS1和HDS2中僅有一個有效時,內部觸發信號HSTROBE有效。這三個信號的組合邏輯其實就是片選和讀/寫信號構成的組合邏輯,因此,可直接與主機的片選和讀/寫信號相連。

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

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

          HPI接口寄存器簡介

          如上所述,主機通過HPI接口對DSP的訪問實際上是通過三個寄存器來實現的,下面就針對這三個專用寄存器進行介紹。

          (1) HPI控制寄存器(HPIC)
          HPIC中每一位都有特定的功能,在對HPI進行訪問的過程中需要特別注意。簡要介紹一下這些功能位的作用。

          ①HWOB(半字順序位)
          如果HWOB=1,第一個半字為最低有效;如果HWOB=0,第一個半字為最高有效。HWOB對地址和數據都起作用,如果采用HPI16模式,在訪問數據或者地址寄存器之前,應該首先初始化HWOB位。

          ②DSPINT(主機產生的Processor-to-CPU中斷,用于HPI啟動方式中將DSP內核從復位狀態中喚醒)

          ③HINT(DSP-to-Host中斷,即通過向此位寫入特定值來產生對主機的中斷)
        (
          2) HPI地址寄存器(HPIA)
          存放32bit數據,指向將要訪問的DSP地址空間中的地址。

          (3) HPI數據寄存器(HPID)
          在寫操作中存放將要寫入HPIA所指向地址的數據,在讀操作中為HPIA所指向地址中的數據。

        系統設計

          硬件設計

          外設選擇
          在C6416中,一些外設共用某些引腳。其中HPI,GP[15:9],PCI, EEPROM以及McBSP2共用一組引腳,DSP在復位時通過鎖存PCI_EN及McBSP2_EN引腳的值來選擇使用何種外設。如表1,在本設計中,將這兩個選擇引腳都拉低。

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

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

          主機EMIF配置

          對主機,EMIFA (64位總線)和EMIFB (16位總線)都可以與HPI相連。在HPI16模式下,可以采用EMIFB,在HPI32模式下,可以采用EMIFA。在本設計中,影射EMIFA CE1存儲器空間為主機接口,對CE1空間控制寄存器的設置見表2。


         


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 庐江县| 银川市| 大同县| 仁布县| 林芝县| 南昌市| 绥中县| 弥渡县| 漳平市| 鹤壁市| 资阳市| 囊谦县| 乌拉特后旗| 浠水县| 潍坊市| 宁津县| 华亭县| 平安县| 揭西县| 大余县| 稷山县| 布尔津县| 定边县| 马龙县| 英山县| 浦江县| 西乌| 峡江县| 依兰县| 化隆| 炎陵县| 富裕县| 内江市| 阿合奇县| 宜丰县| 竹山县| 武定县| 保山市| 合作市| 绥德县| 丰原市|