引 言
電子技術(shù)和芯片技術(shù)的發(fā)展使得數(shù)字系統(tǒng)運(yùn)行的速度越來(lái)越快,設(shè)備內(nèi)部和設(shè)備之間的數(shù)據(jù)交換對(duì)高速、實(shí)時(shí)、突發(fā)的要求越來(lái)越高。總線技術(shù)是數(shù)據(jù)交換的必要環(huán)節(jié)。早期的總線傳輸一般是串行方式,一些串行總線已經(jīng)成為標(biāo)準(zhǔn),非常適合語(yǔ)音和控制信號(hào)的低速數(shù)據(jù)傳輸,數(shù)據(jù)傳輸速率一般低于1 Mbps。這類總線包括RS232、I2C、SPI、I2S等,特點(diǎn)是引線少、速率低。并行總線由于線數(shù)多,可以從8位擴(kuò)充到16位、32位和64位,甚至更高,使得數(shù)據(jù)傳輸速率成倍提高。但由于布線的差異以及干擾的存在,使得其數(shù)據(jù)傳輸?shù)耐綍r(shí)鐘速率很難超過(guò)150MHz。差分串行總線能夠解決布線差異引起的問(wèn)題,并具有較高的抗干擾性能,使得串行總線的傳輸速率得到迅速的提高。USB總線就是一種差分的串行總線,其速率可以達(dá)到480 Mbps,已經(jīng)得到非常廣泛的應(yīng)用。
很多設(shè)備的應(yīng)用場(chǎng)合中,設(shè)備之間的連接非常困難甚至不能實(shí)現(xiàn),基于無(wú)線總線的數(shù)據(jù)傳輸從而得到發(fā)展和應(yīng)用。無(wú)線總線包括藍(lán)牙、無(wú)線網(wǎng)卡、無(wú)線傳感器等。無(wú)線USB(Wireless Universal Serial Bus,WUSB)也是這樣的一種無(wú)線總線技術(shù)。由于現(xiàn)有設(shè)備的存在,使得單一的WUSB設(shè)備不能直接和現(xiàn)有設(shè)備進(jìn)行交互。為了解決WUSB向有線USB 兼容的問(wèn)題,需要研制同時(shí)具有WUSB和USB功能的設(shè)備,實(shí)現(xiàn)單一的WUSB設(shè)備和單一的USB設(shè)備之間的數(shù)據(jù)交換。本文研制了一種有線和無(wú)線USB共存的系統(tǒng),使用Cypress公司的CY-WUSB6935實(shí)現(xiàn)WUSB的數(shù)據(jù)收發(fā),使用該公司的CY7C68013實(shí)現(xiàn)有線USB的數(shù)據(jù)收發(fā),同時(shí)使用 DSP實(shí)現(xiàn)兩者之間的控制和數(shù)據(jù)處理。
1 硬件設(shè)計(jì)
1.1 WUSB和CYWUSB6935
WUSB技術(shù)的數(shù)據(jù)收發(fā)采用超寬帶技術(shù)(Ultra WideBand,UWB)的脈沖調(diào)制方式。由于其載波信號(hào)不是連續(xù)存在的,僅僅存在于數(shù)據(jù)傳輸瞬間,使得其數(shù)據(jù)收發(fā)間隙幾乎沒(méi)有功耗,因此非常適合電池供電并工作較長(zhǎng)時(shí)間。在3 m距離內(nèi),目前的WUSB2.0標(biāo)準(zhǔn)可以實(shí)現(xiàn)480 Mbps的數(shù)據(jù)傳輸速率,正在規(guī)劃的WUSB3.0可以實(shí)現(xiàn)1 Gbps的數(shù)據(jù)傳輸速率。
CYWUSB6935是Cypress公司推出的一款支持WUSB標(biāo)準(zhǔn)的芯片。其發(fā)射頻率為2.4 GHz,采用直接序列擴(kuò)頻(Direct Sequence Spread Spectrum,DSSS)技術(shù),以避免來(lái)自2.4 GHz頻段中802.11b、Bluetooth、無(wú)繩電話以及微波爐等無(wú)線信號(hào)的干擾;具有-95 dBm的接收靈敏度,確保在50 m范圍以內(nèi)獲得較強(qiáng)的全方向信號(hào);待機(jī)功耗非常低,具有約0.25μA的待機(jī)電流,使用普通電池待機(jī)時(shí)間可達(dá)數(shù)年;具有可自適應(yīng)的發(fā)射功率,可以識(shí)別收發(fā)信號(hào)的強(qiáng)弱,發(fā)射功率具有-30~0 dBm的動(dòng)態(tài)范圍。注意,CYWUSB6935具有高達(dá)62.5 kbps的數(shù)據(jù)傳輸速率,平均響應(yīng)時(shí)間少于10 ms。圖1是CYWUSB6935的內(nèi)部結(jié)構(gòu)框圖。
無(wú)線信號(hào)的收發(fā)由集成在片內(nèi)的GFSK調(diào)制器和解調(diào)器完成,調(diào)制/解調(diào)器需要外部提供標(biāo)準(zhǔn)的13 MHz的時(shí)鐘信號(hào)。該信號(hào)經(jīng)過(guò)頻率合成器轉(zhuǎn)換為發(fā)射載波信號(hào),如果頻率合成器鎖定時(shí)鐘,將輸出同頻率的13 MHz時(shí)鐘,可以由此判斷調(diào)制/解調(diào)器是否正常工作。
CYWUSB6935具有2路功能完全一樣的基帶信號(hào)處理通道,射頻端2路基帶通道都和調(diào)制解調(diào)器連接。發(fā)送數(shù)據(jù)經(jīng)過(guò)并串轉(zhuǎn)換傳輸?shù)交鶐幚硗ǖ溃唤邮諘r(shí)基帶通道處理后的數(shù)據(jù)經(jīng)過(guò)串并轉(zhuǎn)換傳輸?shù)綌?shù)字接口。基帶通道主要功能是將數(shù)據(jù)調(diào)制在擴(kuò)頻碼上,可以根據(jù)設(shè)置將一個(gè)數(shù)據(jù)位擴(kuò)頻到64個(gè)或者32個(gè)碼片上。
數(shù)字接口主要包括1個(gè)SPI接口,由于CYWUSB6935最大只有62.5 kbps的數(shù)據(jù)傳輸速率,所以SPI接口完全滿足數(shù)據(jù)傳輸要求。數(shù)字接口還具有復(fù)位、中斷、休眠選擇和設(shè)置引腳,以提高芯片的適應(yīng)性。
CYWUSB6935有4種工作模式:64 chip/b單通道、32 chip/b雙通道、32 chip/b單通道雙倍采樣和32 chip/b單通道兩倍數(shù)據(jù)速率。第3種工作模式的數(shù)據(jù)傳輸速率最低,但性能更加可靠,一般在較遠(yuǎn)距離或者信道狀況較差情況下使用;第4種工作模式的數(shù)據(jù)傳輸速率最高,但性能最差,一般在較近距離或者信道狀況較好情況下使用。模式選擇通過(guò)配置數(shù)據(jù)速率寄存器來(lái)實(shí)現(xiàn)。
接收和發(fā)射均采用中斷方式,有3種:發(fā)射中斷、接收中斷和喚醒中斷。這些中斷共用一個(gè)IRQ引腳。通過(guò)讀取中斷狀態(tài)寄存器可以確定中斷類型。如果為接收中斷,則從相應(yīng)的數(shù)據(jù)接收寄存器中獲得相應(yīng)通道的數(shù)據(jù);如果是發(fā)射中斷,則接收數(shù)據(jù)送到基帶通道中進(jìn)行擴(kuò)頻處理;如果是喚醒中斷,則切換休眠狀態(tài)到工作狀態(tài),準(zhǔn)備接收或者發(fā)射數(shù)據(jù)。
1.2 CYWUSB6935和DSP的連接
CYWUSB6935的數(shù)據(jù)接口一般采用SPI接口,與各種控制器的連接非常方便。DSP芯片選用TI公司的TMS320C6727B。該芯片是浮點(diǎn)型 DSP,最高工作頻率達(dá)到350 MHz;單個(gè)指令周期可以執(zhí)行6個(gè)浮點(diǎn)數(shù)據(jù)運(yùn)算,最高達(dá)到2 100 MFLOPS;片內(nèi)具有256 KB的RAM,片內(nèi)外設(shè)具有各種接口(其中包括與CYWUSB6935連接的SPI接口)。CYWUSB6935和TMS320C6727B的連接如圖2 所示。
TMS320C6727B作為主控制器,提供SPI的時(shí)鐘和使能信號(hào)(圖2中的SPIO_CLK和SPIO_SCS)給CY_WUSB6935。工作狀態(tài)下,CYWUSB6935一共發(fā)送3種中斷信號(hào)到TMS320C6727B,均由IRQ引腳傳輸?shù)絋MS320C6727B。其中,工作定時(shí)中斷表明 CY-WUSB6935處于正常工作狀態(tài),如果TMS320C6727B超過(guò)時(shí)間未收到定時(shí)工作狀態(tài)信號(hào),則由SPI接口軟件復(fù)位CYWUSB6935;如果軟件復(fù)位后仍然不能正常工作,則由GPIO0引腳硬件復(fù)位CYWUSB6935,從而確保CY-WUSB6935不會(huì)進(jìn)入死鎖和非正常工作狀態(tài),大大提高了系統(tǒng)的可靠性。在休眠方式下,TMS320C6727B使用GPIO1引腳控制CYWUSB6935的PD引腳,控制其進(jìn)入休眠方式;同樣,使用該引腳可以喚醒CYWUSB6935。TMS320C6727B的Flash用于存儲(chǔ)程序代碼;AIC23為音頻處理芯片,可以使用音頻信號(hào)控制 TMS320C6727B;CYWUSB6935的收發(fā)天線為PCB天線,直接在電路板上制作完成。
1.3 USB和CY7C68013
USB接口一般包括3個(gè)部分:具有USB接口的PC系統(tǒng),能夠支持USB的系統(tǒng)軟件,以及使用USB接口的設(shè)備。USB接口的應(yīng)用采用通用連接技術(shù),實(shí)現(xiàn)外設(shè)的簡(jiǎn)單快速連接,從而達(dá)到方便用戶、降低成本、擴(kuò)展PC機(jī)連接外設(shè)范圍的目的。
USB接口的特點(diǎn)如下:連接靈活、使用方便;為USB接口設(shè)計(jì)的驅(qū)動(dòng)程序和應(yīng)用軟件可以自動(dòng)啟動(dòng),無(wú)需用戶干預(yù);單獨(dú)使用自己的保留中斷,不會(huì)同其他設(shè)備爭(zhēng)用資源;可以為外設(shè)提供電源,USB接口能自動(dòng)識(shí)別外設(shè)所需的電源,并通過(guò)USB電纜向該設(shè)備供電(最高可達(dá)500mA,可以使用2根USB電纜,提高供電電流到1 A)。
CY7C68013是Cypress公司推出的USB2.0芯片。它包括8051處理器、智能串行接口引擎、USB收發(fā)器、16 KB片上RAM存儲(chǔ)器以及通用可編程接口。智能串行接口引擎執(zhí)行所有基本的USB功能,將嵌入的8051處理器解放出來(lái)用于實(shí)現(xiàn)其他功能,以保證連續(xù)、高速、有效的數(shù)據(jù)傳輸。RAM存儲(chǔ)器可以分配4 KB的大容量FIFO用于數(shù)據(jù)緩沖,作為從設(shè)備時(shí),可采用同步或者異步FIFO接口與主設(shè)備連接;作為主設(shè)備時(shí),可通過(guò)GPIO接口配置控制時(shí)序來(lái)實(shí)現(xiàn)與其他從設(shè)備連接。
CY7C68013的內(nèi)部結(jié)構(gòu)如圖3所示,其中與外部設(shè)備的接口包括I2C總線、GPIO接口和FIFO接口等。數(shù)據(jù)通過(guò)這些接口傳輸?shù)絻?nèi)部的數(shù)據(jù)和地址總線,由8051處理器處理,或者直接送到USB接口的智能引擎單元;然后傳輸?shù)経SB收發(fā)器,最終傳輸?shù)絇C機(jī)。CY7C68013片內(nèi)還包括PLL時(shí)鐘電路,將外部的24 MHz時(shí)鐘信號(hào)連接到USB收發(fā)器和8051處理器,驅(qū)動(dòng)內(nèi)部模塊工作。
1.4 CY7C6801 3和DSP的連接
CY7C68013和DSP的連接有兩種方式:從設(shè)備的FIFO方式和主設(shè)備的GPIO方式。本設(shè)計(jì)采用從設(shè)備的FIFO方式,DSP作為主設(shè)備。DSP可以像讀寫(xiě)普通FIFO一樣對(duì)CY7C68013內(nèi)部的多層緩沖FIFO進(jìn)行讀寫(xiě)。具體的接口電路如圖4所示。
FlagA、FlagB和FlagC是CY7C68013內(nèi)部FIFO的狀態(tài)標(biāo)志,分別對(duì)應(yīng)FIFO的空、半滿和全滿狀態(tài)。TMS320C6727B 通過(guò)GPIO0、GPIO1和GPIO2引腳來(lái)獲得這些狀態(tài)信息。其中,CY7C68013的半滿狀態(tài)可由軟件設(shè)置。半滿僅僅表示FIFO中有數(shù)據(jù),還存在未寫(xiě)的空間。例如,如果1 024個(gè)數(shù)據(jù)為全滿,可以設(shè)置半滿個(gè)數(shù)為1~1 023。
TMS320C6727B通過(guò)EMIF接口的CE2空間對(duì)CY7C68013進(jìn)行讀寫(xiě)操作。當(dāng)通過(guò)CY7C68013向PC機(jī)發(fā)送數(shù)據(jù)時(shí),首先查看空、半滿和全滿這3個(gè)狀態(tài)信號(hào),如果狀態(tài)為空或者半滿,則向CY7C68013寫(xiě)入適當(dāng)大小的數(shù)據(jù),以保證數(shù)據(jù)不會(huì)溢出;PC機(jī)通過(guò)CY7C68013向 TMS320C6727B發(fā)送命令字時(shí),CY7C68013通過(guò)中斷方式通知DSP讀取其命令字。
2 軟件設(shè)計(jì)
整個(gè)系統(tǒng)的軟件設(shè)計(jì)包括3個(gè)部分:DSP的軟件設(shè)計(jì),PC的應(yīng)用程序設(shè)計(jì),以及CY7C68013的軟件設(shè)計(jì)(包括固件設(shè)計(jì)和驅(qū)動(dòng)程序設(shè)計(jì))。
DSP運(yùn)行的軟件主要是作為CYWUSB6935和CY7C68013的數(shù)據(jù)收發(fā)通道。其具體的工作流程如圖5所示。DSP上電初始化后,將依次掃描所有可用的127無(wú)線頻帶的無(wú)線信號(hào),查看周圍是否存在可用的無(wú)線USB設(shè)備,并判斷它們是否屬于本系統(tǒng)的設(shè)備。如果存在本系統(tǒng)的設(shè)備,則進(jìn)行信噪比檢測(cè),并控制發(fā)射功率,也可以優(yōu)先采用空閑頻帶。當(dāng)雙方建立連接后,即可進(jìn)行正常的數(shù)據(jù)通信。DSP完成了某個(gè)頻帶的設(shè)備通信后,將進(jìn)行下一個(gè)頻帶設(shè)備的搜索,直到搜索完成所有頻帶設(shè)備,然后重復(fù)整個(gè)搜索過(guò)程。
對(duì)于有線USB設(shè)備,DSP軟件處理較簡(jiǎn)單,等待USB通信建立包就可以了。由于設(shè)備的識(shí)別和連接均由CY7C68013完成,DSP只須等待CY7C68013發(fā)出的通信中斷。
CY7C68013運(yùn)行的軟件為固件程序,主要功能是控制CY7C68013接收并處理USB驅(qū)動(dòng)程序的請(qǐng)求,控制CY7C68013接收應(yīng)用程序的控制指令,通過(guò)CY7C68013存放數(shù)據(jù)并實(shí)時(shí)上傳至PC機(jī)等。固件程序存儲(chǔ)在PC機(jī)驅(qū)動(dòng)程序中,通過(guò)CY7C68013的枚舉過(guò)程自動(dòng)下載到 CY7C68013中運(yùn)行。
驅(qū)動(dòng)程序一般由兩部分組成:較高級(jí)的通用串行總線驅(qū)動(dòng)程序模塊和較低級(jí)的主控制器驅(qū)動(dòng)程序模塊。主要功能:實(shí)現(xiàn)管理USB設(shè)備驅(qū)動(dòng)程序和USB控制器之間的通信;加載及卸載USB驅(qū)動(dòng)程序;與USB設(shè)備建立通信,并執(zhí)行設(shè)備配置、數(shù)據(jù)與USB協(xié)議框架和打包格式的雙向轉(zhuǎn)換任務(wù)。Cypress公司為了方便用戶開(kāi)發(fā)USB接口,在CY7C68013的軟件開(kāi)發(fā)包中提供了一個(gè)通用驅(qū)動(dòng)程序。該程序可不加修改,編譯后直接使用。
CY7C68013的工作流程如圖6所示。上電初始化后,程序處于TD_Init狀態(tài),CY7C68013等待PC的設(shè)備建立命令。如果此時(shí)將 CY7C68013連接到PC機(jī),PC機(jī)將檢測(cè)到新的USB設(shè)備,并調(diào)用相應(yīng)的USB驅(qū)動(dòng)程序進(jìn)行CY7C68013的枚舉工作。枚舉完成后PC機(jī)將提示有一個(gè)可用的USB外設(shè),CY7C68013就可以和PC機(jī)進(jìn)行數(shù)據(jù)通信了。此時(shí)CY7c68013運(yùn)行在TD_Poll狀態(tài),一直檢測(cè)是否收到通信建立包。如果收到該協(xié)議包則進(jìn)行數(shù)據(jù)通信,直到數(shù)據(jù)通信結(jié)束;若空閑,則自動(dòng)進(jìn)入TD_Poll狀態(tài)。CY7C68013在DSP控制過(guò)程中,如果收到通信建立包,則將該命令存儲(chǔ)到其內(nèi)部寄存器中,直到空閑時(shí)才會(huì)響應(yīng)該通信建立包。作為PC機(jī)驅(qū)動(dòng)程序,如果長(zhǎng)時(shí)問(wèn)未收到CY7C68013的響應(yīng),則重發(fā)該命令,若連續(xù)重發(fā)3次以上,會(huì)取消該命令。
結(jié) 語(yǔ)
USB設(shè)備作為高速實(shí)時(shí)的數(shù)據(jù)通信接口已經(jīng)得到廣泛的應(yīng)用,無(wú)線USB也逐漸得到發(fā)展和應(yīng)用。本文設(shè)計(jì)的系統(tǒng)能夠?qū)崿F(xiàn)無(wú)線USB和普通有線USB之間的數(shù)據(jù)傳輸。該系統(tǒng)具有小型化、低功耗、高性能的特點(diǎn),具有良好的應(yīng)用前景。由于采用DSP為處理器,可以方便地實(shí)現(xiàn)各種處理算法(例如壓縮多個(gè)WUSB的語(yǔ)音信號(hào)傳輸?shù)絇C機(jī)),也可以實(shí)現(xiàn)多個(gè)WUSB語(yǔ)音信號(hào)的混音功能,實(shí)現(xiàn)多路的無(wú)線通信。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
454文章
50430瀏覽量
421861 -
無(wú)線
+關(guān)注
關(guān)注
31文章
5431瀏覽量
173089 -
總線
+關(guān)注
關(guān)注
10文章
2868瀏覽量
87991
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論