摘要:隨著性能指標的提高,嵌入式系統中DSP的測試工作也日趨復雜,需要以高速率低資源占用的接口和上位機通訊。HPI可在不影響DSP主程序運行的情況下發送數據,USB2.0則可以較高的速度將數據轉發給PC,HPI-USB2.0通訊鏈路結合了兩者的優點,以簡潔的硬件和軟件,很好地滿足了DSP的測試需求。
關鍵詞:DSP;HPI;USB2.0;測試;通訊鏈路
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)34-1831-02
An HPI-USB2.0 Link for the Communication Between C6711 DSP and PC
WU Jin-cai1, YANG Yong-wu1, ZHANG Xin2
(1.The Second Artillery Equipment Academe, Beijing 100085, China; 2.The Second Artillery 96637 Unit, Beijing 100085, China)
Abstract: With the increasing performance, the test of DSP in an embedded system is more and more complex. High speed and low cost interface is necessary to communicate with host computer. The HPI interface can send data without disturbing the main program of DSP. USB2.0 can transmit the data to PC with high speed. HPI-USB2.0 link combines the excellences of HPI and USB2.0, and satisfies the DSP test requirement with simple hardware and software.
Key words: DSP; HPI; USB2.0; test; communication link
1 引言
DSP作為數字信號處理的專用CPU,其應用日益廣泛。在DSP開發和使用過程中,經常要和PC通訊以提供調試和測試功能。還有的DSP直接作為PC外設出現,和PC的通訊就更加不可避免。
HPI是TI推出的C5000和C6000系列DSP和上位機通訊的專用并行口。它的特色在于沒有任何硬件和軟件開銷,完全不影響DSP主程序的運行。相對于耗費資源較多的EMIF和McBSP接口來說,這是很突出的。因此,HPI成為C5000和C6000系列DSP和PC通訊的首選。目前已實現的方案主要有:HPI-EPP、HPI-PCI、HPI-ISA、HPI-RS232等,其中HPI-PCI方案用得最多,這跟PCI的流行有很大關系。
USB(Universal Serial Bus,通用串行總線)是Intel、Microsoft等7家公司在90年代中期提出的串行總線標準。2000年4月,升級到2.0版本。在DSP和PC通訊領域,USB2.0的以下特點很有意義:使用雙絞線和屏蔽電纜,傳輸距離和信號質量都有保證;速度足夠高,能滿足絕大部分DSP設備的需要;可擴展性強,在多個DSP設備場合尤其有用。此外,熱插拔、真正即插即用等優點也很有價值。
由于HPI和USB2.0的這些特點,DSP和PC之間基于HPI-USB2.0方案的通訊相對于已有方案具有明顯優勢。
2 HPI簡介
HPI是大多數C5000和C6000系列DSP提供的并行口,有8、16、32位三種寬度。HPI具有豐富的控制信號,可以實現和當前流行的各種并口的無縫連接,只需很少,甚至不需外加接口邏輯。HPI有HPIC、HPIA和HPID三個寄存器,上位機通過對這三個寄存器的操作來實現對DSP存儲器或存儲器映射外設的訪問。上位機的訪問權限很大,可以訪問全部三個HPI寄存器和幾乎所有的DSP存儲器,這大大便利了PC端的開發。HPI通過DMA或EDMA訪問DSP存儲器或存儲器映射外設,不需要CPU的參與。HPI數據傳輸由此獨立于主程序之外,在DSP編程時不必為HPI設置專門的子程序。這避免了冗余子程序的出現,簡化了編程,也提高了程序的可靠性。
C6711是C6000系列DSP的廉價簡化版,非常適合于新系統開發,其 HPI信號的簡要介紹如表1和表2所示。
HPI訪問一般由上位機發起,首先要設置HPIC寄存器,然后向HPIA寄存器寫入地址,最后從HPID寄存器讀寫數據。如果采用地址自增模式,則從第二次訪問開始均不需要向HPIA寫地址。地址自增模式多用于數據量大且線性地址連續的突發傳輸。任何HPI訪問都由前后兩個半字組成,且任何情況下都不應被打斷,否則將導致HPI始終在等待后半字的到來,系統癱瘓。典型HPI讀時序如圖1所示。
3 CY7C68013芯片
CY7C68013是Cypress公司的EZ-USB FX2TM系列芯片之一。EZ-USB FX2TM是世界上第一種USB2.0集成微控制器,也是一種非常優秀的USB2.0集成微控制器。它把USB2.0收發器、串行接口引擎(SIE)、增強8051內核和可編程外設接口集成在一個芯片上。芯片的高度集成使得接口電路大為簡化,在固件編程上則變得復雜一些。這代表了USB芯片的發展趨勢:提高集成度以簡化硬件電路,降低PCB設計和制作成本,把更多資源集中到固件開發上。由于固件可任意修改,開發風險被降到最低。
FX2具有一種獨創性的結構:8051微控制器獨立于USB數據傳輸通道,由SIE實現大部分USB1.1和2.0協議,微控制器不再是提高傳輸速度的瓶頸;8個512字節RAM模塊共享為USB FIFO和外部從FIFO,實現內部傳輸和外部傳輸的無縫連接。這種獨創性結構使FX2能以最小代價實現USB2.0高速傳輸。FX2使用的是低價位增強8051微控制器,仍然能夠獲得56MB/s的數據傳輸速度,接近USB2.0允許的最高帶寬。
FX2使用“軟配置”,即它的固件是每次啟動時從主機或EEPROM等外部設備下載到內部RAM上的。這使得FX2的固件可任意修改,具有很大柔性。FX2還可配置為通用可編程接口(GPIF)或主/從端點FIFO(8或16位數據總線)模式,以便于和ATA、UTOPIA、EPP、PCMCIA等流行接口以及大部分DSP、微處理器連接。固件和接口的柔性使FX2可以勝任幾乎所有USB應用,具有明顯的通用性優勢。
通用可編程接口(General Programmable Interface)是柔性8或16位并行口。它由一個可編程有限狀態機驅動,可以和ATA、EPP等多種流行接口連接。GPIF具有六個可編程控制輸出(CTL)、九個地址輸出(GPIFADRx)和六個通用就緒輸入(RDY)。這21個信號均可用作接口控制信號,使得FX2在和各種并口連接時具有很強的適應性。用戶可以在Cypress 提供的“GPIF Designer”模塊中以圖形方式編輯這些信號的波形,組合成所需要的時序。由于控制信號豐富且波形可編程,GPIF可輕松實現USB2.0和各類并行口之間的轉換,是Cypress推薦的FX2工作模式。
■
圖2 EZ-USB FX2TM系列芯片結構框圖
4 HPI-USB2.0接口硬件電路
使用CY7C68013芯片的HPI-USB2.0接口原理圖如圖3所示。C6711 HPI和CY7C68013 GPIF之間的所有信號均直接相連,沒有使用任何外加接口邏輯,實現了徹底的無縫連接。另外,CY7C68013的外圍電路只有晶振、EEPROM、復位三個模塊,且復位模塊可被取消。簡潔的接口電路是使用CY7C68013芯片的HPI-USB2.0方案的突出優點。方案使得用戶可在極小的空間里實現HPI-USB2.0接口,這在空間受到嚴格限制的高密度設計中尤其有用。
5 HPI-USB2.0接口軟件設計
由于HPI訪問獨立于DSP主程序,所以在DSP端不必設計接口程序。本方案的軟件主要由兩個部分組成:CY7C68013的固件和驅動程序、數據傳輸應用程序。(下轉第1835頁)
(上接第1832頁)
固件在Keil uVision2下構建,編譯后以hex格式加載到片上RAM。Keil uVision2以工程方式管理設計,本方案的工程包括fw.c、Gpif.c、FX2_to_TI6711_HPI.c等七個文件。fw.c是Cypress提供的實現USB協議的文件,處理了全部USB請求。用戶不應改動它。用戶的工作集中在Gpif.c和FX2_to_TI6711_HPI.c兩個文件上。Gpif.c由“GPIF Designer”生成,包含了單個和突發傳輸的波形描述表。用戶應在“GPIF Designer”里適當編輯波形,并將此文件加入到工程中。FX2_to_TI6711_HPI.c由periph.c重命名得到,它的核心是TD_Init()和TD_Poll()這兩個函數。TD_Init()負責初始化FX2芯片,將時鐘設置為48MHz,并將各寄存器設置為適當值,使FX2能正確工作在GPIF模式。TD_Poll()負責執行PC發來的用戶自定義命令,具體實現PC和HPI間的數據傳輸。Ezusb.lib等是保證以上三個文件正常工作所必須的輔助文件。Cypress為用戶提供了豐富的設計資源,固件可在Cypress提供的參考設計基礎上修改獲得。
USB驅動是一個多層模型,底層的工作由操作系統完成,WDM驅動程序則需由用戶自行編制。本方案的驅動也可參照Cypress的建議開發。應用程序主要是數據傳輸的人機界面及其后續的處理,可用VC等編程語言編制。
6 結論
隨著USB的流行,HPI-USB2.0方案將成為DSP和PC通訊的首選。它不僅保留了HPI-PCI、HPI-ISA等方案速度高且不影響DSP主程序運行的特點,還具備了使用方便、傳輸距離遠、信號質量好等優點,因而有著廣闊的應用前景。
參考文獻:
[1] 吳旖旎,吳建平.DSP的HPI與PC機并口通信接口設計[J].中國測試技術,2007(3):30-42.
[2] 金鎮,劉璇.基于HPI的DSP開發系統設計[J].單片機與嵌入式系統應用,2007(9):26-29.
[3] 劉杰,牛燕雄,董偉,等.基于USB總線的PC機與FPGA通信系統設計[J].兵工自動化,2007(8):44-47.
[4] 孟浩,付繼華,王中宇.基于EZ-USB FX2的CMOS圖像采集系統設計與實現[J].儀器儀表學報,2007(S1):93-95.
[5] 焦斌亮,韓志學.基于EZ-USB FX2實現的高速數據采集系統[J].儀表技術與傳感器,2005(7):16-18.
[6] 宋曉宇,王永會.Visual C++高級編程技術與實例[M].北京:中國水利水電出版社,2006:245-287.
[7] 廖濟林.USB2.0應用系統開發實例精講[M].北京:電子工業出版社,2006:216-254.
[8] Texas Instruments.TMS320C6000 DSP Host Port Interface(HPI)Reference Guide(Rev.C)[EB/OL]. http://focus.ti.com/lit/ug/spru578c/spru578c.pdf.