在实际应用中,PIC18F458 需要接一个CAN 收发器,以提高总线驱动能力。CTM8251是一款带隔离的通用CAN 收发器芯片,该芯片内部集成了所有必需的CAN 隔离及CAN 收、发器件,这些都被集成在不到3 平方厘米的芯片上。芯片的主要功能是将CAN 控制器的逻辑电平转换为CAN 总线的差分电平并且具有DC 2500V 的隔离功能。其接口电路如图5所示。
图 5 CTM8251 接口电路。
2.3 语音处理模块设计
2.3.1 AMBE-1000的主要特点
在语音处理中,编码芯片是核心部分,本设计采用的是AMBE 编码。AMBE-1000 是美国DVSI 公司研制、Lucent 公司生产的一款成熟的双工声码器芯片,用来实现双工的语音压缩/解压缩功能,能实现低传输速率下高质量的通话。它采用先进的AMBE 压缩算法,压缩速率最低可达2.4Kbps。目前这种算法以其能实现的低传输速率和高通话质量而在世界范围内得到了广泛应用,甚至用在下一代移动通信系统中。AMBE-1000 可看成由两个分开的编码器和解码器组成。编码器接收8kHz 的语音数据采样流(如16 位线性的,8 位A 律的或8 位μ 律的)和输出一个期望的波特率的信道数据流。反之,解码器接收一个信道数据流并合成一个语音数据流。AMBE-1000 的编码器和解码器的接口时序是完全异步的[5]。压缩数据从编码器出来要通过一个接口送到解码器,该接口就是信道接口。基本的信道接口包括串口和并口,管脚CH_SEL[2-0]的配置将决定使用哪种接口。串口和并口都能工作于主动模式和被动模式。主动和被动是指激励信号是由本芯片给出,还是由外部模块送入。
2.3.2 AMBE-1000 与处理器模块接口电路
串行模式下AMBE-1000 通过CHS_DI 和CHS_DO 输入、输出16 位的数据字。声码器AMBE-1000 工作在被动模式,与控制器之间采用串行方式传送数据,两者之间接口如图6 所示。
图6 AMBE-1000 与控制器接口
AMBE-1000 中语音编码率和前向纠错编码率的选择可以是独立的。这些码率可以通过命令帧的方法配置,也可以通过硬件管脚BPS_SEL[3-0](PIN 3,4,5,6)来配置。本设计中设定AMBE-1000 的语音编码率为2.4Kbps,故管脚BPS_SEL[3-0]均通过电阻接地。
2.3.3 语音 A/D、D/A 模块设计
对于一个高质量的语音通信系统,A/D-D/A 芯片的选择至关重要。在选择A/D-D/A 芯片时,需要考虑这些芯片的信噪比和滤波性能。一般应优先考虑那些16位线性A/D-D/A芯片,以获得较高的语音质量。对于任何一种与之相连接的A/D-D/A 芯片, AMBE-1000 都采用8kHz 语音数据采样率。这些8 kHz 数据通过串行接口输入(或者输出)到AMBE-1000,可以通过软件(发送命令帧)或者硬件方式,进行A/D-D/A 接口的选择和配置。本系统采用的A/D-D/A 芯片是CSP1027,这是一款带有16 位串行A/D 和D/A 的芯片,符合CCITT G.712语音频带响应和信噪比规范,其采样频率可高达24KHz,它采用低功耗全静态逻辑设计,在数字电源3.3V、模拟电源5V 工作时,典型功耗68mW,待机功耗0.05mW。
CSP1027 与AMBE-1000 之间采用串行工作方式,二者的接口电路如图7所示。经MAX9814 放大后的麦克风语音信号由45 号管脚(MICIN)送入CSP1027 进行A/D 转换,然后经21 号管脚(DO)送入AMBE-1000 进行压缩编码。相反地,AMBE-1000 解码之后的数字语音数据要送入CSP1027 芯片进行D/A转换(TX_DO 与DI相连接),恢复出的模拟语音信号由43 号管脚(AOUTP)输出,并通过此管脚将模拟语音信号送出MAX9736 进行功率放大,最后通过扬声器播放出来。
图 7 CSP1027 与AMBE-1000 的接口
2.3.4 语音采集模块设计
本模块的作用是将麦克风微弱语音信号放大给A/D 转换器。本系统采用了具有自动增益控制(AGC)功能的MIC 放大芯片MAX9814,该芯片是Maxim 推出的低成本、高品质麦克风放大器,器件具有低噪声前端放大器、可变增益放大器(VGA)、输出放大器、麦克风偏置电压发生器和AGC控制电路。
MAX9814 的电路设计如图8所示,麦克风语音信号通过管脚8(MICIN)输入MAX9814芯片,进行语音信号放大,之后从管脚6(MICOUT)输出,输出的信号送到模数转换模块即CSP1027 进行A/D 转换。
图8 MAX9814电路设计图