微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于USB主机结构的数字录音技术研究

基于USB主机结构的数字录音技术研究

时间:05-21 来源:电子技术应用 点击:

  随着数字技术的发展,录音技术也进入了数字化阶段。目前数字录音系统应用已非常广泛,如电力、铁路、石油等行业的指挥调度,机场、港口、公安、军事等要害部门的录音和监听,金融行业授权指令的实时录音,无线寻呼台、电信局、服务行业的服务等。数字录音系统为及时了解和发现事故原因以及提供准确可靠的原始录音记录发挥了巨大作用。

  目前,很多数字录音系统是基于PC实现的。语音数据采集后通过串口实时传送到PC进行数字语音的存储,再由PC对数字语音数据进行后期处理。但是在很多应用场合(如移动装置、野外作业、窃听等),由于受布线、成本、安装空间及环境等影响,基于PC的数字录音方案受到限制。这些应用场合下,如何实现语音数据的存储就成为关键。

  方案一是采用无线传输。实时将采集到的语音数据传送。但是由于受无线数据传输的距离、速度以及实现成本的限制,这种方案的可行性不高;

  方案二是采用可移动的存储体。目前应用较广的有CF|0">CF、SD等存储卡和基于USB接口的移动存储设备。从单位字节存储成本考虑,存储卡的成本明显高于基于USB接口的移动存储设备。

  另外,PC与存储卡进行数据交换时必须购买相应的读卡器,这意味着要增加额外的成本且使用不灵活。随着USB技术的发展与不断成熟,目前几乎所有PC主板都带有多个USB接口,且操作系统对USB设备的支持也非常完备。这样数字语音数据可与任意PC进行数据交换,从而使应用变得非常方便和灵活。因此,研究嵌入式环境下基于USB主机结构的数字录音技术就具有实际意义和应用前景。

  1 数字录音系统的设计和工作原理

  整个录音系统主要由两大部分组成。一是语音数据的PCM编码电路,实现语音的AD转换;二是USB主机的接口电路。单片机P89C51RD2HBA实现USB-HOST主机协议和语音数据的采集功能,系统原理如图l所示。

  2 语音编解码电路设计

  2.1 MCl4LC5480芯片简介

  语音的PCM编码是将模拟语音信号转变为数字语音信号。它是语音数字化的第一步,也是语音压缩的基础。MCl4LC5480是Motorola公司生产的μ/A律PCM芯片,具有以下特点:低功耗;低噪声的全差分模拟电路设计;片内集成有发送带通滤波器和接收低通滤波器;具有RC预滤波器后滤波器;μ/A律可选择。MCl4LC5480的原理如图2所示。

  图2中,RO+、RO-和TI+、TI-分别是PCM模拟语音信号的差分输出和输入;PI、PO+、PO-用来放大模拟信号以驱动模拟语音设备;同步控制部分主要用于控制帧同步和位同步,控制引脚主要用于μ/A律的选择和低功耗模式的选择。

  2.2 语音编解码应用电路设计

  基于MCl4LC5480的语音编解码应用电路如图3所示。其中输入的8kHz时钟源用于帧同步,2.048MHz的时钟源用于位同步。PCM输出即为编码后的串行输出数据,再经过SN74HC595转换为并行数据与单片机的8位数据总线连接;PCM输入则为串行输入的数字语音数据。在图3中,8kHz、2.048MHz时钟源可用Motorola公司的MC74HC4060产生。具体实现如图4所示。

  3 USB主机接口电路设计

  3.1 USB-HOST接口芯片SL811HS简介

  SL811HS是Cypress公司推出的一种遵从USB1.1协议的嵌入式USB Host/Slave芯片。该芯片既能与USB低速设备通信,也能与USB高速设备通信。由于提供了8位宽的数据总线及中断支持,使得该芯片能方便地与微处理器、微控制器以及DSP连接。SL811HS可以在Host/Slave两种模式下工作。该芯片具有以下特点:

(1)自动探测所接设备是低速设备还是高速设备;

(2)具有8位双向数据总线及片上SIE、USB收发器;

(3)自动产生SOF令牌包及自动生成令牌包、数据包中所需要的CRCS/CRCl6数据;

(4)内部256B RAM,支持乒乓操作;

(5)支持SUSPEND/RESUME、WAKE UP、LDW-POW-ER模式。

  3.2 USB-HOST接口电路设计

  SL811HS的接口电路原理如图5所示。

  由于系统只需要具有USB主机的功能,因此只需将控制SL811HS为主机或从机工作方式的M/S管脚接地。SL811HS的地址数据复用总线AD[7:0]与单片机P89C51RD2HBA的P0口连接。其中SL811HS的A0功能较为灵活。AO=0时表示数据线上的数据是SL811HS的RAM空间的地址指针;A0=1时则读写指定地址的RAM数据,从而实现数据的传输。

  而且它支持地址自增模式,即可读写连续地址单元中的数据,而不需要多次写入地址,从而大大提高传输速度。为了提高系统的抗干扰能力和稳定性,VDD引脚的去耦电容采用103电容。并且在设计PCB时DATA+和DATA-的走线尽量短,整个PEB板做覆铜处理。

  4 软件设计与实现

  4.1 USB主机对设备的枚举软件框架设计

  枚举是任何USB设备使用前必经的过程,因此枚举作为整个USB通信的前提显得非常关键。下面依照自底向上的软件设计方法实现USB主机对设备的枚举。整个USB主机系统的实现也是按照层次由底向上的设计思路,这样便于系统移植。

(1)MCU与sL811HST的底层通信。这是整个USBHost模块的基础,它主要包括对SL8llHS字节的读/写和字节串的读/写等函数。

(2)USB最底层数据包发送的实现。这是一个发送数据包的函数,参数包括发送的数据包类型、端点地址、端点负载、传输长度和数据缓存区地址指针。

(3)控制传输和USB协议栈标准请求命令的实现。控制传输主要用于发送和接收与USB设备的配置信息相关的数据,包括建立阶段、可选数据阶段和状态阶段。每个阶段都由特定的事务(USB最底层数据包的发送)组成。建立阶段发送规定格式的USB标准请求命令;数据阶段是可选的,它根据建立阶段指明的传输方向传输具有USB定义的数据,该阶段包含一个或多个IN/OUT事务;状态阶段用于报告建立阶段和数据阶段的传输结果。

(4)USB设备的枚举。根据USB协议的规定,在调用标准请求命令函数的基础上,实现主机对USB设备的枚举。首先通过缺省地址0获取设备描述符,如厂商ID、产品ID、设备类等信息;之后为设备分配新的地址;然后通过这个新地址与设备通信,获取配置描述符、接口描述符、端点描述符等;根据获取的配置描述符信息,为设备设定一个配置。

(5)整个USB的协议框架。至此,整个USB主机的活动特性已了解。从(1)~(4),层层递进,一级比一级高级。最简单地说,就是(4)中宏观的USB主机活动是由最底层的(1)实现。

  而(1)中的函数是完全与硬件相关的部分,且越往上与硬件的关系越小,以至于在(4)中的层次就完全是与硬件无关的软件平台。这也为整个系统的移植奠定了基础,只需修改与硬件紧密相关的函数体即可。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top