摘要 設計并實現了一種基于電話通道的家用電器遙控裝置。該裝置采用單片機智能控制,利用不同的提示音達到對不同操作的提示和受控方狀態(tài)的信息反饋,從而使操作者能及時了解受控方信息,使產品達到交互式與智能化。經過實際測試:該裝置經濟、可靠,符合未來家電的智能化發(fā)展方向,具有一定的實用價值。
關鍵詞 遠程遙控;單片機;家用電器;MT8870
文中設計的是基于單片機的家用電話遠程遙控方案,采用ISD1420芯片進行語音處理,使操作有語音提示,操作界面友好。電話遙控與常規(guī)遙控方式相比,不需進行專門布線,不占用無線電頻率資源,避免了電磁污染,且由于電話線路各地聯網,可以充分利用現有的電話網。
1 系統硬件設計
設計以高速單片機STC11F40XE為核心器件,STC11F40XE有40 kB的儲存空間,速度比STC89C51單片機快8~10倍,可充分利用單片機的片內外資源。系統主要有振鈴檢測電路、雙音多頻電路和ISD1420語音電路等組成。系統硬件組成框圖如圖1所示。
1.1 振鈴檢測電路
振鈴檢測電路如圖2所示,當用戶被呼叫時,電話交換機發(fā)來鈴流信號。振鈴為48±3 V的正弦波,諧鈴失真不大于10%,電壓有效值90±15 V。振鈴以5 s為周期,即1 s送,4 s斷。輸入至光電耦合器。經過光耦的隔離轉換,從光電耦合器輸出的波形是時通時斷的近似正弦波,經反向器及RC回路進行濾波輸出方波信號。方波信號輸入至單片機的T1計數器外部管腳,完成整個振鈴音檢測和計數的過程。
1.2 雙音多頻電路
MT8870是Mitei公司生產的一種功能較強的DTMF發(fā)送與接收器,體積小、抗干擾性強,晶振頻率為3.58 MHz,輸出為二進制編碼信號,便于與計算機連接,是目前國際流行的DTMF解碼器件。MT8870電路連接如圖3所示。
雙音多頻信號完成撥號的檢測解碼,解碼信號由MT8870的Q1~Q4輸出,送單片機識別和處理。例如撥動“1”號鍵,MT8870通過對電話網上的雙音多頻信號解碼,識別操作者的命令,從而實現對遠程的控制。當MT8870作為DTMF發(fā)送器時,數據總線Q1~Q4上4位二進制碼被鎖存在發(fā)送數據寄存器中,發(fā)送的DTMF信號頻率由3.58MHz的晶振分頻產生。
1.3 ISD1420語音電路
ISD1420為美國ISD公司出品的單片語音錄放電路,由振蕩器、語音存儲單元、前置放大器、自動增益控制電路、抗干擾濾波器、輸出放大器組成。一個最小的錄放系統由一個麥克風、一個喇叭、兩個按鈕、一個電源和少數電阻電容組成,電路如圖4所示。ISD1420是采用模擬存取技術集成的可反復錄放20 s的語音芯片,掉電語音不丟失,最大可分160段,最小每段語音長度為125 ms,每段語音都可由地址線控制輸出,每125 ms為一個地址,由A0~A7,8根地址線控制。用戶錄制的語音每段結束后芯片自動設有段結束標志(EOM),芯片錄滿后設有溢出標志(OVF)。如果用單片機等控制電路按某一段的起始地址進行放音操作,遇到段結束標志(EOM)即自動停止放音,單片機收到段結束標志(EOM)就開始觸發(fā)下一段語音的起始地址,如此控制,即可以將很多不同段的語音組合成一句話放音出來,實現語音自動組合。
語音芯片ISD1420可錄制20 s語音信號,本裝置中共錄制語音信號:“請輸入密碼”、“密碼正確,請輸入功能健,按*鍵結束”、“密碼錯誤,請重新輸入”、“電器已開”、“電器已關閉”。
2 系統軟件設計
系統軟件設計主要由鈴流檢測、MT8870解碼、語音錄放、讀寫EEPROM、看門狗設置、密碼修改、密碼驗證、電器開關控制等組成。系統的工作流程如圖5所示??刂七^程中,系統上電復位后,CPU根據外圍雙音頻譯碼電路的譯碼信息判斷出要選擇的電器,然后再得到要求進行的操作,并將單片機I/O的口相應位置0或置1,即可按要求實現對相應家用電器的控制。
(1)鈴流檢測模塊。由于整個電路無需中斷處理一些特殊的任務,所以軟件采用順序結構。鈴流檢測實質是單片機TIMER1對外部方波的計數。
(2)MT8870解碼模塊。DTMF發(fā)送與接收器MT8870未檢測到電話網上的雙音多頻信號時,將單片機的外部中斷口拉低,當檢測到雙音多頻信號并成功解碼輸出時會置高P3.2。因此程序可通過檢測P3.2口電平的高低來判斷是否有雙音多頻信號送往MT8870,一旦P3.2口電平置高,讀取P1口低4位數據并存儲。
(3)語音模塊。ISD1420語音芯片錄放音只需將相應的錄放音管腳拉低,送入相應的語音地址,即可完成錄放音功能。錄音時,先送P2口起始地址為0x90+Address,接著拉低錄音管腳。錄音完,再不斷播放錄音,尋找此段錄音結束時的地址,以確定下一段錄音的起始地址。
(4)EEPROM及看門狗功能模塊。單片機通過SPI串行總線向25045寫入指令、數據。25045在讀寫操作之前,需要先向它發(fā)出指令。25045芯片內包含有一個看門狗定時器,可通過軟件預置系統的監(jiān)控時間。在看門狗定時器預置的時間內若沒有總線活動,則25045將從RESET輸出一個高電平信號使CPU復位??撮T狗定時器的預置時間是通過25045的狀態(tài)寄存器的相應位來設定的。
(5)密碼修改和驗證模塊。密碼修改程序需注意按鍵的消抖動、密碼修改結束的確定、密碼的存儲。程序中使用第8個按鍵作為密碼修改結束的結束符。一旦第8個按鍵按下就結束密碼修改,將最終的密碼存儲到EEPROM中。密碼驗證比較容易,就是電話中輸入的密碼和EEPROM中的密碼進行逐個比較,如有一個不同就認為輸入的密碼有誤,返回一個“0”。程序中對EEPROM進行了兩次讀操作,以防第一次讀出數據有誤。
(6)電器開關控制模塊。電器開關控制模塊通過MT8870解碼數據對8路電器進行控制。該模塊程序一定程度上是MT8870模塊和放音模塊程序的疊加,另外加上簡單的P3口輸出操作。
3 結束語
系統借助家庭固定電話網絡傳送控制命令信號,由單片機系統進行命令分析,由繼電器控制家用電器,無需對固定電話或家電做太大改動,安裝方便、性能穩(wěn)定、工作可靠,而且不影響電話的正常使用。