- 相關推薦
PC/104總線與TMS320VC5402 HPI口通信的解決方案
摘要:介紹了TI公司信號處理芯片TMS320VC5402HPI(主機接口)的結構及主要特點,提出了HPI接口與PC/104總線進行通信連接的設計方案。該方案充分利用DSP的HPI接口功能,實現了主機實時讀/寫DSP任意片內存儲單元的內容。關鍵詞:DSPHPIPC/104
TMS320VC5402(以下簡稱C5402)是德州儀器公司(TI)推出的性價比極高的定點數字信號處理器(DSP)。采用改進的Harvard處理結構和指令流水線操作,計算處理速度很高(100MIPS),指令周期可達10ns;片內提供16K字的RAM,用作程序和數據存儲,其最大可擴展尋址空間為1M字;主機接口(HPI)是具有強大功能的智能外設,提供了DSP和外部處理器的通信接口。掌握HPI的原理和使用方法,可以使硬件的設計更加簡單靈活。DSP在通過HPI口和主機通信的過程中完全沒有軟件和硬件開銷,由DSP自身的硬件協調沖突,不會打斷DSP正常程序的運行。在HPI通信方式下,DSP的片內存儲器對外界完全透明,由主機訪問HPI的地址和數據寄存器便可完成對DSP片內存儲器的讀/寫。
本文立足于實驗經驗,以TMS320VC5402與PC/104總線為例,介紹基于HPI口的硬件接口及軟件實現。
1TMS320VC5402HPI口簡介
主機接口HPI(HostPortInterface)是TMS320C5000系列定點芯片內部具有的一種接口部件,主要用于DSP與其它總線或CPU進行連接。TI的C54xx系列都提供了8位或16位的增強型HPI接口,在此以C5402增強型8位HPI接口為例進行詳細介紹。
C5402的HPI口由一個8位數據總線和用于設備和控制接口的控制信號線組成,HPI接口通過HPI控制寄存器HPIC、地址寄存器HPIA、數據寄存器HPID和HPI內存塊,實現與主機之間的通信。其主要特點在于接口所需外圍硬件很少,很容易與各種主機相連,且僅需要很少甚至不需要外加接口邏輯。引腳功能如表1所示。
表1HPI引腳的名稱及功能
HPI引腳接至主機引腳狀態信號功能HD0HD7數據總線I/O/ZHPI雙向并行三態數據總線。
當不傳送數據(/HSC或/HDSx=1)或EMU1//OFF=0(切斷所有輸出)時,HD7(MSB)~HD0(LSB)均處于高阻態。/HAS地址鎖存使能(ALE)或地址選通輸入信號引腳,不用則接高電平I地址選通輸入信號。如果主機的地址和數據是一條多路總線,則/HAS連到主機的ALE引腳;如果主機的地址和數據是分開的,就將/HAS接高電平。/HCS地址或控制線I片選信號。作為HPI的使能輸入,主機在對HPI訪問時信號/HCS要保持低電平。HBIL地址或控制線I字節輸入識別信號。HBIL為低時讀/寫第一個字節,為高時讀/寫第二個字節。HBIL和HPI控制寄存器(HPIC)中的BOB位配合使用。HCNTL0/1地址或控制線I主機控制信號。選擇主機所訪問的是哪個寄存器:地址寄存器HPIA、數據寄存器HPID、控制寄存器HPIC。/HDS1/2讀/寫、數據選通輸入信號引腳I數據選通輸入。在主機訪問期間控制HPI數據的傳輸。/HINT主機中斷輸入O/Z主機中斷輸入。由控制寄存器HPIC中的HINT位控制。當C54x復位時為高電平,EMU1//OFF低電平時為高阻態。HRDY異步準備好信號引腳O/ZHPI接口準備好信號輸出。HRDY為高說明HPI準備好數據傳送(主機可進行數據傳輸),為低表示HPI接口忙(主機不可傳輸數據),正在進行上次傳輸的內部操作。HR//W讀寫選通信號引腳或地址線I讀/寫選通信號輸入端。在主機訪問期間控制數據的傳輸方向。高電平表示主機讀HPI,低電平表示寫HPI。HPIENAVDDIHPI模塊選擇輸入。信號必須和VDD聯系起來,保證選擇HPI。如果輸入為開或接地,HPI模塊將不會被選擇。
HPI是8位的數據總線接口,由于C5402是16位的,所以與主機通信的數據都是由兩個連續的字節組成,并且由HBIL引腳指示正在傳輸的是第一個還是第二個字節。主機使用HCNTL0/1指定所訪問的是HPI控制寄存器HPIC或HPI數據寄存器HPID或HPI地址寄存器HPIA,也可以用地址自動增加的方式訪問數據寄存器HPID,具體方式如表2所示。
表2HCNTL0/1功能選擇
HNTL0HCNTL1說明00主機可以讀寫HPI的控制寄存器HPIC。01主機可以讀寫HPI的數據寄存器HPID。每次讀后HPIA加1,每次寫前HPIA加1。10主機可以讀寫HPI的地址寄存器HPIA。11主機可以讀寫HPI的數據寄存器HPID。對HPI口的操作,HPIA不受影響。
2系統的硬件設計方案
整個硬件系統由DSP、EPM7128S、TPS73HD301、SST39VF400A等組成。DSP的主要任務是將經放大和解調后的無線電修正通道視頻信號接收下來,現通過譯碼等處理后送給主探機。其原理如圖1所示。
C5402采用低電壓工作,其內核電壓為1.8V、I/O管腳電壓為3.3V,而PC/104總線工作于5V電壓。為了使電路能穩定正常的工作,C5402的數據總線接有一個SN74LVC245A。它是TI公司生產的3.3V和5V電壓平相轉換的雙向緩沖器,可以雙電源供電,一邊工作在3.3V,一邊工作在5V,轉換的方向由兩個DIR管腳控制。它串在數據總線上,既可以為DSP提供驅動5V數字電路的能力,也可以為DSP提供5V信號讀入的保護。這樣,就不再需要為多個不同外設而考慮總線驅動不夠的問題。DSP主機接口和PC/104的連接如圖2所示。
主機和DSP可獨立地對HPI接口操作,主機和DSP的握手可通過中斷方式完成。另外,主機還可以通過HPI接口裝載DSP應用程序,接收DSP運行結果或診斷DSP運行狀態,為DSP芯片的接口開發提供一種極為方便的途徑。HPI-8為8位并行口,提供C54x與外部主機的接口,C54x可通過片內RAM與主機設備交換數據。主機與HPI-8的通信是通過專用的地址寄存器和數據寄存器完成的,C54x不能直接讀/寫,HPI控制寄存器允許主機和C54x進行讀/寫,包括配置通信協議和控制通信(握手)的比特。
EPM7128S用來提供整個系統需要的組合邏輯。它屬于MAX7000系列,是Altera公司的基于第二代MAX結構的CPLD。它提供多達5000個可用門和在系統編程,其引腳到引腳延時快達6ns。可以容納各種各樣的獨立的組合邏輯和時序邏輯。EPM7128S有兩個工作電壓核電壓為5V,I/O工作電壓可設為5V或3.3V。設為3.3V時,其輸入為5V,而輸出為3.3VTTL電平(所有的驅動器均能配置在3.3V和5V,允許用于混合電壓系統中)。EPM7128S的優點是基于E2PROM原理,可以通過JTAG口進行在線編程,設計得可將設計內容從PC機上通過下載電纜和JTAG口對EPM7128S進行任意次修改。在這里使用EPM7128S是為電路提供組合邏輯以映射空間。它有多達100個I/O引腳可供編程使用,可以接入PS、IS等管腳,方便系統擴展存儲空間和外設。
3軟件編程
程序分為兩大部分:主程序及中斷服務子程序。主程序完成初始化后,等待CC同步脈沖的到來。CC同步信號連到DSP的外部中斷上,當脈沖到來時,DSP響應外部中斷,脈沖到來一次響應一次中斷。中斷服務子程序完成隨機數的迭代、對比、信號的接收、譯碼、解密及主控機的數據傳輸等。主程序流程如圖3所示。
C54x和主機都能夠訪問C54x片內RAM。主機存儲必須同步于C54x的時鐘,以確保片內RAM讀/寫正確。當C54x和主機同時讀/寫同一存儲區域時將產生沖突,這時主機具有優先權,C54xCPU將等待一個C54x時鐘周期。
主機訪問HPI時,首先完成外部接口部分的操作,即先即始化HPIC寄存器,然后初始化HPIA寄存器,再從HPID寄存器中讀出或寫入數據。HPI的3個寄存器如表3所示。
表3HPI寄存器
名稱地址
說明
HPIA--HPI地址寄存器,只能由主機讀寫。該寄存器對應主機訪問的C54x的片內地址。HPIC002ChHPI控制寄存器,主機和C54x都可以讀寫。用于對HPI操作的控制與狀態位。HPID--HPI數據寄存器,只能由主機讀寫。主機讀寫由HPIA指定的C54x片內存儲器單元。
在DSP的初始化程序中,一般對HPIC進行了初始化后就無需再對HPI操作了,其余的工作就完全由主機完成。通過HPI接口,主機和C54x之間可以相互發送中斷請求。主機通過HPIC寄存器的DSPINT位中斷C54x,而C54x通過HPIC寄存器的HINT位發中斷請求到主機。無論是主機或C54x都可以通過讀取HPIC來判斷HINT引腳的狀態,但是HPIC中的HINT位只能由主機清除。
HPID寄存器具有可供選擇的自動地址自增特性,它為讀/寫連續的存儲區提供了便利。自增模式下連接傳送數據,每訪問存儲器一次,HPIA寄存器地址就自動增加。由于主機無需在每次訪問存儲器時修改HPIA值,從而提高了系統性能。當HCNTL0=1且HCNTL1=0時選擇自增模式。需要注意的是,如果采用了擴展的片內RAM,要保證正確的自增操作,HPIC寄存器中的XHPIA位必需設置為1。
當使用地址自增模式時,讀操作后HPIA寄存器地址加1;寫操作前,HPIA寄存器地址加1。因此,如果對給定地址使用自增模式下寫操作時,HPIA寄存器應初始化為起始地址減1。地址自增會影響HPIA的16位,在使用擴展片內RAM(C5410除外)時,地址自增也影響擴展地址。如果HPIA=FFFh,那么下次讀/寫時將HPI地址改變為010000h。由于C5410的地址自增不會影響擴展HPI尋址,因此在上面的操作中,如果使用C5410,將使C5410地址改變為000000。
HPI口的應用極大地方便了PC/104總線與DSP系統的數據交換,使在線修改DSP存儲器的數據成為可能。該方案靈活、簡單,適用于任何含有HPI接口的DSP應用系統,從而為開發人員提供了一種全新的數據共享/傳輸方案。
【PC/104總線與TMS320VC5402 HPI口通信的解決】相關文章:
基于PC104總線的故障診斷裝置的設計08-06
基于PC/104的多串口通訊的設計08-06
PC/104模塊Diamond-MM-AT的原理與應用08-06
DSP與PC機的PCI總線高速數據傳輸08-06
一種PC104溫度采集卡的設計08-06
基于CAN總線的多ECU通信平臺設計08-06
基于FPGA的總線型LVDS通信系統設計08-06