时间:2024-05-04
康令州,张宇,赵文
(中国电子科技集团公司第三十研究,成都610041)
集群通信系统是最早出现的一种专用调度通信系统,经过多年的发展,已经从最早的一对一的对讲模式发展到现在一呼百应的群组通信模式,并在公安、政府、军队、交通等众多对指挥调度功能要求较高专用领域中得到了广泛应用。由于集群通信系统具备易于使用、快速接续等优点,能够有效地满足各个领域对通信、调度和指挥的需求。
同时,随着时代的发展,上述各个领域对信息安全的需求也在不断增加,模拟集群系统易被监听,保密性差的缺点也越来越突出。为实现对模拟集群系统话音内容的加密保护,一种高效、实用的语音编解码方案显得尤为重要。
在各种语音编码方案中,自适应差分脉冲编码调制(ADPCM)和自适应增量调制(ADM)编码技术在各领域中的应用较为广泛。
ADPCM 编码通过两个相邻采样计算出预测值,再将预测值与下一个采样之差与预先设定的比例因子表中相近的那个因子作运算,得到一个相比原始数据小很多的结果并储存。该编码方式主要应用于连续波形数据,能够较好的保存波形的变化,编码话音质量好,但其编码速率高,不适合窄带信道传输。
ADM 编码的量化步长可以动态调节,它通过对输入信号的振幅变化率,动态调节量化步长的增量值,从而具有很高的信号保真度。
CVSD 编码(连续可变斜率增量调制)作为ADM编码的一种方式,它采用多个连续可变斜率的线段来逼近音频信号,当线段的斜率为正时,对应的数字编码为1,当线段的斜率为负时,对应的数字编码为0。同时,CVSD 编码在有误码发生的情况下仍能保持良好的语音品质,即使达到4%比特错误率时,CVSD 编码的语音还是可听的,基本能够满足日常的语音通话要求。
因此CVSD 编码以其较低的应用难度,极低的成本,较低的采样频率和较好的语音编码质量等优势,得到了广泛的应用,已成为集群通信系统中理想的编码调制方案之一。
CML 公司研制的CMX649 芯片是一种支持CVSD编码功能的成熟芯片。它提供全双工的CVSD 编码,具备有高可靠性、容错性及低功耗等特点,能够使应用系统开发者免去了前向误码纠错,制定相关协议和算法的过程,大大减轻了软件编写工作的负担和系统的实现难度,从而节省了系统开发的周期,为CVSD 编码的应用提供一种低成本、低功耗的理想解决方案。
CMX649 芯片共有23 个可配置寄存器,通过对CMX649 芯片内部寄存器的配置可以实现多种形式的语音编解码。用户可根据实际情况来进行编码方式和采样速率的选取、功率的控制、编/译码的相关算法以及其它的一些功能参数的配置等操作。因此,用户具有相当大的开发自主权。
同时,CMX649 芯片提供了一个名为C-BUS 的配置总线,通过该配置总线可以实现对其内部寄存器的操作,从而实现对CMX649 芯片的配置。在对C-BUS总线的时序要求如图1 所示,在对其配置时要严格遵守该时序,通过对CSN、SCLK、CMD DATA、REPLY DATA 等信号的操作实现对寄存器的读写。
图1 C-BUS时序图
CVSD 编解码功能设计时,采用可编程逻辑器件(CPLD 芯片)对CMX649 芯片进行控制,实现CVSD 编解码数据的读写等功能。
程序设计时,遵循通用性和易移植的设计思想,采用模块化的设计思路,根据实现的功能将程序分为不同的功能模块。主要包括主控模块、时序控制模块、数据接收/发送模块、配置模块等功能模块。
主控模块:该模块为编码功能的顶层模块,主要完成对各个功能模块的调度及配置,通过各模块之间的有序配合共同完成对CMX649 芯片的配置、编解码数据的读写等操作。
时序控制模块:该模块主要负责生成CMX649 芯片运行所需要的各种时钟及配置信号,并为CPLD 芯片内部主控模块、数据接收/发送模块、配置模块的运行提供准确的时钟信号和时序控制。
数据接收/发送模块:该模块主要实现对CMX649芯片编码数据的读写功能,分别控制CVSD 编码数据的接收和发送。由于数据接收和发送功能时序关系相似,时钟频率一致,考虑模块的兼容性和复用性,将数据接收/发送功能设计为一个功能模块。
设计时,将译码器的数据时钟引脚(RX CLK)和码后的数据输出的时钟信号引脚(TX CLK)均设计为输入模式,并采用相同的钟源CLK 进行设计。同时,由于语音信号的连续性和实时性,在进行数据接收/发送模块设计时,同步设计了基于乒乓机制的数据读写缓存功能,保障语音业务的连续不中断。
配置模块:该模块主要负责对CMX649 芯片的C-BUS 总线进行配置操作,产生图1 所示的时序关系,控制CPLD 芯片与CMX649 芯片之间进行的指令、数据以及状态等信息的传递。该配置信息只需在芯片上电时配置,在配置过程中最主要的是正确产生CSN、SCLK、CMD DATA 这3 个信号,为保持CMX649 芯片工作的稳定性,要求对C-BUS 总线进行配置前,这3个信号至少需要保护10ms 以上的高电位。
CSN 为C-BUS 总线的片选信号,它要求在对CMX649 芯片的寄存器写程序时必须保持在低电平状态,而配置下一个寄存器之前必须保持一段高电平,并且有严格的时间要求。
SCLK 为C-BUS 总线的时钟信号,要求其工作频率最高不超过5KHz,该时钟与系统内的各时钟采用同一时钟源进行设计。
CMD DATA 为C-BUS 总线的数据信号,其必须与CSN、SCLK 配合使用,它负责寄存器控制命令写入及反馈信号的读取,在进行读写操作时,各配置命令要求低位在前。
基于CMX649 芯片的CVSD 编码功能在集群设备中应用时,各功能模块需要运行在集群设备的可编程逻辑器件上,系统结构框图如图2 所示。
集群设备开机时,内部的可编程逻辑器件上电运行,主控模块启动后通过调用配置模块将CMX649 芯片的配置数据通过C-BUS 总线将写入相应寄存器,实现编码模式及相应参数的配置。
当集群设备处于发送状态时,用户话音通过声音采集器后输入到CMX649 芯片的模拟话音输入端,通过运行在可编程逻辑器件中的主控模块的控制,CMX649 芯片将模拟信号进行CVSD 编码后转化为数字信号,并通过芯片间的内部总线送至设备处理器,处理器通过调用加密算法对编码后话音数据进行加密保护,同时调用专用调整芯片对信号进行调制并发送至收端集群设备。
图2 系统结构框图
收端集群设备按照上述相逆的过程依次对数据进行解调、解密,并通过CMX649 芯片解码后得到用户话音,送至集群设备的扬声器,完成一次用户通话。
在收发用户的通信过程中,由于将模话音信号编码并数据化了,因此可通过调用相应的加解密算法对用户话音进行保护,保障了话音传输过程的安全性。
该系统设计时,考虑到实际工作中用户对话音质量的要求及信道的开销,采用传输速率为16kbit/s 的CVSD 全双工通信模式,经试验验证,该采样率基本能够满足日常的无线语音通话要求。
设计时,CMX649 芯片的时钟输入引脚(XTAL/CLK)采用4.096M 的外部时钟输入,同时该时钟也是可编程逻辑器件中主控模块及各个功能模块工作的主时钟。
在对数据接收/发送模块配置时,将收发时钟RX CLK 和TX CLK 设置为16KHz 的时钟,收发数据缓存空间设置为512 字节。
在对配置模块配置时,根据编码模式和传输速率的要求,对CMX649 芯片各寄存器配置要求如表1所示。
表1 寄存器配置表
集群通信系统具有自由组网、灵活配置、快速接续、一呼百应等特点,已被大量应用于各种专用调度指挥场景。
以某单位日常勤务系统为例,系统建设采用专网模式进行,并为每位执勤人员配备集群终端,通过多台集群终端之间的自由组网,进行群组用户的调度和实时通信,实现日常勤务的功能,具体应用场景如图3所示。
图3 日常勤务系统拓扑图
由于该系统为内部勤务系统,日常执勤使用时,可能会设计内部敏感信息的传输,为实现对用户敏感信息的保护,通过本方案设计的CVSD 编码模块实现对用户话音的数字化,从而完成业务信息的加解密等处理,防止敏感信息被用非法用户窃听,提高系统的安全性。
CMX649 芯片是基于CVSD 的一种低成本、低功耗的语音编解码芯片,支持多种编码方式,功能强大,配置方便,能为系统开发用户节省许多繁琐的工作。
基于CMX649 芯片实现的CVSD 编码功能,具有成熟度高、使用成本低、可移植性高等特点,同时在提高用户信息的安全等级的同时,对话音质量的损耗减小到最小,可在多种专用集群通信领域得到应用。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!