<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > HPI接口在TI DSP中的應用及常見(jiàn)問(wèn)題分析

HPI接口在TI DSP中的應用及常見(jiàn)問(wèn)題分析

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

3. HPI寄存器地址映射

  HPI口提供給主機端訪(fǎng)問(wèn)的寄存器只有4個(gè),通過(guò)HCNTL[1:0]選擇。

表1:HPI寄存器訪(fǎng)問(wèn)選擇

表1:HPI寄存器訪(fǎng)問(wèn)選擇

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

表2:HPI寄存器地址映射

表2:HPI寄存器地址映射

  4. HPI寄存器功能說(shuō)明

  HPIC (HPI Control Register)

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

表3:HPI Control Register

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

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

  HPIA (HPI Address Register)

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

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

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

  在C64上,HPIA的值代表字節地址,但是HPI訪(fǎng)問(wèn)的數據是32位的,所以HPI會(huì )忽略HPIA地址值的低兩位。

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

  HPID (HPI Data Register)

  主機通過(guò)HPI對DSP的內存訪(fǎng)問(wèn)是間接訪(fǎng)問(wèn),主機只能訪(fǎng)問(wèn)HPID,HPID與DSP內存之間是通過(guò)HPI專(zhuān)屬的DMA進(jìn)行數據搬運的。如圖3所示。

圖3:HPI讀寫(xiě)數據流

圖3:HPI讀寫(xiě)數據流

  HPID的訪(fǎng)問(wèn)分為自增模式和非自增模式。在自增模式下,訪(fǎng)問(wèn)HPID后,HPIA會(huì )自動(dòng)增加指向下一個(gè)字地址,在連續訪(fǎng)問(wèn)時(shí),自增模式因為減少了主機對HPIA的操作,可以增加HPI 數據訪(fǎng)問(wèn)的吞吐率。非自增模式下訪(fǎng)問(wèn)HPID后,HPIA的值保持不變,主機需要更新HPIA來(lái)訪(fǎng)問(wèn)下一個(gè)地址。

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

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>