HPI接口在TI DSP中的應用及常見(jiàn)問(wèn)題分析
簡(jiǎn)介
HPI接口是TI為處理器之間直接互連通訊定義的一種異步接口,大多數TI DSP芯片上都有HPI接口。HPI接口是從(Slave)端口,接在主機的擴展內存總線(xiàn)上,DSP不能通過(guò)HPI向主機(Host)的訪(fǎng)問(wèn),只能被主機讀寫(xiě)。兩個(gè)DSP的HPI接口之間不能通訊。兩個(gè)DSP之間互連,可以將一個(gè)DSP(從)的HPI接到另一個(gè)DSP(主)的擴展內存接口(EMIF)上[1].
1. HPI工作模式
不同系列DSP上的HPI接口版本有所不同,區別體現在DSP對HPI的控制上,如C6727上的UHPI可通過(guò)寄存器使能與關(guān)閉HPI接口,對主機訪(fǎng)問(wèn)DSP內存空間的控制,以及對HPI接口信號的功能復用上。但從主機訪(fǎng)問(wèn)的角度,HPI的工作模式分為:復用模式(Multiplexed-Mode)和非復用模式(Non-multiplexed-Mode)。
復用模式下沒(méi)有地址線(xiàn),主機訪(fǎng)問(wèn)DSP的地址信息是以數據方式送到HPIA(HPI地址寄存)。從硬件信號的角度,地址,數據信號是由同一組數據線(xiàn)傳遞,所以稱(chēng)為復用模式。
非復用模式的數據線(xiàn)與地址線(xiàn)是分開(kāi)的,與內存接口連接相似。非復用模式不需要操作HPIA寄存器,主機訪(fǎng)問(wèn)的地址信息通過(guò)地址總線(xiàn)直接送給HPI.
所有的HPI接口都支持復用模式,但不是所有芯片的HPI接口都支持非復用模式(參考相應的芯片手冊確定是否支持)。除了有無(wú)HPIA的操作區別外,兩種模式的操作沒(méi)有區別。因為非復用模式的操作是復用模式操作的子集,為方便起見(jiàn),本文以復用模式展開(kāi)討論。
2. HPI硬件信號連接
HPI接口復用模式連線(xiàn)如圖1所示,根據在應用當中的必要性分為:必要的,和可選的兩組信號??蛇x的信號以虛線(xiàn)表示。
圖1:HPI接口復用模式硬件連接
●數據線(xiàn)HD[0:n]:在復用模式下,數據線(xiàn)的寬度一般為CPU位寬的一半,一個(gè)HPI訪(fǎng)問(wèn)分為高低半字的兩次訪(fǎng)問(wèn),如C5000 是16-bit CPU,HPI數據線(xiàn)為8位,C6000 是32-bit CPU,其HPI數據線(xiàn)為16位。C64x系列的HPI支持32位,在32位模式下一個(gè)HPI訪(fǎng)問(wèn)不需要分為高低半字兩次訪(fǎng)問(wèn)組成一個(gè)完整的訪(fǎng)問(wèn)。
●HCNTL0/1,HWIL:HCNTL0/1 選擇要訪(fǎng)問(wèn)的HPI寄存器,HWIL控制訪(fǎng)問(wèn)寄存器的高低半字,必須先高后低。一個(gè)寄存器的高低半字的兩次訪(fǎng)問(wèn)一定要連續完成,中間不能插入其它的HPI操作。只有HPIC可以只訪(fǎng)問(wèn)半個(gè)字。
●HR/W:指示對HPI寄存器進(jìn)行讀,還是寫(xiě)操作。如果主機的讀,寫(xiě)信號是分開(kāi)的,可以利用其中一個(gè)信號,但要注意做上拉或下拉處理以控制其在三態(tài)時(shí)的電平。
●HCS,HDS1/2:這三個(gè)信號根據圖2 的邏輯產(chǎn)生內部HSTROBE 信號,其邏輯關(guān)系是要求HDS1 和HDS2信號相反,HCS低有效。HSTROB下降沿的時(shí)間點(diǎn)反應的是三個(gè)信號中最后跳變的信號。HPI 在HSTROB的下降沿采樣控制信號HR/W,HCNTL0/1,HWIL 以判斷主機要對哪個(gè)寄存器進(jìn)行讀,或者寫(xiě)操作命令。
注意控制信號在HSTROBE的下降沿之前需要最少5ns 的setup穩定時(shí)間,而HDS1/2和HCS 到HSTROBE信號內部門(mén)電路的延時(shí)是皮秒級的,所以控制信號的setup時(shí)間需要外部時(shí)序保證。
圖2:HSTROBE信號產(chǎn)生邏輯
●HRDY:HPI的輸出信號,指示當前操作狀態(tài),用做硬件流量控制握手信號。
●HINT:通過(guò)HPI,主機與DSP之間可以互發(fā)中斷。HINT是HPI送給主機的中斷信號,DSP對HPIC[HINT]位寫(xiě)1,HINT信號線(xiàn)上送出高電平信號,主機可利用此信號做為中斷信號輸入。DSP不能清除HPIC[HINT]狀態(tài),主機在響應中斷后,需要對HPIC[HINT]位寫(xiě)1清除狀態(tài),DSP才能再次對HPIC[HINT]置位發(fā)中斷。主機通過(guò)寫(xiě)HPIC[DSPINT]置1給DSP產(chǎn)生中斷,DSP在響應中斷后,需要對HPIC[DSPINT]寫(xiě)1清除狀態(tài),主機才能繼續操作HPIC[DSPINT]給DSP發(fā)中斷。通過(guò)HPI傳輸數據,結合互發(fā)中斷做為軟件層的握手信號,可有效提高通訊的效率與靈活性。
●ALE:存在于地址,數據線(xiàn)復用的主機上用來(lái)指示地址信號周期,這種總線(xiàn)復用的主機很少見(jiàn),所以通常將ALE固定上拉處理,只用HSTROBE采樣控制信號。
●BE:Byte Enable信號,這個(gè)信號只出現在32位的C6000 DSP上。因為應用當中通常都是對整個(gè)32-bit字進(jìn)行訪(fǎng)問(wèn),所以直接做上拉使能處理。
評論