0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究ISDl420的语音编辑器设计

电子工程师 来源:现代电子技术 作者:jsp 2021-03-15 12:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

“利用单片机和ISD1420芯片设计的语音编辑器可以方便地对播放的语音文件进行分段播放,分段组合,以及分段录音等功能。该语音编辑器可以用在测试仪以及其他产品上,也可以单独用来控制语音播放设备。”

引言

嵌入式系统飞速发展的今天,人们的身边无时无刻不存在着嵌入式的产品。利用单片机和ISD1420芯片设计的语音编辑器可以方便地对播放的语音文件进行分段播放、分段组合、以及分段录音等功能。该语音编辑器可以用在测试仪以及其他产品上,也可以单独用来控制语音播放设备。

1 系统构成

语音编辑器要具有分段录音、分段播放、分段组合播放等基本的语音编辑功能及良好的用户操作界面。

系统设计主要围绕用户操作界面展开。在单片机控制下,对ISD1420进行上述基本的语音编辑操作。其系统结构如图1所示。

pIYBAGBO3M-ALyHLAADR_kQ2aLY618.png

显示器显示用户在对系统进行操作时的相关信息。如,分段地址、录放音提示、分段组合操作提示等等,以直观地指示用户操作。

键盘 围绕语音编辑功能,系统应为用户提供一个友好的操作界面,以使用户方便灵活地使用本系统。

单片机 作为系统的控制核心,从键盘接受用户命令,以控制系统显示及语音电路工作。

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。

o4YBAGBO3LaAEetWAAFb1RR99_w661.png

在扫描键盘时,程序首先让行扫描输出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所示。

o4YBAGBO3JeAJAnSAAGBtfK253Y865.png

系统控制芯片的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所示。

pIYBAGBO3GeAP58YAAFR2jfTI7w077.png

为方便起见,系统采用平均分段管理方式。根据ISDl420语音芯片器件使用手册可知,最多可分为160个段。其中,O~159为分段使用的有效地址。系统按1 s四个字的语速算,对于20 s的存储空间来说,最多不能超过80个段,该时段空间最小为1个字。其分段范围为1

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ISD1420
    +关注

    关注

    1

    文章

    18

    浏览量

    19268
  • ISD1420芯片
    +关注

    关注

    0

    文章

    2

    浏览量

    6001
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    编辑器无法正常运行,为什么?

    编辑器无法正常运行
    发表于 11-11 07:33

    飞凌嵌入式ElfBoard-常用编辑器之Vim编辑器

    在Linux下我们对文本进行编辑,经常用到的编辑器就是Vi/Vim, Vi/Vim命令众多,功能强大,是大多数Linux程序员选择使用的编辑器。但是Vi/Vim没有图形界面,对于经常在windows
    发表于 10-13 08:47

    rtthread studio的编辑器如何开启自动换行功能?

    rtthread studio的编辑器如何开启自动换行功能
    发表于 09-19 06:00

    Vim编辑器高效操作流程

    在现代运维工作中,服务配置管理、日志分析、脚本编写等任务几乎占据了工程师日常工作的大部分时间。作为Linux系统标配的文本编辑器,Vim以其强大的功能和极高的效率赢得了无数运维工程师的青睐。然而,Vim陡峭的学习曲线也让许多初学者望而却步。
    的头像 发表于 09-02 16:45 655次阅读

    视频教程 | 单元测试工具TESSY:脚本编辑器(Script Editor)#单元测试工具

    编辑器
    龙智DevSecOps
    发布于 :2025年08月21日 14:43:49

    国产 KT148A 重复擦写语音芯片:420 秒存储 + 串口更换 + 1.5 元高性价比

    文档主要介绍国产可重复擦写语音芯片 KT148A。其为 32 位 DSP 语音芯片,采用 SOP8 封装,内置 420KByte 语音空间,支持 4
    的头像 发表于 06-23 14:14 822次阅读
    国产 KT148A 重复擦写<b class='flag-5'>语音</b>芯片:<b class='flag-5'>420</b> 秒存储 + 串口更换 + 1.5 元高性价比

    rtthread studio的编辑器如何开启自动换行功能?

    rtthread studio的编辑器如何开启自动换行功能?
    发表于 06-13 08:16

    从初学到进阶:树莓派上最适合你的代码编辑器推荐!

    之前,你需要安装一些必备工具,代码编辑器便是其中之一。树莓派系统自带了一些代码编辑器,它们功能良好,足以满足基本需求。不过,如果你需要更高级的功能,就必须探索其他
    的头像 发表于 05-15 16:20 780次阅读
    从初学到进阶:树莓派上最适合你的代码<b class='flag-5'>编辑器</b>推荐!

    结构可视化:利用数据编辑器剖析数据内在架构​

    动路径,为数据驱动的决策提供坚实基础。借助数据编辑器,企业还能更便捷地对可视化呈现的数据进行编辑、调整,以满足不同分析场景的需求,进一步优化数据管理流程。 以神经网络的可视化展示为例,在深度学习领域,神经网络
    的头像 发表于 05-07 18:42 406次阅读

    Vim编辑器的基本操作

    在代码的世界里,效率是永恒的追求。无论是新手开发者还是资深工程师,都渴望拥有一款能让自己如虎添翼的编辑器。而在Linux生态中,有一款被无数程序员奉为神器、被誉为“效率之王”的编辑器——Vim。它以
    的头像 发表于 05-06 13:41 967次阅读
    Vim<b class='flag-5'>编辑器</b>的基本操作

    Linux下Vim编辑器的使用技巧

    【Vim】常用总结⟳ 简介⟳ image 什么是vim?⟳ Linux下两大编辑神器之一 vim • Linux/Unix下使用最多的编辑器 • vi的改进版 • 可能是最难上手的编辑器之一
    的头像 发表于 04-01 17:36 1026次阅读
    Linux下Vim<b class='flag-5'>编辑器</b>的使用技巧

    简化树莓派文件操作:Picockpit 编辑器应用上手体验

    我们激动地宣布推出全新的文件编辑器应用,让您能够在RaspberryPi上远程创建和编辑文件和目录!不仅如此,通过我们的文件编辑器应用,您还能获得我们的AI系统——RaspiGPT的协助。要您拥有
    的头像 发表于 03-25 09:26 500次阅读
    简化树莓派文件操作:Picockpit <b class='flag-5'>编辑器</b>应用上手体验

    鸿蒙海报编辑器APP,分享端云一体化开发的经验!

    前言 在我工作的日常中,经常会用一些画图编辑器,简单设计一些页面原型。而在去年低代码很火的时候,我在公司就开发了一款大屏可视化编辑器,可以通过拖拉拽生成网页的一个工具。后面也想着自己也开发一个画图
    的头像 发表于 03-16 16:09 644次阅读
    鸿蒙海报<b class='flag-5'>编辑器</b>APP,分享端云一体化开发的经验!

    MaaS 应用系列 MaaS X Cursor:基于 DeepSeek API 快速构建代码编辑器

    Cursor 是一款基于人工智能技术的现代化代码编辑器,专为开发者设计。它结合了传统编辑器(如 VS Code)的强大功能与 AI 驱动的智能编程能力,能够提供智能代码补全、自然语言编程、代码库理解
    的头像 发表于 03-08 16:43 3488次阅读
    MaaS 应用系列 MaaS X Cursor:基于 DeepSeek API 快速构建代码<b class='flag-5'>编辑器</b>

    TINA-TI仿真中,电压源发生中DC电平和信号编辑器中的振幅有什么关系?

    TINA-TI仿真中,电压源发生中DC电平和信号编辑器中的振幅有什么关系?还是说这个DC电平是相当于直流偏置,整个信号是DC电平+信号编辑器中的波形叠加?
    发表于 02-28 07:24