3.2 数据帧格式
CMX638编码后输出的数据帧格式较简单,无帧头和其他控制标志信息,直接输出有效数据。当压缩速率为2 050b/s时,每隔20 ms产生一帧数据,有效数据位为41 bit,占用6字节,主机必须以字节为单位与CMX638交换数据,所以应该输入/输出6字节,其中最高字节先进先出,7个无效比特位不影响编解码。当压缩速率为2 400 b/s时,其工作原理与2 050 b/s压缩速率相同,有效数据为48 bit,恰好占用6字节,无无效比特位。当压缩速率为2 750 b/s,有效数据为55bit,占用7字节,1个无效比特位,必须输入/输出7字节。当压缩速率为3 600 b/s,带FEC功能,每隔60 ms产生包括3帧的数据包,有效数据为216 bit,采用硬比特格式,占用27字节。而采用软比特格式时,则占用108字节。
3.3 主机与片外CODEC接口
主机通过C-BUS串行接口与CMX638交换数据。写操作时,CSN为低,先写入要访问的寄存器地址,再写入有效数据,以字节为单位,结束时CSN拉高;读操作时,先写入地址,接着读取数据。在CLK上升沿采样,最大时钟频率为5 MHz;每两次CSN操作应至少相隔1μs。
当CMX638选用外部CODEC时,利用SSP接口与外部CODEC交换数据。当STRB同步脉冲到达,如果是写操作,SDI输入16 bit数据;如果是读操作,SDO输出16 bit数据。SCLK的最大时钟频率为6.6 MHz,时钟沿采样输入数据方式取决于内部寄存器EXCODECCONT($0B)。
4 应用电路
4.1 CMX638采集电路设计
图4是基于CMX638的语音采样、压缩、解压缩的应用电路,采集麦克风的语音信号,直接压缩;再解压缩恢复源语音信号输出到喇叭。CMX638使用片内的语音CODEC,可直接采集模拟信号。输入/输出通道分别有两个可编程增益放大器,通过配置寄存器AIG($05)和AOG($06)确定其增益。当输入/输出增益较大时,可能出现噪声,但这些噪声被片内数字低通滤波器滤除。信号的输入/输出端无需接放大电路和滤波电路,提高信噪比。
,新型声码器CMX638及应用设计