新聞中心

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

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

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

6.2 讀數(shù)據(jù)不正確

  通常表現(xiàn)為讀讀HPIC,HPIA正常,但讀HPID不正常,前半字為0,后半字正確,對同一個地址讀兩次,第二次的數(shù)據(jù)完全正確。

  在案例中,用示波器觀察HCS與HRDY之間的時序關(guān)系,發(fā)現(xiàn)HCS的上升沿在HRDY的上升沿之前,即主機在HPI數(shù)據(jù)有效之前結(jié)束了訪問周期。HRDY的上升沿其實是因為HCS的結(jié)束而拉高的,并非數(shù)據(jù)真正有效。

  用戶由于沒有在硬件上將HRDY與主機PowerPC的TA信號互連,沒有硬件握手機制,于是從軟件配置上加大主機的總線訪問周期,即增加HCS的寬度,故障現(xiàn)象沒有變化。

  原因分析:讀HPID與HPIC,HPIA時序不同,讀HPID操作需要HPI DMA從HPIA所指向的地址讀數(shù)據(jù)到HPID,會有時間上的延時。而讀HPIC和HPIA直接從寄存器讀數(shù)據(jù),沒有延時,所以讀HPIC,HPIA是正確的。在讀HPID時,HPI會在第一個HSTROBE的下降沿后將HRDY置位,指示數(shù)據(jù)未準備好的忙狀態(tài),主機應(yīng)當在總線上插入等待周期,數(shù)據(jù)準備好后HPI清除HRDY,主機才可以結(jié)束總線周期,通過HCS的上升沿將有效數(shù)據(jù)鎖存。

  HSTROBE的下降沿到數(shù)據(jù)有效之間的延時與芯片及的工作頻率相關(guān),以C5502,C5501為例,在芯片手冊中,這個延時參數(shù)H1在SYSCLK1與CPU時鐘的分頻為4時,最大延時為12*2H+20(ns),H=SYSCLK1/2,在HPI啟動期間,PLL沒有倍頻,處于旁通狀態(tài),系統(tǒng)輸入時鐘就是CPU的工作時鐘,SYSCLK1默認分頻為CPU時鐘的4分頻,以輸入時鐘為25MHz為例,最大延時為:這個時間長度通常超出了主機端總線周期的軟件配置范圍,所以通過軟件配置增加HCS的寬度不一定能滿足HRDY的最大延時要求。在有的芯片手冊上只提供了HRDY的最小延時,最大延時與芯片的優(yōu)先級設(shè)置,及系統(tǒng)配置相關(guān)而不確定,比如與系統(tǒng)中其它主模塊如EDMA同時訪問DDR,那么延時與HPI的優(yōu)先級,EDMA的優(yōu)先級,EDMA的burst長度,以及DDR的命令排序等配置相關(guān),這樣通過延長主機的總線訪問周期,更加不可靠。

  解決辦法:在硬件設(shè)計之初,一定要利用HRDY硬件握手信號[2][3].雖然有的芯片HPIC寄存器提供了HRDY軟件握手方式,只能做為彌補硬件設(shè)計之初遺漏HRDY硬件握手信號的權(quán)宜之計,軟件輪循HRDY的辦法會帶來額外的開銷,降低HPI總線的吞吐率,增加主機軟件實現(xiàn)的復(fù)雜度。而且有的芯片HPI不支持HRDY軟件查詢方法,只能通過硬件HRDY保證數(shù)據(jù)的有效性。

  6.3 HRDY常高

  有的系統(tǒng)在長時間運行中偶爾出現(xiàn)HRDY常高,導(dǎo)致主機端總線訪問異常,需要重新上電才能恢復(fù)HPI 的正常操作。這種故障是由于HPI 狀態(tài)機出現(xiàn)異常。

  從實際故障定位中總結(jié)出以下幾點原因:

  A. HPI的高低半字訪問的順序訪問被其它HPI訪問打斷:在復(fù)用模式下,一個完整的HPI訪問是由高低半字兩次訪問組成,需要嚴格保證,否則會破壞HPI的狀態(tài)機,從而導(dǎo)致不可預(yù)期的后果。

  B. 主機通過HPI訪問了內(nèi)部的保留空間,或者破壞了的程序,數(shù)據(jù)空間,導(dǎo)致DSP運行異常,進而導(dǎo)致HPI狀態(tài)機異常。

  C. 主機的HSTROBE信號有毛刺,或者信號完整性不好,如下圖中HCS(些案例HSTROBE是由HCS控制)的上升沿的回勾,都會導(dǎo)致HPI誤判斷為主機的新的訪問的開始,從而打亂了高低半字的訪問順序要求,導(dǎo)致HPI狀態(tài)機的錯亂。

  7. 總結(jié)

  HPI是一種簡單的異步接口,只要設(shè)計中滿足了時序要求,即可穩(wěn)定工作。在開發(fā)當中遇到數(shù)據(jù)讀寫不正確,從HSTROBE信號入手檢查與之相關(guān)的信號的時序關(guān)系,便可以找出問題原因。另外,信號完整性是任何系統(tǒng)穩(wěn)定工作的前提。

  關(guān)于特定芯片上的特有功能本文沒有針對討論,如C6727的字地址模式和字節(jié)地址模式可通過HPIC配置;C6727在HPI啟動后ROM bootloader將HPI關(guān)閉,需要軟件重新使能才能使用等;以及不同芯片的HPI啟動模式下的跳轉(zhuǎn)方式不同,請參考相應(yīng)芯片的HPI手冊及bootloader應(yīng)用手冊。


上一頁 1 2 3 4 下一頁

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

評論


相關(guān)推薦

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

關(guān)閉