<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > HPI接口在TI SOC的應(yīng)用

          HPI接口在TI SOC的應(yīng)用

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

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

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

          HPIA (HPI Address Register)

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

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

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

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

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

          HPID (HPI Data Register)

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

          6.jpg

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

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

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

          5. HPI 操作流程

          主機(jī)對(duì)HPI 的一次總線訪問(wèn)周期為分三個(gè)階段:主機(jī)發(fā)起訪問(wèn),HPI 響應(yīng),主機(jī)結(jié)束訪問(wèn)周期。

          A. 主機(jī)發(fā)起訪問(wèn):即對(duì)HPI 寄存器的讀,或者寫(xiě)命令。主機(jī)送出的硬件信號(hào)為HSTROBE(由HCS, HDS1/2產(chǎn)生),HR/W,HCNTL0/1,HWIL,以及HD[0:n]。HPI 在HSTROBE 的下降沿采樣控制信號(hào)HR/W,HCNTL0/1,HWIL 判斷主機(jī)的操作命令。

          B. HPI 響應(yīng):HPI 在HSTROBE 的下降沿采樣控制信號(hào),根據(jù)控制信號(hào)做出相應(yīng)的響應(yīng)。如果是寫(xiě)(HR/W為低)命令,則在HSTROBE 的上升沿將數(shù)據(jù)線上的信號(hào)鎖存到HCNTL0/1 和HWIL 指向的寄存器。如果是讀命令(HR/W 為高),如果是讀HPIC,或者HPIA 寄存器,HPI 將寄存器的值直接送到數(shù)據(jù)總線上;如果讀HPID,HPI 先將HRDY 置為忙狀態(tài),HPI DMA 將數(shù)據(jù)從HPIA 指向的內(nèi)存單元讀到HPID,再送到數(shù)據(jù)線上,并清除HRDY 忙狀態(tài),在讀HPID 后半字時(shí),數(shù)據(jù)從寄存器直接送到數(shù)據(jù)總線上,不會(huì)出現(xiàn)HRDY 信號(hào)忙狀態(tài)。

          C. 主機(jī)結(jié)束訪問(wèn)周期:對(duì)于寫(xiě)操作,主機(jī)將數(shù)據(jù)送出后,只要滿足芯片手冊(cè)中HPI 對(duì)HCS 的最小寬度要求,即可結(jié)束訪問(wèn)周期。對(duì)于讀HPID 操作,要等HRDY 信號(hào)由忙變?yōu)椴幻?,主機(jī)才能結(jié)束訪問(wèn)周期。兩次連續(xù)的HPI 操作的間隔,在芯片手冊(cè)的HPI 時(shí)序參數(shù)表里有要求,最小間隔為兩個(gè)HPI 功能模塊時(shí)鐘周期。

          6. HPI 常見(jiàn)故障案例分析

          在HPI 調(diào)試過(guò)程中,常遇到的問(wèn)題分為:寫(xiě)數(shù)據(jù)不成功,讀數(shù)據(jù)不正確,HRDY 常高。這些問(wèn)題通常都是由于時(shí)序不正確造成的,下面結(jié)合實(shí)際當(dāng)中的案例進(jìn)行分析。

          1.1 寫(xiě)數(shù)據(jù)不成功

          案例的硬件連接如下:

          7.jpg

          首先關(guān)注核心信號(hào)HSTROBE 由DSP_CS,ARM_WR(HDS1),ARM_RD(HDS2)產(chǎn)生,從下面時(shí)序圖可以看出ARM_WR 的下降沿是最后產(chǎn)生的,所以寫(xiě)操作時(shí)HSTROBE 的下降沿反應(yīng)的是ARM_WR 的下降沿。

          寫(xiě)HPIC 的時(shí)序截圖如下:

          8.jpg

          寫(xiě)HPID 的時(shí)序截圖如下:

          9.jpg

          兩個(gè)時(shí)序圖顯示主機(jī)送出的數(shù)據(jù)111b 在HSTROBE(ARM_WR)的下降沿后,很快被改變成其它值000b。在寫(xiě)HPID 的時(shí)序截圖中,第一個(gè)HSTROBE 的下降后,HPI 送出HRDY 信號(hào),然后數(shù)據(jù)線被改變,首先判斷HPI 對(duì)主機(jī)的命令做出了響應(yīng),通過(guò)HRDY 信號(hào)的出現(xiàn)時(shí)機(jī),說(shuō)明HPI 判斷這是一個(gè)讀操作,可以判斷為HSTROBE 的下降沿采樣HR/W信號(hào)不正確。

          從硬件連接來(lái)看,HSTROBE(HR/W)要采樣HR/W,HCNTL0/1 來(lái)判斷主機(jī)命令, HR/W的與HSTROBE 為同一信號(hào)源,且同為下降沿,HR/W與HSTROBE 的下降沿之間的setup 時(shí)間不夠,采樣HR/W的電平狀態(tài)出現(xiàn)誤判,認(rèn)為是高電平讀命令,HPI 對(duì)讀命令的響應(yīng)則是在第一個(gè)HSTROBE 的下降沿之后送出HRDY 信號(hào),并在HRDY 之后,HPI 送出數(shù)據(jù)到總線上。

          對(duì)于該問(wèn)題,需要對(duì)參與HSTROBE 邏輯譯碼的HR/W信號(hào)的下降沿做延時(shí)處理,可在邏輯電路如CPLD 或 FPGA 里實(shí)現(xiàn),以確保HSTROBE 的下降沿采樣到穩(wěn)定的HR/W電平。



          關(guān)鍵詞: 應(yīng)用 SOC TI 接口 HPI

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();