新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > HPI接口在TI DSP中的應(yīng)用及常見問題分析

        HPI接口在TI DSP中的應(yīng)用及常見問題分析

        作者: 時間:2013-06-05 來源:網(wǎng)絡(luò) 收藏

        3. HPI寄存器地址映射

          HPI口提供給主機端訪問的寄存器只有4個,通過HCNTL[1:0]選擇。

        表1:HPI寄存器訪問選擇

        表1:HPI寄存器訪問選擇

          由于在復(fù)用模式下數(shù)據(jù)線通常只有寄存器寬度的一半,所以一個完整的數(shù)據(jù)訪問由高低半字兩次訪問組成,由HWIL信號控制,HWIL信號必須是先低后高。通常將HWIL和HCNTL[1:0]接在主機的地址線上,將4個寄存器映射為主機端的8個內(nèi)存單元,下表中的地址線連接方法將8半字寄存器映射到主機的8個連續(xù)的內(nèi)存單元。這里的地址線是用來選擇HPI的寄存器,與非復(fù)用模式下的地址線直接訪問的內(nèi)存空間是完全不同的作用。

        表2:HPI寄存器地址映射

        表2:HPI寄存器地址映射

          4. HPI寄存器功能說明

          HPIC (HPI Control Register)

          HPI控制寄存器HPIC的位圖如表3所示,C6000系列的HPI寄存器是32位的,也只有低16位有效,與C5000系列的HPIC寄存器定義的功能保持一致。不同版本的的HPIC位定義的主要不同之處在于軟件握手HRDY位的有無,其它位名稱可能存在細(xì)小差異,但功能定義都是一樣的。

        表3:HPI Control Register

          主機在對HPI進(jìn)行訪問前可以通過HPIC配置字節(jié)序(HWOB)和地址寄存器模式(DUALHPIA)。默認(rèn)的配置為HWOB=0,即先訪問高半;DUALHPIA=0,即單地址寄存器模式,讀和寫操作使用同一個HPIA;通常都采用默認(rèn)的HPIC 寄存器配置。

          HWOB與硬件信號HWIL是沒有聯(lián)系的,HWIL信號必須保證先低后高分別訪問兩個半字單元。至于先訪問一個字當(dāng)中的高或低半字,是由HWOB控制的。

          HPIA (HPI Address Register)

          物理上存在HPIAR,HPIAW兩個地址寄存器。HPIAR是讀操作地址寄存器;HPIAW是寫操作地址寄存器。由HPIC的DUALHPIA位來決定是采用雙地址寄存器模式還是單地址寄存器模式。如果采用雙地址寄存器模式,在對HPIA操作之前,通過設(shè)置HPIC的HPISEL位選擇下一個要訪問的HPIA.通常為了簡化在讀寫操作轉(zhuǎn)換時對HPIC的操作,選用單地址寄存器模式。

          HPIA的地址信息在不同系列DSP上有所不同:

          在C5000上,數(shù)據(jù)空間,I/O空間只能按16位字尋址,程序空間按字節(jié)尋址。HPI的DMA訪問屬于I/O空間,HPIA的值代表16位字地址。如主機端要訪問DSP內(nèi)存字節(jié)地址0x100, 則要往HPIA寫的地址值是0x80.在用HPI啟動時,要注意DSP代碼是按字節(jié)地址鏈接的,即代碼段的地址是字節(jié)地址,主機端要將代碼段的地址信息除以2再送到HPIA.

          在C64上,HPIA的值代表字節(jié)地址,但是HPI訪問的數(shù)據(jù)是32位的,所以HPI會忽略HPIA地址值的低兩位。

          在C64+的DSP上,HPIA代表32位字地址,HPI會將字地址左移兩位轉(zhuǎn)換成字節(jié)地址,主機若要訪問DSP字節(jié)地址0x100,則要賦值HPIA 為0x40.

          HPID (HPI Data Register)

          主機通過HPI對DSP的內(nèi)存訪問是間接訪問,主機只能訪問HPID,HPID與DSP內(nèi)存之間是通過HPI專屬的DMA進(jìn)行數(shù)據(jù)搬運的。如圖3所示。

        圖3:HPI讀寫數(shù)據(jù)流

        圖3:HPI讀寫數(shù)據(jù)流

          HPID的訪問分為自增模式和非自增模式。在自增模式下,訪問HPID后,HPIA會自動增加指向下一個字地址,在連續(xù)訪問時,自增模式因為減少了主機對HPIA的操作,可以增加HPI 數(shù)據(jù)訪問的吞吐率。非自增模式下訪問HPID后,HPIA的值保持不變,主機需要更新HPIA來訪問下一個地址。

          在寫操作時,主機把數(shù)據(jù)寫到HPID,HPI將第二個半字的數(shù)據(jù)通過HSTROBE的上升沿鎖存到HPID后,將HRDY置為忙狀態(tài),并啟動HPI DMA將HPID的內(nèi)容搬到HPIA所指向的內(nèi)存單元,然后清除HRDY指示可以進(jìn)行下一次操作。

          在讀操作時,在第一個HSTROBE的下降沿,HPI采樣到HR/W為讀命令,則將HRDY置為忙狀態(tài),啟動HPIDMA將HPIA指向的內(nèi)存單元的數(shù)據(jù)搬到HPID,清除HRDY忙狀態(tài),主機端方可結(jié)束總線訪問周期,鎖存數(shù)據(jù)線上的有效數(shù)據(jù)。



        關(guān)鍵詞: HPI接口 DSP 問題分析

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 阿勒泰市| 犍为县| 怀仁县| 台东市| 博乐市| 大城县| 古丈县| 云浮市| 富源县| 渝北区| 蚌埠市| 射洪县| 东源县| 潢川县| 江源县| 襄垣县| 安吉县| 海兴县| 固阳县| 改则县| 孟津县| 盘山县| 乌苏市| 驻马店市| 志丹县| 蓬莱市| 长阳| 景德镇市| 双桥区| 孟村| 青田县| 于田县| 翁牛特旗| 广元市| 共和县| 同江市| 长沙县| 长沙市| 石门县| 文山县| 裕民县|