基於STM32的學習型通用紅外遙控裝置的設計實現(一)

__2017__發表於2014-02-24
CPU: STM32
除錯平臺: STM32F103ZET和STM32F103VBT
軟體平臺: Keil uVision4
電路設計: Altium Designer v6.9
http://blog.csdn.net/u013686019/article/details/19834441

1、紅外通訊技術理論介紹

1.1 紅外通訊技術理論及示波器驗證

先說下紅外遙控的知識。這方面的資料Google一下到處都是,歸納起來有:
  • 紅外通訊的介質-波長為0.76~1.5μm的紅外線
  • 現今主流且常用的有兩種編碼格式-脈衝位置調製(PPM, Pulse Position Modulation)和脈衝寬度調製(PWM, Pulse Width Modulation)
  • 調製和傳送-紅外協議-NEC協議夏普協議索尼SIRC協議等,應用最廣泛的是NEC協議。

NEC標準規定紅外通訊的載波頻率為38KHz佔空比為1:3;按鍵按下後,傳送一個全碼,如果108ms後按鍵仍沒鬆開,則傳送重發碼。協議編碼的一幀全碼由引導碼、使用者碼、使用者反碼、按鍵資料碼、按鍵資料反碼和尾部的重發碼組成,如下圖所示


NEC標準規定的引導碼由9000μs左右的低電平和4500μs左右的高電平組成,重複碼由9000μs左右的低電平和2250μs左右的高電平組成,資料“1”由560μs左右的低電平和1685μs左右的高電平組成,資料“0”由560μs左右的低電平和565μs左右的
高電平組成,如下圖所示:

通訊裝置的按鍵按下後,週期性的發出同一種32位的二進位制碼,整個週期約為108ms。通訊裝置傳送的編碼持續時間與其包含的二進位制“1”和“0”的個數有關,發射波形圖如下圖所示:

1.2 紅外協議的驗證

NEC協議的理論在1.1節有論述,為使自己有一個感官上的認識,對協議進行波形的提取分析,即通過抓取紅外一體接收頭輸出的紅外訊號,測量脈衝的高低電平寬度是否在協議規定的範圍。    
用示波器(RIGOL DG1102E)檢測VS838輸出的紅外訊號, 示波器接收到的引導碼下圖所示:


示波器接收到的“1”碼如下圖:


示波器接收到的“0”碼如下圖:


引導碼持續時間13.6ms,“1”碼持續時間2.22ms,“0”碼持續時間1.10ms,完全在NEC協議規定的範圍內。
 

1.3 通用紅外通訊裝置的實現

通用紅外通訊裝置按照學習方式的不同可以分為兩類:
  • 固定碼格式的通訊裝置
  • 波形拷貝式的通訊裝置
第一種通訊裝置需要收集儲存不同種類的紅外裝置訊號,然後識別比較,最後再記錄。這種紅外裝置的優點是硬體要求相對簡易,控制器的CPU頻率可以較低;缺點是因為紅外編碼格式太多,實現紅外裝置的成功複製比較難。
第二種紅外裝置是把原來紅外裝置發出的訊號進行完全的複製,不管原來紅外裝置紅外訊號是什麼格式,然後儲存到非易失性的儲存器(如EEPROM)中,傳送時再把儲存的波形資料取出,還原成原始訊號。其優點是可以對任何一種紅外裝置進行學習;缺點是對控制器CPU的頻率要求較高,RAM要大。
為了對儘可能多的裝置進行控制,本設計完成的是第二種紅外通訊裝置波形拷貝式的通訊裝置
 
紅外訊號的接收由一體化接收管完成,然後送入微控制器進行處理。接收管圖片如下圖所示:

微控制器通過中斷的方式對紅外脈衝訊號的脈寬進行測量。紅外接收管在沒有收到紅外訊號的情況下,輸出端一直輸出高電平;一旦由紅外訊號輸入,按照NEC協議,會產生下降沿的跳變。通過把微控制器的中斷設定為下降沿模式,就可以捕獲該訊號,進入中斷處理函式,實現脈寬的寬度測量。

隨著積體電路整合度的日益增大,許多微控制器都已具備內部FALSH且容量完全可以滿足對脈寬資料的儲存。這樣,可以省去額外的儲存器,節省成本,簡化硬體電路,而且對內部FLASH的讀寫速度很快。

紅外訊號的調製傳送設計兩方面,一是從FLASH中讀取按鍵對應的鍵值碼的資訊,二是完成對復原的紅外訊號的傳送。按鍵按下,從按鍵對應的地址讀出鍵碼資訊;傳送需要先把資訊調製在38KHz的載波上,38KHz載波由微控制器的定時器產生佔空比1:3的PWM波得到,其中調製部分的原理電路如下圖所示:

當Txd端輸出是低電平0時,三極體Q1導通,38KHz載波訊號由Q2輸出,驅動紅外發射管L1傳送訊號;當Txd端輸出是高電平1時,三極體Q1截止,38KHz載波訊號無法輸出,接收端接收不到紅外訊號,輸出高電平。紅外傳送波形資訊如下圖所示:
 

1.4 系統實現的流程

整個系統主要由7個模組組成,它們是:
  • 38KHz載波模組
  • 鍵盤模組
  • 紅外脈寬測量模組
  • FLASH儲存器的讀寫模組
  • 紅外訊號的調製傳送模組
  • 學習鍵的中斷實現模組
  • TFT液晶的顯示模組。
整個系統的流程圖如下圖所示:

相關文章