繁体中文
设为首页
加入收藏
当前单片机技术首页 >-最新单片机资料 >> 基于TMS320VC5416的自适应变速率声码器

基于TMS320VC5416的自适应变速率声码器 (6)

2008-07-09 00:02:14  作者:  来源:网络  浏览次数:684  文字大小:【】【】【
基于TMS320VC5416的自适应变速率声码器基于TMS320VC5416的自适应变速率声码器-单片机技术,接方式即可实现。但是码流收发部分则不同,因为这部分只有一根同步时钟线CLK和输入输出两根数据线,所以很难直接利用MCBSP按串口方式实现收发。于是把MCBSP1初始化成通用I/O,将RXD与I/O口输入脚DR1相连,TXD与I/O口的输出脚DX1相连,将CLK与初始化为I/O口的输入脚FSR1相连。这样在程序中就可以很方便地随时读写这三根信号线,再将时钟中断的频率设为50kHz(远高于CLK可能出现的最高频率2.4kHz),就可以在时钟中断中实时监测CLK的变化。若发现CLK的上升沿则读取RXD的状态并存入码流接收缓冲区,若发现CLK的下降沿则从码流发送缓冲区取出1bit送至TXD。这样就成功地实现了码流的收发。

MCBSP1被初始化为通用I/O后一共能提供6根I/O引脚线,除去码流收发占用的3根之外还有3根,正好可以用来连接PTT、RTS和CD信号线。这样,就可以在占用最少的DSP资源的情况下实现码流收发和控制功能。

另一个主要问题就是速率的自适应问题,也就是说,声码器必须能够根据CLK的频率自动选择合适的编解码算法。在上述连接方式下,这个问题也就很容易解决了,只需设立一个计数器,对CLK的每个周期中发生的时钟中断个数进行计数即可。这样,根据计数值就可以很方便地计算出CLK的频率。例如,时钟中断的频率是50kHz,那么当CLK的频率是2.4kHz时,计数器的值就应该在50/2.4=20.8左右,当CLK的频率是1.2kHz时,则在41.7左右;当CLK的频率是0.6kHz时,则在83.3左右。从图2的流程中可以看出,在程序初始化前就需要检测CLK频率,并根据CLK的频率选择合适的编解码算法,进行相应的基于TMS320VC5416的自适应变速率声码器基于TMS320VC5416的自适应变速率声码器-单片机技术电子技术信息港

[1] [2] [3] [4] [5] [6] [7] [8] [9]

相关文章
 

最新文章

更多

· 基于MSP430的血糖仪设计
· 倒车多媒体可视测距终端...

推荐文章

更多

· 消费总线电力线接口电路...
· 基于MSP430的血糖仪设计
· 倒车多媒体可视测距终端...
· 采用Nios定制指令的嵌入...
· 一种用VHDL设计嵌入式We...

热点文章

更多

· 采用Nios定制指令的嵌入...
· 倒车多媒体可视测距终端...
· 基于MSP430的血糖仪设计
· RTOS的必备特性
· 基于MSK4364型驱动器的三...
· 消费总线电力线接口电路...
· 一种用VHDL设计嵌入式We...