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