admin管理员组文章数量:1532339
2024年1月19日发(作者:)
音频编解码器CMX649与单片机的接口设计
中国电力教育2010年管理论丛与技术研究专刊
音频编解码器CMX649与单片机的接口设计
梁光胜范争争
(华北电力大学电气与电子工程学院,北京102206)
摘要:介绍CMX649数字音频接口嵌入式电路结构和引脚功能,给出在单片机系统中采用MSP430F147与
CMX649硬件接口和软件实现方法,同时介绍基于CMX649的C-BUS总线格式及应用设计.
关键词:语音;寄存器;编码;解码;初始化;数据传输
无线传输技术对语音信号数字化处理要求较高,尤其
在通信产品中,系统所选用的器件要求低电压供电,低功耗,
运行速度快及体积小等.音频编解码器CMX649不但有上
述优点,还有其他语音芯片所没有的优点,最明显的就是
它能提供ADM,PCM两种编码模式.
一
,CMX649芯片的内部结构和功能特点
CMX649是由CML公司研制开发的一种支持CVSD
语音编码调制的芯片,其内部结构框图如图1所示.它不
仅具有全双工的ADM(CVSD),u律,A律和线性PCM
编码功能,也具有ADM与PCM的码制转换功能,为无线
语音应用提供一种低成本,低功耗的理想解决方案,广泛
应用于低成本无线耳机,数字无绳电话,全双工数字语音
收发系统以及便携式数字语音通信设备等.
图1CMX649芯片内部结构框图
二,CMX649芯片的引脚功能和配置寄存器
649芯片的引脚(排列图见图2)功能
STRB
ENCoDEVAD
VDD
MIC0UT
MIC十
MI(一
VBfAS
AUDIOOUT
VSS
DECoDEVAD
TXDATE
TXCLK
CSN
SCl—K
CMD
RPLY
IRQN
XTAL/CLK
RXClK
RXDATE
图2CMX649~1脚排列图
1[STRB]:8/16缓冲串行脉冲信号的I/0;
2[ENCVAD】:编码器的语音活动检测器输出;
3[VDD】:正电源;
4[MICOUT]:麦克风放大器的模拟输出信号,
5【MIC+】:麦克风放大器的同相模拟输入,
6[MIC一】:麦克风放大器的反相模拟输人;
7【VBIAS】:不适合的外部应用的缓冲;
8[AUDIOOUT】:解码器的模拟输出信号;
9[VSS】:地;
IO[DECVAD】:解码器的语音活动检测器输出;
1I[RXDATA】:接收信号的串行数据输入l
I2[RXCLKJ:解码数据时钟;
13[XTAL/CLK】:4-16MHz晶体振荡器输入;
14[IRQN】,I5[RPLY】,l6[CMD】,l7ISCLK】,
18[CSN】为C-BUS控制信号I
19[TXCLK】:编码数据输出时的时钟信号
20[TXDATA】:编码数据输出.
649芯片的配置寄存器
为了使CODEC能够正常工作并产生预期的音频效果,
必须对相应的寄存器进行配置.CMX649提供了32个映像
寄存器,如表1所示.
表1CMX649配置寄存器
地址寄存器名称地址寄存器名称
$1总复位SD8解码ADM输入
$61AAF/AIF带宽SE0编码模式和设置
$62侧音电平SEl编码ADM控制
$63音频输入电平CTRL$E2编码VAD入口
$64电源控制1$E3编码偏移电平
$65电源控制2$E7编码线性PCM入口
$70编解码模式控制$E8编码ADM输入.
$71扰频器控制$80编解码器状态(READ)
$72时钟分频器$D4解码VAD电平输出
$73时钟源控制SD5解码器偏移级输出
$8l解码中断控制$D6线性PCM解码器输出
$DO解码模式和设置$DA解码ADM输出
SDl解码ADM控制$E4编码VAD电平输出
$D2解码VAD人口$E5编码器偏移级输出
$D3解码偏移电平$E6线性PCM编码器输出
SD7解码线性PCM人口$EA编码ADM的输出
三.CMX649芯片与单片机接口电路的设计
本文采用TI公司的高性能低功耗单片机MSP430F147,
+作者简介:梁光胜,男,华北电力大学电气与电子工程学院,副教授.
~一~
加"¨
◇
23456789m
音频编解码器0MX649~单片机的接口设计
L}_STRBTXDATA20pI/S0姗P3.3,~P1.I/TA0
l8MK
1VDDCSNP1.5,TA0
l?
'_
Rl矗舡C0UTSCLKp1.6ITAI
R4I5h缸C?I-C五田16P1
.
71T一~】_LC3I
R3≥T皿CRpLY15pi.3,T蚰
fJ714
i5广C5vBSmQNp1.0/TACLK
0UT+I4lI8AUD10Ⅺ.
真IL,CLK13p1.4/$五正CLK
VCC珏3lIiC7
.i1
~18二aN∞IAgcVSSRXCLKp3.Ll1LS0U珊NDEC0DEVA璃XDATAp3.
2/S0MmpI.2iTA1
l
图3硬件电路原!哩图
它与CMX649的接口电路如图3所示.
模拟音频信号由4脚进入CMX649,在芯片内部经过
放大,编码,压缩混响,滤波后送到数字信号接口电路,
再从CMX649的20脚输出,并送到MSP430的SOM10引脚.
CMX649芯片的14脚IRQN,15脚RPLY,16脚CMD,
17脚SCLK,18脚CSN与MSP430F147的TACLK,
TA3,TA2,TA1,TAO引脚连接组成C-BUS总线,完
成数字音频信号的音量,高低音等控制.之后再加载到数
字信号处理,数字插补滤波器,噪声滤波器等一系列数字
信号处理电路,完成数字信号的解码,使数字信号达到比
较高的信噪比.经过数模转换器(DAC)变成模拟信号,
放大后从CMX649芯片8脚输出高质量音频信号,给后续
功放电路.
四,CMX649的单片机控制软件的设计
1.C-BUS工作时序
数字语音处理模块的所有相关参数均是通过C-BUS
来写入寄存器进行控制的.C-BUS是同步串行控制器
("C)接口的简称,可以很容易通过软件程序对通用C
的I/O管脚进行控制.C-BUS总线接口的控制信号包括
IRQN,RPLY,CMD,SCLK,CSN.
CMD即命令数据(CommandData),是用来传输设
备配置寄存器地址和数据到CMX649的,其传输的第一个
字节叫"地址/命令"字节,它具体指定要操作的CML
设备和寄存器.RPLY即回复数据(ReplyDate),是从
CMX649向MSP430控制器传输的请求数据,只有当一个
命令(请求)通过命令数据线发送到CML设备时,回复数
据才是有效的.芯片选择位(CSN)必须在低电平时才能
传输,否则,就停止传输.
两字节C-BUS总线在CMX649和MSP430之间传输
的工作时序如图4所示.
软件设计
CODEC部分的软件设计主要包括串行口的初始化,
CMX649内部寄存器的初始化以及串行口接收中断程序.
软件开发工具为IARWorkbenchforMSP4304.20,采
S呈RLCL0C
COMMANDl螽
]
DnlntH町LMLdeIcc
图4C-BUS工作时序
用汇编语言编程.
(1)CMX649内部寄存器初始化程序的设计.根据实
际情况,通过CMX649的32个配置寄存器可以进行编码
方式和采样速率的选取,功率的控制,编/译码的相关算
法以及其他的一些功能参数的配置操作.编码器与译码器
的设置是CMX649配置的核心部分,包括:编码器与译码
器的数据输入/输出路径,编码方式,压扩算法,量化步
长的选取,I序与n序积分器的使用方式以及积分器的时间,
因子的设定等因素,这些配置均通过编码器和译码器的相
关寄存器进行参数选取.
CMX649的初始化程序:
M0V.B#55H,TXBUF0;确认CMX649音频
无输出
MOV.B#80H,IE1;USART0TX输入
使能
BIS.B#10H,P1SEL;使能CMX649时钟
MOV.W#GEN—RST,R13{$01总复位
CALL#CBUSW1;清除所有只写寄存器
M0V.W#AIF—AAF—BW,R14;$61AAF/
AIF频带宽度
MOV.W#0000H,Rl3;2.9kHz
CALL#CBUSW2
MOV.W#ENC—OFFSET,R15;$E3编码补
偿水平
M0V.W#0000H,R14'
MOV.W#0004H,R13
音频编解码器CMX649~单片机的接口设计
CALL#CBUSW3
RET
(2)MSP430与CMX649之间数据传输程序的设计.
MSP430通过串行通信模块USARTO的SPI3线方式控制
CMX649的语音数据流,其数据传输流程如图5所示.需
说明的是,只有通信双方的扰码信息经过交换,ID号匹配后,
接收到的语音数据才能送人CMX649进行语音编码和译码,
否则被拒绝送入CMX649,目的是为了加强通信的安全性.
中颧襁序始
/
CMX649(FJID怒>—堡
交抉拭码信怠
簿待iD麟
歼始将缓存R)uFO和
TXB~Oq蜉谶街数字节
孥eM鬟9进行接唆吩滋
数镶字节交换究攀,
重鬻檬惑能诈戮器
(l|断运嘲),,
.—....一
/
图5MSP430与CMX649间的数据传输流程图
1)检查CMX649的ID是否匹配.
CMX649_TRANSFER
ID649,MASTERl_ID;检
查ID是否正确
JEQCORRECT__ID;如果不正确发送空闲
模式到CMX649
MOV.B#55H,RFR),LBUF(T0649一CNTR)
JMPCMX649一TRANSFER1
C0RRECTjD
BIT.W#SCRAM—D0NE,PROG~FLAGS;
JZSCRANLEXCHANGED;
BIS.B#AMPl_SHDN—PIN'
JMPCMX649_TRANSFER1
SCRAM—EXCHANGED
BIG.B#AMP_SHDN—PIN;使能音频放大器
2)CMX649传送和接收数据CMX649一TRANSFER1.
0,RFTX—BUF(FR0M649一
CNTR);把CMX649里的数据发送到RFTX—BUF
_BUF(T0649一CNTR),TXBUF0;
把RFTX—BUF里的数据发送到CMX649
3)重置标志位,计数器.
649一CNTR;递减CMX649缓冲计
数器
JNREsET_FROM649l判断缓冲区是否满
CMP.W#BEGIN—RFTX,FROM649一CNTRl当缓
冲计数器等于BEGIN—RFTX时RF—TX开始发送
JNEDONT_START—RF—-TX
五,总结
CMX649是一款多功能的,非常适合语音系统的芯片,
它拥有高性能的数字特性,TI公司推出的MSP430F147单
片机高性能低功耗,本系统集合这两个芯片的优势,在实
际应用中有着广泛的前景.本文用MSP430F147单片机作
为例说明其与CMX649的接口技术,但基本原理和方法可
以广泛推广到其他MSP430系列的单片机.
参考文献:
【l】649DamSh~t[Z].2002.
[2】CMLMmrodrc~.CMX649RecommendedSettings[Z].
2003.
【3】胡大可.MSP430系列超低功耗l6位单片机原理与应用[M】.
北京:北京航空航天大学出版社,2000.
版权声明:本文标题:音频编解码器CMX649与单片机的接口设计 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1705629453a148379.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论