“利用單片機和ISD1420芯片設計的語音編輯器可以方便地對播放的語音文件進行分段播放,分段組合,以及分段錄音等功能。該語音編輯器可以用在測試儀以及其他產品上,也可以單獨用來控制語音播放設備。”
引言
在嵌入式系統飛速發展的今天,人們的身邊無時無刻不存在著嵌入式的產品。利用單片機和ISD1420芯片設計的語音編輯器可以方便地對播放的語音文件進行分段播放、分段組合、以及分段錄音等功能。該語音編輯器可以用在測試儀以及其他產品上,也可以單獨用來控制語音播放設備。
1 系統構成
語音編輯器要具有分段錄音、分段播放、分段組合播放等基本的語音編輯功能及良好的用戶操作界面。
系統設計主要圍繞用戶操作界面展開。在單片機控制下,對ISD1420進行上述基本的語音編輯操作。其系統結構如圖1所示。
顯示器顯示用戶在對系統進行操作時的相關信息。如,分段地址、錄放音提示、分段組合操作提示等等,以直觀地指示用戶操作。
鍵盤 圍繞語音編輯功能,系統應為用戶提供一個友好的操作界面,以使用戶方便靈活地使用本系統。
單片機 作為系統的控制核心,從鍵盤接受用戶命令,以控制系統顯示及語音電路工作。
ISD1420是一種錄音數據永久保存、高保真、低耗電、適用于同單片機接口的新一代語音器件,是系統功能實現的核心。在單片機控制下實現了題目要求的所有功能。
2 硬件方案
2.1 顯示部分
在分段錄音和放音過程中,系統應該為用戶提供段地址顯示,以為其指示當前正在操作的那個段,段地址為兩位。在這些操作中,系統還應該提供操作指示,如提示開始、進行中、結束等。系統設置一位數碼管,以閃爍、字符等形式提示用戶操作。系統選擇3位LED七段數碼管,已基本滿足操作提示的需求,如圖2所示。3位LED七段數碼管采用靜態顯示方式,其顯示穩定,程序簡單,電路實現也不復雜。它的顯示數據由8位D觸發器74LS374鎖存輸出,驅動數碼管顯示。8位D觸發器的輸入采用總線連接。其鎖存控制由單片機的寫命令WR,加上地址信息進行;其地址分配為FE00H,FD00H,FB00H。
2.2 鍵盤
鍵盤是人機的主要界面,所有用戶命令都是由它向單片機發出的。首先進行交互設計,根據功能要求設置功能鍵,包括錄音、放音、組合、分段等按鍵,其操作使用方法見用戶使用手冊。
對段地址,系統需要O~9的按鍵,以保證用戶能夠尋址ISD1420的所有段。系統總共由14個鍵構成。
為滿足系統結構的簡單起見,系統采用與鍵盤單獨接口。系統利用P1口與鍵盤陣列連接。其中,低4位作為單片機的鍵盤列掃描輸入;高4位作為單片機的鍵盤行掃描輸出。
系統采用中斷方式管理鍵盤,使系統能夠實時地響應用戶操作。鍵盤陣列的4列線,連接到4與門的輸入。4與門的輸出連接單片機INTl,為低有效。平時沒有按鍵按下時,4與門連接的上拉電阻使與門的輸出為高電平,無中斷產生。這時程序從列輸入的是1111。
在掃描鍵盤時,程序首先讓行掃描輸出0000,這樣,在這4行中的14個鍵,只要有一個鍵按下,與門都能輸出低電平而產生中斷。程序可通過鍵盤中斷服務程序具體確定是那一個鍵按下,如圖3所示。它的具體方法是,依次向各行(P1.7~P0.0)輸出0,程序就能從列端口讀出對應按鍵所在位置的列編碼(P1.3~P0.O)。如表1所示。這樣程序就能得到低4位與高4位的掃描值,得到對應鍵盤的編碼值。
2.3 ISDl420
與顯示器一起采用總線連接,段地址單片機通過74LS374鎖存后,再輸入到ISDl420,74LS374鎖存控制信號構成同顯示器,由單片機的WR加上地址信號組合構成。它的地址分配為7FOOH。單片機通過一條輸出指令完成語音電路的段地址輸出,以控制語音電路分段操作,如圖4所示。
系統控制芯片的PLAYE端口,平時為高電平,當出現下降沿時開始錄音。
信號EOM是語音段結束標志,當錄音結束,若存儲器沒完,ISD1420會自動為其加上EOM標志符,表示該段錄音結束。放音時,當遇到EOM標志符,EOM信號會由高電平輸出一個低脈沖。該信號連至單片機的T1/P3.5引腳,使單片機能夠及時知道該語音段結束,以便控制下一步操作。
2.4 單片機
這里選擇的89C51具有40個I/O口。系統不能采用簡單的最小系統連接,由上述可知,它無法滿足該系統的需求。該設計可利用它的開放總線連接更多的設備。
該設計將3個數碼管和語音芯片通過總線方式接入系統。低位地址不用,所以不用進行低8位的地址擴展。選擇A8,A9,A10分別作為3個數碼低電平的有效地址信號,再與單片機的WR信號組合。以構成帶地址信息的寫控制信號。這樣,程序便可像訪問存儲器一樣訪問這些端口,其地址為:FE00H,FD00H,FB00H。
語音芯片也是采用這種方式進入系統的,其地址是7F00H。這種方式既可使電路簡單,也可使操作簡單。P1口作為系統的鍵盤掃描接口,連接如前述,這里不再贅述。
3 用戶界面
用戶界面如下:
鍵盤:0~9、[錄音]、[放音]、[組合]、[分段]。
顯示:3位7段數碼管。段號2位,以確定錄音、放音位置;計數器1位,9~O減l計數。
指令格式:。
四個主要功能為:
(1)分段
操作:分段數+[分段]
(2)錄音
操作:欲錄音段號+[錄音]
顯示:當按下[錄音]時,欲錄音段號閃3下后,計數顯示9;錄音開始,計數器減l,直到O,錄音結束。
(3)回放
操作:欲放音段號+[放音]4)、組合放音:功能用于檢查組合放音效果。
操作:段號i+[組合]+段號j+[組合]+…+段號n+[組合]+[放音]
顯示:在組合時,顯示段號,閃爍,按下[組合]后顯示消失,再重復;組合放音時,顯示當前放音段號;計數器先顯示組合段總數,每放完一段減1,直到O。
4 軟件方案
內存分配如下:顯示緩沖為3個單元,第一、二單元用于存放段號,第三單元用于存放計數器值。組合段緩沖為一個單元,為一個放音段地址。考慮單片機的存儲容量與系統成本。設計考慮10個單元,FF為組合結束標志。當第一單元等于FF時,為緩沖器空,ISD1420的段地址從該緩沖區取出。軟件流程圖如圖5所示。
為方便起見,系統采用平均分段管理方式。根據ISDl420語音芯片器件使用手冊可知,最多可分為160個段。其中,O~159為分段使用的有效地址。系統按1 s四個字的語速算,對于20 s的存儲空間來說,最多不能超過80個段,該時段空間最小為1個字。其分段范圍為1
編輯:jq
-
ISD1420
+關注
關注
1文章
18瀏覽量
19034 -
ISD1420芯片
+關注
關注
0文章
2瀏覽量
5893
發布評論請先 登錄
相關推薦
評論