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