语音通信系统中嵌入式的设计实现

嵌入式设计应用

130人已加入

描述

       1 系统结构及工作事理

  1.1 系统组成及特点

  整个通信平台由语音通信措置主板和语音采集回放子板组成。语音通信措置主板搜罗CPU MPC860、FLASH存储器、SDRAM存储器、10/100Mb/s收集接口、RS 232串口、BDM调试接口、Console接口、供电和复位电路及120pin毗连器。通信措置主板的焦点MPC860是Motorola公司的一款由MC68360演变而来的通用单片集成嵌入式微措置器,合用于通信和收集系统。该微措置器内部有两个措置器:PowerPC和32位RISC措置器。PowerPC核同内存打点单元(MMU)、指令和数据Cache一同措置高条理应用,CPM则负责完成低层数据通信。两个措置器首要经由过程共享内存交互。通信措置模块操作SCC,SMC,SPI和I2C串行通道与外部设备通信,其中SCC和SMC撑持时分复用。设计中,SCC工作在QMC和谈Trans-parent Mode。通信措置模块(CPM)新增了数字旌旗灯号措置(DSP)功能。语音采集回放子板由语音采集电路、语音回放电路、基于FPGA实现的通信节制器和与语音通信措置主板毗连的120pin毗连器组成。

  因为MPC860的数据传输速度对比ADC和DAC要快良多,设计响应的逻辑电路节制语音的采集和回放、协调MPC860和数据采集、回放电路之间的通信是保证系统正常工作的关头。文中设计了基于Altera公司的CycloneⅡEP2C8芯片实现的通信节制器来解决这一问题。

  将通信平台分为语音通信措置主板和语音采集回放子板分袂设计实现,是为了降低系统开举事度和便于系统维护、进级和扩展。例如语音通信措置主板无需改动即可操作已有的毗连器、FEC收集接口和SDRAM存储器等资本与视频编解码芯片、视频压缩/解压缩芯片组成收集视频处事器。

  1.2 功能结构和工作事理

         系统上电后,语音通信措置主板复位电路发生复位旌旗灯号,MPC860领受到复位旌旗灯号后,跳转到0X100处起头执行启动代码。按照BSP设置装备摆设慢慢执行CPU初始化、板上其他硬件电路的初始化、操作系统运行所需数据结构的初始化、启动VxWorks WIND内核、建树UserRoot使命、初始化系统顶用到的可选扩展模块(如I/O系统、文件系统、收集和谈等)、建树使命usrAppInit(),此时语音通信平台筹备停当,可以执行语音通信使命。 

        1.3 数据措置流程

  MPC860T和ADC AD7825,DAC AD7305之间的通信由通信节制器节制。通信节制器由数据缓冲区(Rx FIFO,Tx FIFO),基于FSM(有限状况机)实现的节制逻辑(Rx control,Tx control)和8位串并、并串转换器,时钟电路组成。其数据领受过程为:领受节制逻辑(Rx control)节制ADC AD7825将各个通道的语音数字化,并把转换功效存入领受缓冲区(Rx FIFO),直至Rx FIFO满时Rx control起头向MPC860T供给周期性帧同步旌旗灯号,频率为32 kHz。MPC860在帧同步旌旗灯号和时钟旌旗灯号的驱动下读取Rx FIFO中的数据到SCC数据领受缓冲区。Rx FIFO读空(即读指针追上了写指针)后,Rx control遏制向MPC860发送帧同步旌旗灯号终止数据传输,同时向MPC860发送间断旌旗灯号IRQ3,MPC860响应间断把数据从领受缓冲区读到领受ring buffer中期待应用轨范措置。其数据发送过程为:MPC860完成IP解封装、解压缩后的语音数据将会在检测到发送缓冲区可用时,输出到SCC发送缓冲区,通信节制器供给发送帧同步旌旗灯号驱动数据传输到Tx FIFO(发送缓冲区),待到Tx FIFO满时遏制发送帧同步旌旗灯号。数据发送完后,CPM会清零,TxBD)中的R位暗示MPC860可向SCC发送缓冲区中装入新的数据,为下次传输做筹备。

  1.4 QMC通信和谈

  多通道节制器(QUICC Multichannel Controler,QMC)是为了实现时分复用数据传输而设计的,它可以把时分复用帧的数据分发到多达64个逻辑通道。该模式下把每一帧的数据划分成若干个时隙(Timeslots),每时隙8 b。在时隙分配表中划定每时隙数据隶属于某个通道,每个通道都有一组特定的缓冲区描述符和响应的缓冲区。一个时隙的数据在收发时被放置在特定的缓冲区里,MPC860T就可把分手的数据*在一路发送,或把*在一路的数据分发到各自专用的缓冲区,而不需要额外的措置来区分各类各样的数据流。

  2 BSP 设计实现

  设计中软件开发首要搜罗启动代码的编写、操作系统的移植、硬件驱动轨范和语音编、解码和IP封装、解封装应用轨范。篇幅有限,本文仅介绍BSP移植。BSP即板级撑持包,其功能为硬件、软件初始化、工程影像的下载和设备驱动等。

  2.1 BSP的定制

  无论是BootRom仍是VxWorks都要使用BSP代码,BSP定制需要按照硬板设置装备摆设、系统设计需求、软件功能等现实情形。现实开发过程中,为了缩短产物开发周期,凡是以WINDRIVER公司的BSP模板或者第三方公司供给的可供参考的BSP为基本,按照软硬件具体设置装备摆设进行改削,添加新的轨范驱动新增硬件和功能。本课题中先把APC860开发板的BSPMPC860TEVB拷贝到installdir:\Tornado\target\collfig\ppcs860目录下,首要做下列改削。

  2.1.1 config.h文件

  按照现实情形,需要改削启动行,内存地址、容量等设置装备摆设. 

  
  2.1.3 romInit文件改削

  romlnit.s模块包含了VxWorks在ROM中的进口点romlnit(),它是单板上电往后最先执行的汇编轨范代码。该函数功能搜罗措置器的复位、内存的初始化以及其他的最根基和需要的初始化工作。

        需要改削的内容有:内部存储器映射寄放器IMMR。该寄放器用来标识内部地址空间的基址,将该寄放器设置为“FF000000”。

  SIU模式设置装备摆设寄放器SIUMCR。搜罗有外部总线仲裁器设置装备摆设,外部master的撑持,DEBUG调试端口设置装备摆设,系统接口引脚设置装备摆设以及奇偶校验撑持,将该寄放器设置为“00E10000”。

  BSP中谈判SDRAM的初始化过程,首先对MAMR寄放器的初始化,再获得UPM的RAM阵列表的地址,然后将RAM阵列表地址中的值写入MPC860 RAM WORDS ARRAY中,最后初始化OR以及BR寄放器。

  2.1.4 ppcs860.h

  ppcs860.h是参数设置装备摆设头文件,该文件包含年夜量宏界说,为使MPC860T正常运行且SCC串口工作在QMC和谈透明模式,按照现实需要做了如下设置装备摆设:

  (1)改削系统常量对应的宏界说:SCCx参数在双端口RAM中存储的肇端地址、缓冲区描述符(BD)的基地址、缓冲区和BD的数目等;

  (2)串口和时隙分配表的初始化,首要搜罗时隙分配、引脚分配等,经由过程设置SI RAM参数,划定了每个逻辑通道对应的时隙和数据路由,本系统中选择SCC2和TDMB接口实现QMC通信,引脚设置装备摆设如下:

  PC6 RSYNC,PA2 RXC,PA10 RXD,PA0 TXC。PA11 TXD

  (3)SCC2初始化:设置SCC2工作在QMC模式;

  (4)QMC全局参数初始化:MCBASE(多通道基地址指针),初始化为SCC2对应外部BD表的基地址,MRBLR(最年夜领受缓冲区长度),领受、发送时隙分配表肇端地址的指针(Rx S PTR,Tx S PTR),领受、发送时隙分配表当前时隙的指针(Rx PTR,TxPTR),间断轮回表基地址(INTBASE),间断轮回表下一可用进口的指针(INTPTR)等;

  (5)QMC特定通道参数初始化:TBASE,RBASE(该逻辑通道的缓冲区描述符的肇端地址),TBPTR,RBPTR(当前发送、领受缓冲区描述符指针),TMR-BLR(最年夜领受帧长度)等。

  2.1.5 驱动轨范

  驱动轨范直接对硬件操作,实现硬件和操作系统、应用轨范之间的交互。需要自行编写MPC860 SCC串口驱动轨范ppcs860QmcSio.c,通信平台中SCC工作在QMC Transparent模式。ppcs860QmcSio.c文件中包含SIO_DRV_FUNCS结构体中界说的5个函数和间断措置函数ppc860QmcInt()、Qmc逻辑通道复位函数ppc860QmcChannelReset()。ppc860SccIoctl()供给了一些设备节制选项,搜罗遏制数据传送、察看当前通信状况(余暇仍是忙)、轮询或间断模式选择等;ppc860sccInt()措置QMC通道的间断请求,经由过程间断体例实现数据的收发功能;ppc860SccStartuP()函数启动一个发送周期;ppc860SccCallbackInstall()安装回调函数。间断措置函数的功能有:

  (1)供给领受、发送间断措置函数,挪用回调函数完成设备和较高层和谈之间的数据传送。

  (2)措置数据领受过程中呈现的领受数据过长,数据传送被迫终止等异常。因为不需要QMC的轮询模式,是以ppc860SccPollInput()和ppc860SccPollOutput()以NULL函数的形式实现。同时还要编写sysSccSeri-al.c文件,改削sysLib.c文件和usrConfig.c文件。在sysSccQmc.c中供给SCC设备描述符的初始化例程、SCC间断毗连例程等;经由过程改削sysLib.c和usrCon-fig.c文件以实现VxWorks对QMC驱动轨范

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分