数话同传控制器的设计与实现

[09-12 17:48:11]   来源:http://www.88dzw.com  单片机学习   阅读:8232

文章摘要:1.2 系统工作原理在无话音数据传输时,AT89C52将从串口接收的数据打包处理后发送给Modem,Modem对传过来的数据增加前向纠错(FEC)、循环冗余校验(CRC)位后,按Mobitex标准的数据格式进行交织和扰码处理,再附上比特同步和帧同步字节后,对数据包进行GMSK调制,输出音频的GMSK信号,再由电台将其调制到模拟调频话音信道上传送出去。当有话音数据传输时,模拟话音输入MC145480,经过8kHz的A律编码输出64kbps的PCM信号。经过AMBE1000压缩后,输出2.4kbps的压缩话音数据,这些话音数据经单片机AT89S52除包延时处理后与串口接收的外部数据一起打包送到调制

数话同传控制器的设计与实现,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

1.2 系统工作原理

在无话音数据传输时,AT89C52将从串口接收的数据打包处理后发送给Modem,Modem对传过来的数据增加前向纠错(FEC)、循环冗余校验(CRC)位后,按Mobitex标准的数据格式进行交织和扰码处理,再附上比特同步和帧同步字节后,对数据包进行GMSK调制,输出音频的GMSK信号,再由电台将其调制到模拟调频话音信道上传送出去。当有话音数据传输时,模拟话音输入MC145480,经过8kHz的A律编码输出64kbps的PCM信号。经过AMBE1000压缩后,输出2.4kbps的压缩话音数据,这些话音数据经单片机AT89S52除包延时处理后与串口接收的外部数据一起打包送到调制解调模块,实现数据和话音的同时传输。

数据接收时,Modem从模拟调频电台读入音频信号进行GMSK解调,经检错和撤包处理后,将数据传送给AT89S52。单片机经过判断处理后,如果是外部的数据,则直接通过串口输出;如果是话音数据,则经过处理后送给AMBE1000解压缩,输出的PCM信号经过A律解码和DAC,还原成模拟话音信号输出。

2 软件设计及实现

整个系统的软件主要包括三大部分:MC145480和AMBE1000的接口时序的实现、语音压缩数据的处理、数据的调制和解调。

2.1 接口时序的实现

AMBE1000话音Codec与MC145480的接口关系如图3所示。

图3中CLK_2048K为2048kHz的时钟信号,CLK1_8K和CLK2_8K均为8kHz的时钟信号。可以看出,分立元器件较多,时钟源之间的干扰比较大,电路运行不太稳定。本系统中用一片EPM7128实现,用VHDL语言编写时序发生器,大大简化了电路,提高了系统的稳定性。图4是在MAXPLUSII上仿真MC145480从AMBE1000语音Codec读取数据的波形。

从仿真波形上可以看出,在MC145480的接收帧同步信号FSR的下降沿到来时,开始在接收位时钟信号BCLKR的作用下采用从AMBE1000语音Codec传过来的数据(AMBE1000的tx_do端)。在采样一个字节后停止采样,余下的FSR为低电平的时间(一个FSR的周期内)用来给MC45480的DA转换提供缓冲时间。在下一个FSR的下降沿到来时又周而复始地重复上述操作。

2.2 语音压缩数据的处理

AMBE1000语音Codec输出数据是以帧为单位,每20ms输出一帧,每帧的大小为34bytes,其中帧头为10bytes,压缩语音数据24bytes。

如果按全帧发送,1s内必须传送的数据位数为:

34bytes×8bit/bytes×50=13600bit

而Modem的最大传输速率为9600bps,根本无法进行传输,更谈不上实现数据和语音同传了;另一方面,本系统没有必要将压缩语音数据按全帧发送,本系统没有必要将压缩语音数据按全帧发送,只需传送有效语音数据。压缩速率为2400bps时,每帧输出的有效语音数据为:

2400bps/(50×8bit)=6bytes

这样在帧尾会有18bytes(24bytes-6bytes=18bytes)的无效0数据,全帧传输时这些无用的0也参与了传输。从节省带宽方面考虑,必须进行帧头和帧尾的处理,并重组数据帧。为此,在程序中做了如下处理:当检测到有话音数据时,单片机每20ms 地AMBE1000语音Codec进行一次读写操作,将接收到的一帧数据存入一个缓冲区,去掉不必要的帧头和帧尾无效的0,得到纯语音数据(每帧6字节)。每隔60ms即连续等待三次AMBE语音Codec中断处理后(共18字节的有效语音数据),将有效的语音数据与外部接收的数据一起打包发给Modem。接收端反之,单片机将Modem解调出来的语音数据,按每6个字节,先进行必要的帧头设置,再添加上帧尾的0,恢复一帧完整的数据传给AMBE1000语音Codec进行解压缩。这样充分利用了信道资源,并且语音延迟比较小,外部数据传输率也比较高。

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《数话同传控制器的设计与实现》相关文章

分类导航
最新更新
热门排行