一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過單片機的無線通信軟件實現(xiàn)編解碼的解決方案介紹

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-11-06 08:20 ? 次閱讀

隨著無線通信芯片技術(shù)的發(fā)展,越來越多的便攜式或電池供電的無線傳輸設(shè)備進入人們?nèi)粘I钪?。例如,遙控車門開關(guān)(RKE)系統(tǒng)、汽車輪胎壓力監(jiān)視系統(tǒng)(TPMS)、無線內(nèi)窺鏡系統(tǒng)、藍牙技術(shù)等。利用單片機和無線數(shù)傳模塊來完成無線數(shù)據(jù)通信在石油、電力、水文、冶金等行業(yè)的無線控制、數(shù)據(jù)采集、報警諸多領(lǐng)域中有著廣泛的應(yīng)用前景。通常采用的辦法是用單片機的串行I/ O 口來完成數(shù)據(jù)通信,但是該方法有許多不足之處:第一、在利用單片機的串口進行發(fā)送和接收數(shù)據(jù)時,對傳輸?shù)臄?shù)據(jù)只能進行奇偶校驗,然而在無線通信場合,被傳輸?shù)臄?shù)據(jù)極易受到電磁、靜電等的干擾,奇偶校驗一般不能檢測出這類干擾所引起的突發(fā)性錯誤,所以該方法無法滿足差錯檢測要求較高的場合;第二、由于單片機一般采用異步通信方式,接受器通常不能很快的接收到有效數(shù)據(jù),因而該方法也不能滿足要求多路進行快速切換的場合;第三、單片機的串口通信在傳輸速率和每幀的有效數(shù)據(jù)位數(shù)等方面都受到了嚴(yán)格的限制,缺乏靈活性。本文針對低速無線通信的場合,提出了一種通過單片機用軟件實現(xiàn)編解碼的方案,該方案可以有效克服上述單片機串口通信的不足之處, 在無線通信中得到了令人滿意的效果。

1 編碼原理及程序流程

1.1 編碼原理

假設(shè)傳輸?shù)臄?shù)據(jù)精度為12位,以A8BH為例,其幀格式如圖1 所示,高位在先,低位在后。

通過單片機的無線通信軟件實現(xiàn)編解碼的解決方案介紹

數(shù)據(jù)的編碼采用了曼徹斯特編碼格式,每幀數(shù)據(jù)由同步頭、有效數(shù)據(jù)位和校驗位三部分組成。其中數(shù)據(jù)位“1”由高到低的跳變表示,數(shù)據(jù)位“0”由低到高的跳變表示,而且數(shù)據(jù)位“1”和“0”高低電平周期各為0.5 T(設(shè)T為一個數(shù)據(jù)位寬度)。根據(jù)曼徹斯特碼的特點,每個數(shù)據(jù)位都由高低電平組成,因而在連續(xù)傳輸?shù)挠行?shù)據(jù)位中不會存在超過一個數(shù)據(jù)位寬度的高電平或低電平,因此在每個數(shù)據(jù)的前面設(shè)一個同步頭,高低電平各為1.5 T 。這樣在進行接收數(shù)據(jù)時,只要采樣得到的電平滿足1.5T ,則認(rèn)為該電平是同步頭,開始接收數(shù)據(jù)。因為尋找同步頭的時間最長不會超過一個數(shù)據(jù)的長度,所以此編碼方式非常適合于要求多路進行快速切換的場合。為了簡化電路和節(jié)省功耗,本文采用了單極性曼徹斯特碼。

實現(xiàn)曼徹斯特軟件編碼比較簡單,根據(jù)曼碼和二進制數(shù)據(jù)的對應(yīng)關(guān)系,一位二進制數(shù)據(jù)在編碼后將占據(jù)兩位空間。例如1在編碼后變?yōu)?、0;0在編碼后變?yōu)?、1。其中,曼碼數(shù)據(jù)低位在前,高位在后;被編碼的數(shù)據(jù)字節(jié)的高4位編碼后存放在一個字節(jié)中,低4位編碼后存放在相鄰的下一個字節(jié)中。

本文采用了循環(huán)冗余校驗,即后四位為循環(huán)冗余校驗碼。循環(huán)冗余校驗碼簡稱為CRC( CyclicRedundancy Code) 。循環(huán)冗余校驗的指導(dǎo)思想是發(fā)送端將被傳輸?shù)臄?shù)據(jù)流多項式除以生成多項式得到冗余位,接收端將被傳輸?shù)臄?shù)據(jù)(包括冗余位) 除以事先確定的生成多項式,如果余數(shù)為零,則認(rèn)為沒有錯誤發(fā)生,不為零則表示有錯。由于使用這種方法獲得冗余位具有很強的信息覆蓋能力,它善于發(fā)現(xiàn)各種類型的錯誤,特別是一些突發(fā)性錯誤,所以它是一種效率極高的差錯校驗法 。

根據(jù)CRC 碼的編碼思想,對(16,12)碼,由x16 + 1確定生成多項式為G(x) = x4 + 1 ,該多項式也可表示成(10001) 。對被傳輸?shù)?2位數(shù)據(jù)和生成多項式采用模2 運算便可以得到每個數(shù)據(jù)的四位循環(huán)冗余位。

1.2 編碼子程序流程圖及說明

曼徹斯特編碼子程序包括計算冗余位和曼徹斯特編碼發(fā)送兩部分,首先調(diào)用CRC 求余子程序(流程圖略) ,將得到的冗余校驗位作為待發(fā)送16 位數(shù)據(jù)的低四位,然后對該16 位,并通過無線數(shù)傳模塊調(diào)制成模擬信號發(fā)射出去(單片機的TXD 端與無線數(shù)傳模塊發(fā)的DATA IN 端相連) 。同步頭及數(shù)據(jù)位發(fā)送是通過對單片機的TXD 端( P3. 1) 置“1”和清“0”并進行軟件延時來實現(xiàn)。TIME1 和TIME2 為軟件延時,以滿足同步頭高低電平寬度的要求。值得注意的是,在編寫編碼子程序時,應(yīng)確保P3. 1 置“1”和清“0”時間間隔滿足數(shù)據(jù)位或同步頭寬度的要求。

2 解碼原理及程序流程

2.1解碼原理

曼徹斯特解碼是編碼的逆過程,也就是從曼碼數(shù)據(jù)中提取時鐘,并利用這個時鐘還原二進制數(shù)據(jù)的過程。根據(jù)曼徹斯特解碼過程中完成任務(wù)的不同,可以把曼徹斯特解碼過程分為起始符識別及獲取同步時鐘、識別同步頭、提取數(shù)據(jù)信息3個階段。

(1) 同步頭的判定

本系統(tǒng)通過信號高低電平所占的位寬來判斷數(shù)據(jù)。當(dāng)電平持續(xù)時間小于3/4的同步時鐘周期時,電平時間為半個位寬,反之電平時間為1個位寬。因為在起始符識別時只用了2個字節(jié)0xFF中的一個,所以在開始識別同步頭時識別出的第1個數(shù)據(jù)位肯定是‘1’,由此決定了在碼元識別時必須遵循以下2點。

首先對單片機的RXD 端( P3. 0) 進行連續(xù)采樣,從P3. 0 引腳變低時開始計時,若低電平的時間達到1. 3 T ,則認(rèn)為該電平為同步頭。因為用無線數(shù)傳模塊得到的信號波形一般為梯形,所以接收到的實際高低電平寬度可能變小,因此若接收到低電平寬度達到1. 3 T ,則可近似認(rèn)為該電平為某數(shù)據(jù)的同步頭。

(2) 數(shù)據(jù)位的判定

對每個數(shù)據(jù)位的判定采用“測三取二”的方法,既將每個數(shù)據(jù)位的前半部分成16 個狀態(tài),在第7 、8 、9 狀態(tài)檢測P3. 0 引腳上的電平,取其大于等于2的相同值作為測得值,如表1 所示(表中“ x ”表示“0”或“1”) 。此檢測方法是在高電平或低電平的中間位置進行采樣,既提高了采樣準(zhǔn)確度又有一定的濾波功能。

通過單片機的無線通信軟件實現(xiàn)編解碼的解決方案介紹

通過單片機的無線通信軟件實現(xiàn)編解碼的解決方案介紹

(3) 循環(huán)冗余校驗

對解碼得到的16 位數(shù)據(jù)進行循環(huán)冗余校驗,若余數(shù)為零,則認(rèn)為傳輸正確,否則進行出錯處理。

2.2 解碼子程序流程圖及說明

解碼子程序包括曼徹斯特解碼和差錯校驗兩部分,其流程圖如圖3 所示。首先進行同步頭的判定,從RXD 端( P3. 0) 為低電平時開始計時(單片機的RXD 端與無線數(shù)傳模塊收的DATA OU T 端相連) ,并對P3. 0 引腳進行連續(xù)采樣,采樣時間間隔可自行設(shè)定,若P3. 0 引腳的低電平時間達到1. 3 T ,則認(rèn)為該低電平為某數(shù)據(jù)的同步頭,然后對同步頭后面的數(shù)據(jù)位的前半位采用“測三取二”的方法進行數(shù)據(jù)位的判定,最后對采樣得到的16 位數(shù)據(jù)進行循環(huán)冗余校驗,若余數(shù)為0 ,則置錯誤標(biāo)志,若不為0 ,則去掉冗余位, 得到12 位有效數(shù)據(jù)。TIME1~TIME3 是湊采樣的時間間隔。

通過單片機的無線通信軟件實現(xiàn)編解碼的解決方案介紹

3結(jié)論

本文以一個實際工程的一部分為例,闡述了用AVR單片機軟件編程實現(xiàn)曼徹斯特編解碼方法。經(jīng)過了實際驗證,數(shù)據(jù)傳輸可靠性很高,系統(tǒng)運行穩(wěn)定,樣機已經(jīng)成型,即將投入生產(chǎn)。與其它的數(shù)據(jù)傳輸方法和曼徹斯特編解碼方式相比,本方法十分靈活方便,它可以白適應(yīng)射頻發(fā)射機電池電壓變化引起的數(shù)據(jù)傳輸波特率的變化。可處理的碼速率也很高,極限碼速率與所采用的單片機的速度和振蕩器的頻率以及采用的編程語言都有關(guān)系。本設(shè)計中采用C編程,振蕩器頻率為16MHz,數(shù)據(jù)傳輸率可達10kbps,用匯編語言編程數(shù)據(jù)傳輸率會更高。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    51952

    瀏覽量

    433998
  • 單片機
    +關(guān)注

    關(guān)注

    6059

    文章

    44828

    瀏覽量

    645016
  • AVR
    AVR
    +關(guān)注

    關(guān)注

    11

    文章

    1125

    瀏覽量

    79479
  • 無線通信
    +關(guān)注

    關(guān)注

    58

    文章

    4689

    瀏覽量

    144718
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    無線通信的基本概念

    是不可見也不可聽的,所有無線信號都是通過空氣傳輸?shù)?。不同?b class='flag-5'>無線服務(wù)與不同的無線頻譜區(qū)域相關(guān)聯(lián),例如 AM 廣播使用 535 到 1605kHz 之間的頻率。 三、
    發(fā)表于 02-28 13:45

    32位單片機相關(guān)資料和解決方案參考指南

    電子發(fā)燒友網(wǎng)站提供《32位單片機相關(guān)資料和解決方案參考指南.pdf》資料免費下載
    發(fā)表于 01-21 14:00 ?0次下載
    32位<b class='flag-5'>單片機</b>相關(guān)資料和<b class='flag-5'>解決方案</b>參考指南

    PLC無線通信模塊的工作原理 PLC無線通信模塊網(wǎng)絡(luò)配置

    PLC無線通信模塊的工作原理 PLC(可編程邏輯控制器)無線通信模塊是一種用于實現(xiàn)工業(yè)自動化設(shè)備之間無線數(shù)據(jù)通信的關(guān)鍵組件。它
    的頭像 發(fā)表于 11-29 18:07 ?1188次閱讀

    PLC無線通信模塊技術(shù)參數(shù) PLC無線通信模塊故障排除

    PLC無線通信模塊技術(shù)參數(shù) PLC無線通信模塊使用GPRS或者無線數(shù)據(jù)終端作為通訊手段,自帶通訊口,可以和西門子、三菱、歐姆龍或各種國產(chǎn)PLC連接,實現(xiàn)組態(tài)
    的頭像 發(fā)表于 11-29 17:39 ?885次閱讀

    電子耦合在無線通信中的應(yīng)用

    電子耦合在無線通信中發(fā)揮著至關(guān)重要的作用。電子耦合是利用轉(zhuǎn)移電容、磁耦合或電感耦合等方式將電路信號傳遞到另一個電路的技術(shù),這種技術(shù)在無線通信系統(tǒng)中被廣泛應(yīng)用,以實現(xiàn)信號的傳輸、處理和接收。以下
    的頭像 發(fā)表于 11-24 09:22 ?773次閱讀

    請問有沒有將音頻編解碼后的數(shù)字信號用UART傳輸?shù)男酒?/a>

    有沒有這樣的芯片,可以實現(xiàn)雙向的編解碼,但是數(shù)字信號的輸入和輸出是通過UART口,即PCM編解碼的信號來源和去向可以是通過
    發(fā)表于 11-07 06:04

    無線通信測試平臺的技術(shù)原理和應(yīng)用場景

    。 無線信道測量: 使用矢量網(wǎng)絡(luò)分析儀等設(shè)備進行無線信道的頻率響應(yīng)和沖擊響應(yīng)測量,以評估信道的傳輸特性和性能。 綜上所述,無線通信測試平臺的技術(shù)原理和應(yīng)用場景是無線通信領(lǐng)域不可或缺的
    發(fā)表于 11-06 14:29

    基于51單片機的遙控開關(guān)仿真(雙機通信)

    單片機最小系統(tǒng)、繼電器及LED燈構(gòu)成;(4)由于仿真無法模擬無線模塊通信,故利用單片機RXD、TXD端口模擬,通過遙控器的開關(guān)
    的頭像 發(fā)表于 10-22 14:12 ?641次閱讀
    基于51<b class='flag-5'>單片機</b>的遙控開關(guān)仿真(雙機<b class='flag-5'>通信</b>)

    如何實現(xiàn)51單片機與PC的串行通信

    51單片機與PC的串行通信是一種常見的通信方式,它允許單片機通過串行接口與PC
    的頭像 發(fā)表于 10-21 11:35 ?2125次閱讀

    遙控編解碼芯片有哪些

    遙控編解碼芯片是無線遙控系統(tǒng)中的重要組成部分,它們負(fù)責(zé)編碼和解碼信號,以實現(xiàn)遙控功能。以下是一些常見的遙控編解碼芯片: PT2262/PT2
    的頭像 發(fā)表于 09-30 14:21 ?2194次閱讀

    8位單片機,32位單片機編程和應(yīng)用優(yōu)勢

    的智能化管理。 通信單片機通信領(lǐng)域的應(yīng)用主要包括無線通信模塊、調(diào)制解調(diào)器等。通過無線
    發(fā)表于 09-26 11:45

    西門子PLC與組態(tài)觸摸屏無線通信物聯(lián)網(wǎng)解決方案

    ,PLC和觸摸屏之間通過無線通信網(wǎng)關(guān)實現(xiàn)數(shù)據(jù)交換,不僅簡化了布線,還提高了系統(tǒng)的可擴展性和靈活性。 對此,物通博聯(lián)提供高效可靠的物聯(lián)網(wǎng)解決方案,工業(yè)智能網(wǎng)關(guān)
    的頭像 發(fā)表于 09-25 14:19 ?666次閱讀
    西門子PLC與組態(tài)觸摸屏<b class='flag-5'>無線通信</b>物聯(lián)網(wǎng)<b class='flag-5'>解決方案</b>

    藍牙模塊如何實現(xiàn)單片機和手機端數(shù)據(jù)互傳

    藍牙模塊實現(xiàn)單片機和手機端數(shù)據(jù)互傳的過程可以分為以下幾個步驟: 硬件準(zhǔn)備 : 確保你有一個支持藍牙通信單片機開發(fā)板,如Arduino、Raspberry Pi等。 準(zhǔn)備一個兼容的藍牙
    的頭像 發(fā)表于 07-24 17:59 ?4543次閱讀
    藍牙模塊如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>單片機</b>和手機端數(shù)據(jù)互傳

    數(shù)控機床無線通信解決方案精選

    定制了一套基于SR500工業(yè)級路由器的無線通信解決方案。 首先,我們的工程技術(shù)人員對客戶的工廠進行了全面的現(xiàn)場調(diào)查,了解工廠布局、各種電磁設(shè)備的位置、預(yù)計連接的機床數(shù)量等信息。在詳細評估工廠的電磁環(huán)境后,我們決定在車間內(nèi)設(shè)置4個SR
    的頭像 發(fā)表于 06-24 09:52 ?715次閱讀
    數(shù)控機床<b class='flag-5'>無線通信</b><b class='flag-5'>解決方案</b>精選

    無線通信模塊通過TCP/IP協(xié)議實現(xiàn)與PC端的數(shù)據(jù)傳輸

    在當(dāng)今的信息時代,無線通信技術(shù)的發(fā)展日新月異,為我們的工作和生活帶來了極大的便利。其中,無線通信模塊通過TCP/IP協(xié)議向PC端傳送數(shù)據(jù)已經(jīng)成為了一種常見的通信方式。本文將詳細
    的頭像 發(fā)表于 05-11 15:44 ?1016次閱讀