基于紅外模塊的單片機(jī)電子密碼鎖安全性論證
4.3 遙控模塊電路設(shè)計(jì)
當(dāng)鍵盤(pán)有鍵按下時(shí),編碼芯片激活,發(fā)送相應(yīng)紅外編碼信號(hào)。由遙控器發(fā)送的紅外信號(hào),經(jīng)過(guò)紅外一體化接收頭接收、放大、解調(diào)之后,將信號(hào)送到單片機(jī)P3.2引腳。本文引用地址:http://www.ex-cimer.com/article/171922.htm
5 遙控模塊軟件的安全性設(shè)計(jì)方案
(1)HS0038的解調(diào)。一體化紅外接收頭HS0038將接收到的紅外信號(hào)放大、解調(diào)才送給單片機(jī)的。接收頭接收到的是38 kHz的串行脈沖信號(hào),經(jīng)過(guò)解調(diào)之后轉(zhuǎn)換成TTL電平。接收頭的解調(diào)可簡(jiǎn)單理解為:在輸入脈沖串時(shí)輸出低電平,否則輸出高電平。一體化紅外接收頭解調(diào)前后的信號(hào)對(duì)比如圖10所示,可見(jiàn)解調(diào)后信號(hào)與編碼信號(hào)反相。
當(dāng)按鍵按下后,經(jīng)過(guò)HS0038解調(diào)輸出的一幀信號(hào)則如圖11所示。
(2)解碼。
7461產(chǎn)生的遙控編碼是連續(xù)的42位二進(jìn)制碼組,其中前26位為用戶識(shí)別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后16位為8位的操作碼和8位的操作反碼用于核對(duì)數(shù)據(jù)是否接收準(zhǔn)確。
單片機(jī)解碼是根據(jù)一體化紅外接收頭的解調(diào)信號(hào)進(jìn)行的,從上面的分析可知:任意按鍵按下后,都有9 ms的低電平起始碼和4.5 ms的高電平結(jié)果碼作為引導(dǎo)信號(hào),因此應(yīng)該在引導(dǎo)碼之后才能進(jìn)行解碼。
如何識(shí)別“0”和“1”是解碼的關(guān)鍵。根據(jù)位定義:“0”、“1”均以0.56 ms的低電平作為起始,兩者區(qū)別在于高電平的寬度不同,即“0”高電平為0.56 ms,“1”高電平為1.68 ms,因此解碼時(shí)須根據(jù)高電平的寬度來(lái)區(qū)別“0”和“1”。若從0.56 ms低電平過(guò)后,開(kāi)始延時(shí),0.56 ms之后,檢測(cè)到的為低電平,則該位為“0”,反之則為“1”。為了保證解碼的可靠性,高電平檢測(cè)延時(shí)應(yīng)該在0.56~1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(1.12+0.56)/2=0.84ms較可靠,一般取0.84ms即可。
評(píng)論