基于ISD4004隐蔽化集群电台的通信模块设计与实现
扫描二维码
随时随地手机看文章
摘要:在单片机的统一控制下,将ISD系列语音录放芯片与集群手车台配合使用,从而以较低的成本实现了集群电台联络时的隐蔽化使用。
关键词:ISD4004;单片机;集群电台
0 引言
集群电台包括集群手台(对讲机)和集群车台,它们在党政机关、军队、警察以及工程建设中应用十分广泛,但是在实际使用中也存有一定局限。例如在一些特殊场合,如警察对犯罪分子开展秘密调查跟踪取证,或是工程人员在嘈杂的建筑工地指挥塔吊工作的时候,各类集群电台使用人员都可能遭遇到这类尴尬——即需要借助集群电台向相关人员汇报情况的时候,却不便发出声音或者因周边环境嘈杂造成无法正常通信。
通过调查走访,这类工作的共性通常是语义简单却需要反复说讲。例如警察在秘密调查取证中,经常会重复“嫌疑人出现,正常跟踪,嫌疑人停止了脚步,嫌疑人开始逃跑”等话语;工程人员则会始终重复“开始起吊、向左、向右、向前、向后、结束起吊”等简单信息。鉴于各单位的集群手台、车台已经大量投入使用,如果能够在上述各类集群电台上外接一套通用的控制通信模块,将能够在最低的成本增加中实现特殊情况的集群通信应用,从而进一步提高各单位集群通信系统的联络通信和指挥调度的效能。
本系统以单片机作为主要控制芯片,ISD4004作为语音录放芯片,配合相关外围电路和控制开关实现特殊场合下的隐蔽化通信。用户只需事先录制好所需语音,在工作时按下相应按钮,即可将该路话音由集群电台发出。各种集群手台车台,只要能够提供语音输入、语音输出、PPT和接地四条接线,都能够与该模块配套使用。
1 工作原理
系统主要分为两大部分。一是在使用前的语音输入部分。即用户可以根据自己的实际使用需求,按需进行录音。通过系统的外围按键,在按动录音按钮之后,单片机通过SPI串行输入,告诉ISD4004芯片进入录音模式和录音的起始地址。麦克风输入的声音经过过滤和放大输入到ISD4004,实现了录音。另外一个部分是在使用的过程中,当工作人员需要说话的时候,可以按动相应的按钮播放语音。当用户动作之后,单片机通过SPI串行输入,告诉ISD4004芯片进入放音模式和放音的起始地址。同时单片机触发集群电台的PPT控制引脚,实现语音由ISD4004芯片向集群电台的输入与转发。图1工作模式示意图
2 电路设计
本系统电路设计如图2、3、4所示。
当工作在语音输入模式时,按下录音按钮1,声音由麦克风输入,输入至三极管得到有效放大。再经过滤波输入至ISD4004的ANA IN+引脚中。ISD4004的语音信号由耦合电容输入,最大幅度为峰值32mV,耦合电容和本端的电阻输入阻抗决定了芯片频带的低端截止频率。此时,SS引脚与单片机P00引脚相连接,作为片选信号使用。MOSI(串行输入)引脚与单片机P01引脚相连接,单片机通过软件写入0xB0,即命令ISD4004工作在“从指定地址录音”状态,进行录音。录音完毕后,再次按下按钮1,将停止录音。
而当工作在按键转发模式的情况下,按下按钮2,声音将经由ISD4004的AUD OUT口输出,连接至集群电台的MIC输入信号线。其中可并联两个不同大小的电容(测试中选用2.2μf和22μf),用来分别过滤线路中的高频和低频噪声。MOSI(串行输入)引脚与单片机P01引脚相连接,单片机通过软件写入0xE0,即命令ISD4004工作在“从指定地址放音”状态,系统将根据按键,送入不同的放音起始地址。ISD4004将实现自动放音,直至遇到EOM。放音状态下单片机的P10口直接驱动集群电台的PPT输入信号,通过软件将P10置为低电平,实现集群电台的PPT功能和声音转发。值得注意的是,不同的集群手台MIC输入阻抗不同,必要时需要调整ISD4004的输出阻抗。
3 软件设计
程序设计如图5所示,ISD4004芯片在上电以后,将对芯片进行初始化。此时,STC89C52单片机将对外围连接的3×3控制矩阵进行按键检测,得到相应的两进制的数值。根据数值,单片机控制程序将自动判定是采取录音还是放音功能,并生成相应的语音起始地址。根据判定,单片机逐位地将SPI关键字写入MOSI引脚,即完成了单片机对于ISD4004的功能和起始地址的告知。在完成录音工作以后,ISD4004生成EOM中断。以后一旦放音遭遇到EOM时ISD4004将产生中断并输入至单片机外部中断INT0,回到起始点。
鉴于保证程序较好的可读性和可维护性,编程采用了C语言。几个主要子程序如下:
ISD4004 SPI写入子程序
4 调试环境
本系统调试的硬件环境为隐蔽化通信模块与MOTOROLfA的MTH850手台相配合。软件环境是采用了KEIL,C的编程环境和STC-ISP的单片机烧录程序。具体内容如下:
在硬件调试环境中,除了常规设置之外,还需要注意以下几个要点:
(1)集群手台中语音输入、语音输出、PPT和接地四条接线的选取。集群车台一般具备专用的数据接口,只要按照说明书就能够取出相应的信号引线,然而一般的集群手台不会具备明显的数据输入输出口,且各品牌的手台通常也采用不同的技术标准。但是无论是模拟集群手台或是数字集群手台,通常都具备了有线耳机麦克风接口。通过将该接线截断研究,可以得知其中四根导线的定义进而依次确定手台的语音输入、语音输出、PPT和接地四条接线的具体位置。
(2)集群手台的MIC接收灵敏度需要调整。所谓手台的MIC接收灵敏度是指手台的内置/外界麦克风在多少灵敏度下可打开工作。在灵敏度太低的情况下,将不能有效地触发起集群手台的PPT功能。经过实验证明,在通过手台耳机接口的情况下,如果需要触发起手台PPT功能,必须同时满足两个条件。一是外接PPT线需要置0(这个功能是通过C语言编程中的play()函数得以实现)。二是外界MIC线需有声音输入,即ISD40 04有声音输出。两个条件必须同时满足才能有效触发手台PPT功能。因此,在手台烧码软件里,可以适当提高MIC的接收灵敏度,避免因为灵敏度不够造成PPT无法触发的情况。
(3)输出音质的调整。语音输出部分,通常单一电容进行杂音滤波。经过实验,单一小电容的杂音滤波效果一般。因此通过将一大一小两个电容并联的方法,分别过滤声音输出过程中的高音部分杂波和低音部分杂波。本项目中,电容的选择分别是2.2μf/50V和22μf/35V。实验证明,通过两电容并联以后,有效地改善了本产品的话音输出质量。
(4)工作电源的落实。本系统中主要涉及到单片机的工作电压和ISD4004芯片的工作电压,它们分别为5V和3.3V。其中5V工作电压可通过4节1.3V可充电镍氢电池串联获得。经测试它的工作电压和工作时间满足日常要求。3.3V电压为ISD4004语音录放芯片专用。由于该芯片
包含了模拟量与数字信号的互换过程,因此对电源的要求较高。本系统采用HT7133稳压电源芯片,提供稳定的3.3V直流输出。当然在条件允许的情况下也可以选择3V工作电压的单片机以简化电路。
在软件调试过程中,有如下几个重点:
(1)通过调用at89x52.h函数库,实现了单片机的外部接口与内部实际地址的有效映射。此举极大地减轻了主函数和功能函数的编程复杂度,同时提高了程序的可读性和可维护性。
(2)通过有效设置单片机烧码程序,完成软件的编辑和烧录工作。在此项目中选用的软件是STC-ISP烧录软件,它是STC公司的单片机配合烧码软件。界面如图6所示。
在KEIL C中完成C编程并生成有效的HEX十六进制文件后,只要依次进行
MCU Type选择:选择相应的CPU类型,这里选STC89C52RC;
COM口选择:选择电脑对应的COM口;
波特率:最高115200,最低1200;
双倍速:选择12T/单倍速
其他选项默认即可。在完成选项设置后,选择“打开程序文件”后下载相应源程序,再点击“Download/下载”就完成了所有的单片机烧码工作。
5 结束语
本系统充分利用了各类集群手台的耳机麦克风一体化插孔,将ISD4004的高清晰语音录放和单片机控制功能相结合,成本较低,兼容性好,适用于各类模拟/数字集群设备的隐蔽化通信应用,可在特定的场合发挥出特殊作用。