PC/104總線/TMS320VC5402HPI口通信解決方案
![]() |
EPM7128S用來提供整個系統需要的組合邏輯。它屬于MAX7000系列,是Altera公司的基于第二代MAX結構的CPLD。它提供多達5000個可用門和在系統編程,其引腳到引腳延時快達6ns。可以容納各種各樣的獨立的組合邏輯和時序邏輯。EPM7128S有兩個工作電壓,核電壓為5V, I/O工作電壓可設為5V或3.3V。設為3.3V時,其輸入為5V,而輸出為3.3V TTL電平所有的驅動器均能配置在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和主機同時讀/寫同一存儲區域時將產生沖突,這時主機具有優先權,C54x CPU將等待一個C54x時鐘周期。
主機訪問HPI時,首先完成外部接口部分的操作,即先初始化HPIC寄存器,然后初始化HPIA寄存器,再從HPID寄存器中讀出或寫入數據。HPI的3個寄存器如表3所示。
在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=FFFFh,那么下次讀/寫時將HPI地址改變為010000h。由于C5410的地址自增不會影響擴展HPI尋址,因此在上面的操作中,如果使用C5410,將使C5410地址改變為000000。
HPI口的應用極大地方便了PC/104總線與DSP系統的數據交換,使在線修改DSP存儲器的數據成為可能。該方案靈活、簡單,適用于任何含有HPI接口的DSP應用系統,從而為開發人員提供了一種全新的數據共享/傳輸方案。
評論