·上一文章:基于ADS的S3C2410实现嵌入式串口通信
·下一文章:基于GPRS的远程监控系统
由于井下语音节点使用环境比较嘈杂,因此需要配备功放来驱动井下的喇叭,本系统采用的功放芯片为Maxim 的MAX9736,可以工作在8V 至28V,并具有高PSRR,无需稳压电源。MAX9736采用12V供电时效率可达88%。
语音数据经过解码、D/A 转换等恢复为模拟信号。输出的模拟信号要在经过语音模块进行功率放大送到扬声器。该模块电路设计如图9所示。
图9 功放模块电路设计图
3 语音节点软件流程设计
语音节点可以与网关节点和组内其他语音节点进行通信。
当与网关通话按键按下后(Button_Gate=0),打开本地MIC,关闭本地功放,让AMBE-1000 工作,修改发送缓冲器标识符,使仅网关节点能接收到该语音数据,等待编码器编码完毕(EPR=1),从AMBE-1000 中读取编码后的数据,然后将压缩编码后的语音数据发送到CAN 总线上。发送完毕后需要关闭本地MIC,使AMBE-1000 休眠。
当与组内其他节点通话按键按下后(Button_Group=0),工作过程和与网关节点通话过程基本相同,只是发送缓冲器标识符不同。语音节点主程序流程如图10 所示。
当作为接收节点时,将产生CAN 接收中断,然后判断是否为本板数据,若是,则等待解码器空(DPE=1),将数据写入AMBE-1000 解码,并播放语音。语音节点中断服务程序如图11所示。
图 10 语音节点主程序流程
图11 语音节点中断服务程序流程
系统初始化主要包括对I/ O 口初始化、串口初始化和CAN 控制器的初始化等。
4 结语
应用该方法构造的语音通信系统能够在保持良好的语音通信质量的前提下,简化电路,降低功耗,节约成本。