新闻中心

EEPW首页>嵌入式系统>设计应用> 基于DSP的USB语音传输接口设计

基于DSP的USB语音传输接口设计

作者: 时间:2012-03-09 来源:网络 收藏

(1)主程序

图4为主程序流程图。主程序只做初始化和检测一些状态位的变化,以转入相应的处理子程序中。


(2)中断服务程序

包括COIC的中断服务程序、CODEC的中断服务程序和中断服务程序3部分。Firmware的大部分工作是在中断服务程序中完成的。

COIC只有一个中断,就是把振铃信息传送给

CODEC有3个中断:首先是接收振铃信息,在振铃中断服务子程序中,把振铃标志位置位;然后是接收中断,在中断服务子程序中把从电话接收到的语音数据装载到相应的FIFO中去;还有就是发送中断,在中断服务子程序中把从PC机侧发过来的语音数据发送至电话终端。

有4个中断,所有的数据交换都是在中断服务子程序中完成的,而且除中断传输外每次传输都是由客户启动的,主机应用软件调用功能驱动程序开始一个传输过程,然后USB产生一个中断请求,向申请中断,在得到的响应之后才进人中断服务子程序进行数据的接收或者发送。

5.2 USB驱动程序

USB的驱动程序属于WDM(Windows Driver Model)类型,Windows 98/2000等操作系统均支持该类型的驱动程序。WDM首先定义了一个基本的核心驱动程序模型,处理所有类型的数据,使驱动程序模型的内核实现更加的固定。WDM驱动程序还是一种分层的程序结构,可以看做是Windows NT驱动程序的改进,WDM驱动程序支持即插即用、电源管理和
WMI(Windows Management Instrument)特性。Windows 98/2000提供了一系列的系统驱动程序,他们具有为许多标准类型设备服务所需的所有基本功能。图5是USB的WDM接口框图(也是USB驱动程序总体框图)。

Windows提供了USB的系统类驱动程序,他处理USB上的所有底层通信,这样其他驱动程序就有了一个定义好的接口可以使用。图5中USB类驱动程序使用UHCD.SYS或OHCI.SYS分别驱动两种类型的控制器UHCI(USB Host Controller Driver)和OHCI(Open Host Controller Interface)。当PCI枚举器发现USB主机控制器后,就会装入相关的驱动程序。

需要自己做的驱动程序实际上是USB功能驱动程序(也叫客户驱动程序),他控制一个给定的USB功能设备,例如我们的设备。连接到USB设备的每一种类型的功能单元都必须要有功能驱动程序。这些功能单元不知道和USB传输机制相关的细节,而且必须依赖于USB的主机应用软件才能管理他们基于USB的能力和限制的传输请求。功能驱动程序的理想实现是基于设备类而定义的。功能驱动程序把USB设备看作是一个司以被访问的端点的集合,他可以被控制并与他的功能单元进行通信。USB功能驱动程序可以在VC++下编写,但需使用微软提供的NTDDK(Windows NT Driver Develop Kit)来编译驱动程序。

5.3 主机应用软件

主机应用软件所完成的主要工作为:打开和关闭USB设备;读取设备描述符等;向设备发送摘机、挂机和拨号等命令;主动向用户发声并弹出对话框提示有来电;进行拨号;拨号或摘机后的双向语音同步传输。

主机应用软件在VC++6.0下完成,应用软件所操作的对象就是USB功能驱动程序,由于功能驱动程序提供与应用软件的接口,因此编写应用软件的难度要远远低于功能驱动程序的开发难度。

6 结 语

在当今的数字化时代背景下,DSP已成为通信、计算机、消费类电子产品等领域的基础器件,被誉为信息社会革命的旗手。USB为PC外围设备输入输电提供了新的接口标准。他使得设备具有了热插拔、即1插即吊、自动配置的能力,并标准化了设备连接。USB的级联星型拓扑结构大大扩充了外设数量,使增加、使用外设更加便捷、快速。

本文所介绍的USB设备其实是一个数字电话机的模型,本系统软硬件都具有模块化特性,易于改造成其他应用场合的语音控制系统:从大的方面讲,可以组成数字电话网:从小的方面讲,在一个局域网内部,所有成员就都可以通过局域网方便地接听和拨打电话,而无需大量的分机。该设计节省了大量的人力和物力,具有较强的使用价值和推广意义。


上一页 1 2 3 下一页

关键词:DSPUSB语音传输

评论


相关推荐

技术专区

关闭