第一部分:認識紅外調製
生產廠家對紅外遙控的編碼做了嚴格的規範,目前國內外主流的紅外遙控編碼傳輸協議有十多種,如nec、philips rc-5、philips rc-6、philips rc-mm、philips recs80(對philips抓狂了)、 rca、x-sat、itt、jvc、sharp、nokia nrc17和sony sirc等。
國內最常用的規範有兩種:nec和sony sirc。這兩種規範的調製方式分別為:ppm(脈衝間隔調製)和pwm(脈衝寬度調製)。談到這兩個概念,我需要具體講解一下,因為我在網上查閱相關資料時甚是鬱悶,好多說法相互矛盾。有說nec屬於pwm的因為它的脈寬不同,ppm的脈寬是固定的。而細心地朋友如果**到nec的典型晶元的晶元手冊時,會發現上面這種說法是錯誤的。比如upd6121這款紅外遠端控制晶元的調製方式為ppm。後來終於在一家國外的**上找到了能夠自圓其說的解釋。個人認為比較正確,拿來和大家分享。
要想認清紅外遙控編碼傳輸協議的具體內容,我想還是先撿其重點來講一下,編碼規範中最重要的當屬調製這部分了。而主流的調製方式有兩種分別為ppm和pwm,當然其他還有好幾種,這裡先不講解,免得糊塗了。本文就先介紹下ppm和pwm的區別。
ppm(pulse position modulation),其實更加準確的說法應該是pdm(pulse distance modulation)即脈衝間隔調製(脈衝寬度不變,都是560us;脈衝間隔改變)
上圖為典型編碼規範nec協議的調製圖,為ppm調製。可以看出不管是「0」還是「1」,有高頻調製波的地方(下文稱其為脈衝)其寬度都是相同的位560us(38khz調製波,占空比常用1/3,因為據說占空比越大紅外傳輸過程中能量損失越多,傳輸距離越近),而脈衝間的間隔則是不同的:「1」時為(2.25ms-560us),「0」時為(1.12ms-560us)。由此得來ppm的稱號。
再來看下pwm的調製波形吧(脈衝間隔不變,都是600us;脈衝寬度改變)
顯然可以看出,「1」的脈衝寬度為1.2ms,「0」的為600us。而脈衝間隔不管是「0」還是「1」,均為600us。從而ppm和pwm的兩個概念認識清楚!當然不同規範中ppm和pwm這兩種調製方式的脈寬及脈衝間隔可能不同,上面兩個圖只是示例而已。
第二部分:微控制器設計方法
在紅外抄表等電路中,要用到38khz載波來實現串列埠通訊,其串列埠就是普通的uart。筆者總結出6種調製電路供網友們參考。
1、基於三態門的標準的調製方式:當uart_tx為低電平時,38khz訊號可以通過三態門。
2、基於或門的調製方式:上圖中,實際是當uart_tx和38khz都為低電平時點亮紅外發射管,是個邏輯或的關係。也可以用或門來實現,如下圖:
3、基於或非門的調製方式:當然也可以用或非門來實現,只是改用高電平點亮紅外發射管,如下圖:
4、基於三態門的又一種標準的調製方式:調製要求的是基頻訊號有效時,讓高頻訊號通過,其實高頻訊號的高電平或低電平點亮紅外發射管都是可以的,下圖是用的高電平點亮紅外發射管:
5、既然第1種方式實際實現了個邏輯或的關係,則輸入的2個訊號互換也是可以的。
6、當2個訊號的驅動能力夠強時,不用額外的晶元也能實現紅外調製,如下圖:
談談微控制器程式設計入門方法
最近發現不少畢業剛入職的同學編寫微控制器程式很是迷茫,不知道從 入手,怎樣實現想要的功能。雖然在學校裡學過相關課程,可能課程設計或者畢業設計就是做乙個微控制器的小設計,但從電路板到程式基本都已經做好了,同學們只需要動動手組裝 編譯 就完成了,這個過程只是熟悉一下環境,而實際工作中就需要動腦了,顯然這...
微控制器學習筆記 微控制器學習方法和步驟
學習微控制器的動機不外乎有四種 一是為興趣愛好而學,二是為專業而學 三是為飯碗而學 四是在工作中被逼而學。不管是哪種動機,因主修專業的不同以及電子基礎的深淺不同,對於不同的人可能採用不同的學習方法,根據筆者的親身學習經驗和教授徒弟學習的感受,提出筆者的學習方法和步驟。目錄 第一步 基礎理論知識學習 ...
基於51微控制器和藍芽控制的紅外小車
整理資料,翻到大一時候做的乙個比賽,要求做乙個電子小車,沒有很多具體要求,算是比較開放一點的題目,雖然這個算不上厲害,但在那段期間感覺真的學到了很多,總結了一下,就是永遠不要停下學習的腳步。1 選用的感測器是夏普的紅外測距感測器,一開始的想法是通過這個感測器來實現跟隨人走的小車,雖說現在想起來當時的...