色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用微處理器I/O口控制紅外接收設(shè)備

          用微處理器I/O口控制紅外接收設(shè)備

          ——
          作者:羅國(guó)發(fā) 時(shí)間:2013-02-21 來(lái)源:電子產(chǎn)品世界 收藏

            紅外遙控是一種無(wú)線、非接觸控制技術(shù),具有抗干擾,電路簡(jiǎn)單,容易編碼和解碼,功耗小,成本低等優(yōu)點(diǎn),幾乎適用于所有家電的控制,并越來(lái)越多地應(yīng)用到計(jì)算機(jī)系統(tǒng)中。出于項(xiàng)目需要,要對(duì)一個(gè)內(nèi)部程序未知的設(shè)備實(shí)現(xiàn)控制,我們把設(shè)備自帶的紅外接收頭作為切入點(diǎn)。

          本文引用地址:http://cafeforensic.com/article/142182.htm

            項(xiàng)目使用的是GOSSAT(高斯賽特)的GSR—S80 S型數(shù)字衛(wèi)星接收機(jī),設(shè)備配套有一個(gè),單憑外觀無(wú)法知道它所使用紅外協(xié)議的種類,如果有示波器的話,就可以捕捉信號(hào)波形并進(jìn)行分析。

            紅外接收頭的種類很多,引腳定義也不相同,一般都有三個(gè)引腳,包括供電腳,接地和信號(hào)輸出腳。常見(jiàn)的接收頭型號(hào)有0038和1838。從外形上看,項(xiàng)目用的接收機(jī)使用的是0038接收頭。

            項(xiàng)目使用的是ATTEN(安泰信)的ADS-1102C數(shù)字示波器。把接收頭的信號(hào)輸出腳和地腳引出來(lái),接入示波器,捕捉波形時(shí)建議用25ms/div的時(shí)間間隔比較方便,之后再放大到2.5ms/div進(jìn)行查看和分析。鑒定有沒(méi)輸出信號(hào)的小技巧,打開(kāi)手機(jī)的拍照功能,對(duì)著的紅外發(fā)射管,此時(shí)按下遙控器上任意一個(gè)鍵,如果手機(jī)屏幕上能看到發(fā)射管發(fā)出了紅紫光,說(shuō)明遙控器是正常的。

            經(jīng)過(guò)分析捕捉到的波形得知,項(xiàng)目所用接收機(jī)采用的是紅外協(xié)議。查閱協(xié)議的資料,其特征如下:

            (1)8位地址和8位指令長(zhǎng)度;

            (2)地址和命令2次傳輸(確??煽啃?;

            (3)PWM脈沖位置調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1””;

            (4)載波頻率為38kHz;

            (5)位時(shí)間為1.125ms或2.25ms;

            碼的位定義:一個(gè)脈沖對(duì)應(yīng)560μs的連續(xù)載波,一個(gè)邏輯1傳輸需要560μs脈沖+1680μs低電平,一個(gè)邏輯0的傳輸需要560μs脈沖+560μs低電平。而遙控接收頭在收到脈沖的時(shí)候?yàn)榈碗娖?,在沒(méi)有脈沖的時(shí)候?yàn)楦唠娖?,這樣,我們?cè)诮邮疹^端收到的信號(hào)是反相的:邏輯1是560μs低+1680ms高,邏輯0是560μs低+560μs高。

            NEC遙控指令的數(shù)據(jù)格式為:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。同步碼由一個(gè)9ms的低電平和一個(gè)4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。采用反碼是為了增加傳輸?shù)目煽啃?可用于校驗(yàn))。

            NEC碼規(guī)定的連發(fā)碼(由9ms低電平+2.5m高電平+0.56ms低電平+97.94ms高電平組成),發(fā)送完后40ms,遙控再發(fā)送一個(gè)9ms低,2ms高的脈沖,表示按鍵的次數(shù),出現(xiàn)一次則表示只按下了一次,如果出現(xiàn)多次,則可以認(rèn)為是持續(xù)按下該鍵。

            知道協(xié)議之后,我們就可以進(jìn)一步分析出遙控器的地址碼和各個(gè)按鍵的控制碼。項(xiàng)目所用接收機(jī)有點(diǎn)特殊,通過(guò)示波器去看,得出地址正碼是0xA1,地址反碼是0xDE,其余位都取反了,唯獨(dú)最高位都是1,這個(gè)不同于常規(guī)。

            之后的控制碼,由于按鍵數(shù)量多,可以編寫一個(gè)紅外解碼程序來(lái)解出這些鍵值,之后再用示波器來(lái)抽檢幾個(gè),用于保證解出來(lái)的控制碼的正確性,這是很關(guān)鍵的一步,不可小視。

            之后就可以開(kāi)始進(jìn)行的虛擬NEC工作了,項(xiàng)目采用STM32作為主控芯片,這里的功能只需要用到一個(gè)普通,我們使用的是PA14。硬件上只需把PA14連接到紅外接收頭的信號(hào)輸出腳,地腳和STM32共地就可以了。

            關(guān)于STM32的設(shè)置說(shuō)明,每個(gè)I/O口可以自由編程,單I/O口寄存器必須要按32位字被訪問(wèn)。STM32的每個(gè)I/O端口都由7個(gè)寄存器來(lái)控制。其中CRL和CRH控制著每個(gè)I/O口的模式及輸出速率,對(duì)ODR賦值可以改變對(duì)應(yīng)位I/O口的高低電平。

          萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼




          關(guān)鍵詞: NEC I/O 遙控器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉