0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探究ISDl420的語(yǔ)音編輯器設(shè)計(jì)

電子工程師 ? 來(lái)源:現(xiàn)代電子技術(shù) ? 作者:jsp ? 2021-03-15 12:06 ? 次閱讀

“利用單片機(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ǔ)音編輯功能及良好的用戶操作界面。

系統(tǒng)設(shè)計(jì)主要圍繞用戶操作界面展開(kāi)。在單片機(jī)控制下,對(duì)ISD1420進(jìn)行上述基本的語(yǔ)音編輯操作。其系統(tǒng)結(jié)構(gòu)如圖1所示。

pIYBAGBO3M-ALyHLAADR_kQ2aLY618.png

顯示器顯示用戶在對(duì)系統(tǒng)進(jìn)行操作時(shí)的相關(guān)信息。如,分段地址、錄放音提示、分段組合操作提示等等,以直觀地指示用戶操作。

鍵盤(pán) 圍繞語(yǔ)音編輯功能,系統(tǒng)應(yīng)為用戶提供一個(gè)友好的操作界面,以使用戶方便靈活地使用本系統(tǒng)。

單片機(jī) 作為系統(tǒng)的控制核心,從鍵盤(pán)接受用戶命令,以控制系統(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)該為用戶提供段地址顯示,以為其指示當(dāng)前正在操作的那個(gè)段,段地址為兩位。在這些操作中,系統(tǒng)還應(yīng)該提供操作指示,如提示開(kāi)始、進(jìn)行中、結(jié)束等。系統(tǒng)設(shè)置一位數(shù)碼管,以閃爍、字符等形式提示用戶操作。系統(tǒng)選擇3位LED七段數(shù)碼管,已基本滿足操作提示的需求,如圖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ā)器的輸入采用總線連接。其鎖存控制由單片機(jī)的寫(xiě)命令WR,加上地址信息進(jìn)行;其地址分配為FE00H,F(xiàn)D00H,F(xiàn)B00H。

2.2 鍵盤(pán)

鍵盤(pán)是人機(jī)的主要界面,所有用戶命令都是由它向單片機(jī)發(fā)出的。首先進(jìn)行交互設(shè)計(jì),根據(jù)功能要求設(shè)置功能鍵,包括錄音、放音、組合、分段等按鍵,其操作使用方法見(jiàn)用戶使用手冊(cè)。

對(duì)段地址,系統(tǒng)需要O~9的按鍵,以保證用戶能夠?qū)ぶ稩SD1420的所有段。系統(tǒng)總共由14個(gè)鍵構(gòu)成。

為滿足系統(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)用戶操作。鍵盤(pán)陣列的4列線,連接到4與門(mén)的輸入。4與門(mén)的輸出連接單片機(jī)INTl,為低有效。平時(shí)沒(méi)有按鍵按下時(shí),4與門(mén)連接的上拉電阻使與門(mén)的輸出為高電平,無(wú)中斷產(chǎn)生。這時(shí)程序從列輸入的是1111。

o4YBAGBO3LaAEetWAAFb1RR99_w661.png

在掃描鍵盤(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

與顯示器一起采用總線連接,段地址單片機(jī)通過(guò)74LS374鎖存后,再輸入到ISDl420,74LS374鎖存控制信號(hào)構(gòu)成同顯示器,由單片機(jī)的WR加上地址信號(hào)組合構(gòu)成。它的地址分配為7FOOH。單片機(jī)通過(guò)一條輸出指令完成語(yǔ)音電路的段地址輸出,以控制語(yǔ)音電路分段操作,如圖4所示。

o4YBAGBO3JeAJAnSAAGBtfK253Y865.png

系統(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ú)法滿足該系統(tǒng)的需求。該設(shè)計(jì)可利用它的開(kāi)放總線連接更多的設(shè)備。

該設(shè)計(jì)將3個(gè)數(shù)碼管和語(yǔ)音芯片通過(guò)總線方式接入系統(tǒng)。低位地址不用,所以不用進(jìn)行低8位的地址擴(kuò)展。選擇A8,A9,A10分別作為3個(gè)數(shù)碼低電平的有效地址信號(hào),再與單片機(jī)的WR信號(hào)組合。以構(gòu)成帶地址信息的寫(xiě)控制信號(hào)。這樣,程序便可像訪問(wèn)存儲(chǔ)器一樣訪問(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 用戶界面

用戶界面如下:

鍵盤(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所示。

pIYBAGBO3GeAP58YAAFR2jfTI7w077.png

為方便起見(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ISD1420
    +關(guān)注

    關(guān)注

    1

    文章

    18

    瀏覽量

    19015
  • ISD1420芯片
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5888
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【北京迅為】itop-龍芯2k1000開(kāi)發(fā)指南Linux基礎(chǔ)入門(mén)vim 編輯器

    【北京迅為】itop-龍芯2k1000開(kāi)發(fā)指南Linux基礎(chǔ)入門(mén)vim 編輯器
    的頭像 發(fā)表于 10-25 14:56 ?229次閱讀
    【北京迅為】itop-龍芯2k1000開(kāi)發(fā)指南Linux基礎(chǔ)入門(mén)vim <b class='flag-5'>編輯器</b>

    Vivado編輯器亂碼問(wèn)題

    我們?cè)谌粘i_(kāi)發(fā)中經(jīng)常使用sublime、vim、vs code等第三方的編輯器,這些編輯器可以使用很多插件來(lái)提高我們的編碼效率,但是也往往會(huì)帶來(lái)亂碼的問(wèn)題。我一般使用的是sublime來(lái)進(jìn)行編碼
    的頭像 發(fā)表于 10-15 17:24 ?342次閱讀
    Vivado<b class='flag-5'>編輯器</b>亂碼問(wèn)題

    vim編輯器命令模式使用方法

    Vim編輯器是一款功能強(qiáng)大的文本編輯器,廣泛應(yīng)用于程序員和開(kāi)發(fā)者的日常工作中。Vim編輯器擁有多種模式,其中命令模式(Command mode)是最基本的模式之一,它允許用戶執(zhí)行各種命令來(lái)操作
    的頭像 發(fā)表于 08-30 15:01 ?330次閱讀

    vim編輯器如何使用

    Vim編輯器是一個(gè)功能強(qiáng)大的文本編輯器,它基于Vi進(jìn)行改進(jìn),并增加了許多新特性。Vim編輯器的使用主要涉及其不同的工作模式及相應(yīng)操作。以下是Vim編輯器的基本使用方法: 一、Vim
    的頭像 發(fā)表于 08-30 14:58 ?335次閱讀

    嵌入式學(xué)習(xí)-常用編輯器之Vim編輯器

    在Linux下我們對(duì)文本進(jìn)行編輯,經(jīng)常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強(qiáng)大,是大多數(shù)Linux程序員選擇使用的編輯器。下面先簡(jiǎn)單介紹Vim編輯器的安裝和工作模式
    發(fā)表于 08-23 09:12

    常用編輯器之Vim編輯器

    在Linux下我們對(duì)文本進(jìn)行編輯,經(jīng)常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強(qiáng)大,是大多數(shù)Linux程序員選擇使用的編輯器。下面先簡(jiǎn)單介紹Vim編輯器的安裝和工作模式
    發(fā)表于 08-22 09:48

    使用Tina仿真時(shí),信號(hào)編輯器里面的自定義為灰色,不能使用怎么解決?

    如題,在使用Tina仿真時(shí),信號(hào)編輯器里面的自定義為灰色,不能使用
    發(fā)表于 08-13 06:04

    TSMaster 中 Hex 文件編輯器使用詳細(xì)教程

    TSMaster軟件的Hex文件編輯器提供了文件處理的功能,這一特性讓使用TSMaster軟件的用戶可以更便捷地對(duì)Hex、bin、mot、s19和tsbinary類型的文件進(jìn)行處理。本文重點(diǎn)講述
    的頭像 發(fā)表于 06-01 08:21 ?637次閱讀
    TSMaster 中 Hex 文件<b class='flag-5'>編輯器</b>使用詳細(xì)教程

    Zed Code編輯器新增Linux支持

    據(jù)悉,Zed代碼編輯器是基于Rust語(yǔ)言開(kāi)發(fā)的macOS軟件,近期其研發(fā)團(tuán)隊(duì)宣布已成功實(shí)現(xiàn)Linux平臺(tái)兼容。據(jù)悉,今年年初Zed首次發(fā)布時(shí)并未提供Linux版支持。
    的頭像 發(fā)表于 05-10 10:31 ?507次閱讀

    STM8用IAR編輯器調(diào)用串口2函數(shù)報(bào)錯(cuò)的原因?

    新手入門(mén)STM8,資料是用眾拳的,,新手求助,為什么STM8使用IAR編輯器,程序是網(wǎng)上眾拳的教程,為什么修改不了庫(kù)函數(shù)的c文件,文件在編輯器的上面有個(gè)鎖呢?還是我用的是STM8S105,只有串口2
    發(fā)表于 04-17 08:23

    求助,請(qǐng)問(wèn)ADS能使用外部代碼編輯器嗎?

    請(qǐng)問(wèn)ADS能使用外部代碼編輯器嗎(比如vs code)?
    發(fā)表于 02-18 07:19

    如何在原理圖編輯器和PCB編輯器中從毫米切換到密耳

    原理圖編輯器和PCB編輯器中從毫米切換到密耳。用戶可以實(shí)時(shí)(在處理PCB布局時(shí))或者通過(guò)原理圖和PCB中的首選項(xiàng)對(duì)話框執(zhí)行此操作。
    的頭像 發(fā)表于 12-15 17:10 ?4364次閱讀
    如何在原理圖<b class='flag-5'>編輯器</b>和PCB<b class='flag-5'>編輯器</b>中從毫米切換到密耳

    VS Code 1.85發(fā)布,新增浮動(dòng)編輯器窗口

    在此版本中,你可以將編輯器從主窗口移到自己的輕量級(jí)窗口中。對(duì)一個(gè)窗口中的編輯器所做的更改會(huì)立即應(yīng)用到打開(kāi)編輯器的所有其他窗口。創(chuàng)建浮動(dòng)編輯器窗口的最簡(jiǎn)單方法是將
    的頭像 發(fā)表于 12-10 15:56 ?1582次閱讀
    VS Code 1.85發(fā)布,新增浮動(dòng)<b class='flag-5'>編輯器</b>窗口

    linux怎么執(zhí)行vim編輯的程序

    在Linux中,你可以通過(guò)以下步驟執(zhí)行Vim編輯器中編寫(xiě)的程序: 打開(kāi)終端或命令行界面。 使用Vim編輯器打開(kāi)你的程序文件。假設(shè)你的程序文件名為"program.c",可以使用以下命令打開(kāi)文件并進(jìn)
    的頭像 發(fā)表于 11-26 15:45 ?1078次閱讀

    vim編輯器的三種模式分別是什么

    Vim編輯器具有三種模式,分別是: 命令模式(Command Mode):這是Vim的默認(rèn)模式,也是啟動(dòng)后的初始模式。在該模式下,用戶不能直接編輯文件內(nèi)容,而是可以使用命令對(duì)文件進(jìn)行操作。這些命令
    的頭像 發(fā)表于 11-26 15:37 ?7007次閱讀