|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
為什么大家都用曼切斯特編碼來進行無線數(shù)據(jù)通信 |
| 作者:敬業(yè)工程師 欄目:通信技術(shù) |
大凡用單片機進行異步無線數(shù)據(jù)通信的,都幾乎豪無例外的均采用曼切斯特編解碼! 其實沒有人不討厭曼切斯特編解碼的,一效率低,二編碼難,三解碼難,四需要包塊結(jié)構(gòu)來表征起始 筆者一直在思考這樣一個問題?單片機串口本身就有很高的抗干擾性,為什么不能直接用原碼調(diào)制無限電波呢?大家看這個波特率公式 波特率=FOSC/(12*32*(256—TH0)) 為什么要多了個32這個系數(shù)呢?其實這32正是對一個碼位(專業(yè)術(shù)語叫碼元)采樣32次(波特加倍后16次)采樣再過半判決的的需要。從此我們有理由相信我們的P3。0;P3。1單片機串口有很強的抗干擾性 一個偶然的實驗和發(fā)現(xiàn) 我選擇市面上出售的片狀315M超再生無線數(shù)傳模塊做實驗,單片機用方式一2400比特工作,P3。1直接接發(fā)模塊數(shù)據(jù)入端,收模塊接另一套單片機最小系統(tǒng)的P3。0,中間相距4米遠無遮擋,雙方約定連續(xù)發(fā)64組數(shù)據(jù)停止,結(jié)果怎么樣? 1。當連續(xù)發(fā)送0AAH時(此時串行口輸出0101010101。。。。。。方波) 64幀完全正確 2。當發(fā)連續(xù)發(fā)64幀0其它數(shù)據(jù)(1EH,0E1H,39H,55H)時,都是隔幾幀收到原始數(shù)據(jù),而中間的數(shù)據(jù)是確定的其他數(shù)據(jù),且有多種組合形式 3。敏銳觀察發(fā)現(xiàn)首先里面一定有原發(fā)數(shù)據(jù),其次中間被變形的數(shù)據(jù)一定是和愿碼對應確定的組合,于是我反而得出結(jié)論,用串口直接驅(qū)動無線模塊是非?煽康耐ㄐ欧绞 4。一個問題我們?nèi)ニ伎;為什么發(fā)0AAH無誤碼呢,同事的解釋是01101010。。。。。碼型沒有足夠連碼,所以信道可以讓其通過,而發(fā)0FFH和00 是全連碼就是支流過不去 5。我懷疑其正確性,于是在發(fā)00H和0FFH,結(jié)果00H和0FFH仍然能可靠地隔幾幀收到一次 6。思考為什么0AAH沒誤碼,觀察查能發(fā)現(xiàn)0AAH從那起始都是0AAH,結(jié)論出來了本質(zhì)是單片機沒找到數(shù)據(jù)起始位造成的幀數(shù)據(jù)移位固定變異錯誤 7。找到本質(zhì)問題是否就解決了,于是我改變結(jié)構(gòu)發(fā)一幀數(shù)據(jù)后停一完整幀在發(fā)下一幀,結(jié)果發(fā)現(xiàn)發(fā)任意數(shù)據(jù)包括(0FF和00H)90%能收正確 8。滿意了嗎?非常不滿意,90%太低,而且效率也低了,和蔓切斯特幾乎一樣效率了 9。自然一個問題提出來?為什么會丟失串行碼的同步頭?是干擾?可能!示波器觀察接收波形,非常理想的方波啊,這樣好的波形應該和有線通信不相上下啊 繼續(xù)觀察發(fā)現(xiàn)在沒信號時雖然有暫時的干擾但脈沖很尖,單片機串口會自動丟棄 而且單片機本身也無噪聲誤碼輸出。細心發(fā)現(xiàn)無信號時數(shù)據(jù)輸出有個自動翻轉(zhuǎn)電平現(xiàn)象,明白了,接收芯片最后面輸出整形電路問題,于是我自己搭試了一套電路,最后一節(jié)雙運放采用雙向放大器和開環(huán)整形組合,搞定!與是發(fā)射40000組 (0FFH,0AAH ,1EH,00H)在計算機上顯示40000組無誤碼 本文是筆者邊實驗邊思考的結(jié)果,不關(guān)能啟迪我們的思維還能為無線收發(fā)模塊生產(chǎn)的廠家提供改進思路,對單片機使用者可大大簡化編程難度和代碼量,筆者的試驗程序收發(fā)兩端加起來才80個字節(jié),而要企圖用曼碼通信,一般但發(fā)射都需要600個字節(jié) |
| 2樓: | >>參與討論 |
| 作者: 木頭東瓜 于 2006/8/9 12:14:00 發(fā)布:
你距離遠一點試試看???電磁環(huán)境惡劣點的地方試試看? 瀑布汗!難道前人總結(jié)的經(jīng)驗就這么容易推翻阿! 我也用過串口,在強干擾,相同距離下(較遠),曼碼比串口可靠多了 |
|
| 3樓: | >>參與討論 |
| 作者: chunyang 于 2006/8/9 13:20:00 發(fā)布:
樓主這樣的思維和驗證很難得,加酷鼓勵! 但話要說回來,樓主的實驗比較片面,是在強場強下進行的,這大大影響實驗結(jié)果的本質(zhì)。普通廉價模塊工作于OOK或ASK模式,接收是基于超再生或超外差的傳統(tǒng)技術(shù),這種信道正確收到一個邏輯電平需要足夠信號場強,當然這種情況下樓主的方法和結(jié)論無疑是很有意義的。然而,當信號場強再弱一些,弱到空中雜散電磁波足以使長1或長0變的不穩(wěn)定時,樓主的基礎就不存在了,你可以用串口只發(fā)00H試試。 樓主的方法之所以能夠一定程度的改善傳輸效果,其實有個隱藏的“玄機”,這就是串行幀結(jié)構(gòu)。串行幀由起始位、數(shù)據(jù)段和結(jié)束位構(gòu)成,也還可以再加上一個校驗位,而起始位和結(jié)束位必存在一個沿跳變,正是這個跳變,即使發(fā)00H也必然存在兩次跳變,這一定程度上改善了傳輸,這是由接收機的特性決定的,也就是說,接收機對跳變更敏感。長1或長0在術(shù)語上稱為“直流分量”,直流分量對我們目前任何結(jié)構(gòu)的接收機都是有害的,即使是最新的零中頻數(shù)字式接收機也是這樣。 M碼、NRZ碼等的引入是為了消除直流分量,利用接收機對跳變的敏感來增強數(shù)據(jù)傳輸?shù)目煽啃,也就是說樓主的發(fā)現(xiàn)其實也是基于那些編碼同樣原理的結(jié)果,只是編碼進一步降低了直流分量,自然效果會更強些。前面提到要樓主做00H和AAH的傳輸對比實驗也是為此。 樓主實驗中,串口傳輸帶來的好處其實也是以冗余位的支出也就是說降低效率的辦法來換取的,如果想進一步提高接收靈敏度,只能想辦法再進一步降低數(shù)據(jù)中可能存在的直流分量,串口這時就無能為力了,其最大直流分量是10位(傳00H時),而有的編碼其直流分量在任意數(shù)據(jù)下最大僅2位。這也就說明了為什么采用編碼的信道在同樣條件下的有效傳輸距離更遠,或者說靈敏度更高。舉個例子,我設計的無線模塊在同樣發(fā)射功率、同樣傳輸速率、同樣通訊距離下,需要的發(fā)射功率僅為普通基帶傳輸式廉價模塊的幾分之一甚至要小一個數(shù)量級。 從無線通訊的實用性角度說,可靠性比效率更重要。 |
|
| 4樓: | >>參與討論 |
| 作者: guosr 于 2006/8/9 13:22:00 發(fā)布:
敢質(zhì)疑,能思考,的確是“敬業(yè)工程師” 不過目前這只能算是階段性結(jié)論,如果能再接再厲研究下去,可能還有更多的發(fā)現(xiàn)。 “繼續(xù)觀察發(fā)現(xiàn)在沒信號時雖然有暫時的干擾但脈沖很尖,單片機串口會自動丟棄而且單片機本身也無噪聲誤碼輸出。細心發(fā)現(xiàn)無信號時數(shù)據(jù)輸出有個自動翻轉(zhuǎn)電平現(xiàn)象,明白了,接收芯片最后面輸出整形電路問題……” 以我的經(jīng)驗,這個結(jié)論下得太草率。無線接收機的增益很高,在發(fā)射機沒有發(fā)送數(shù)據(jù)的情況下,熱噪聲要“登臺表演”了。因此復雜的情況多著呢。 這還只是冰山之一角,為什么無線通信那么強調(diào)編碼?等你分析透徹的時候,《通信原理》課程就被你掌握得差不多了。 |
|
| 5樓: | >>參與討論 |
| 作者: xwj 于 2006/8/9 17:38:00 發(fā)布:
實際上就是歸零碼制和不歸零碼的區(qū)別 選擇依據(jù)就看你的線路能不能保留直流分量 |
|
| 6樓: | >>參與討論 |
| 作者: elainechu 于 2006/8/11 8:49:00 發(fā)布:
距離上去后,可能存在問題, |
|
| 7樓: | >>參與討論 |
| 作者: ocon 于 2006/8/11 17:12:00 發(fā)布:
樓主試圖通過試驗質(zhì)疑曼切斯特編碼的實用性, 精神可嘉,可惜淺嘗即止,距離真理僅一步之遙。 |
|
| 8樓: | >>參與討論 |
| 作者: lbzzyh 于 2006/8/12 16:03:00 發(fā)布:
真理在一定時期成立 8年前,我在電話線上載波通訊用的是曼切斯特,夠穩(wěn)定.現(xiàn)在載波技術(shù)提高,不用曼切斯特也夠穩(wěn)定. 以前的無線通訊水平和現(xiàn)在沒法比. 通訊質(zhì)量不好,電報還一個位一個位發(fā)呢. 如果現(xiàn)在還用曼切斯特編碼,那你太落后了. |
|
| 9樓: | >>參與討論 |
| 作者: lbzzyh 于 2006/8/12 16:14:00 發(fā)布:
自我反省 回答的草率了點,沒看完樓主的帖子. |
|
| 10樓: | >>參與討論 |
| 作者: chunyang 于 2006/8/12 19:36:00 發(fā)布:
無線通訊永遠不可能淘汰編碼 相反,只會采用越來越復雜的編碼,如加入糾錯功能等,這都是為了適應頻譜資源日益緊張和電磁輻射環(huán)境保護等的需要。計算及存儲能力現(xiàn)在已不是問題,以后這方面將更加富余,所以復雜編碼的采用已越來越無障礙,開發(fā)工作的復雜化和軟件化也是必然的趨勢。 我欣賞樓主做事的態(tài)度而非其結(jié)論,成長的過程出現(xiàn)謬誤和偏差是正常的,但有了正確的做事方法和態(tài)度,只要堅持下去,不斷進步是必然的。 |
|
| 11樓: | >>參與討論 |
| 作者: 小管 于 2006/8/17 8:50:00 發(fā)布:
我有一個想法! 為什么不用紅外遙控的編碼方式呢?絕對保證有0/1跳變,數(shù)據(jù)0和1的區(qū)別就是時間不一樣! 樓主能否試一下,好驗證我的想法是否正確? |
|
| 12樓: | >>參與討論 |
| 作者: 木頭東瓜 于 2006/8/17 9:03:00 發(fā)布:
你這個想法好多人已經(jīng)在n年前試過了 現(xiàn)在很多無線的遙控器就是使用紅外編碼 |
|
| 13樓: | >>參與討論 |
| 作者: 小管 于 2006/8/17 10:28:00 發(fā)布:
那這個紅外編碼為什么沒有用呢?有什么缺點嗎? 小弟第一次接觸! |
|
| 14樓: | >>參與討論 |
| 作者: 毫伏表 于 2006/8/17 11:10:00 發(fā)布:
其實這些東西在數(shù)字通信原理中都講得很詳細了, 多找?guī)妆尽稊?shù)字通信原理》的書來看看,想必會有很多啟發(fā)。 正如樓主所說,為什么0xAA沒錯呢?就是因為它跳變很多。而很多無線通信模塊,本身的硬件結(jié)構(gòu) 就只適合傳這樣跳變比較多的碼,并且有一定的碼元速度范圍,如果超出這個范圍,誤碼率就大大 增加。 |
|
| 15樓: | >>參與討論 |
| 作者: 木頭東瓜 于 2006/8/17 11:15:00 發(fā)布:
汗 馬甲又出來了 |
|
| 16樓: | >>參與討論 |
| 作者: lxj7871 于 2006/8/18 0:06:00 發(fā)布:
佩服,望塵莫及 |
|
| 17樓: | >>參與討論 |
| 作者: judge 于 2006/8/18 12:05:00 發(fā)布:
好貼 不管怎么說,就樓主對技術(shù)的追求和懷疑的態(tài)度表示高度贊揚。 對通信我是外行。但我還是要頂一下。 |
|
| 18樓: | >>參與討論 |
| 作者: xcxxyc 于 2006/8/19 10:21:00 發(fā)布:
動手就是搞硬件成功的要決 樓主辛苦了!! |
|
| 19樓: | >>參與討論 |
| 作者: 瑞雪 于 2006/8/19 22:10:00 發(fā)布:
好帖多頂,,, 無線收/發(fā)模塊到是用過不少,對于信號在傳送中我丟失問題一直頭痛不解,但也一直沒有深入研究過(這個可能與我本人的能力有關(guān)),一般對這樣的問題解決的辦法是,加大發(fā)射模塊的功率,搞搞天線什么的,來解決問題 今天看了[敬業(yè)工程師]啟發(fā)不小,,很值得學習! |
|
| 20樓: | >>參與討論 |
| 作者: kcl123 于 2006/8/20 13:43:00 發(fā)布:
我覺得脈寬調(diào)制技術(shù)也很好,絕大部分的紅外線遙控就是用這個的! |
|
| 21樓: | >>參與討論 |
| 作者: hch 于 2006/8/21 15:04:00 發(fā)布:
唉 這本身就是調(diào)制 解調(diào)器的特性決定了 不可能推翻的 大家還是要在巨人的肩膀上前進比較好。 太多的東西你一個人不肯能什么多追究到跟上。沒有那個時間 精力 金錢也沒有必要。 |
|
| 22樓: | >>參與討論 |
| 作者: conanfans 于 2006/8/30 21:28:00 發(fā)布:
還好有位同步信號,如果全是0碼,就沒辦法了. 曼切斯特就是為了防止有直流均量吧. |
|
| 23樓: | >>參與討論 |
| 作者: 瘋狂的石頭 于 2006/9/3 18:40:00 發(fā)布:
看來門外漢不少啊 還是潛下心來研究研究高頻電路和通信原理更重要! |
|
| 24樓: | >>參與討論 |
| 作者: crazyeda 于 2006/9/3 22:49:00 發(fā)布:
呵呵,這個問題很久前我也琢磨過 樓主的意思是不是最后一級用了施密特觸發(fā)器來整形??這個辦法是不錯,但是并不能徹底解決熱噪干擾的問題.另外基帶下來未整形之前,已經(jīng)過上限為波特率的低通濾波器去除毛刺了嗎? * - 本貼最后修改時間:2006-9-4 1:15:38 修改者:crazyeda |
|
| 25樓: | >>參與討論 |
| 作者: daihelong 于 2006/9/5 19:16:00 發(fā)布:
這是有一套理論的,關(guān)系多方面的知識 這是有一套理論的,關(guān)系多方面的知識,電磁環(huán)境惡劣就能看出差別來。發(fā)射不但包括抗干擾,也要在一定范圍不干擾別的接收裝置。兩者的頻譜和帶寬都不一樣的。 |
|
| 26樓: | >>參與討論 |
| 作者: teuton 于 2006/9/6 9:45:00 發(fā)布:
學習當中 |
|
| 27樓: | >>參與討論 |
| 作者: 煙槍 于 2010/11/24 14:36:17 發(fā)布:
曼碼的本質(zhì)在于位同步 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |