基于WE904的實時圖像無線傳輸設(shè)計
關(guān)鍵詞:DSP McBSP WE904 無線收發(fā)模塊 5B6B編碼
引言
隨著短距離、低功率無線數(shù)據(jù)傳輸技術(shù)的成熟,特別是藍牙、802.11b等應用的推廣,無線數(shù)據(jù)傳輸應用再次成為應用的熱點。本文介紹一款基于新加坡Winedge公司WE904芯片的無線收發(fā)模塊,說明其在一個實時無線圖像數(shù)據(jù)傳輸系統(tǒng)中的應用,以其實現(xiàn)一個低發(fā)射功率和低成本的實際應用系統(tǒng)。為低成本中低速的無線數(shù)據(jù)傳輸提供一種新的解決方案。
1 系統(tǒng)簡介
系統(tǒng)的簡單框圖如圖1。此系統(tǒng)的簡單工作過程為:①電腦眼負責圖像采集和圖像信號的A/D轉(zhuǎn)換。②電腦眼輸出的圖像信號由DSP芯片TMS320VC5402(以下簡稱5402)編碼壓縮。③5402通過McBSP(多通道緩沖串口)實現(xiàn)與WE904模塊的接口,實現(xiàn)WE904模塊的配置,并且將編碼后的圖像信號以RS232協(xié)議的信號格式輸?shù)絎E904模塊,經(jīng)調(diào)制后發(fā)送出去。④接收端的WE904模塊輸出TTL電平的信號,經(jīng)過RS232電平接口的電平轉(zhuǎn)換后由串口輸入PC機。⑤PC機將收到的圖像信號解碼并顯示出來。
2 WE904無線收發(fā)模塊WE915CTX1介紹
WE915CTX1無線收發(fā)模塊的主芯片是新加坡Winedge公司的WE904。WE904是一款支持全雙工的單片調(diào)頻收發(fā)芯片,僅需少量外部元件即可實現(xiàn)無線收發(fā)功能,工作頻率范圍可以從0.1GHz到1GHz。WE904提供串行編程接口,通過串行編程接口可以靈活地調(diào)整收發(fā)頻率、信號輸出模式、是否支持全雙工等參數(shù)。本系統(tǒng)在設(shè)計初期直接使用了WE904的模塊WE915CTX1。WE915CTX1集成了WE904芯片和所需的外部元件,并提供了簡明的使用接口,可以非常方便地嵌入到應用系統(tǒng)中。其主要的特點是:
①工作于902MHz~928MHz美國ISM頻段,可以提供20個通道;
②使用FM/FSK的調(diào)制方式,頻道寬度100kHz;
③提供數(shù)字信號和模擬信號兩種輸出模式,可用于數(shù)字和模擬信號的傳輸;
④靈敏度為-115dBm;
⑤在低輸出功率0dBm時,可以提供約80m(數(shù)字信號) 和300m(話音等模擬信號)的有效傳輸距離;
⑥傳輸速率可達57.6kbps,與傳輸距離有關(guān);
⑦提供串行編程接口,可能靈活配置收發(fā)頻率等參數(shù);
⑧提供RSSI接收信號強度指示。
3 WE904模塊WE915CTX1的接口
WE915CTX1提供簡單的用戶接口,如圖2所示。①VCC和GND為電源,電源電壓為3.3~4.5V。②Audio In為待調(diào)制基帶信號的輸入引腳。其輸入信號可以是話音等模擬信號,也可以是數(shù)字信號。對輸入信號的要求是,其交流有效值通常為140mV~200mV,更大的輸入有效值能得到更好的信噪比,但也將占用更大的帶寬。通常200mV將產(chǎn)生25kHz的頻偏。TTL電平的數(shù)字信號輸入Audio In引腳時,必須先降低其電壓有效值,這可以通過使用2個串聯(lián)電阻分壓來實現(xiàn)。例如,可以用1個10kΩ和1個1.8kΩ的電阻串聯(lián)分壓,但使用的電阻阻值不能太大,否則會使輸入的方波波形產(chǎn)生嚴重的畸變。③Audio Out為接收信號的輸出引腳。當輸出模式設(shè)置為模擬輸出(analog)時,輸出信號有效值通常為140mV~180mV的已解調(diào)基帶信號。當輸出模式設(shè)置為數(shù)字模式(digital)時,輸出信號Vp-p為3V左右的數(shù)字信號方波。④LNA_ON為低哭聲放大器電源控制引腳,低電平有效。在接收時必須置低,能夠得到約15dB的增益;在不接收信號時可以關(guān)掉,以降低功耗。⑤ANT為天線連接引腳,其輸出阻抗為50Ω。⑥RSSI為接收信號強度提示。接收信號從-110dBm變化到-50dBm時,RSSI的電平大約從0.65V變化到1.70V。⑦CLK、DATA和LE為串行編程控制端口,用來實現(xiàn)對WE904芯片的編程控制。以下將詳細介紹。
4 WE904模塊WE915CTX1的編程控制接口
WE904芯片內(nèi)部有4個控制寄存器,用來對WE904芯片的工作狀態(tài)進行控制。這4個寄存器分別是參考頻率寄存器、發(fā)送頻率寄存器、接收頻率寄存器和模式寄存器。這4個控制寄存器的相應位的功能定義此處不作介紹,讀者可以參考W904的芯片資料。對這4個寄存器的寫入控制則是通過CLOCK、DATA和LE三個引腳業(yè)實現(xiàn)的,分別與模擬WE915CTX1的CLK、DATA和LE相對應,其寫入時序如圖3所示。
寫入的基本過程為:①LE開始時為低電平。②當LE變?yōu)楦唠娖胶?,?shù)據(jù)在CLOCK的驅(qū)動下開始由DATA引腳移入內(nèi)部的移位寄存器。數(shù)據(jù)的移位操作是在CLOCK的上升沿進行的。所以設(shè)計接口時通常使時鐘CLOCK的下降沿和位邊界對齊,這樣在CLOCK的上升沿能有效的采樣到數(shù)據(jù)。③在最后一個數(shù)據(jù)位移入內(nèi)部移位寄存器后,LE在下一個時鐘上升沿之前變低。在LE的下降沿,數(shù)據(jù)將由內(nèi)部移位寄存器寫入控制寄存器。④數(shù)據(jù)具體寫入4個控制寄存器中的哪一個,是由DATA的最低兩位的值來決定的。這兩位稱為裝載控制位(load control bit)。⑤WE915CTX1要求在CLOCK上升沿到來之前,DATA的數(shù)據(jù)至少已經(jīng)保持45ns,所以CLOCK的頻率不能太高,建議取10MHz以下。
5 5402r McBSP簡介
5402是TI公司一款性價比非常優(yōu)越的通用DSP芯片,有著廣泛 的應用。它提供有兩個McBSP。McBSP是一種全雙工的高速同步串行口,可以用來與系統(tǒng)中其它的DSP芯片、編碼解碼器等進行高速的串行通信。McBSP的操作由DSP芯片中一系列寄存器來控制。圖4是McBSP的標準操作時序。無論是發(fā)送還是接收的移位操作,都是由幀同步信號FSX或者FSR的上升沿觸發(fā)的,并且由時鐘CLKR或CLKX來同步位邊界。從FSX或FSR的上升沿到移位操作開始可以有幾個時鐘的延遲,圖4所示為1個時鐘的延遲。這可以由控制寄存器XCR2和RCR2中的相應的位來設(shè)定。在每一個幀同步信號之后發(fā)送或者接收的數(shù)據(jù)的位數(shù)也在控制寄存器XCR2和RCR2中有相應的設(shè)定,圖4是McBSP的最簡單的操作時序,對一般的應用已經(jīng)足夠,更強大的功能則需要更復雜的設(shè)計。
6 5402與WE904模塊的接口設(shè)計
在本系統(tǒng)的設(shè)計中,圖像數(shù)據(jù)的發(fā)送和對WE904模塊的編程配置是使用DSP芯片5402的同一個McBSP來完成的。這了使這兩個過程互不影響,在設(shè)計中還使用了5402的一個I/O引腳XF。圖5為接口電路的簡單原理,基本原理如下:①在對WE904模塊配置期間,XF為高電平,LE的輸入決定于McBSP的發(fā)送幀同步FSX,而發(fā)送時鐘CLKX和發(fā)送數(shù)據(jù)線DX分別驅(qū)動WE904模塊的CLK和DATA。②為了對WE904模塊進行配置,McBSP的設(shè)置為FSX周期大于24個CLKX的時鐘周期,高電平寬度設(shè)置為24個CLKX的時鐘周期。CLKX在驅(qū)動CLK時先反相。這樣即可得到與圖4大體相同的時序,能夠完成對WE904模塊的配置。這里給出McBSP各個控制寄存器的參考值:SPCR1=0x0080,SPCR2=0x0262,RCR1=0x0000,SRGR2=0x301f,MCR1=0x0000,MCR2=0x0000,PCR=0x0b02。③在對WE904模塊的配置完成后,XF設(shè)置為低電平輸出,此時LE的輸入值恒為高電平,因此,CLK和DATA的輸入不會再改變WE904的設(shè)置。此時,發(fā)送的圖像數(shù)據(jù)從DX串行輸出,經(jīng)分壓后輸入EW904模塊的Audio In。發(fā)送的時鐘CLKX從FSR引腳輸入。這主要是因為本系統(tǒng)的DSP時鐘為100MHz,DSP的時鐘經(jīng)過內(nèi)部計數(shù)器分頻后仍然無法從CLKX引腳得到要求的幾十kHz的時鐘,所要求的時鐘必須經(jīng)過再次分頻后(在寄存器FPER中設(shè)定分頻參數(shù))從FSG得到,而發(fā)送幀同步FSX將設(shè)置成在數(shù)據(jù)從DXR拷貝到XSR時自動產(chǎn)生。在模塊的配置期間,F(xiàn)SR設(shè)置為輸入,不會影響CLK的輸入值。④XF在與FSX做或運算前經(jīng)過了一次反相,主要是因為XF在此系統(tǒng)中還同時用于其它結(jié)構(gòu)的控制,在圖像的發(fā)送期間,要求XF為低電平。
圖4
7 RS232異步串行通信
本系統(tǒng)采用RS232異步串行通信協(xié)議。RS232異步串行通信接口是微機的傳統(tǒng)外設(shè)接口,特點是使用簡單,但速率較低。RS232接口在低速數(shù)據(jù)傳輸和工業(yè)控制、工業(yè)數(shù)據(jù)采集等方面有著廣泛的應用。由于本系統(tǒng)要傳輸?shù)膱D像數(shù)據(jù)已經(jīng)得到較好的壓縮,速率在幾十kbps,所以本系統(tǒng)使用RS232串行口進行通信。當不需要握手時,最簡單的串口通信只需要3條線即可完成連接,單向通信甚至只需要2條線即可。但是由于RS232串行接口的電平較高(通常為正負4V~12V),不同于通常的TTL電平,所以必須經(jīng)過必要的電平轉(zhuǎn)換。本系統(tǒng)中使用MAXIM的MAX232完成電平轉(zhuǎn)換。RS232的通信協(xié)議的數(shù)據(jù)格式如圖6所示。在每一個字節(jié)的傳輸時,都是以一個起始位開始,以停止位結(jié)束(停止位個數(shù)可設(shè)定)。在停止位前可以加入奇偶校驗位,在各個字節(jié)之間還可以插入空閑位。起始位為0,停止位為1??臻e位也為1,與停止位有相同的電平。接收串口總線在檢測到起始位的下跳沿時開始接收數(shù)據(jù)。在本系統(tǒng)設(shè)計中,由于數(shù)據(jù)是單向傳輸,RS232的數(shù)據(jù)格式直接由McBSP負責構(gòu)建。之后送入WE904模塊的Audio In調(diào)制發(fā)送。如果要求雙向的數(shù)據(jù)傳輸,則可以加上一個異步串行通信的接口芯片來實現(xiàn),如TI公司的TL16C750。接收方的微機負責串口數(shù)據(jù)接收。串口接收程序的編寫通常有三種:①使用C或匯編語言控制硬件;②使用Windows的API函數(shù);③使用VB提供的Mscomm控件。本系統(tǒng)使用的是VB的Mscomm控件。這種方法比較簡單,但是效率稍低,如需要更高效率的程序,可以選擇前兩種方法。關(guān)于串口收發(fā)程序編寫的資料很多,這里不再詳述。
8 FSK無線數(shù)據(jù)傳輸中低頻分量引起的誤碼
在FSK無線數(shù)據(jù)傳輸中,輸入信號中的低頻分量有可能引起很高的誤碼率。在二相FSK中的具體表現(xiàn)為當短時間內(nèi)輸入信號中的“1”或“0”的個數(shù)顯著增多時,接收信號的誤碼率也顯著上升。這主要是因為整個系統(tǒng)對信號中的低頻分成衰減造成的,如系統(tǒng)中的隔直耦合電容的影響等。低頻成分衰減后造成信號無法正確恢復,從而引起了很高的誤碼率。要提高系統(tǒng)性能,必須使輸入信號中的低頻成分盡量小并保持恒定,這就是所謂的均衡問題。對于簡單的二元輸入,就是要使輸入信號中的1和0的個數(shù)盡可能的平衡。通常為減小低頻分量,可以將輸入信號采用HDB3編碼和曼徹斯特編碼等。HDB3是三元輸入碼,信號傳輸中有三種電平,需要用專門的硬件實現(xiàn)。曼徹斯特碼是二元碼。它的簡單規(guī)則是:1用1到0的跳變來表示,0用0到1的跳變來表示。顯然采用曼徹斯特編碼后,1和0的個數(shù)達到了完全的均衡,但同時它增加了一倍的數(shù)據(jù)量。考慮到數(shù)據(jù)量的要求,本系統(tǒng)在設(shè)計中借用了高速光纖通信中使用的5B6B編碼。5B6B編碼將5位的二進制數(shù)用6位二進制數(shù)表示,它從6位二進制數(shù)的64種組合中精選出32組對信碼進行編碼。編碼時有正模式和負模式兩種,使用時成對選擇以使得碼序列中1、0碼個數(shù)趨于平衡。5B6B具有這樣的特性:該傳輸序列中最大的連及連1個數(shù)為5。累積的1、0碼個數(shù)的差值(稱為數(shù)字和)在-3~+3范圍內(nèi)變化。5B6B碼解決了輸入信號中1和0的均衡問題,同時具有較高的傳輸效率,它只增加了20%的碼數(shù)。本系統(tǒng)采用5B6B編碼后(在RS232輸出前進行),在降低系統(tǒng)的誤碼率方面取得了非常明顯的效果。
結(jié)語
本系統(tǒng)使用WE904模塊進行實時的無線數(shù)字圖像傳輸實驗,采用普通單天線,在傳輸速率為57.6kbps和極低發(fā)射功率0dBm時,可視傳輸距離大于100m(需更元的距離可加大發(fā)射功率)。采用自己的圖像壓縮算法,每秒能夠穩(wěn)定地傳輸3~6幀圖像(黑白圖像384288像素)。為低成本的中低速的無線數(shù)據(jù)傳輸提供了一種很有競爭力的參考方案。
評論