單片機I/O口的紅外遙控軟件調制技術
紅外線遙控是一種無線、非接觸控制技術,是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,抗干擾能力強,信息傳輸可靠,易實現,被很多電子設備,特別是家用電器廣泛采用。鑒于家用電器的品種多樣化和用戶的使用特點,生產廠家對紅外遙控器進行了嚴格的規范編碼。這些編碼各不相同,從而形成不同的編碼方式,統一稱為紅外遙控器編碼傳輸協議。紅外遙控協議已多達10種,如RC5、SIRCS、SONY、RECS80、Sharp、NEC、Motorola、JVC、SAMSWNG和Daewoo等。一般的紅外遙控器編碼調制方式采用遙控專用集成電路,不能兼容如此眾多的紅外遙控器編碼傳輸協議。因此,本文通過對紅外遙控器發射碼序的特征進行分析,提出一種基于單片機I/O口的軟件調制技術。
1 系統設計
遙控專用集成電路是發射系統的核心部分,其內部由振蕩電路、定時電路、掃描信號發生器、鍵輸入編碼器、指令譯碼器、用戶碼轉換器、數碼調制電路及緩沖放大器等組成。它能產生鍵位掃描脈沖信號,并能譯出按鍵的鍵碼,再經遙控指令編碼器得到某鍵位的遙控指令(遙控編碼脈沖),由38 kHz的載波進行脈沖幅度調制,載有遙控指令的調制信號激勵紅外二極管發出紅外遙控信號。
系統使用NT68F632作為遙控調制發射器主芯片,紅外遙控調制發射電路如圖1所示。系統采用Novatek公司的單片機芯片NT68F632,該芯片內部集成8051 8位微處理器,帶有全雙工的UART通信接口。NT68F632單片機的UART控制口RXD和TXD腳負責和上位機(PC機)的RS232通信,接收要發送的紅外遙控器編碼信號。NT68F632單片機接收到發送的紅外遙控器編碼信號后,經過微處理器分析處理,調制成紅外遙控信號。由NT68F632單片機控制PC6引腳輸出經過調制的紅外遙控信號,驅動晶體管Q1開關,使得紅外發光二極管LED1發送調制的紅外光波。
2軟件調制設計
2.1紅外遙控調制結構分析
紅外遙控器編碼傳輸協議NEC碼的主要特征是8位地址和8位指令;地址和命令2次傳輸(確保可靠性);PWM脈沖位置調制,以發射紅外載波的占空比代表“0”和“1”;載波頻率為38kHz;位時間為1.125ms或2.25ms。
NEC的協議使用的位脈沖距離編碼。每個脈沖是560μs、38 kHz的載波爆裂(約21個周期)。一個邏輯1傳輸需要2.24 ms(560μs脈沖+1 680μs低電平),一個邏輯0的傳輸需要1.12 ms(560μs脈沖+560μs低電平)。紅外遙控調制特征波形如圖2所示。
而遙控接收頭在收到脈沖的時候為低電平,在沒有脈沖的時候為高電平,這樣,在接收頭端收到的信號為:邏輯1應該是560μs低+1 680μs高,邏輯0應該是560μs低+560μs高。遙控接收特征碼如圖3所示。
NEC遙控指令的數據格式為:引導碼、客戶碼、客戶反碼、數據碼、數據反碼。引導碼由一個9 ms的低電平和一個4.5 ms的高電平組成,客戶碼、客戶反碼、數據碼、數據反碼均是8位數據格式。按照低位在前、高位在后的順序發送。采用反碼是為了增加傳輸的可靠性。NEC遙控指令格式如圖4所示。
2.2 通信協議
NT68F632單片機的UART控制口RXD、TXD腳和上位機(PC機)的RS232通信,接收要發送的紅外遙控器編碼信號。其傳輸控制串口的通信協議如圖5所示。定義的通信協議分4個字節:Command、Addresscode、Data code、Check SUM。第1個字節Command表示紅外遙控協議類型,區分是NEC碼還是RC5碼等;第2個字節Address code表示地址碼或客戶碼;第3個字節Data code表示按鍵數據碼;第4個字節Check SUM表示校驗碼。
評論