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