摘 要:nRF905單片射頻芯片采用ShockBurst工作模式,能夠自動處理字頭和CRC(循環冗余碼校驗),使用SPI接口與微控制器通信,配置非常方便。本文在分析了nRF905的工作模式、器件配置和調制的基礎上,提出了一種基于nRF905的無線數據收發方案,給出了具體的實現電路,并在分析了環形天線的理論基礎之上給出了天線的具體設計方法,最后實現了該無線數據收發板與計算機之間進行串行通信。
關鍵詞:nRF905無線通信串口通信
中圖分類號:TP242.3文獻標識碼:A文章編號:1674-098X(2011)01(b)-0047-02
工業應用中,現階段基本上都是以有線的方式進行連接,實現各種控制功能。有線網絡速度快,數據流量大,可靠性強,對于基本固定的設備來說無疑是比較理想的選擇。但隨著射頻技術、集成電路技術的發展,無線通信功能的實現越來越容易,數據傳輸速度也越來越快,并且逐漸達到可以和有線網絡相媲美的水平[1]。而同時有線網絡布線麻煩,線路故障難以檢查,設備重新布局就要重新布線,且不能隨意移動等缺點越發突出。于是人們把目光轉向了無線通信方式,尤其是一些機動性要求較強的設備,或人們不方便隨時到達現場的條件下。因此出現了一些典型的無線應用,如:無線智能家居,無線抄表,無線數據采集,無線設備管理和監控,汽車儀表數據的無線讀取等等[2]。目前無線通信技術主要有紅外技術,藍牙技術,IEEE802.11無線通信技術,超寬帶技術。
要實現無線數據的收發,關鍵是從外部輸入的信號(本系統主要研究數字信號),在微控制單元MCU的控制下,經過調制及相關處理(如加入前導碼和CRC),生成頻段合適的射頻信號經天線發射出去;當系統檢測到地址、頻率相匹配的射頻信號時,能夠正確接收并解調成相對應的原始信號[3]。另外,系統還要實現與計算機之間進行串行通信的功能。本文提出了一種基于nRF905單片射頻芯片的無線數據收發方案。
1 AT89LV51控制電路的設計
本系統中從按鍵輸入的信號,nRF905的工作,串行通信的實現以及發光二極管的顯示都是在單片機的控制下完成的,該無線收發系統所使用的是AT89LV51單片機其連接方式如圖1.1所示。
單片機89lv51的P0口用于按鍵的控制和LED的顯示,通過相應的掃描處理程序定時對四個按鍵進行掃描,若沒有按鍵按下時,89lv51從P0口讀得的引腳電平為“1”;若某一按鍵被按下,則該鍵所對應的端口線電平變為地電平。若S1鍵被按下,則89lv51從P00口讀得一個低電平,在掃描處理程序的控制下,89lv51把P04口置低,則相應的發光二極管D1點亮。
單片機的P2和P3口用以與nRF905電路進行連接,用來控制nRF905的工作。
2 nRF905電路的設計
nRF905是挪威Nordic VLSI公司推出的單片射頻收發器,工作電壓為1.9~3.6V,32引腳QFN封裝(5×5mm),工作于433/868/915MHz三個ISM(工業、科學和醫學)頻道,頻道之間的轉換時間小于650us。nRF905由頻率合成器、接收解調器、功率放大器、晶體振蕩器和調制器組成, ShockBurst工作模式,自動處理字頭和CRC(循環冗余碼校驗),使用SPI接口與微控制器通信,配置非常方便[4]。此外,其功耗非常低,以-10dBm的輸出功率發射時電流只有11mA,工作于接收模式時的電流為12.5mA,內設空閑模式與關機模式,易于實現節能。
由于收發器(nRF905模塊)電路板與主單片機電路板之間通過SPI協議進行信號數據通訊,所以設計時主要利用單片機的P2、P3口和nRF905芯片進行各種控制信號的傳輸,具體定義如下:
sbitTX_EN=P2^6; //接收、發送模式的選擇位
sbitTRX_CE=P2^5; //接收、發送模式的啟動位
sbitPWR_UP=P2^4; //芯片電源控制位
sbitMISO=P2^3;//SPI數據輸出位
sbitMOSI=P2^2;//SPI數據輸入位
sbitSCK=P2^1;//SPI時鐘輸入位
sbitCSN=P2^0;//SPI啟動位
sbitAM=P3^2;//地址匹配位
sbitDR=P3^3; //數據準備好位
sbitCD=P3^5; //載波檢測位
輸入的信號在單片機的控制下,通過SPI送入nRF905,在其內部完成曼徹斯特編碼,高斯移頻鍵控調制,并自動加上前導碼和CRC,生成射頻信號由環形天線發射出去。當nRF905檢測到信號時,也會在單片機的控制下送入該電路,完成解調并顯示出來。nRF905的連接方式。
3 環形天線的設計
ANT1和ANT2輸出腳給天線提供穩定的RF輸出,這兩個腳通過天線雙極的中心點有連接到VDD-PA的直流通路[5]。對于低能量、短距離的無線通信,最常用的天線是直接印制在電路板上的小調諧環形天線,小環形天線是指它的周長小于它波長的十分之一。
本工業級無線收發板系統中所使用的環形天線的a1=20mm,a2=35mm。使用的是RF-4雙面板。上層板敷銅的厚度為b1=35mm,環形導線的寬度。天線的Q值的大小為Q=50,天線的諧振頻率,發射機的輸出功率為10dBm(10mW),接收機的靈敏度為-103dBm(0.05012PW)。則:
4 串行通信的實現
本系統中的串行通信所實現的功能通過無線數據收發板可以實現兩臺計算機之間的數據傳輸。具體操作如下:
(1)將兩塊開發板分別與兩臺計算機通過九芯串口電纜相連;
(2)在計算機上運行串口調試工具(如串口專家),用來發送、接收和顯示無線數據,串口速率設置為19200,“8,N,1”。
(3)正確接上電源。
(4)按下其中一塊開發板的按鍵,對應的LED燈將點亮,與此開發板相連的計算機上顯示數據(\\0E、\\0D、\\0B、\\07);此時另一塊開發板接收到數據,對應的LED燈也將點亮,同時將接收到的鍵值數據通過串口發送到PC并在串口調試工具上實時顯示(\\0E、\\0D、\\0B、\\07)。
(5)在其中任意一臺計算機上輸入數據(\\0E、\\0D、\\0B、\\07),并按發送,則與此計算機相連的開發板上相應的LED點亮;此時另一塊開發板接收到數據,對應的LED燈也將點亮,同時將接收到的鍵值數據通過串口發送到PC并在串口調試工具上實時顯示發送的數據。
在串口傳輸中,對于PC機上標準的RS-232接口,為了提高抗干擾能力,采用EIA電平邏輯,而單片機串口的輸入輸出電平均為TTL電平,所以為了實現雙機通訊,首先必須解決邏輯電平的匹配問題,電平轉換電路常見有以下幾種:
(1)由MC1488構成發送驅動電路、1489構成接受電平轉換電路。缺點是需要±12 V電源供電,穩定性和可靠性較差,集成電路容易損壞。
(2)由三極管及光耦隔離器構成標準RS-232C,采用單一的+5 V電源供電,但需要注意的是:接口電路中PC機的RXD與TXD相連,數據發送的同時也被接受了,所以當PC機由發送數據變成接收數據時,必須假讀一次,將接受緩沖器讀完或者用軟件復位寄存器的DO位通訊口實際上處于半雙工狀態,而且增加了軟件設計的復雜性。
(3)由單一芯片構成電平的雙轉換,如MAX3232、TSC232等。
通過上述比較,本系統最終采用MAX3232芯片設計接口電路。MAX3232使用單一的+3V電源,電壓值在+3.0~+5.5V范圍內都能正常工作。具體電路如圖3.1所示。電路中僅使用四個外部電容器就可以實現接口和單片機之間的電平轉換。
5 結論
本文用nRF905單片射頻芯片設計實現了無線通信板,能實現雙機間的無線通信,并能與計算機進行串口通信,具備一定的工業應用價值。
參考文獻
[1]牛偉,等.無線局域網.人民郵電出版社,2003.9.
[2]伍湘彬.數字通信技術與應用.電子科技大學出版社,2000.
[3]周慈航,饒運濤.單片機程序設計基礎.北京航空航天大學出版社,2001.3.