摘 要: 介紹了USB總線的特點和分層結構,分析了TMS320F2812擴展CY7C68013A芯片控制USB接口與上位機通信的實現(xiàn)方法,在此基礎上利用HyperLynx軟件對USB接口的差分數(shù)據(jù)信號進行了仿真。
關鍵詞: USB; TMS320F2812; CY7C68013
本文所闡述的內容是依托于一個便攜式設備巡檢系統(tǒng)。系統(tǒng)的硬件是由電源管理模塊、信號處理模塊、數(shù)據(jù)采集模塊、以TMS320F2812為核心的微處理器模塊、液晶顯示模塊、接口模塊構成,軟件主要是由巡檢管理軟件構成。便攜式設備巡檢系統(tǒng)結構圖如圖1所示。
1 USB總線的特點及分層結構
1.1 USB接口的特點
以前的外部設備是通過RS232、RS485、并行接口、PCI接口和PS/2接口等老式專用接口來實現(xiàn)與計算機的通信。與老式計算機接口相比,USB接口具有以下優(yōu)點[1]:
(1)接口小巧。USB接口具有很明顯的體積優(yōu)勢,順應了計算機和外部設備小型化的發(fā)展趨勢。
(2)共享式接口。USB接口采用了“菊花鏈”的連接方式,支持多個外設連接。通過USB集線器,一個USB主控制器最多可以連接126個外設,大大拓展了計算機的外部功能。
(3)支持即插即用和熱插拔。當USB設備連接到計算機時,系統(tǒng)會自動檢測這個設備,并加載對應的驅動程序。這樣,USB實現(xiàn)了自動配置,用戶無需任何手動配置,連接設備不需要重新啟動計算機,用戶也可以隨時斷開USB設備與計算機的連接,而不會損害計算機和外部設備。
(4)支持多種操作。目前USB支持3種傳輸速率:低速1.5 Mb/s、全速12 Mb/s和高速480 Mb/s。同時,USB還支持4種類型的傳輸模式:塊傳輸、中斷傳輸、同步傳輸和控制傳輸,可以滿足不同外設的功能需要。
(5)提供電源。計算機上的USB接口可以向外提供一定功率的電源,其輸出電流的最小值為100 mA,最大為500 mA,輸出電壓為5 V,并且USB協(xié)議中規(guī)定了完備的電源管理方式,如果外部設備耗電不大,可以考慮使用USB接口直接供電,十分方便。
(6)良好的兼容性。USB規(guī)范發(fā)展至今已有USB1.0、USB1.1、USB2.0、無線USB和USB OTG等多個版本協(xié)議,這些協(xié)議都具有很好的向下兼容性。
1.2 USB系統(tǒng)的分層結構
(1)功能層:主要負責數(shù)據(jù)傳輸操作,功能層由USB設備的功能單元和對應的USB主機程序組成。特定的USB主機程序段用于與特定的USB設備功能單元的通信。
(2)USB設備層:主要用于管理USB設備、分配USB地址、讀取設備描述符。在這一層中,可以使USB主機獲得該USB設備的能力。這部分功能一方面需要USB主機自動完成,另一方面也需要用戶編寫相應的固件程序進行支持。
(3)USB總線接口層:主要用于實現(xiàn)USB主機和USB設備之間的數(shù)據(jù)傳輸。在USB協(xié)議中,USB總線接口使用NRZI編碼(反向非歸零編碼)來傳輸數(shù)據(jù),USB主控制器和USB集線器將數(shù)據(jù)接收或發(fā)送,并自動進行解碼或編碼,這部分一般由USB系統(tǒng)硬件自動完成。
2 TMS320F2812外部USB接口擴展
Cypress公司的EZ-USB FX2系列芯片是世界上第一款繼承了USB2.0協(xié)議的微處理器,最典型的就是CY7C68013,其強大功能包括USB接口以及與8051兼容的指令系統(tǒng),但是其功耗比較大,絕對值高達936mW。因此,Cypress公司隨后又推出了低功耗版本EZ-USB FX2LP系列芯片,其中用的比較多的是CY7C68013A芯片,本文就選用CY7C68013A作為USB接口的控制芯片。
2.1 CY7C68013A結構簡介
CY7C68013A芯片內部結構主要包括USB2.0收發(fā)器、串行引擎(SIE)、 增強型8051內核、 16 KB的RAM、
4 KB的FIFO存儲器、I/O接口、數(shù)據(jù)總線、地址總線和通用可編程接口(GPIF)[2]。
CY7C68013A的CPU采用增強型8051內核,指令集與標準的8051完全兼容。CY7C68013A的一個指令周期包含4個時鐘周期,而對于標準的8051而言,一個指令周期則需要12個時鐘周期來完成。除了CPU處理速度上的差異外,還進行了如下改進:
(1)具有第二個數(shù)據(jù)指針;
(2)具有第二個USART;
(3)具有第三個16 位定時器(T2);
(4)具有非復用的高速16位外部存儲器接口;
(5)8個額外的中斷(INT2-6、WAKEUP、T2和USART1);
(6)FIFO/GPIF數(shù)據(jù)傳輸模式;
(7)具有3個喚醒源的休眠模式;
(8)I2C總線接口;
(9)最多5個8位并行I/O端口。
2.2 TMS320F2812擴展CY7C68013A控制USB接口
由于TMS320F2812內部沒有集成USB控制器,所以要實現(xiàn)TMS320F2812通過USB接口與上位機進行通信,就需要外擴一個USB控制器,本文選用CY7C68013A作為USB控制器。基于CY7C68013A主要用于控制USB接口通信,并不對其他設備進行操作,設計中選用了Cypress公司提供的簡化版本的56引腳CY7C68013A,包含PA、PB、PD共3個8 bit并行I/O口。其中PB、PD組成16 bit數(shù)據(jù)總線,連接到TMS320F2812的GPIO口,負責數(shù)據(jù)傳輸;PA復用為USB通信的地址、時序控制和狀態(tài)信號[3]。CY7C68013A提供了兩種接口模式:slave FIFO和GPIF。設計中選用了slave FIFO接口模式,以便于TMS320F2812可以像普通FIFO一樣對CY7C68013A中的端點數(shù)據(jù)緩沖區(qū)進行讀寫。TMS320F2812擴展CY7C68013A與USB接口電路原理圖如圖2所示。
3 USB接口差分數(shù)據(jù)信號的仿真
便攜式巡檢系統(tǒng)通過USB接口與上位機進行通信。對于USB接口的數(shù)據(jù)線采用差分布線的方式,以保證信號傳輸?shù)馁|量,抑制干擾。通常認為信號在傳輸時采用3種方式:單點對單點、差分模式和共模模式。相比于單點對單點模式,差分信號有著明顯的不足,就是它需要兩根走線,如果PCB上信號都采用差分布線的方式,可以想象電路設計者會陷入絕境。但是差分信號又有著其不可替代的優(yōu)點[3]:
(1)差分信號在低電平應用時非常有效。因為如果一個信號的電平非常低,那么這個信號就比較容易受到其他信號的干擾,而差分信號使這個信號的電平加倍。
(2)由于差分信號是電平相同而且反向的兩根信號,不需要參考平面作為信號回路,這樣就不需要地平面或電源平面的連續(xù)性和完整性。
(3)如果兩根信號都存在噪聲干擾,就可以通過相減來抵消噪聲,因此差分信號對信號干擾有著天然的免疫力。
(4)相對于單點信號,差分信號的開關時序會比較精確,因為單點信號受到噪聲干擾后時序或占空比通常會發(fā)生變化。
對于差分布線,如果兩根信號線的長度不相等,在接收端收到信號的相位會發(fā)生變化,因此進行差分布線時,要將差分信號對約束為等長布線。對于USB的差分信號仿真圖如圖3所示。
由圖3可以觀察到,沒有接電阻端的差分信號存在較強的過沖和振鈴現(xiàn)象,容易引起時鐘或數(shù)據(jù)的誤判。針對這種現(xiàn)象,通過HyperLynx計算出差分阻抗為159 Ω,而實際中只能選用與159 Ω相近的160 Ω電阻代替。通過在差分信號接收端端接160 Ω電阻來優(yōu)化差分布線,改善了差分信號存在的過沖和振鈴現(xiàn)象,保證了設備巡檢系統(tǒng)的穩(wěn)定運行。經(jīng)過優(yōu)化,端接了160 Ω電阻的差分信號仿真圖如圖4所示。
由圖4可以觀察到,經(jīng)過端接160 Ω電阻優(yōu)化后,差分信號線的過沖和振鈴現(xiàn)象得到了很好的抑制。
USB以其小巧的體積、強大的功能、高效的傳輸速度及兼容性強等優(yōu)勢迅速成為各嵌入式系統(tǒng)與上位機進行通信的重要方式。本文基于實際項目,分析了USB通信的特點與優(yōu)勢,進一步給出了TMS320F2812擴展CY7C68013A控制USB接口與上位機進行通信的硬件設計。并且使用HyperLynx軟件對USB的差分數(shù)據(jù)信號進行仿真,改進了硬件設計,確保便攜式設備巡檢系統(tǒng)在工業(yè)現(xiàn)場的可靠運行。
參考文獻
[1] 薛園園. USB應用開發(fā)技術大全[M]. 北京:人民郵電出版社,2007.
[2] CypressSemiconductor.CY7C68013A Data Sheet[EB/OL]. 1994. www.cypress.com.
[3] 蘇奎峰,呂強,常天慶等. TMS320X281x DSP原理及C程序開發(fā)[M]. 北京:北京航空航天大學出版社,2008.
[4] 張海風. HyperLynx仿真與PCB設計[M]. 北京:機械工業(yè)出版社,2006.