新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機的多機無線通信系統(tǒng)設(shè)計

PIC單片機的多機無線通信系統(tǒng)設(shè)計

作者: 時間:2012-11-27 來源:網(wǎng)絡(luò) 收藏

PIC單片機的多機無線通信系統(tǒng)設(shè)計
在解讀WTP過程中只要判斷出同步碼,就對這一碼字進行初始化,把脈沖個數(shù)計數(shù)器清O;然后每捕捉到一個高電平,脈沖個數(shù)計數(shù)器就加1并保存記錄該脈沖。捕捉到一個高電平后,若高電平時間寬度為409.6~819.2μs,就認(rèn)為是窄脈沖;高電平時間寬度為819.2~1 228.8μs,就認(rèn)為是寬脈沖;若高電平時間寬度小于409.6μs或大于1 228.8μs,則認(rèn)為該脈沖為干擾信號,當(dāng)?shù)碗娖綍r間寬度大于819.2μs時也認(rèn)為是干擾信號。收到干擾信號后將脈沖個數(shù)計數(shù)器清0,并把正在接收的碼字丟棄處理。當(dāng)接收到25個脈沖后對前面16個脈沖進行處理,若每個位碼不是由一個窄脈沖和一個寬脈沖組成的,就認(rèn)為接收正常。接收正常后,通過一個接收到數(shù)據(jù)的標(biāo)志位反饋到MCP(短信)上處理,會根據(jù)該標(biāo)志位到接收緩存中取剛剛接收到的數(shù)值。
一個字節(jié)的數(shù)據(jù)波形如圖8所示。根據(jù)無線傳輸協(xié)議定義,發(fā)送的一個完整的碼字由數(shù)據(jù)碼、校驗碼、同步碼組成(圖中用虛線隔開這3個部分)。數(shù)據(jù)碼和校驗碼都用寬度不同的脈沖來表示,2個窄脈沖表示“0”,2個寬脈沖表示“1”。每組字碼之間有同步碼隔開,同步碼用一個窄脈沖和一個比較寬的低電平表示。一個字碼由8位數(shù)據(jù)碼、4位校驗碼和1個窄脈沖組成。若每個位碼用2個脈沖來代表,則一個碼字就是由25個脈沖組成。無線傳輸協(xié)議定義窄脈沖時間寬度為739.2μs,寬脈沖時間寬度為1 156.8μs,而脈沖之間的低電平時間統(tǒng)一為331.2μs,同步碼的低電平時間寬度為5 ms。
圖8表示發(fā)送~個十六進制數(shù)“57H”,ASCII碼的“57H”表示字符“W”。圖中前16個脈沖表示“57H”的數(shù)據(jù)碼,二進制表示為“B01010111”;中間8個脈沖表示校驗碼,在該協(xié)議中校驗碼固定定義為半個字節(jié)的“AH”,二進制表示為“B1010”;同步碼則為一個時間寬度為739.2μS的窄脈沖和一個時間寬度為5 ms的低電平。
PIC單片機的多機無線通信系統(tǒng)設(shè)計
該協(xié)議中從以下幾個方面來提高抗干擾能力:
①每個碼字由25個脈沖組成;
②每個位碼用2個脈沖來表示;
③校驗碼用“B1010”(“O”、“1”間隔)來排除干擾;
④若數(shù)據(jù)碼大于7FH,則作為無效數(shù)據(jù)處理。

3.2 發(fā)送短信模塊
這個模塊實現(xiàn)MCP功能,編輯短信采用ASCII碼格式,短信內(nèi)容取值范圍為ASCII碼的20H~7AH,ASCII碼內(nèi)容可以參照ASCII碼表。7CH~7FH作為特殊功能碼來處理。短信內(nèi)容格式要求為3個字符的“名字+內(nèi)容”。例如:要給名為LZX的通信器發(fā)短信,可寫成“LZX:……”。應(yīng)用層的短信要求發(fā)送機發(fā)送短信順序是:
①發(fā)送短信開始碼(即7FH);
②發(fā)送短信的頭3個字符(即接收者的名字);
③等待接收者的短信開始應(yīng)答信號(即7DH);
④收到應(yīng)答信號后開始發(fā)送短信內(nèi)容;
⑤短信內(nèi)容發(fā)完后發(fā)短信結(jié)束碼(即7EH);
⑥等待接收者的短信結(jié)束應(yīng)答信號(即7CH)。
由于是無線發(fā)送與接收,有時會接收不到信號,所以當(dāng)沒有收到短信開始應(yīng)答信號時就從第一步再開始執(zhí)行。若執(zhí)行8次依舊沒有收到應(yīng)答信號,就得出“無此人發(fā)送失敗”的結(jié)果。若沒有收到短信結(jié)束應(yīng)答信號,就得出“發(fā)送中止失敗”的結(jié)果,否則就顯示“對方已收到”。
因為無線發(fā)射的特點,第一組字碼非常容易受零電平干擾,往往會產(chǎn)生誤碼,所以剛開始發(fā)射的短信開始碼一般要發(fā)2~3次。如圖9所示,發(fā)送了5個碼字的數(shù)據(jù):7FH,7FH,57H,44H,58H(分別為開始碼、開始碼、W、D、X,其中“WDX"’為萬能名)。然后,等待接收者的短信開始應(yīng)答信號再發(fā)短信內(nèi)容。
PIC單片機的多機無線通信系統(tǒng)設(shè)計
3.3 接收短信模塊
在這個模塊中實現(xiàn)對MCP解讀功能。根據(jù)MCP,在解讀中只要判斷出接收到短信開始碼,就將收短信的標(biāo)志位置1,并開始設(shè)置一個通信超時值,然后繼續(xù)接收下3個字符再與本身名字或萬能名比較。應(yīng)用層的短信通信協(xié)議要求接收機接收短信順序是:
①一旦接收到短信開始碼就進入接收短信;
②接收3個字符后與本身名或萬能名比較,若同名就反饋應(yīng)答信號,否則返回到①;
③繼續(xù)接收短信內(nèi)容;
④接收到結(jié)束碼后反饋應(yīng)答信號,若沒收到結(jié)束碼且通信超時則返回到①。
在任何狀態(tài)收到短信的結(jié)束碼后,都會在液晶顯示屏的第一行顯示“receive a mess”,并以聲、光形式提示收到短信,由用戶手動查閱新的短信。

3.4編輯短信模塊
這個模塊實現(xiàn)對短信的編輯,類似于手機編輯短信的模式;有單字刪除鍵、快速刪除鍵、全部清除鍵、標(biāo)點符號鍵、輸入狀態(tài)大小寫字母或數(shù)字的切換鍵,短信尾部可顯示光標(biāo)。因為受液晶屏幕所限,規(guī)定一條短信內(nèi)容長度為70個字符,編輯時限制字?jǐn)?shù)為67個字符,發(fā)送時軟件上自動在短信尾部添加本機名并發(fā)送。液晶屏幕第一行顯示正在編輯狀態(tài)、現(xiàn)在的時間和大小寫輸入狀態(tài)。在該模塊中,主要是要定位好顯示和編輯指針,然后對各個按鍵做處理。

結(jié)語
本文闡述的設(shè)計方法集編碼和解碼技術(shù)、通信協(xié)議技術(shù)、抗干擾技術(shù)、編輯短信技術(shù)、液晶點陣顯示技術(shù)于一體。實現(xiàn)任意兩機之間可以互發(fā)70個ASCII碼字符的短信,可以像普通手機一樣編輯短信,機子可以由用戶命名以區(qū)別其他機子,實現(xiàn)一機對一機的通信,也可以用萬能名(“WDX”)實現(xiàn)一機對多機的通信??梢源鎯σ粭l發(fā)送出去的短信,也可以存儲一條剛接收到的短信和舊的短信。整個系統(tǒng)人機交互界面友好,類似于普通手機系統(tǒng),有操作提示,易于操作。本設(shè)計中采用分層的協(xié)議可以很容易地把無線通信模塊用其他性能更好的無線模塊替換。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉