藍(lán)牙技術(shù)在短距離無線遙控中的應(yīng)用
短距離無線電遙控有很大的應(yīng)用需求,但由于射頻電路的設(shè)計和調(diào)試較為復(fù)雜,對人員和設(shè)備的要求較高。因而限制了其使用范圍。
藍(lán)牙技術(shù)提供低成本,短距離的無線通信。支持點對點,一點對多點的雙向數(shù)字傳輸。工作在2.402~2.480GHz的ISM頻段。數(shù)據(jù)速率 1Mb/s,糾錯編碼采用1/3率的重復(fù)碼,2/3率的漢明碼,跳頻頻率數(shù)79個頻點,跳頻速率1600次/秒,發(fā)射距離 Class2級的模塊為10m左右,Class 1 級的模塊可達(dá)100m。
將藍(lán)牙模塊用于無線電遙控系統(tǒng),把無線射頻部分的工作交由藍(lán)牙模塊完成。使遙控系統(tǒng)設(shè)計變得簡單方便。
無線遙控發(fā)射機
無線遙控系統(tǒng)中發(fā)射機的組成框圖如圖1所示。
圖1 發(fā)射機的組成框圖
它有三路模擬量(操縱桿)輸入、六路開關(guān)量(按鍵)輸入。微控制器選用TI公司的MSP430F2274單片機,主要優(yōu)點是低功耗。藍(lán)牙模塊使用的是Stollmann公司BlueRS+ Class1模塊。
發(fā)射指令編碼:六個開關(guān)量全部狀態(tài)的組合有64組碼。由于實際有效編碼的組數(shù)遠(yuǎn)小于全部狀態(tài)組合碼數(shù)。并且用2字節(jié)(16bit)的長度表示開關(guān)狀態(tài)有效組合編碼,故采用加大碼組間漢明距離,使用具有糾錯功能的分組碼作為開關(guān)狀態(tài)的傳輸編碼。
發(fā)射機指令編碼每20ms發(fā)送一幀。每幀數(shù)據(jù)的格式如圖2所示。
圖2 發(fā)射機指令幀
一幀數(shù)據(jù)18字節(jié)。幀頭字段占4字節(jié),其中第4字節(jié)是幀序號,以256為模;模擬1、模擬2和模擬3這三個字段各占2字節(jié),分別是1號、2號和3號操縱桿的位置信息的數(shù)字量編碼; 開關(guān)1字段占2字節(jié),是表示六路開關(guān)狀態(tài)的編碼;開關(guān)2和開關(guān)3字段分別是開關(guān)1字段的重復(fù),目的是增加抗干擾能力。接收機在對該信息解碼時,接收到的開關(guān)1、開關(guān)2和開關(guān)3這三組碼中只要有一組碼的誤碼沒有超出可糾錯的范圍,即可正確執(zhí)行相應(yīng)動作。不必再等待接收下幀數(shù)據(jù),可減少延遲時間。
藍(lán)牙模塊與微控制器的連接如圖3所示。微控制器把代表指令編碼的組幀信息傳送給相連的藍(lán)牙模塊,由該藍(lán)牙模塊經(jīng)由無線信道發(fā)送到與接收機相連的另一只藍(lán)牙模塊,由它將數(shù)據(jù)傳給接收機的微控制器。
圖3 藍(lán)牙模塊與微控制器的連接
發(fā)射機微控制器程序
發(fā)射機程序框圖如圖4所示,微控制器執(zhí)行讀開關(guān)狀態(tài)、開關(guān)編碼、讀操縱桿、組幀等指令所需要的時間很短,多數(shù)時間是等待20ms定時。當(dāng)20ms定時器中斷時就設(shè)置定時標(biāo)志有效。主程序見到定時標(biāo)志有效,就將已準(zhǔn)備好的組幀數(shù)據(jù)移到發(fā)送緩沖區(qū),并且啟動串口開始發(fā)送數(shù)據(jù)。串口發(fā)送使用中斷方式。
(a)中斷程序框圖
(b)主程序框圖
圖4 遙控發(fā)射機程序框圖
發(fā)射機設(shè)計為每20ms發(fā)送一幀遙控指令,是為了和遙控對象中的一種模型舵機相配合。
微控制器與藍(lán)牙模塊使用串口通信,波特率選為9600b/s。一幀數(shù)據(jù)長18字節(jié),發(fā)送占用時間約:
18字節(jié)×10位×(1/9600)秒≈18.75ms
需傳送信息(遙控指令編碼)的信道編碼及其糾錯、跳頻時序控制等工作則由藍(lán)牙模塊在其內(nèi)嵌的藍(lán)牙協(xié)議操作之下完成。
接收機
遙控接收機的組成原理框圖如圖5,藍(lán)牙模塊與微控制器相連,藍(lán)牙模塊收到的遙控發(fā)射機發(fā)出的含有遙控指令編碼信息的數(shù)據(jù)傳給微控制器。由微控制器對該指令編碼進行譯碼、變換后經(jīng)由相應(yīng)的驅(qū)動電路隔離和放大,然后控制對應(yīng)的被控對象動作。
圖5 接收機的組成
遙控接收機的微控制器收到的信息理論上應(yīng)是和圖2所示相同的發(fā)射機指令編碼數(shù)據(jù)。但由于數(shù)據(jù)在傳輸過程中經(jīng)由射頻無線傳輸,更有可能因干擾等原因出現(xiàn)誤碼,使得接收到的信息與發(fā)送方的信息不一致,這就需要再次對收到的編碼信息進行糾錯處理。對開關(guān)量信息采取加大碼組間漢明距離的方法增加糾錯能力。而對操縱桿位置這類模擬量則是采取連續(xù)多次滑動濾波的方法來減小誤碼的影響。
結(jié)語
實測在收發(fā)相距70m,且無遮擋的情況下,接收機未出現(xiàn)拒動或誤動的情形。距離100m時工作不可靠。從發(fā)射機按下開關(guān)到接收機對應(yīng)端口響應(yīng)動作,其延時約50~70ms。
由于是短距離遙控,操作者能目視被控對象的響應(yīng)狀態(tài)。為簡單起見,僅用前向信道傳送遙控指令。未使用反向信道。