专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
DSP
基于USB2.0的语音数据采集系统设计
2019-07-13 19:54
发布
生成海报
站内文章
/
DSP
10760
0
1538
基于USB2.0的语音数据采集系统设计
摘 要:本文提出并设计实现了基于USB2.0的语音数据采集系统, 该系统以
TMS320VC5402
芯片为主控机,采用USB2.0协议芯片
ISP1581
实现系统与计算机之间的高速串行数据传输,重点介绍了USB设备主从两端的软硬件设计方案。
关键词:USB 2.0;语音数据采集;DSP
DSP
DSP
芯片具有处理速度快、接口资源丰富、与ADC和USB控制芯片接口方便等特点。采用DSP芯片作为语音数据采集系统的主控机,能够满足对语音数据进行实时采集、数据处理和控制USB接口芯片等要求。
本文设计并实现了一个以DSP为主控机,结合USB2.0芯片
ISP1581
实现了音频数据采集系统,该系统中,DSP作为主机负责系统初始化、采集语音数据和进行各种处理等工作,并将数据通过USB口送至计算机分析处理。
ISP1581
简介
ISP1581
为基于微控制器或微处理器的系统提供了高速USB 通信能力。
ISP1581
与系统的微控制器/微处理器的通信是通过一个高速的通用并行接口来实现的。这种实现USB 接口的标准组件使得使用者可以在各种不同类型的微控制器中选择出最合适的。
ISP1581
支持USB 2.0 系统运作的自动检测。它是一个通用的USB 接口器件,符合现有的大多数器件的分类规格,比如:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。
ISP1581
内置了多种结构的DMA模块。
此外,
ISP1581
内部还集成了许多特性,包括SoftConnectTM 、低频晶体振荡器和集成的终止寄存器。
系统设计
系统总体设计
本系统实现语音数据的实时采集以及与计算机之间的数据传输等功能。系统采用
TMS320VC5402
以下简称
C5402
芯片作为主控机。
C5402
性能价格比高,资源丰富,可以提供全双工缓冲串口,采集经A/D转换后的数据,还能通过高速数据总线与USB控制芯片通信,处理速度高达100MIPS,它作为本系统主控机能高效完成系统的初始化、配置外围器件和USB接口,并根据由USB传来的主机命令,实时采集、接收音频信号,最后将合成的数据包送给计算机。计算机应用程序以驱动程序为桥梁,接收硬件发来的数据包,并对数据进行显示,分析等处理。
ADC采用低功耗16位A/D、D/A音频模拟接口芯片
TLC320
以下简称AIC10)。它具有高性能、低功耗、高度可编程性以及与DSP的接口设计简单的特点。
系统中计算机驱动程序用于处理底层通信细节,实现具体的通信协议,为应用程序提供透明的传输接口。计算机主机应用程序通过驱动程序提供的接口向设备驱动发送请求或从设备驱动接收请求,实现特定的通信、信息处理等功能。其原理如图1所示。
系统硬件设计
McBSP与AIC10接口
C5402
提供了高速、全双工的McBSP。McBSP通过6个引脚与外设接口。AIC10与
C5402
的硬件连接如图2所示。
DSP与
ISP1581
接口
ISP1581
与
C5402
的连接电路如 图 3 所示。
C5402
与
ISP1581
的通信是通过高速的并行数据及控制总线进行的。
C5402
将
ISP1581
映射到片外I/O地址,通过它的IOSTRB和读写信号选择
ISP1581
,其数据总线直接与
ISP1581
的数据总线相连接。使用通用I/O口(GPIO)控制
ISP1581
的工作模式。
ISP1581
通过中断线来通知DSP收发数据,它的数据线 D+和D-通过USB电缆与主机USB接口连接。
系统软件设计
本系统的软件主要包括
C5402
串口和AIC10初始化、
PDIUSBD12
固件程序、DSP主程序,以及计算机驱动程序和应用程序。
DSP串口及AIC10初始化
DSP对McBSP复位并配置McBSP寄存器,即可完成串口的初始化。对于AIC10的初试化,主要对4个控制寄存器进行配置。 为使数据、寄存器地址和配置信息在同一串口中传输,AIC10采用了两种通信模式:主通信模式和第二通信模式。主通信(primary communication)发生在每个数据转换期间,此模式下的16位都用作传输数据。第二通信(secondary communication)只有在被请求时才会进行,用于传输寄存器地址和配置信息,对AIC10外部电路参数设置以及内部寄存器进行初始化,通过向DIN写数据来初始化,数据可由DOUT读出。另外还有直接DCSI参数设置模式。对于采用连续数据传输模式的DSP应用来说,无法插入第二通信请求,可以采用此方式通过DCSI引脚来对控制寄存器直接编程。
ISP1581
固件程序
ISP1581
用作实现计算机与DSP进行通信的高速通用接口。USB协议层的相关通信协议通过
ISP1581
来实现,它由硬件实现不需要固件的参与。
C5402
的主要作用是:当计算机操作系统配置、枚举USB外设时,
C5402
发送、接收相关的USB设备信息。当操作系统配置、枚举USB外设成功后,根据接收到的ID,进行相应的操作,起控制作用。
C5402
与
ISP1581
之间通信采用中断方式,当CPU 处理前台任务时,USB 的传输可在后台进行。后台ISR (中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现。图4所示为
ISP1581
的固件程序结构图。
计算机驱动程序与应用程序
驱动程序用于处理底层通信细节,实现具体的通信协议,为应用程序提供透明的传输接口。用户可以自行编写硬件驱动程序。可以采用的开发工具主要有Windows DDK,DriverStudio,Windriver,采用后两种工具开发驱动程序周期短,但程序编写不如第一种灵活。本系统的驱动是用Windows DDK编写的,因此主机应用程序可以方便灵活地与硬件设备进行数据交换。
McBSP AIC10()DSP(
结语
本文介绍了一种语音数据采集系统的软硬件设计,该系统采用DSP作为主控制器,采用USB2.0实现与计算机之间的数据通信。
Ta的文章
更多
>>
基于USB2.0的语音数据采集系统设计
0 个评论
在CCS中使用printf函数输出的问题和解决过程
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮