摘 要:簡要介紹了EZ-USB FX2的GPIF接口和TMS320C6201的HPI口,并給出了兩者通信的實現(xiàn)方案。此方案為DSP擴展了一個USB2.0接口,在與PC機進行數(shù)據(jù)傳輸時能達到很高的傳輸速率。
關鍵詞:單片機;通信;數(shù)據(jù)傳輸;通用可編程接口;設計
一、 引言
EZ-USB FX2芯片是CYPRESS公司推出的支持USB2.0協(xié)議的新一代智能單片機,它包括1個8051處理器、1個串行接口引擎(SIE)、1個USB收發(fā)器、8.5KB片上RAM、4KB FIFO存儲器以及1個通用可編程接口(GPIF),如圖1所示。

EZ-USB FX2擁有1個獨特的架構,其中包括1個智能串行接口引擎(SIE)。它執(zhí)行所有基本的USB功能,將嵌入式MCU解放出來以用于實現(xiàn)專用的功能,并保證其持續(xù)的高性能的傳輸速率。FX2還包括1個通用可編程接口,允許它“無縫連接”,即可與任何ASIC或DSP進行連接,并且它還支持所有通用總線標準,包括ATA、UTOPIA、EPP等。EZ-USB FX2完全適用于USB2.0,并向下兼容USB1.1。
本文給出了一個如何利用FX2的GPIF(通用可編程接口)來讀寫TMS320C6201 HPI口(主機口)的可行方案。
二、GPIF及HPI簡介
1GPIF簡介
GPIF是EZ-USB FX2系列單片機提供的一個可由用戶編程的接口,具有高速、靈活等特點,可方便地實現(xiàn)與各種外設之間的無縫連接。GPIF的核心是一個可編程的狀態(tài)機,通過對其進行編程可以實現(xiàn)多種協(xié)議,如IEEE1284、ATA等,功能非常強大。
GPIF主要信號線描述如下:
IFCLK:IFCLK是所有GPIF操作的參考時鐘。設置為內部時鐘時,主頻為48或32 MHz。設置為外部時鐘時,范圍為5~48 MHz;
GPIFADR[8:0]:GPIF使用GPIFADR[8:0]來提供外設所需的地址線;
FD[15:0]:GPIF的數(shù)據(jù)線,是GPIF與外設之間傳輸數(shù)據(jù)的通道。在16位模式中,F(xiàn)D[7:0]代表FIFO的第一個字節(jié),F(xiàn)D[15:8]代表FIFO的第二個字節(jié);
CTL[5:0]:這幾根控制輸出線可提供外圍設備所需的信號。如讀/寫信號、選通信號等;
RDY[5:0]:這幾根控制輸入線可用于檢測外設的狀態(tài)。如FIFO狀態(tài)標志、數(shù)據(jù)能否獲取標志等;
GSTATE[2:0]:當前GPIF狀態(tài)數(shù),用于判斷GPIF的狀態(tài),一般用于調試。
GPIF共有4組波形描述符來實現(xiàn)用戶所需的波形,通常將這四種波形分別定義為單字節(jié)讀、單字節(jié)寫、FIFO讀和FIFO寫。通過設置EZ-USB FX2內部的寄存器GPIFWFSELECT,可選擇其中一組波形輸出。
每個GPIF動作由若干個狀態(tài)(最多可達7個)組成,執(zhí)行完最后一個狀態(tài)后,就會跳轉到特定的IDLE狀態(tài),以觸發(fā)下一次GPIF動作。這些狀態(tài)可分為2種:NDP和DP。當某個狀態(tài)為NDP(Non-Decision Point)時,它僅是進行簡單的時延,以滿足用戶具體波形的需要。而當某個狀態(tài)定義為DP(Decision Point)時,它允許GPIF對2個信號進行采樣并進行適當?shù)倪壿嬤\算,由運算的結果來決定下一個即將執(zhí)行的狀態(tài)。兩個采樣的信號可設置為RDY信號、FIFO標志以及用戶自定義標志的任意組合。
2.HPI簡介
TMS320C6201的HPI是一個16位的并行接口,主機(此設計中是EZ-USB FX2)可通過HPI口直接訪問CPU的內存空間。HPI提供了專用的地址線、數(shù)據(jù)線和控制線,可以方便地與主機進行數(shù)據(jù)交換。
HPI各個引腳描述如下:
HD[15:0]:16位雙向三態(tài)數(shù)據(jù)總線;
HCNTL[1:0]:選擇訪問的HPI寄存器;
HHWIL:半字標志,判斷是第一個半字還是第二個半字;
#HAS:用于地址線與數(shù)據(jù)線復用的接口,用于鎖存地址;
#HBE[1:0]:寫字節(jié)使能;
HR/#W:讀/寫標志;
#HCS:片選信號;
#HDS[1:2]:數(shù)據(jù)選通信號;
#HRDY:READY狀態(tài)指示;
#HINT:中斷信號,用于向主機提出中斷申請。
主機訪問HPI口必須通過訪問HPI的各個寄存器(HPIC、HPIA、HPID)來實現(xiàn)。HPIA(HPI地址寄存器)包含當前尋址操作的HPI內存地址,HPID(HPI數(shù)據(jù)寄存器)包含主機通過HPI與DSP通信的數(shù)據(jù),HPIC(HPI控制寄存器)包含HPI操作的控制和狀態(tài)位。
主機訪問HPI時,首先初始化HPIC寄存器,然后初始化HPIA寄存器,再從HPID寄存器中讀出或寫入數(shù)據(jù)。此外,HPI還提供了一種以地址自增方式訪問數(shù)據(jù)寄存器的方式,使得數(shù)據(jù)傳輸速率大大提高。
三、硬件連接
GPIF與HPI的硬件連接如圖2所示。





