引言 在現在的許多工業控制中,很多設備是不間斷運行或無人看守的,所以經常需要維護人員定期對設備進行維護。這樣不僅耗費人力、物力、財力。而且還很耽誤工期。并且現在許多家庭都是雙職工家庭,經常家里沒人,這些時候就需要報警設備。而原始的報警器在聽覺提醒方面多采用電鈴、蜂鳴等來實現。而此系統在設計方面采用在報警器上加入語音技術.使報警時單一的響鈴聲變為更加直接明了的語言傳送.這樣就可以發揮聽覺的優勢.也可彌補完全用視覺信號傳遞信息的不足。 1 系統的工作原理及組成 此系統的設計原理框圖如下圖所示,首先利用鍵盤電路對語音芯片錄好音。之后利用AT89C52單片機采集設備的各種信息,根據報警系統中不同的設備和傳感器,可以是壓力、流量、溫濕度、電壓、電流等然后根據不同的報警設備發出的信號控制單片機不同的引腳電平變化,然后用語音芯片播放相應的錄音內容。從而接到報警者可以準確的知道出事地點和基本情況。 2 硬件設計 圖1設計原理框圖 目前市場上流行的語音芯片有很多,但要使語音不失真地被采樣,那就要求采樣頻率fs≥8000Hz。對于一般的語音芯片,以這樣的速度采樣語音只能是很短的時間.若要稍長一段時間.勢必占用很大的存貯空間。這樣系統成本增加,由于需要ADC.DAC,專用語音芯片及相關電路,存在不同程度的失真(信號采樣和恢復)。ISD40002語音芯片是美國ISD公司出品的新型優質單片錄放音電路,它采用了直接模擬量存儲技術DAST,完成語音的錄入、存儲及分段輸出,因而失真小,使用方便。不需專用語音開發工具,10萬次錄音周期,自動靜噪功能,不耗電信息可保存100年。高質量,自然的語音還原技術,成本低廉。所以在現代技術上得到廣泛使用。 2.1 ISD4002芯片: (1)ISD4002芯片的特點: ISD系列語音芯片具有以下特點:①采用模擬數據在半導體存儲器直接存儲的專利技術,即將模擬語音數據直接寫入單個存儲單元,不需經過A/D、D/A轉換;②內部集成了大容量的EEPROM,不再需要擴展存儲器;③控制簡單,控制引腳與TTL電平兼容;③能較好地真實再現語音的自然效果,避免了一般固體語音電路因為量化和壓縮所造成的量化噪聲和失真現象。因此。該報警系統選用ISD公司的ISD4002語音芯片。 (2)1SD4002芯片的構成及功能: ISD4002系列語音芯片具有專門的語音拷貝工具,單片2至4分鐘語音錄放,無需開發系統,內置微控制器串行通信接口,3V單電源工作,25~20mA工作電流維持電流1μA,多段信息處理功能,片內免調整時鐘,可選用外部時鐘,采用CMOS技術,內含振蕩器、防混淆濾器、平滑濾波器、音頻放火器、自動靜噪及高密度多電平閃爍存貯系列,適用于移動電話及其他便攜式電子產品中。芯片設計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口(SPI)送入。采樣頻率可為4.0、5.3、6.4、8.0kHz,頻率越低,錄放時間越長,而音質則有所下降。片內信息存于閃爍存貯器中。 2.2 SPl接口協議: ISD4002工作于SPI串行接口.SPI是由美國摩托羅拉公司推出的一種同步串行傳輸規范,常作為單片機外設芯片串行擴展接口。SPI有4個引腳:SS(從器件選擇線)、SDO(串行數據輸出線)、SDI(串行數據輸入線)和SCK(同步串行時鐘線)。SPI協議是一個同步串行數據傳輸協議,協議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。因此對ISD4002而言,在時鐘止升沿鎖存MOSI引腳的數據,在下降沿將數據送至MISO引腳。協議的具體內容為: 1.所有串行數據傳輸開始于SS下降沿。 2.SS在傳輸期間必須保持為低電平。在兩條指令之間則保持為高電平。 3.數據在時鐘上升沿移入.在下降沿移出。 4.SS變低。輸入指令和地址后.ISD才能開始錄放操作。 5.指令格式是(5位控制碼)加(11位地址碼)。 6.ISD的任何操作(含快進)如果遇到EOM或OVF則產生一個中斷,該中斷狀態在下—個SPI周期開始時被清除。 7.使用”讀”指令使中斷狀態位移出ISD的MISO引腳時.控制及地址數據也應同步從MOSI端移入。因此要注意移入的數據是否與器件當前進行的操作兼容。當然,也允許在一個SPI周期里,同時執行讀狀態和開始新的操作(即新移入的數據與器件當前的操作可以不兼容)。 8.所有操作在運行位(RUN)置1時開始,置0時結束。 9.所有指令都在SS端上升沿開始執行。 2.3電路原理圖及介紹: 該設計的電路部分較為簡單,主要通過89c52單片機實現對ISD4002語音芯片的控制,從而能夠實現錄音和放音(硬件電路如下所示)。 圖2硬件設計電路圖 錄音:當按鍵s3接Vcc時,電路處于錄音狀態。在錄音之前先按s2(復位鍵),然后按住s1鍵不放,之后對著話筒講話就可以錄音.松鍵時錄音停止,并形成一段錄音片段,再按s1鍵不放則進行下一段錄音。如果錄滿溢出,下次按復位鍵再進行錄音時,就會將以前錄的語音片段覆蓋。 放音:當s3按鍵接地時,電路處于放音狀態。同樣是先按復位鍵,然后按一下s1鍵即播放錄音,一段結束后自動停止放音,再按sl鍵則播放下一段。放到最后一段后如果再按s1鍵,再放音時又從第一段開始。對語音信號采用LM386進行功率放大。輸出功率為0.5W。為了提高錄、放音的穩定性,確保ISl4002語音芯片能正常工作(工作電壓2.7~3.3),由一個200歐姆和一個300歐姆的電阻分壓3V來供給語音芯片電壓。LED1為電源工作指示燈,當開發板正常供電時.LED1發光。當電路處于錄音狀態時,LED2發光;當電路處于放音狀態時,LED2燈不發光。當語音芯片溢出時LED2燈出現閃爍。 3 軟件設計 單片機控制ISD4002語音芯片的軟件流程圖如圖3和圖4,5所示.重點介紹ISD4002錄放音程序。 圖3主程序 圖4錄音子程序 圖5放音子程序 3.1主程序 此系統中主程序采用軟件延時去除按鍵抖動。我們在程序中設置了三個按鍵,分別為復位鍵,狀態鍵和執行鍵。為了節省能源,在利用按鍵判斷系統不進行錄散音操作時,語音芯片進入掉電狀態。ISD4002芯片通過SPI接口寫入數據。主程序主要完成對按鍵信息的判斷.如果有鍵按下則調用相應的子程序。 3.2錄放音程序 錄放音程序主要在接收到相應指令后通過SPI總線對ISD4002進行控制。對于ISD4002芯片,器件延時TPUD(8 kHz采樣時,約為25ms)后才能開始操作.因此,用戶發完上電指令后,必須等待TPUD,才能發出一條操作指令.為了能靈活播放語音信息,報警語音是分段存放在ISD4002中的,編程時播放錄音是根據語音的存放地址播放不同語音的。播放時要根據每段錄音的長短做相應的延時。 4 結束語 本文作者創新點:本系統利用單片機、語音電路完成了設備語音報警功能,而語音電路采用一種EEPROM存儲方法的語音芯片,該設計方法外圍電路結構簡單,操作、使用方便。 作者:劉微,陳核新 來源:《微計算機信息》(嵌入式與SOC)2009年第25卷第6-2期 |