HPI接口在TI DSP中的應用及常見(jiàn)問(wèn)題分析
5. HPI操作流程
主機對HPI的一次總線(xiàn)訪(fǎng)問(wèn)周期為分三個(gè)階段:主機發(fā)起訪(fǎng)問(wèn),HPI響應,主機結束訪(fǎng)問(wèn)周期。
A. 主機發(fā)起訪(fǎng)問(wèn):即對HPI寄存器的讀,或者寫(xiě)命令。主機送出的硬件信號為HSTROBE(由HCS, HDS1/2產(chǎn)生),HR/W,HCNTL0/1,HWIL,以及HD[0:n].HPI在HSTROBE的下降沿采樣控制信號HR/W,HCNTL0/1,HWIL判斷主機的操作命令。
B. HPI響應:HPI在HSTROBE的下降沿采樣控制信號,根據控制信號做出相應的響應。如果是寫(xiě)(HR/W為低)命令,則在HSTROBE的上升沿將數據線(xiàn)上的信號鎖存到HCNTL0/1和HWIL指向的寄存器。如果是讀命令(HR/W為高),如果是讀HPIC,或者HPIA寄存器,HPI將寄存器的值直接送到數據總線(xiàn)上;如果讀HPID,HPI先將HRDY置為忙狀態(tài),HPI DMA將數據從HPIA指向的內存單元讀到HPID,再送到數據線(xiàn)上,并清除HRDY忙狀態(tài),在讀HPID后半字時(shí),數據從寄存器直接送到數據總線(xiàn)上,不會(huì )出現HRDY信號忙狀態(tài)。
C. 主機結束訪(fǎng)問(wèn)周期:對于寫(xiě)操作,主機將數據送出后,只要滿(mǎn)足芯片手冊中HPI對HCS的最小寬度要求,即可結束訪(fǎng)問(wèn)周期。對于讀HPID操作,要等HRDY信號由忙變?yōu)椴幻?,主機才能結束訪(fǎng)問(wèn)周期。兩次連續的HPI操作的間隔,在芯片手冊的HPI時(shí)序參數表里有要求,最小間隔為兩個(gè)HPI功能模塊時(shí)鐘周期。
6. HPI常見(jiàn)故障案例分析
在HPI應用調試過(guò)程中,常遇到的問(wèn)題分為:寫(xiě)數據不成功,讀數據不正確,HRDY常高。這些問(wèn)題通常都是由于時(shí)序不正確造成的,下面結合實(shí)際應用當中的案例進(jìn)行分析。
6.1 寫(xiě)數據不成功
案例的硬件連接如下:
首先關(guān)注核心信號HSTROBE 由DSP_CS,ARM_WR(HDS1),ARM_RD(HDS2)產(chǎn)生,從下面時(shí)序圖可以看出ARM_WR的下降沿是最后產(chǎn)生的,所以寫(xiě)操作時(shí)HSTROBE 的下降沿反應的是ARM_WR 的下降沿。
寫(xiě)HPIC的時(shí)序截圖如下:
寫(xiě)HPID的時(shí)序截圖如下:
兩個(gè)時(shí)序圖顯示主機送出的數據111b 在HSTROBE(ARM_WR)的下降沿后,很快被改變成其它值000b.在寫(xiě)HPID 的時(shí)序截圖中,第一個(gè)HSTROBE的下降后,HPI送出HRDY信號,然后數據線(xiàn)被改變,首先判斷HPI對主機的命令做出了響應,通過(guò)HRDY信號的出現時(shí)機,說(shuō)明HPI判斷這是一個(gè)讀操作,可以判斷為HSTROBE的下降沿采樣HR/W信號不正確。
從硬件連接來(lái)看,HSTROBE(HR/W)要采樣HR/W,HCNTL0/1來(lái)判斷主機命令, HR/W的與HSTROBE為同一信號源,且同為下降沿,HR/W與HSTROBE的下降沿之間的setup時(shí)間不夠,采樣HR/W的電平狀態(tài)出現誤判,認為是高電平讀命令,HPI對讀命令的響應則是在第一個(gè)HSTROBE的下降沿之后送出HRDY信號,并在HRDY之后,HPI送出數據到總線(xiàn)上。
對于該問(wèn)題,需要對參與HSTROBE邏輯譯碼的HR/W信號的下降沿做延時(shí)處理,可在邏輯電路如CPLD或FPGA里實(shí)現,以確保HSTROBE的下降沿采樣到穩定的HR/W電平。
評論