嵌入式语音通信系统中VxWorks BSP的设计实现 06
![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
嵌入式语音通信系统中VxWorks BSP的设计实现 06
数据发送不调用中断处理函数,发送函数检测到发送缓冲区可用(即TxBD中R位为1)后,调用回调函数将数据从发送Ring buffer拷贝到串口发送缓冲区(Txbuffer)。这里为发送功能开辟足够大的环形缓冲区(足以容纳应用程序每一帧的数据)。发送函数流程如图4所示。
![](http://embed.chinaitlab.com/UploadFiles_4615/200910/20091015104953645.jpg) 2.2 BSP调试方法和遇到的问题
2.2.1 调试方法
开发调试有两种方法,一种是使用仿真器通过BDM(后端调试模式)一步步地跟踪调试,另一种是通过点灯的方式进行所谓的“黑”调。“黑”调的方法是通过“灯”闪、用示波器测片选等,根据外部现象和所编的测试代码进行比较分析来调试程序。进行“黑”调的目的是调通信串口部分代码,宿主机可以通过串口与目标机的通信,然后再调试其他部分。调试流程分成两部分。首先是预内核启动代码(Pre-Kernel Initializa-tion),待最小内核启动正常后再添加I/O系统、文件系统、网络系统等组件和调试应用程序。使用仿真器Vi-sion Probe通过BDM方式调试BSP并将BootRom映像烧入FLASH。
2.2.2 调试中遇到的问题
(1)系统无法正常复位
在调试过程中,发现MPC860T的CLKOUT引脚无输出信号,系统上电复位过程没有完成,系统无法正常工作。初步判断是硬件问题。用万用表和示波器逐步检查上电复位、硬件复位、软件复位、时钟输入和BDM调试等模块电路,发现正常。判断是BGA焊接出现问题,将芯片取下,重新焊接,系统复位正常,时钟信号输出稳定正常。
(2)网络无法与外界通信
100 Mb/s快速以太网驱动加载中,网络层协议无法运行,目标板无法与外界网络建立联系。目标板网络启动时发出的MAC地址信息帧外界无法收到。通过仿真器发现程序单步运行正常。经过反复试验和测试,最终发现因SDRAM初始化程序没有运行导致程序运行(需要SDRAM支持突发模式)出错。更改调试方式,将BootRom开始的所有程序烧入FLASH,上电启动,网络正常,目标板与外界建立良好的网络通信。
3 结 语
该系统在实际测试中话音质量稳定,测试时声音清晰,没有串扰和杂音,没有较大延迟,说明硬件设计正确完备,QMC驱动程序和语音编解码和IP封装与解封装应用程序性能优良。
如果板卡上语音通道更多,则每帧的时隙增多、长度增大,因为FPGA内部电路所提供的的帧同步信号周期并不改变,所以只是实际数据传输速率提高,可以保证各路语音的同步和实时性。系统中QMC工作在Transparent Mode限制了它的应用范围,如何改进使系统支持多种通信协议是需要进一步研究的问题。 |
|
|
|
|
|