基于DSP的声控电子记事本的设计与实现
时间:09-22
来源:
点击:
3 系统内主要芯片的互连互控
3.1 MCU与DSP
MCU与DSP采用串行口相连,传送MCU对DSP的命令字与DSP对于MCU的反馈字。DSP串口1用于语音输入和输出,串口2用于与MCU相连。由于DSP的串口收发方式与MCU的串口不一致,所以MCU用I/O口模拟串口与DSP相连。为了保证数据传送的稳定性,MCU采用中断方式接收。每次数据传送一般不止一个字节,所以采用打包方式传送。
3.2 DSP与数据FLASH存储器
DSP与数据存储器的接口如图2所示。DSP的数据总线中的8位连到FLASH存储器的总线上;用DSP的读写控制线WR和RD控制FLASH芯片的读写;用DSP的I/O口FL0控制FLASH存贮器的CE(片选)端,以保证DSP在进行其它总线操作时不会对该FLASH芯片产生误操作;用DSP的另一个I/O口PF3连到FLASH芯片的"忙/闲"信号线上,监视其工作状态;分别把两个地址线A8和A9连到FLASH芯片的两个锁存控制CLE和ALE上,以便控制总线的状态。
3.3 DSP与程序FLASH存储器
ADSP2185的Byte存储区是一个8位宽的外部双向存储空间,可用于存储程序与数据。整个Byte存储区的4Mbyte的存储空间由256个16K×8的页面组成。Byte存储区只能通过BDMA方式进行访问。在使用BDMA方式工作时用A0~A13作为低端地址,用D16~D18作为扩展的高端地址,联合使用实现4Mbyte的外部寻址能力。D8~D15作为数据总线,BMS、RD、WR分别用于控制存储器的片选以及读写操作信号。DSP与程序FLASH存储器的接口如图3所示。
值得提出的是,ADSP2185的开发系统提供了"重载"功能的支持。其基本思路是,当片内RAM(程序RAM或数据RAM)不够用时,可以由主程序将所需子程序动态调入。子程序在程序FLASH存贮器中,在需要运行时才将其调入DSP的RAM区。这样就相当于用软件调入方法扩大了DSP的RAM区。这一性能为本系统的设计提供了方便,这是因为语音识别和编解码程序都较长,不可能同时装入DSP的RAM区。因此,系统软件设计中必须利用这一点进行程序动态输入。
4 系统软件设计
本系统采用动态程序调入的办法扩充可利用硬件资源,在一个芯片上实现了几个复杂算法的协同工作;在程序结构上,采用了C语言和汇编语言混合编程,充分利用了DSP的运算速度,并兼顾了程序的灵活性;软件系统采用清晰的层次结构和明确的模块划分,便于局部修改和升级;系统还根据不同功能所规定的各种参数的组合和从属关系精心设计了存储器的数据存储结构,并将数据存储、删除、查找等程序模块做了合理的封装,供上层程序调用。
4.1 系统软件模块的构成
系统的软件设计包含MCU软件设计和DSP软件设计两部分。MCU软件主要是时钟日历、电源监测控制、科学计算、键盘扫描、LCD显示驱动、与DSP通信等程序,如图4所示。
5 应用前景
我们研制成功的声控电子记事本系统,是未来SPDA(Speech Personal Digital Assistant:语音个人数字助理)的雏型。它集成了语音识别、语音压缩编解码、语音信号处理器DSP和大容量FLASH存储器的数据管理等技术,该系统所运用的技术可应用于语音拨号电话机、语音拨号+语音录音电话机、电话机伴侣(语音拨号、报号、答录)、PDA、随声听、语音玩具、声纹锁、语音门户等。
3.1 MCU与DSP
MCU与DSP采用串行口相连,传送MCU对DSP的命令字与DSP对于MCU的反馈字。DSP串口1用于语音输入和输出,串口2用于与MCU相连。由于DSP的串口收发方式与MCU的串口不一致,所以MCU用I/O口模拟串口与DSP相连。为了保证数据传送的稳定性,MCU采用中断方式接收。每次数据传送一般不止一个字节,所以采用打包方式传送。
3.2 DSP与数据FLASH存储器
DSP与数据存储器的接口如图2所示。DSP的数据总线中的8位连到FLASH存储器的总线上;用DSP的读写控制线WR和RD控制FLASH芯片的读写;用DSP的I/O口FL0控制FLASH存贮器的CE(片选)端,以保证DSP在进行其它总线操作时不会对该FLASH芯片产生误操作;用DSP的另一个I/O口PF3连到FLASH芯片的"忙/闲"信号线上,监视其工作状态;分别把两个地址线A8和A9连到FLASH芯片的两个锁存控制CLE和ALE上,以便控制总线的状态。
3.3 DSP与程序FLASH存储器
ADSP2185的Byte存储区是一个8位宽的外部双向存储空间,可用于存储程序与数据。整个Byte存储区的4Mbyte的存储空间由256个16K×8的页面组成。Byte存储区只能通过BDMA方式进行访问。在使用BDMA方式工作时用A0~A13作为低端地址,用D16~D18作为扩展的高端地址,联合使用实现4Mbyte的外部寻址能力。D8~D15作为数据总线,BMS、RD、WR分别用于控制存储器的片选以及读写操作信号。DSP与程序FLASH存储器的接口如图3所示。
值得提出的是,ADSP2185的开发系统提供了"重载"功能的支持。其基本思路是,当片内RAM(程序RAM或数据RAM)不够用时,可以由主程序将所需子程序动态调入。子程序在程序FLASH存贮器中,在需要运行时才将其调入DSP的RAM区。这样就相当于用软件调入方法扩大了DSP的RAM区。这一性能为本系统的设计提供了方便,这是因为语音识别和编解码程序都较长,不可能同时装入DSP的RAM区。因此,系统软件设计中必须利用这一点进行程序动态输入。
4 系统软件设计
本系统采用动态程序调入的办法扩充可利用硬件资源,在一个芯片上实现了几个复杂算法的协同工作;在程序结构上,采用了C语言和汇编语言混合编程,充分利用了DSP的运算速度,并兼顾了程序的灵活性;软件系统采用清晰的层次结构和明确的模块划分,便于局部修改和升级;系统还根据不同功能所规定的各种参数的组合和从属关系精心设计了存储器的数据存储结构,并将数据存储、删除、查找等程序模块做了合理的封装,供上层程序调用。
4.1 系统软件模块的构成
系统的软件设计包含MCU软件设计和DSP软件设计两部分。MCU软件主要是时钟日历、电源监测控制、科学计算、键盘扫描、LCD显示驱动、与DSP通信等程序,如图4所示。
5 应用前景
我们研制成功的声控电子记事本系统,是未来SPDA(Speech Personal Digital Assistant:语音个人数字助理)的雏型。它集成了语音识别、语音压缩编解码、语音信号处理器DSP和大容量FLASH存储器的数据管理等技术,该系统所运用的技术可应用于语音拨号电话机、语音拨号+语音录音电话机、电话机伴侣(语音拨号、报号、答录)、PDA、随声听、语音玩具、声纹锁、语音门户等。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)