馮志榮+王紅梅
摘 要: 一種基于LIN總線的語音控制智能家居系統,系統采取分布式控制方式,即由一個中央處理器和多個從機組成控制網絡,系統采用凌陽SPCE061A作為主機,采用89C51單片機作為從機。凌陽SPCE061A對語音命令進行識別,識別結果通過LIN總線傳給特定的從機,再由從機執行對家電的操作。語音識別部分采用特定人識別和命令分層技術,系統對家庭各個成員的語音命令進行采樣、存儲,從而實現對家庭各個成員的語音識別。
關鍵字: 智能家居; 語音識別; LIN總線; 命令分層
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2015)10?0028?04
0 引 言
電子技術的發展使得電子技術產品在智能家居中得到廣泛使用。特別是物聯網技術、傳感器網絡技術、無線通信技術的快速發展,促使家庭實現了居住環境舒適化、生活現代化、安全化,智能家居的日漸興起給人們的家居生活帶來了全新的感受,家居智能化正成為一種趨勢[1?2]。電子技術的發展已經影響到人們生活的方方面面,提高了人們生活質量,改變了人們生活習慣,智能化家居也正是在這種形勢下應運而生。
住宅智能化的概念起源于從20世紀70年代末的美國,隨后,日本、歐洲等發達國家的家居智能化也迅速發展。在我國,20世紀90年代末住宅智能化系統進入國內,智能家居這一概念推廣較晚,但其發展速度非常快,全國已建立了一些具有初步智能化功能的家庭智能化住宅和住宅小區。
智能家居是通過統一的網絡總線和控制平臺將家庭的安全、能源、電器設備、燈光等連成一體。目前智能家居的發展趨勢是由集中控制到分布式控制。與集中控制相比,分布式控制不僅能減少布線,而且能提高系統的可靠性,整個控制網絡中可隨意加入新的設備,也可以根據要求隨意移除現有設備,且其他設備的工作狀態不受影響[3]。
1 系統方案
系統采用LIN總線協議,以1個凌陽SPCE061A主機和多個89C51從機組成分布式控制網絡。從機安裝在房子的各處,例如臥室,客廳,廚房,陽臺等。中央處理器的任務是對家庭的成員語音命令進行識別,然后把地址命令與控制命令傳到LIN總線上,再由連接在LIN總線上的各個從機進行匹配,由從機對家電做出具體的控制[4?6]。系統框圖見圖1。
圖1 系統框圖
1.1 語音采集模塊
凌陽單片機語音采集模塊由音頻輸出和音頻輸入兩部分組成。圖2是音頻輸出電路圖。SPCE061A 內置2 路10 位精度的DAC,只需要外接功放電路即可完成語音的播放。圖中的SPY0030 是凌陽的一款音頻放大芯片,可以工作在2.4~6 V 范圍內,最大輸出功率可達700 mW。
圖2 音頻輸出電路圖
SPCE061A 芯片中已經集成了音頻輸入專用ADC 以及AGC 放大電路,因此芯片外部的電路比較簡單,圖3是音頻輸入電路模塊。
圖3 音頻輸入電路
1.2 LIN總線主從機電路模塊
系統是通過LIN總線實現家居系統的終端控制,各個終端都采用AT89C51單片機以及LIN總線收發模塊和驅動模塊,實現主控制器對各個終端電器的控制。總線收發器采用TJA1020,它是LIN總線的主/從協議控制器和LIN的物理總線之間的接口。從機和主機的電路圖如圖4、圖5所示。
圖4 從機電路圖
圖5 主機電路圖
2 系統軟件設計
2.1 語音訓練與識別
語音識別方式有兩種:一種是特定人識別,特定人識別之前需要進行語音訓練;另一種是非特定人識別,非特定人識別不需進行語音訓練。系統采用的是前一種識別模式。
部分語音識別程序如下:
Write_IOB_8Bit(1,0xde);
//lCD:"訓練流程結束""繼續訓練請按按鈕"
flag_train=0;
/清除訓練標志,若倒數5 s內沒有按繼續訓練,則退出訓練流程
Play_Sound(4);
//"該套命令錄入成功,繼續訓練新的命令請按按鈕"
Play_Sound(5); //"繼續訓練新的命令請按按鈕"
Read_IOB_Bit(7); //設B組第6腳為上拉輸入
for(second=86;second>=82;second??)
{
Play_Sound(second); //"5,4,3,2,1"
delay_1s(); //延時1 s
if(Read_IOB_Bit(7)==0)
//當B組第7位有低電平輸入,則繼續進行下一個人的訓練
{
flag_train=1;
break;
}
語音系統總體流程圖如圖6所示。
圖6 語音系統總流程
用戶經過首次訓練后,其語音特征會存到單片機中。當用戶需要對某個電器操作時,只需說出相應的語音命令,系統就能根據內部編碼,將地址命令及控制命令發送到相應的從機,實現對特定電器的操作。系統識別流程圖如圖7所示。
2.2 LIN總線網絡協議
與其他總線類似,LIN總線的數據傳輸也采用幀的形式進行。完整的報文幀由主機發送的報文頭和主機或從機發送的響應命令組成。
總線中主機在一次幀通信過程中,根據控制模塊發來的命令,在通信過程的不同階段,將串口設置成不同波特率的接收或發送狀態,以便完成報文頭同步字節場和間隔場的發送,保護標識符字節場的發送和下一階段的發送或接收數據過程。主節點程序流程圖如圖8所示。
圖7 語音識別流程
圖8 LIN主節點程序流程圖
3 系統測試
主節點的89C51單片機串口輸出波形和TJA1020芯片的LIN總線輸出波形如圖9所示。
根據LIN1.2版本協議,發送波形符合一個報文幀的格式,首先是間隔場(13位顯性電平加一個隱性電平),接著是同步場(0x55),接著是ID場,最后是數據場。通道1(黃色)的峰值電壓為11 V左右,符合LIN總線的電平要求,通道2(藍色)為單片機串口輸出電平,電壓峰值為5 V。
圖9 串口與LIN輸出波形
系統測試時,只對臥室1(ID場為0x42)和客廳(ID場為0x45)進行測試。圖10為臥室1燈管開的波形。圖11為臥室1燈管關的波形。
圖10 臥室1燈管開的波形
由圖10和圖11的波形可以看出,通過LIN總線發送的設備控制命令正確,可實現系統對設備的控制。
4 結 語
設計了以凌陽單片機SPCE061A為主機,各89C51單片機為從機的智能家居控制系統,用戶通過語音實現對室內燈管、空調等常用設備的控制。凌陽單片機主要負責語音的采集與處理,處理后的語音命令通過LIN總線傳送到各相應的從機上。試驗表明系統能可靠工作。
圖11 臥室1燈管關的波形
參考文獻
[1] 苗碩.遠程智能家居管理系統的研究與設計[D].西安:西安建筑科技大學,2006.
[2] 余啟家,殷瑞祥.基于ARM及GPRS的智能家居系統的實現[J].微計算機信息,2007,23(20):119?121.
[3] 趙繼春.基于GPRS無線智能家居安防系統的研究與實現[D].邯鄲:河北工程大學,2007.
[4] 凌陽大學科技計劃.實驗箱指導書上冊[EB/OL].[2011?08?04].http://www.unsp.com.cn.
[5] CHANDA K B. Nature language process based context sensitive, content specific architecture & its speech based implementation for smart home application [J]. International Journal of Smart Home, 2010,4: 1?10.
[6] 靳希,董立駿,屈克慶.LIN總線技術及其應用研究[J].電子產品世界,2008(20):139?141.
[7] 閆哲,杜濤,左海利.智能家居控制系統的設計及實現[J].自動化技術及應用,2010,29(2):93?96.
[8] 王衛星.單片機原理與應用開發技術[M].北京:中國水利水電出版社,2009.
[9] 康華光.電子技術基礎·模擬部分[M].北京:高等教育出版社,2006.