由于在检测振铃信号的时候T1截止,在稳压二极管的钳制下,线路上的电压几乎都加在T1的集电极和发射极两端,此时电压高达100多伏。所以三极管需要选择一个耐压比较高的三极管,耐压在150V左右比较合适。需要注意的是所使用的单片机I/O脚的输出电流,T1的基极工作电流大约为2mA~3mA,而89C2051的输出电流只有80μA,无法驱动三极管,所以需要驱动电路。
为了将功率放大器的输出送到电话线路上去,通常的做法是采用变压器耦合。但在本文中采用了一种更为简单的办法。
电路采用了直接电容耦合。记录仪的I/O输出通过电容、8Ω电阻R1将声音耦合到电话线路。89C2051通过I/O2控制继电器来控制声音是播放到本地的喇叭还是电话线路。电阻放在电桥的后面,便于直接从Voice处取出声音信号来消侧音。
2.2 振铃检测电路
在待机状态下,电话线路上的电压一直保持约52V;当有用户呼叫本机时,交换机将向电话线路上发送振铃信号,振铃信号为90V±15V、25Hz±3Hz、3s通、4s断的蜂音。此时只需将线路上的电压与参考电压进行比较,I/O3为高电平时就可以检测出振铃信号,电路如图3所示。因为振铃电压要比平时高许多,所以可靠性高,干扰信号不会影响检测结果。同时,可以在软件部分进行振铃次数的检测,设置在一定次数的振铃后再摘机,提高系统的稳定性。
2.3 DTMF信号检测
DTMF信号检测则由MT8870完成,见图4。当有DTMF信号时,MT8870可以将其解码得出四位二进制代码,同时产生一个STB信号,用作与其它控制芯片连接。
2.4 忙音检测
图5为忙音检测电路。通话中一方挂机后,交换机会向另一方发送忙音信号。电话远程模块必须具备的一个功能就是在查询者挂机后,检测出忙音,自动挂机。线路上的忙音信号是0.35s±0.05s断续的450Hz±25Hz峰音。本电路采用Teltone公司的M982。这是一个专门用于电话呼叫进程检测的芯片。其作用是把蜂音信号转换成高低电平的信号,使用本身的时钟,所以检测比较准确,且与单片机接口比较方便。
2.5 消侧音电路
因为挂机依据的是忙音检测结果,而语音中包含了忙音450Hz这个频率,所以在线路上声音比较大时,有可能影响忙音检测的进程,使得电路误挂机。消侧音电路可以减少在放音过程中系统的误动作,提高系统的可靠性和稳定性。
电路如图4所示。从Voice处取出的语音通过T3反向后与通过话路耦合过来的信号相加,以达到消除忙音检测输入信号中的声音的目的,电路简单可靠。
2.6 光耦隔离
光耦电路如图6所示。使用电话接口的电路需要注意的一点是,电源必须悬浮(由于记录仪采用了接地设计,两部分的电源必须隔离)。此电路中采用光电耦合器来实现隔离。电路中采用普通的4N35,在标定的传输频率下需要的电流为几个mA,但是因为89C2051可以提供10mA的吸收电流,故可以直接同光耦连接使用,比较方便。
2.7 与记录仪的通信接口