葉林俊
(福州大學 物理與信息工程學院,福州350001)
葉林俊(碩士生),研究方向為現代電視系統。
紅外線遙控是一種無線、非接觸控制技術,是目前使用最廣泛的一種通信和遙控手段[1]。由于紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,抗干擾能力強,信息傳輸可靠,易實現,被很多電子設備,特別是家用電器廣泛采用。鑒于家用電器的品種多樣化和用戶的使用特點,生產廠家對紅外遙控器進行了嚴格的規范編碼。這些編碼各不相同,從而形成不同的編碼方式,統一稱為紅外遙控器編碼傳輸協議。紅外遙控協議已多達10種,如 RC5、SⅠRCS、SONY、RECS80、Sharp、NEC、Motorola、JVC、SAMSWNG 和 Daewoo等。一般的紅外遙控器編碼調制方式采用遙控專用集成電路,不能兼容如此眾多的紅外遙控器編碼傳輸協議。因此,本文通過對紅外遙控器發射碼序的特征進行分析,提出一種基于單片機Ⅰ/O口的軟件調制技術。
遙控專用集成電路是發射系統的核心部分,其內部由振蕩電路、定時電路、掃描信號發生器、鍵輸入編碼器、指令譯碼器、用戶碼轉換器、數碼調制電路及緩沖放大器等組成。它能產生鍵位掃描脈沖信號,并能譯出按鍵的鍵碼,再經遙控指令編碼器得到某鍵位的遙控指令(遙控編碼脈沖),由38kHz的載波進行脈沖幅度調制,載有遙控指令的調制信號激勵紅外二極管發出紅外遙控信號。
圖1 紅外遙控調制發射電路
系統使用NT68F632[2]作為遙控調制發射器主芯片,紅外遙控調制發射電路如圖1所示。系統采用Novatek公司的單片機芯片NT68F632,該芯片內部集成8051 8位微處理器,帶有全雙工的UART通信接口。NT68F632單片機的UART控制口RXD和TXD腳負責和上位機(PC機)的RS232通信,接收要發送的紅外遙控器編碼信號。NT68F632單片機接收到發送的紅外遙控器編碼信號后,經過微處理器分析處理,調制成紅外遙控信號。由NT68F632單片機控制PC6引腳輸出經過調制的紅外遙控信號,驅動晶體管Q1開關,使得紅外發光二極管LED1發送調制的紅外光波。
紅外遙控器編碼傳輸協議NEC碼的主要特征是8位地址和8位指令;地址和命令2次傳輸(確保可靠性);PWM脈沖位置調制,以發射紅外載波的占空比代表“0”和“1”;載波頻率為38kHz;位時間為1.125ms或2.25ms。
NEC的協議使用的位脈沖距離編碼。每個脈沖是560μs、38kHz的載波爆裂(約21個周期)。一個邏輯1傳輸需要2.24ms(560μs脈沖+1 680μs低電平),一個邏輯0的傳輸需要1.12ms(560μs脈沖+560μs低電平)。紅外遙控調制特征波形如圖2所示。
圖2 紅外遙控調制特征波形
而遙控接收頭在收到脈沖的時候為低電平,在沒有脈沖的時候為高電平[3-4],這樣,在接收頭端收到的信號為:邏輯1應該是560μs低+1680μs高,邏輯0應該是560 μs低+560μs高。遙控接收特征碼如圖3所示。
圖3 遙控接收特征碼
NEC遙控指令的數據格式為:引導碼、客戶碼、客戶反碼、數據碼、數據反碼。引導碼由一個9ms的低電平和一個4.5ms的高電平組成,客戶碼、客戶反碼、數據碼、數據反碼均是8位數據格式。按照低位在前、高位在后的順序發送。采用反碼是為了增加傳輸的可靠性。NEC遙控指令格式如圖4所示。
圖4 NEC遙控指令格式
NT68F632單片機的UART控制口RXD、TXD腳和上位機(PC機)的RS232通信,接收要發送的紅外遙控器編碼信號。其傳輸控制串口的通信協議如圖5所示。定義的通信協議分4個字節:Command、Address code、Data code、Check SUM。第1個字節Command表示紅外遙控協議類型,區分是NEC碼還是RC5碼等;第2個字節Address code表示地址碼或客戶碼;第3個字節Data code表示按鍵數據碼;第4個字節Check SUM表示校驗碼。
圖5 通信協議
系統的遙控碼發送主程序流程如圖6所示。NT68F632單片機的UART控制口接收串口通信數據,微處理器根據串口通信協議對數據分析處理,并調制成相應的遙控數據碼,同時控制PC6口發送遙控數據碼。
圖6 遙控碼發送主程序流程
本調制技術中,NEC碼的每個脈沖是560μs,而載波頻率為38kHz,故約21個周期的載波爆裂。每個載波是26.3μs,其中8.77μs的高電平、17.53μs的低電平。NEC碼脈沖調制流程如圖7所示。
圖7 NEC碼脈沖調制流程
NEC碼的脈沖函數:
產生一個字節的脈沖函數:
NEC碼的發送流程如圖8所示。先發送9ms高電平、4.5ms低電平的引導碼,接著發送8位客戶碼和8位客戶碼的反碼,最后發送8位數據碼和8位數據碼的反碼。
圖8 NEC碼的發送流程
在本文中,根據紅外遙控發射碼的特征,采用基于單片機Ⅰ/O口的紅外遙控軟件調制技術。該單片機能夠根據串口通信協議和上位PC機進行串口通信,接收各種紅外遙控協議編碼,并在經過調制后進行紅外發射。經實驗測試,本軟件調制技術可靠實用。該系統可廣泛應用在自動測試、生產控制等領域。
[1]李從宏.基于功能碼的紅外遙控軟件解碼技術[J].單片機與嵌入式系統應用,2010(9):72-73.
[2]Novatek Microelectronics Corp.NT68F632[OL].[2011-06].http://www.novatek.com.tw.
[3]唐柳,方風才.一種基于AT89S52單片機的紅外遙控發射碼解碼技術[J].廣西師范學院學報:自然科學版,2009,26(2):44-47.
[4]施新華.利用單片機實現的紅外遙控技術[J].上海電機學院學報,2006,9(3):69-71.