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