2. 模拟摘机电路
图 3表示模拟摘机电路完成拨号前摘机和来电后自动摘机的功能,由于电话线上传来的信号的极性没有确定,圆桥可以稳定信号的极性,从正极输出端输出的永远是正极性,负极输出端输出的永远是负极性。模拟摘机电路工作与否由 ARM处理器传送到光耦(TLP521-1)第二个管脚的高低电平决定,当 ARM处理器传送过来的是低电平时,光耦合器开始工作,稳压二极管被反向击穿而稳压在 5.1V,三极管(2N5401)因基极电平被拉低而导通,回路电流值突增,电话交换机检测到该电流,将线路电压变为十几伏的直流,模拟摘机得以实现。若用户没有拨号,光电耦合器的 2端一直处于高电平,不工作,三极管没有被导通,电路回路呈现高阻抗。音频变压器起到隔离高低电压的作用,它右侧电路的功能是使得输出的信号控制在+/-15V以内。
3.双音多频收发电路 考虑到硬件电路的可靠性,在参考了大量资料后,系统选用 MT8880芯片来完成双音多频收发功能,MT8880芯片专业可靠,应用广泛,便于开发。 双音多频收发电路连接图见图4。
放大器的输出端可获得峰值 1V左右的双音频信号。MT8880可以接收呼叫过程中的各种信号音,以及 16种双音频信号。接收信号音和 DTMF信号共用同一通道,并且 MT8880不能同时接收 DTMF信号和信号音,要分时复用。信号音与 DTMF信号经耦合线圈,再经电解电容 C1和电阻R1,将电话线上的信号输入到 MT8880的输入端IN-。MT8880接收与发送的 DTMF信号由模拟摘机电路耦合[2-5]。MT8880作为 DTMF接收器时,将电话线传送来的信号经 MT8880转换成数字信号,由ARM处理器读入 [6]。
利用双音多频(DTMF)技术可通过电话线实现远程数据传输任务,其不足之处是速度太慢(约 80波特)。本系统可实现远程数据传输的功能,只需要通过软件编程在系统(被呼叫用户)接收到振铃后控制模拟摘机电路工作,实现模拟摘机,并设置芯片 MT8880工作在接收数据模式下。而呼叫用户在呼叫后,MT8880立即进入发送模式下,等待用户发送数据。
四、软件编程
本系统通过软件编程实现与 MT8880的部分端口的通信。系统选用 IAR作为软件开发环境,IAR的 Embedded Workbench 系列是一种增强型一体化嵌入式集成开发环境,其中完全集成了开发嵌入式系统所需要的文件编辑、项目管理、编译、链接和调试工具。IAR公司独具特色的 C-SPY调试器,不仅可以在系统开发初期进行无目标硬件的纯软件仿真,也可以结合 IAR公司推出的 J-Link硬件仿真器,实现用户系统的实时在线仿真调试 [3]。
在软件编程时要注意 MT8880上电延时 100ms以上,初始化时要将寄存器清零后才能使用[2]。
1. DTMF接收和命令解释程序 这段程序是系统模拟摘机后的程序,ARM处理器发送被叫号码到 MT8880芯片,部分程序如下,为了方便升级开发,均有详细注释://设置MT8880 模式为双音频工作模式(发送数据) 即配置CRA=1101,CRB=0000
dBytesCRA[3] = 1;
dBytesCRA[2] = 1;
……
dBytesCRB[3] = 0;
……