汪揚埔 文仁軼 王樞
摘 要 可配置主機并行接口(Host-Port Interface,簡稱HPI)是DSP與外部系統進行通信的一個重要并行接口部件。通過HPI,可以完成外部主設備系統與DSP內部存儲空間的數據交換、DSP芯片的自舉以及調試。本文詳細介紹了DSP64X 主機并行接口(HPI)的主要協議,包括外部接口、四個寄存器的配置、配置為16位和32位的總線訪問等。
關鍵詞 可配置主機 并行接口 描述
中圖分類號:TP3 文獻標識碼:A
DSP64X具有32條外部引腳接口,通過DSP復位期間對特定的芯片管腳使能,可以配置HPI接口支持16位寬的數據總線和32位寬的數據總線兩種模式(文中一律簡稱為HPI 16模式和HPI 32模式)。不管是HPI 16模式還是HPI 32模式,HPI都是以字傳輸來實現對DSP存儲空間的訪問。
1HPI外部接口描述
通過配置,外部HPI信號可以與各種主機部件實現接口。配置HCS 與HDS[1:2] 三個鎖存信號的電平,可產生一個低電平有效的內部鎖存信號HSTROBE 。HSTROBE 表示內部產生的選通信號,在其下降沿會對主機驅動的輸入控制信號HCNTL[1:0],HHWIL,HR/W 進行采樣。
2 HPI的寄存器配置
HPI是通過特定的寄存器配置來實現外部主機與CPU之間的通訊的。DSP64X中共有4個寄存器:HPI數據寄存器(HPID)、HPI地址寄存器(HPIA)、HPI控制寄存器(HPIC)、HPI傳輸請求控制寄存器(TRCTL)。主機能對HPIC、HPIA、HPID三個寄存器進行讀/寫訪問,而CPU能對HPIC、HPIA、TRCTL進行訪問。外主機通過訪問HPI實現與DSP傳輸的基本流程為:主機首先通過配置外部引腳到適當的電平,寫地址寄存器HPIA,配置主機所要訪問的DSP存儲空間的地址;然后改變外部控制信號,發出訪問主機接口的數據寄存器的命令,主機接口根據命令產生相應請求提交給EDMA控制器。如果EDMA控制器忙,則向HPI發送忙信號,HPI將外部HRDY信號拉高,表示DSP忙,使主機進入等待狀態,直到EDMA完成當前操作。如果EDMA 控制器處于空閑狀態,將直接響應HPI的請求,并對HPI送來的地址進行譯碼,送到相應的EDMA通道進行存取。
3HPI的總線訪問描述
DSP64X的HPI總線訪問可分為HPI 16和HPI 32兩種模式。為保證數據正確傳輸,在任何一個HPI進行傳輸(包括HPIC、HPIA和HPID寄存器訪問)之前,都必須保證HRDY 信號為低電平,否則傳輸的正確性不能得到保證。
3.1配置為HPI 16模式的總線訪問
配置為HPI 16模式傳輸,在對兩個半字訪問時,HCNTL[1:0]和HR/W 必須要設定為相同的值。對于第一個半字傳輸,HHWIL應配置為低電平;而對于第二個半字的傳輸,HHWIL必須配置高電平。HPI 16模式數據傳輸包括HAS 信號不使用時讀、寫操作和HAS 信號使用時的讀、寫操作4種情況。
3.1.1鎖存控制信號
在信號配置時,是否使用HAS 信號,鎖存控制信號的方式也不相同。如果HAS 沒有使用,并且連接在高電平,則由HSTROBE 的下降沿鎖存控制信號;如果使用HAS ,則由HAS 的下降沿鎖存控制信號,此時HAS 信號的下降沿必須領先于HSTROBE 信號的下降沿。
3.1.2HPID寄存器的讀操作
(1) 固定地址讀HPID模式。在一次固定地址讀中,當HPI向EDMA發送請求時,此時HRDY 信號應被置高電平,直到被請求的數據被加載如HPID寄存器;在第二個半字讀取的時,因為請求數據已經存在于HPID寄存器之中,所以HRDY 信號應為低電平。
(2)自增地址讀HPID模式。如果是第一次HPID寄存器讀操作,那么在HSTROBE 信號的下降沿之后,HRDY 要被配置為高電平。當第一個數據由EDMA送入內部緩存后,數據應地址自動指向下一個,HPI繼續執行連續的數據捕獲。當前讀操作完成時,如果緩存中已有準備好的數據,HRDY 信號應該在下一次讀操作時保持有效,所以在檢測到HRDY 有效前,外部主機不能停止讀周期。
3.1.3HPID寄存器的寫操作
(1)固定地址寫HPID模式。在一次固定地址寫HPID寄存器操作中,主機要向HPID依次傳輸2個半字,寫訪問結束(由HSTROBE 的第二個上升沿標示)后,HPID里的32位數據開始按照HPIA寄存器指定的地址進行傳輸。因此在檢測到HRDY 信號為低電平之前,主機不應該終止一個寫周期。
(2)自增地址寫HPID模式。自增地址寫HPID寄存器的數據應先被寫入內部緩存區,直到緩存半滿或者寫操作結束時,DSP再啟動EDMA進行內部傳輸。此時,由于數據已存在于緩存區,HPID可以立即接收下一個寫數據,HRDY 信號會在主機進行下一次寫操作時保持有效,所以在檢測到HRDY 有效前,外部主機不能停止寫周期。
3.1.4HPIC和HPIA寄存器訪問操作
為保證數據傳輸的正確,在配置HPIC或HPIA寄存器時,必須要在HPID寄存器訪問狀態轉換之前完成。
3.2 配置為HPI 32模式的總線訪問
由于使用32位數據總線,因此每次讀/寫操作只需要進行一次32位的傳輸,此時半字選擇信號HHWIL被配置為無效,除此之外,HPI 32的操作與HPI 16的操作類似。