VxWorks下基于CS4281声卡的VOIP设计与实现

http://tech.ddvip.com   2008年07月11日    社区交流

内容摘要:VxWorks是常用的嵌入式操作系统,基于VxWorks的嵌入式开发应用非常广泛。本文试图在小范围的以太网环境实现VxWorks操作系统下基于声卡的VOIP的尝试,为某些需要声卡的嵌入式开发提供支持。

  VOIP的基本原理:通过声音的压缩算法对声音数据编码进行压缩处理,然后把这些声音数据进行打包,经过IP网络把数据包送至接收地,再把这些声音数据包重组,经过解压处理后,还原成原来的声音信号,从而达到由互联网传送声音的目的。VxWorks是常用的嵌入式操作系统,基于VxWorks的嵌入式开发应用非常广泛。本文试图在小范围的以太网环境实现VxWorks操作系统下基于声卡的VOIP的尝试,为某些需要声卡的嵌入式开发提供支持。

  1 VxWorks及声卡简介

  VxWorks是由风河(Wind River System Inc.)公司专门为实时嵌入式系统设计开发的一套具有微内核、高性能、可伸缩的实时操作系统,为程序员提供了高效的实时任务高度、中断管理,实时的系统资源以及实时的任务间通信,并能够根据用户的需求进行组合。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。VxWorks是一种功能强大而且比较复杂的操作系统,VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。VxWorks的优秀特性为编写应用程序和设备驱动程序提供了极大的便利。在VxWorks下,设备驱动程序既可以嵌入到内核中随系统一起启动,也可以作为可加载模块在系统启动之后运行。本文的声卡驱动程序采用后一种方式。

  本文选用的声卡是Cirrus Logic公司的CS4281/AC′97。这是一款功能强大的声卡,他主要由CS4281和C2S4297A芯片组成。CS4297A是符合AC′97(Audio Codec′97)规范的一个混合信号串行编解码器。他负责对原始声音信号的采样混音处理,把接收的模拟声音信号转换成数字信号;也将接收的数字音频信号通过一种特殊的音频算法转换成模拟信号。CS4281是一个PCI-Ac′97数字控制器,他提供串行AC′97编解码器(如CS4297A)与并行PCI总线之间的接口。

作者:冯广友 张磊等    责编:豆豆技术应用

正在加载评论...