这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 嵌入式数字多媒体终端硬件平台的设计与实现

共1条 1/1 1 跳转至

嵌入式数字多媒体终端硬件平台的设计与实现

菜鸟
2008-07-18 17:24:25     打赏

引言

    随着信息时代的到来,信息技术尤其是计算机多媒体技术与网络技术飞速发展,语音教室在各种学

校都已有了广泛的应用。现存的语音教学系统一般都是采用模拟电路,可靠性低,抗干扰性弱,易发生

串音,从而在传输过程中会失真、衰减,且易受干扰,导致语音质量较差,同时布线也较复杂,建设成

本比较高;另外现存的解决方案实现的功能较为单一,只能完成简单的教学功能,没有提供随意分组讨

论、点名、选择题问答等应有的功能;另外,现存的解决方案没有发挥出现有的多媒体网络技术优势,

无法进行高效、生动的多媒体教学,交互性比较差,教学效果受到很大的影响,严重影响了在实际教学

中的推广与应用。要解决传统语音教学面临的问题必须引入数字化的设计。

 

数字多媒体终端的硬件设计与实现

    数字语音教学系统由教师端、多个学生端(数字多媒体终端)、数字传输网络组成。其中,教师端一

般采用计算机控制,主要完成系统管理及网络管理。学生端既可以基于PC机平台,也可以采用经济型独

立设备。数字传输网络是所要传输的多媒体信息的载体。本文就是针对学生端设计一种经济实用的独立

设备。它采用嵌入式数字信号处理器DSP+CPLD+接口电路的设计模式。数字信号处理器DSP实现语音信号

的处理、网络接口部分的控制及多任务的管理。CPLD完成网络适配部分设计及部分外围电路控制。接口

电路包含网络接口、模拟语音输入输出接口。语音传输中要保证语音传输的实时性和交互性,实现学生

端与教师端和其他学生端的通信。

 

    硬件平台构造于DSP嵌入式系统上,该平台采用了TI公司的数字信号处理器TMS320VC5402作为核心部

件,利用可编程逻辑器件XC95288开发了外围控制电路和接口电路

多种设备接口

    包括网络输入、输出接口、话筒输入接口和耳机输出接口。

 

语音信号前置放大

    由于从话筒输入的语音信号比较微弱(130mV),达不到编解码器对信号强度的要求,因此必须进行

前置放大,这里由专用前置放大芯片完成。

 

语音信号的转换及编解码

    语音信号的A/DD/A转换及编解码功能是利用MC145480完成的,它的优点是:①可将语音信号的A/D

D/A转换及编解码集成在一个芯片中,提高了系统稳定性;②只需单电源供电,减少了双电源供电所带

来的电源干扰问题,提高了语声质量;③可提供A律及m律两种编码格式,提供符合ITU- T G.711建议的

语音数据流。

系统控制、管理与语音压缩

 

    由数字信号处理器TMS320VC5402完成。该芯片处理速度快,可实现语音的实时处理,并实现语音的

回声抑制功能。除了能完成DSP所提供的功能外,利用内嵌的DSP/BIOS实时操作系统,可实现并建立语音

实时多任务系统。

 

网络适配电路

    本网络的拓扑结构参考令牌总线网,物理拓扑采用总线型结构,由一根线形的电缆连接各个站点。

逻辑拓扑采用环形结构,每个站点知道自己左边和右边站点的地址,在逻辑上构成一个环,数据沿环逐

节点顺序传送。这种物理结构具有以太网电缆的可靠性,不会因某处电缆故障物而在物理上导致整个系

统瘫痪。其所需电缆长度短,安装费用低,易于布线、维护和扩充。而且,物理上共享总线的站点之间

可以直接通信,响应速度较快。同时,由于总线电缆固有的广播特性,使得应用中广播功能的实现较为

容易。另外,由于逻辑环是公平的,每一站点对信道的访问时间有一个确定的上界,因此可以防止某一

站点独占信道这种情况的发生。共享媒体语音网是一个局域通信网络,它没有路由问题,任何两个站点

之间可以使用一条直接链路,所以不需要单独设置网络层,而可以将寻址、排序、流控、差错控制等功

能都放在数据链路层中实现。

 

    该控制电路利用XILINX公司的可编程逻辑器件CX95288实现。网络适配器把数据总线上的低电平并行

信号转换成01码流,通过连接网络各站点的电缆传输。它采用特殊技术,以便利用适配器共享局域网

线缆、局域网的介质访问控制MAC方式和发送信号的类型。电路包括网络接口、接收电路、发送电路及与

 

 

DSP的接口电路。其中,网络接口部分采用通用的RS-485通信接口,实现简单。数字多媒体终端的软件设

 

计与实现

    数字多媒体终端系统除了利用DSP完成信号处理,实现全部系统控制功能之外,在系统软件设计中,

需要对DSP、存储器、外设等各种资源加以管理,同时还要处理多任务并发操作和不同任务之间的协调。

为了保证系统的可靠性和稳定性,本文采用了DSP/BIOS实现上述工作。

 

DSP/BIOS实时操作系统

    DSP/BIOSTI公司推出的一个实时操作系统(RTOS),与TICode Composer Studio(CCS)集成在一个

开发环境下。目前最新的版本是CCS 2.0 中的DSP/BIOS II。它支持软件模块化,通过修改内核提供占先

式多任务服务;具有设备独立的I/O数据流模型;可以对内存进行动态分配与内存管理。DSP/BIOS实际上

是一个可调用的系统模块API的集合,利用DSP/BIOS调试工具可以对程序进行实时跟踪与分析,提高应用

程序开发的可靠性。通过DSP/BIOS 插件(Plug-ins)可实时观察内核中各线程的执行状态和对象的当前属

性。利用配置工具 (Configuration Tool)开发者可以对各个模块实行配置。非常有效地提高项目了开发

效率,简化了DSP应用程序的开发和调试。

 

DSP/BIOS实时语音处理多任务系统

    对语音信号的处理利用DSP/BIOS建立实时多任务系统。DSP与音频编解码器之间的通信通过DSP的外

设多通道缓冲串行口(McBSP)实现闭环测试。简单的语音处理系统由采集线程和播放线程两个应用任务组

成。每个应用任务分别对应一个输入SIO和一个输出SIO流,通过两个半双工通道(一个输入,一个输出)

来访问连接到音频编解码器的DSP多通道缓冲串行口。另外,在两个任务之间的数据交换通过DPI设备驱

动完成。具体实现包括:

建立设备驱动

    设备驱动采用DAX驱动程序作为管理设备的软件模块。DAX驱动模块由DAX头文件和DAX函数组成。

DAX_Params作为配置工具设备驱动对象的属性。每个设备驱动模块同时还需要一个控制模块,控制模块

由外部函数bindstartstopunbind等组成,通过DAX_Params参数结构和配置工具配置控制器。其中

,控制器的bind(unbind)函数负责绑定(解除绑定)设备驱动模块对设备端口的控制。控制器的start函数

负责调用流SIO_get时打开设备端口,也就是打开McBSP的接收和发送中断使ISR中断服务线程正常运行。

控制器的stop函数使停止中断运行并关中断。

 

    DAX函数由配置工具中设备对象的函数表调用,在dax.c中初始化驱动函数表DAX_FXNSDAX函数表的

结构如下所示:

DEV_Fxns DAX_FXNS = {

DAX_close,

DAX_ctrl,

DAX_idle,

DAX_issue,

DAX_open,

DAX_ready,

DAX_reclaim

};

 

    应用程序不直接调用驱动函数,这个函数表用于SIO模块调用特定的设备驱动函数,SIO模块依次发送

通常的函数调用适当的驱动函数。

 

建立SIO

    本文利用静态配置工具为每个任务建立一个输入流和一个输出流,采样线程对应采样输入流

inSample和输出流outSample,播放线程对应播放输入流inSink和输出流outSink

 

建立任务

    系统利用DSP/BIOS建立两个任务tasksampletasksink,分别对应Sample Sink线程,以完成语音

的采集处理与播放处理。采样线程Sample和播放线程Sink调用相同的I/O处理函数,I/O处理函数如下所

示:

static Void doStreaming(SIO_Handle input, SIO_Handle output, Uns nloops)

{

Ptr buf;

Int i, nbytes;

if ( SIO_staticbuf(input, &buf) == 0) {

SYS_abort("Error reading buffer");}

while(1) {

if ((nbytes = SIO_get(input, &buf)) < 0) {

SYS_abort("Error reading buffer %d", i);

}

if (SIO_put(output, &buf, nbytes) < 0) {

SYS_abort("Error writing buffer %d", i);

}

}

}

 

    虽然两个线程调用了相同的I/O处理函数,但是由于对应不同的输入/输出流,因此在多任务操作中

,不会出现冲突。

 

建立中断服务程序

    使用HWI硬件中断服务管理器HWI配置相应的中断服务程序ISR。当接收发生中断时,ISR将接收的数

据放入缓冲区,当接收缓冲区满时,通知设备驱动程序DAX,将缓冲区的数据发送到inSample流中,供上

层任务处理。

 

结语

    本文针对传统模拟语音教学系统的弊端提出了数字语音教学系统,并设计实现。该系统平台主要为

数字语音教室的随意分组讨论、点名、选择题问答、播放备课文件、回放等一系列功能提供了实现基础

。同时通过共享多种媒体,如声音、音乐、文字、图象等,减少时间浪费,使教学高效、生动,从而激

发学生的学习积极性和想象力,有很好的开发应用价值。

 




关键词: 嵌入式     数字     多媒体     终端     硬件     平台     设计     实现    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]