一種嵌入式數字語(yǔ)音錄放系統的設計
隨著(zhù)我國經(jīng)濟建設的迅猛發(fā)展, 公安、鐵路、民航、金融等部門(mén)對語(yǔ)音記錄的需求不斷增長(cháng)。把語(yǔ)音生成技術(shù)應用于工業(yè)監控系統、自動(dòng)應答系統、多媒體查詢(xún)系統、智能化儀表、辦公自動(dòng)化系統或家用電氣產(chǎn)品中, 使它們具有語(yǔ)音輸出功能, 使之能在適當的時(shí)候用語(yǔ)音實(shí)時(shí)報告系統的工作狀態(tài)、警告信息、提示信息或相關(guān)的解釋說(shuō)明等, 無(wú)疑在提高人機通信能力、減少對錯誤處理的遺漏、提高系統性能、減輕人們的工作強度等方面都有極大的好處。
本文引用地址:http://dyxdggzs.com/article/149717.htm數字錄音系統是將現場(chǎng)的語(yǔ)音模擬信號轉變?yōu)殡x散的數字信號, 然后存儲在一定的存儲介質(zhì)上的一種錄音方式, 它也是數字語(yǔ)音處理技術(shù)中常用的一種方式。采用嵌入式數字錄音技術(shù)具有較高的效率和自動(dòng)化程度, 而且錄音時(shí)間長(cháng), 并可將信息長(cháng)期保存于存儲介質(zhì)中, 同時(shí)對語(yǔ)音信息進(jìn)行編輯整理非常方便, 并可快速查找。
數字錄音系統具有PC機實(shí)現和嵌入式系統實(shí)現兩種方式。使用PC機由于其體積龐大, 耗電高, 造價(jià)也高, 并且在某些情況下, 系統的穩定性得不到保證, 所以用PC機來(lái)實(shí)現各項功能和操作, 就會(huì )受到一定的限制。而嵌入式系統則具有體積小、供電方便、造價(jià)低、穩定性高等優(yōu)點(diǎn),所以得到了廣泛的應用。
1 總體硬件方案
本系統采用包含有A/D與D/A電路的語(yǔ)音芯片來(lái)實(shí)現模擬信號和數字信號的相互轉換, 而不需要再另外設計專(zhuān)門(mén)的A/D與D/A變換電路。在語(yǔ)音信號從駐極體*進(jìn)入通用單片機之前, 通常應該進(jìn)行信號的放大和濾波處理, 所以, 應有相應的輸入電路和器件; 同樣, 在放音的時(shí)候, 在信號經(jīng)過(guò)D/A變換后, 也要經(jīng)過(guò)濾波和放大處理,最后通過(guò)揚聲器將語(yǔ)音播放出來(lái)。另外, 本系統還可以從外部播放設備接收已有的語(yǔ)言信號, 并將語(yǔ)音信號存儲在語(yǔ)言芯片中, 然后在播放時(shí)將語(yǔ)音信號直接傳送到外部功放設備以達到更大輸出功率, 從而加強了本系統的兼容性、可擴展性和嵌入性。其系統總體結構如圖1所示。
圖1 系統總體結構框圖
為了實(shí)現更多的功能, 本系統加入了其他外圍硬件設備, 其擴展功能模塊及系統總體結構框圖如圖1所示。本系統擴展有兩個(gè)可選的液晶顯示器LCD1602 和LCD12864, 而最終采用的LCD1602液晶顯示器的特點(diǎn)是體積小, 功耗低,具有背光功能, 采用通用接口芯片, 兼容性高。
時(shí)鐘芯片DS1302則是具有串行輸入輸出高性能的通用時(shí)鐘芯片。測溫芯片DS1820體積小, 并可用數據線(xiàn)供電, 同時(shí)具有獨特的單線(xiàn)口(只需一個(gè)接口引腳即可通訊) 是其最大特點(diǎn)。存儲器AT24C02, 采用串口通訊技術(shù), 可三位尋址。系統中的紅外接收放大頭可接收通用遙控器的命令, 用于實(shí)現短距離控制和數據采集功能。
2 軟件設計
系統軟件主要用于控制和協(xié)調單片機及外部設備, 是無(wú)需用戶(hù)干預的各種程序的集合, 它的主要功能是調度、監控和維護系統; 負責管理系統中各種獨立的硬件, 使得它們可以協(xié)調工作。
系統軟件可使使用者或其他系統將其當作一個(gè)整體而不需要顧及到底層每個(gè)硬件是如何工作的。
下面介紹本系統的軟件設計。
2.1 系統主程序
系統功能的實(shí)現依賴(lài)于軟硬件的協(xié)同工作。
軟件開(kāi)發(fā)工作可由單片機控制軟件來(lái)實(shí)現。它能實(shí)現錄/放音、中斷放音、停止錄音、讀取參數等功能。
單片機控制軟件采用循環(huán)查詢(xún)方式, 即各種操作都有一個(gè)按鍵控制, 系統會(huì )循環(huán)檢查按鍵值(SW1~SW6), 若發(fā)現某按鍵置0, 即執行相應的操作, 若有按鍵同時(shí)置0, 則按照程序的順序先后執行。圖2所示是本系統的主程序流程圖。
圖2 主程序流程圖
2.2 中斷子程序
在單片機工作的同時(shí), 不論是錄音還是放音, 系統都要完成三個(gè)過(guò)程的處理, 其目的是提高系統的處理能力。中斷程序是在微觀(guān)上的順序執行, 但在宏觀(guān)上是并行執行的。
軟件程序首先是初始化, 即進(jìn)行開(kāi)中斷準備工作。然后是定時(shí)器開(kāi)始定時(shí)中斷, 即在單片機運行一個(gè)機器周期后, 片內中斷存儲器自動(dòng)加1,直至存儲器溢出后, 中斷標志位置1, 單片機在下一個(gè)機器周期里響應中斷子程序, 最后, 中斷子程序結束, 返回中斷前的主程序繼續運行, 程序又開(kāi)始等待下一次中斷。循環(huán)中斷子程序的工作流程如圖3所示。
圖3 循環(huán)中斷處理子程序流程圖
2.3 錄音和放音子程序
錄音初始化首先會(huì )通過(guò)查找系統參數找到錄音區的空白塊和空白頁(yè)的起始地址, 語(yǔ)音文件的數據就從該地址開(kāi)始存儲; 同時(shí)讀出最大錄音時(shí)間和長(cháng)度, 這兩個(gè)參數是用來(lái)自行停止錄音的。
當沒(méi)有收到錄音結束的命令時(shí), 如超過(guò)最大時(shí)間或長(cháng)度, 錄音即自行停止。讀出這兩個(gè)參數后,先打開(kāi)控制A/D變換速率的定時(shí)器, 然后再打開(kāi)A/D變換操作。圖4所示是錄音子程序流程圖。
錄音結束后, 首先停止當前操作, 然后語(yǔ)音芯片掉電待命; 最后返回主程序繼續運行。
放音初始化主要是根據輸入語(yǔ)音文件所在起始塊的地址, 從指定地址開(kāi)始發(fā)出放音命令, 接著(zhù)再發(fā)送從當前地址開(kāi)始的放音命令直到播完(EOM) 或存儲器末尾為止(OVF); 若按下STOP鍵, 則可直接停止放音并返回主程序。其放音子程序流程圖如圖5所示。
圖4 錄音子程序流程圖 圖5 放音子程序流程圖。
3 PCB板設計
電路圖設計完成后, 即可進(jìn)行PCB板的制作。本項目中用Protel99SE軟件進(jìn)行版圖繪制,設計中充分考慮了電磁兼容等問(wèn)題。圖6所示是本系統的PCB的制作版圖。
圖6 PCB的制作版圖
4 結束語(yǔ)
為滿(mǎn)足高端用戶(hù)的需求, 本系統的硬件還可以進(jìn)行升級, 也可選用其他的40腳直插的單片機AT89C52、AT89S52、AT89C53、AT89S53、STC89S51、STC89S52、STC89S53等; 對于現今的語(yǔ)音芯片而言ISD4003、ISD4004都是可選的;升級存儲器也是本系統的一個(gè)亮點(diǎn), 系統可使原有2K 字節的存儲器升級為4KB、8KB、64KB、128KB, 甚至還可以達到幾兆的特定容量。所有可替換的元件都具有較好的兼容性, 可滿(mǎn)足各類(lèi)場(chǎng)合下的應用要求。
評論