基于FPGA的家居智能遙控
為了能使此遙控器控制電腦就須將紅外信號送入主機(jī)內(nèi),有兩種可行的接口,分別為電視卡的紅外接收頭和串口。
3.4.1電視卡的紅外接收頭
現(xiàn)在的電視卡很多都帶有紅外遙控器,這樣的遙控器除了可以控制電視的播放外,通過適當(dāng)?shù)能浖?,它還可以控制音頻、視頻播放、圖片瀏覽程序及電腦的關(guān)機(jī)等,實現(xiàn)真正的電腦遙控功能。這種方法的缺點是需要購買電視卡,成本較高,不予采用。
3.4.2 串口
現(xiàn)在流行的有半軟半硬和全軟兩種方案,半軟半硬方案在紅外接收頭與串口間加入了數(shù)據(jù)預(yù)處理電路,使數(shù)據(jù)符合串口規(guī)范,降低了編程難度,減少了 CPU占用率;而全軟方案則是直接把紅外接收頭收到的數(shù)據(jù)送入串口,完全由軟件處理,其編程難度和CPU占用率偏大,但硬件電路非常簡單。圖5是“軟”方案的硬件電路。
圖5.串行紅外接口電路
由于目前應(yīng)用串口的技術(shù)比較成熟,網(wǎng)上有很多現(xiàn)成的插件可以借鑒,因此我們決定采用串口的方式實現(xiàn)。
4 軟件設(shè)計
4.1 液晶(LCD)驅(qū)動程序
我們采用89S51單片機(jī)來控制液晶屏,通過不斷循環(huán)讀取FPGA的狀態(tài)編碼來控制液晶顯示器實時地刷新其顯示內(nèi)容,其中包括遙控系統(tǒng)當(dāng)前所處的狀態(tài)(是處于學(xué)習(xí)狀態(tài)還是遙控狀態(tài))以及當(dāng)前處理的對象類別和編號,防止用戶由于不清楚當(dāng)前遙控的對象而產(chǎn)生誤操作,同時在每一個狀態(tài)液晶屏都要提示用戶下一步該如何操作,為用戶提供一個十分人性化的使用界面,軟件使用Keil C編寫。其程序流程如圖6所示。
圖6.LCD顯示軟件流程
4.2 Girder程序
Girder是一款完全免費的軟件,從本質(zhì)上說它可接收來自任何輸入設(shè)備的指令,識別后做事先定義好的動作,如啟動某個程序或鼠標(biāo)雙擊等。首先要設(shè)置好硬件,從網(wǎng)上下載串口驅(qū)動文件IgorPlug.dll拷貝到Girder目錄下的子目錄Plugins中。Girder軟件的界面如圖7。
進(jìn)入“filesettings”,點擊選項卡上的“Plugins”,找到滾動窗口中的“Igor SFH-56 device”,在它前面的小框中打上勾,再點擊左邊的“Setting”, 選擇你所使用的串口,點擊OK就可以通過串口來控制電腦了。
圖7.Girder的主界面
對于像關(guān)機(jī),關(guān)閉顯示器等動作,Girder已經(jīng)有設(shè)置好的現(xiàn)成的命令可用,對于一些較復(fù)雜的播放軟件的控制可以通過簡單的設(shè)置來完成。
5 關(guān)鍵技術(shù)--對編碼信號的學(xué)習(xí)方法
紅外遙控信號的編碼方式多種多樣,例如圖8所示的是一種電視卡自帶的遙控器的編碼波形,它采用的是Space編碼,前面9ms的脈沖加4ms低電平是引導(dǎo)碼,中間是8位地址碼00H、8位地址反碼FFH、8位數(shù)據(jù)碼E8H、8位數(shù)據(jù)反碼17H,從引導(dǎo)碼開始計時發(fā)送108ms后若按鍵仍沒有松開則以后每隔108ms發(fā)送一個9ms高+2ms底+0.5ms高的重復(fù)簡碼,直到按鍵松開為止。
圖8. 一種電視卡的遙控器編碼波形
如果每一種遙控器都通過解碼后存儲“0”“1”的數(shù)字信號,那么解碼的工作將是非常繁重而且不經(jīng)濟(jì)的,一個簡單的方法是記錄下波形中每個高低電平的寬度,使用時再按照原始形式將波形發(fā)射出去。
6 結(jié)語
智能家居各類產(chǎn)品的智能化加速必將推動家居產(chǎn)業(yè)發(fā)展,讓我們共同期待,相信智能時代還會創(chuàng)造更多的智能奇跡,智能家居生活終會飛入尋常百姓家,普通百姓也能享受高科技時代下的智慧生活。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論