當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件

引言

人們生活中的家用電器種類日益增多,遙控器的種類也隨之增加,不同種類的遙控器之間一般不能相互替代,這給人們的生活帶來(lái)諸多不便。

各類遙控器功能大致相同,大多都有數(shù)字鍵、啟動(dòng)停止鍵、前進(jìn)鍵、快進(jìn)鍵、后退鍵,復(fù)雜的也就是增加幾個(gè)功能鍵,現(xiàn)實(shí)生活中,由于用戶的個(gè)體差異,特殊功能鍵的使用頻率很低,甚至部分用戶自始至終就從未使用過(guò)這類鍵,因此,這些鍵完全可以簡(jiǎn)化和歸類使用,對(duì)于那些不易簡(jiǎn)化和歸類的少量特殊功能鍵,可以通過(guò)開辟自定義按鍵區(qū)的方法予以解決。

鑒于此,本文以單片機(jī)和大規(guī)模可編程門陣列FPGA為基礎(chǔ),以記錄波形的思想設(shè)計(jì)了一款自學(xué)習(xí)式通用家居遙控器,又為原本無(wú)遙控功能的電燈、電扇、窗簾等設(shè)施追加了教練+學(xué)習(xí)+控制的遙控模型,在電腦上安裝了Girder軟件后還可實(shí)現(xiàn)對(duì)電腦的遙控。

1 紅外遙控簡(jiǎn)介

1.1 關(guān)于紅外線

紅外線是波長(zhǎng)在0. 75μm 至100μm 之間的電磁波,它的頻率高于微波而低于可見光,是一種人的眼睛看不到的光線。紅外通訊一般采用紅外波段內(nèi)的近紅外線,波長(zhǎng)在0. 75μm 至25μm 之間。紅外數(shù)據(jù)協(xié)會(huì)( IRDA) 成立后,為了保證不同廠商的紅外產(chǎn)品能夠獲得最佳的通訊效果,紅外通訊協(xié)議將紅外數(shù)據(jù)通訊所采用的光波波長(zhǎng)的范圍限定在850nm 至900 nm 之內(nèi)。

由于紅外線的波長(zhǎng)較短,對(duì)障礙物的衍射能力差,所以適合應(yīng)用在需要短距離無(wú)線通訊的場(chǎng)合,進(jìn)行點(diǎn)對(duì)點(diǎn)的直線數(shù)據(jù)傳輸。

1.2 紅外遙控編碼格式

用于遙控的控制代碼大都以不同的編碼標(biāo)準(zhǔn)調(diào)制在38 kHz 左右的載波頻率之上,再以串行格式通過(guò)紅外載波的通斷被發(fā)送。下面簡(jiǎn)單介紹一下常見的編碼標(biāo)準(zhǔn):

1) Pulse 編碼(Pulse Coded)

脈沖的長(zhǎng)度根據(jù)表示的數(shù)據(jù)‘0’、‘1’而不同,Sony 的遙控用此種編碼。

2) Space 編碼(Space Coded)

與脈沖編碼正好相反,它是以脈沖之間space 的長(zhǎng)度不同來(lái)表示數(shù)據(jù), Panasonic 的遙控用的就是這種編碼。

3) Shift 編碼(Shift Coded)

此種編碼是用電平轉(zhuǎn)換的方向表示數(shù)據(jù)的,因此所有的位都有著連續(xù)的時(shí)段,Philips 就用該編碼方式。

2 系統(tǒng)的軟硬件劃分

該系統(tǒng)采用“電腦主機(jī)+單片機(jī)+FPGA”的結(jié)構(gòu),系統(tǒng)軟件分為兩部分:一部分是在主機(jī)上運(yùn)行的Girder程序,用于解碼接收到的信號(hào)并控制電腦執(zhí)行指定的動(dòng)作,另一部分運(yùn)行在單片機(jī)上,用于驅(qū)動(dòng)遙控器的液晶(LCD)顯示。系統(tǒng)的硬件分為四部分:學(xué)習(xí)器,教練器,接收器以及與主機(jī)的接口電路,其中學(xué)習(xí)器兼有學(xué)習(xí)與遙控的功能,通過(guò)學(xué)習(xí)原有遙控器的編碼可以遙控任何擁有遙控功能的電器,它包括單片機(jī)和FPGA兩部分,由FPGA執(zhí)行主要的學(xué)習(xí)與遙控功能以提高運(yùn)行速度和集成度,單片機(jī)用來(lái)驅(qū)動(dòng)液晶顯示;教練器與接收器負(fù)責(zé)對(duì)原本無(wú)遙控功能的設(shè)備追加遙控功能,具體來(lái)說(shuō)就是教練器產(chǎn)生種類足夠多的編碼地址供學(xué)習(xí)器來(lái)學(xué)習(xí),接收器則在電器端負(fù)責(zé)解碼對(duì)應(yīng)的地址并產(chǎn)生相應(yīng)的動(dòng)作;為實(shí)現(xiàn)對(duì)電腦的遙控功能而設(shè)計(jì)的主機(jī)接口電路負(fù)責(zé)把紅外信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)傳入主機(jī)。硬件電路實(shí)現(xiàn)的總體框圖如圖1所示:



圖1 硬件系統(tǒng)總體框圖

3 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)

3.1 學(xué)習(xí)器

學(xué)習(xí)器是硬件電路的主要部分,兼有學(xué)習(xí)與遙控的功能,它以FPGA為核心,外圍電路力求簡(jiǎn)單,主要由鍵盤、存儲(chǔ)器、接收電路和發(fā)射電路組成,考慮到用純硬件來(lái)控制LCD顯示的困難較大 ,決定采用微控制器協(xié)助FPGA來(lái)實(shí)現(xiàn)。這里的接收電路與后面要講的接收器不同,它專為學(xué)習(xí)功能設(shè)置,負(fù)責(zé)接收已有遙控器的紅外信號(hào)并送至FPGA內(nèi)部進(jìn)行識(shí)別、譯碼以及存儲(chǔ),發(fā)射電路由驅(qū)動(dòng)電路和紅外發(fā)光二極管兩部分電路組成,負(fù)責(zé)將編碼信號(hào)以紅外光的形式發(fā)射出去。

總體原理框圖如圖2所示:



圖2.學(xué)習(xí)器硬件結(jié)構(gòu)

3.1.1 FPGA的設(shè)計(jì)

包括鍵盤模塊、發(fā)射編碼調(diào)制模塊、接收譯碼存儲(chǔ)模塊三個(gè)模塊,另外還有一個(gè)總控制模塊,其內(nèi)部結(jié)構(gòu)如圖3所示:



圖3.FPGA內(nèi)部結(jié)構(gòu)

總控制模塊是一個(gè)有限狀態(tài)機(jī),它負(fù)責(zé)協(xié)調(diào)其他各個(gè)模塊的工作并提供與顯示電路和存儲(chǔ)器的接口;鍵盤模塊接收用戶的按鍵信息,并編碼輸出給總模塊,這些信息包括按鍵的地址,按鍵的類型和用戶選擇要遙控的器件編碼;接收譯碼存儲(chǔ)模塊由計(jì)數(shù)器記錄接收信號(hào)高低電平的寬度,并將數(shù)據(jù)存入存儲(chǔ)器相應(yīng)地址中,存儲(chǔ)時(shí)序由狀態(tài)機(jī)來(lái)控制;發(fā)射編碼調(diào)制模塊負(fù)責(zé)由存儲(chǔ)器中讀取當(dāng)前按鍵的數(shù)據(jù)信息,產(chǎn)生與學(xué)習(xí)到的信號(hào)相似的高低變化的電平,并以38kHz的載波調(diào)制輸出。

3.1.2 單片機(jī)實(shí)現(xiàn)的LCD顯示電路

顯示電路采用RT12864M-2型液晶顯示器,由我們較為熟悉的單片機(jī)控制液晶來(lái)顯示遙控器所處的狀態(tài)并提示用戶進(jìn)行正確的操作。



3.2 教練器

教練器的作用是產(chǎn)生種類足夠多的編碼信號(hào)供學(xué)習(xí)器來(lái)學(xué)習(xí),進(jìn)而控制不同的接收器。

SC2262是一種CMOS工藝制造的低功耗低價(jià)位通用編碼電路,最多可有12位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼, SC2262最多可有6位(D0-D5)數(shù)據(jù)端管腳,其編碼方式如圖4所示。



圖4.SC2262的編碼脈沖

3.3 接收器

SC2272 是與SC2262 配對(duì)使用的一塊遙控解碼專用集成電路。它可支持多達(dá)531441個(gè)地址的編碼,極大的減少了碼的沖突。SC2272 對(duì)從Din(14腳)端子送入的信號(hào)進(jìn)行解碼。解碼出來(lái)的地址碼與所設(shè)置地址輸入端進(jìn)行比較。如果所設(shè)置的地址與連續(xù)2個(gè)字碼匹配,則SC2272 做以下動(dòng)作:

a)當(dāng)解碼得到有“1”數(shù)據(jù)時(shí),驅(qū)動(dòng)相應(yīng)的數(shù)據(jù)輸出端為高電平;

b)驅(qū)動(dòng)VT (17腳)輸出為高電平。

將SC2272與繼電器結(jié)合就可以控制電燈、電扇等用電器的電源開關(guān),再加上小型直流電動(dòng)機(jī)就可控制窗簾等機(jī)械裝置。

3.4 與主機(jī)接口

為了能使此遙控器控制電腦就須將紅外信號(hào)送入主機(jī)內(nèi),有兩種可行的接口,分別為電視卡的紅外接收頭和串口。

3.4.1電視卡的紅外接收頭

現(xiàn)在的電視卡很多都帶有紅外遙控器,這樣的遙控器除了可以控制電視的播放外,通過(guò)適當(dāng)?shù)能浖?,它還可以控制音頻、視頻播放、圖片瀏覽程序及電腦的關(guān)機(jī)等,實(shí)現(xiàn)真正的電腦遙控功能。這種方法的缺點(diǎn)是需要購(gòu)買電視卡,成本較高,不予采用。

3.4.2 串口

現(xiàn)在流行的有半軟半硬和全軟兩種方案,半軟半硬方案在紅外接收頭與串口間加入了數(shù)據(jù)預(yù)處理電路,使數(shù)據(jù)符合串口規(guī)范,降低了編程難度,減少了CPU占用率;而全軟方案則是直接把紅外接收頭收到的數(shù)據(jù)送入串口,完全由軟件處理,其編程難度和CPU占用率偏大,但硬件電路非常簡(jiǎn)單。圖5是“軟”方案的硬件電路。



圖5.串行紅外接口電路

由于目前應(yīng)用串口的技術(shù)比較成熟,網(wǎng)上有很多現(xiàn)成的插件可以借鑒,因此我們決定采用串口的方式實(shí)現(xiàn)。

4 軟件設(shè)計(jì)

4.1 液晶(LCD)驅(qū)動(dòng)程序

我們采用89S51單片機(jī)來(lái)控制液晶屏,通過(guò)不斷循環(huán)讀取FPGA的狀態(tài)編碼來(lái)控制液晶顯示器實(shí)時(shí)地刷新其顯示內(nèi)容,其中包括遙控系統(tǒng)當(dāng)前所處的狀態(tài)(是處于學(xué)習(xí)狀態(tài)還是遙控狀態(tài))以及當(dāng)前處理的對(duì)象類別和編號(hào),防止用戶由于不清楚當(dāng)前遙控的對(duì)象而產(chǎn)生誤操作,同時(shí)在每一個(gè)狀態(tài)液晶屏都要提示用戶下一步該如何操作,為用戶提供一個(gè)十分人性化的使用界面,軟件使用Keil C編寫。其程序流程如圖6所示。



圖6.LCD顯示軟件流程

4.2 Girder程序

Girder是一款完全免費(fèi)的軟件,從本質(zhì)上說(shuō)它可接收來(lái)自任何輸入設(shè)備的指令,識(shí)別后做事先定義好的動(dòng)作,如啟動(dòng)某個(gè)程序或鼠標(biāo)雙擊等。首先要設(shè)置好硬件,從網(wǎng)上下載串口驅(qū)動(dòng)文件IgorPlug.dll拷貝到Girder目錄下的子目錄Plugins中。Girder軟件的界面如圖7。

進(jìn)入“filesettings”,點(diǎn)擊選項(xiàng)卡上的“Plugins”,找到滾動(dòng)窗口中的“Igor SFH-56 device”,在它前面的小框中打上勾,再點(diǎn)擊左邊的“Setting”, 選擇你所使用的串口,點(diǎn)擊OK就可以通過(guò)串口來(lái)控制電腦了。



圖7.Girder的主界面

對(duì)于像關(guān)機(jī),關(guān)閉顯示器等動(dòng)作,Girder已經(jīng)有設(shè)置好的現(xiàn)成的命令可用,對(duì)于一些較復(fù)雜的播放軟件的控制可以通過(guò)簡(jiǎn)單的設(shè)置來(lái)完成。

5 關(guān)鍵技術(shù)--對(duì)編碼信號(hào)的學(xué)習(xí)方法

紅外遙控信號(hào)的編碼方式多種多樣,例如圖8所示的是一種電視卡自帶的遙控器的編碼波形,它采用的是Space編碼,前面9ms的脈沖加4ms低電平是引導(dǎo)碼,中間是8位地址碼00H、8位地址反碼FFH、8位數(shù)據(jù)碼E8H、8位數(shù)據(jù)反碼17H,從引導(dǎo)碼開始計(jì)時(shí)發(fā)送108ms后若按鍵仍沒有松開則以后每隔108ms發(fā)送一個(gè)9ms高+2ms底+0.5ms高的重復(fù)簡(jiǎn)碼,直到按鍵松開為止。



圖8. 一種電視卡的遙控器編碼波形

如果每一種遙控器都通過(guò)解碼后存儲(chǔ)“0”“1”的數(shù)字信號(hào),那么解碼的工作將是非常繁重而且不經(jīng)濟(jì)的,一個(gè)簡(jiǎn)單的方法是記錄下波形中每個(gè)高低電平的寬度,使用時(shí)再按照原始形式將波形發(fā)射出去。

6 結(jié)語(yǔ)

智能家居各類產(chǎn)品的智能化加速必將推動(dòng)家居產(chǎn)業(yè)發(fā)展,讓我們共同期待,相信智能時(shí)代還會(huì)創(chuàng)造更多的智能奇跡,智能家居生活終會(huì)飛入尋常百姓家,普通百姓也能享受高科技時(shí)代下的智慧生活。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉