系统基于μC/OS-II嵌入式实时操作系统和CallerID(来电显示)技术,由铃流检测、来电解码、DTMF解码、模拟挂机、号码存储等模块组成。μC/OS-II嵌入式实时操作系统的引入极大的方便了模块的管理和号码存储的管理。系统利用得到的来电号码,同存储的黑名单中的号码进行比较,判断是接通话机振铃线路,抑或控制模拟挂机电路挂机。本系统复用电话机键盘控制,并以LCD中文显示,可方便的对黑名单中号码的进行管理。
系统硬件电路设计
固定电话来电防火墙是基于来电显示(CID)的设计的,通过解码得到的来电号码,与黑名单中的号码进行比对,进行模拟挂机或者接通振铃。复用电话及键盘进行系统设置,通过电话机键盘输入号码,存储到EEPROM中。
铃流检测电路
我国大陆来电显示是FSK格式的。来电号码在第一声振铃于第二声振铃之间发送。为避免在得到来电号码前,第一声振铃对用户产生影响,需要在话机振铃电路动作之前截断振铃,因此要求振铃检测迅速有效。铃流为25Hz电压有效值90士15V的正弦波,使用一个电压比较器,当铃流电压上升到60V以上的时候,比较器就会输出高电平,用反相器反相后,用来触发单片机的外中断。图3所示为振铃检测电路:
图3 振铃检测电路
线路切换及后备电源电路
当检测到铃流后,单片机应立即把电话机与外线电话线路断开,防止电话响铃,由于话机可能存有信息,应继续为话机供电,以保证话机信息不丢失。同时电源也为系统设置复用话机键盘时提供电源。如图5所示,使用一个双刀双掷继电器进行线路切换。常闭触点连接外线,常开触电连接后备电源。LM317结成电流反馈形式,构成一个恒流源为话机供电。
图5 线路切换电路
来电解码电路
如图6所示,解码芯片采用盛群半导体公司的集成解码芯片HT9032。它着眼于 Type I 或 On-hook caller ID 的应用,符合 Bellcore(Type I )及 ITU-I V.23 的规范。HT9032 整合了FSK 解调器于其芯片中。以低耗电量及价格的优势等见长。芯片将解码以1200波特率通过异步串行口发送至单片机接收。
图6 来电解码电路
摘挂机检测及DTMF解码电路
对系统黑名单设置时,复用话机键盘,因此需要对话机按键的DTMF拨号解码,得到相应的按键键值,送由单片机处理。同时要对话机状态进行检测,已及时通知单片机进行解码。DTMF解码采用盛群半导体公司的HT9170B集成解码芯片。摘挂机检测使用了电压比较器。根据我国电话网标准,挂机状态时电话网电压在24V以上,摘记时在10V以下,用电压比较器比较电压,判断话机状态。电路图如图7所示:
图7 挂机检测及DTMF解码电路
模拟挂机电路
当TAKEUP为高电平时,T2导通;当TAKEUP低电平时,T2 不导通,因此T2就是一个受单片机IO口控制的开关。可以通过单片机模拟摘挂机。
图8 模拟挂机电路
单片机及显示电路
单片机采用飞利浦公司的51核P89C668。P89C66单片机内带64KB Flash存储器,8K RAM。该器件的时钟周期为6个时钟,是传统的80C51的两倍。4个中断优先级; 8个中断源;4个8位I/O口;全双工增强型UART; 2个DPTR寄存器; I2C串行接口;是功能非常强大的一款51核单片机。外扩1片eeprom存储器用于储存黑名单号码。显示电路采用的是128*64点阵LED屏,如图9 所示。
图9 单片机和显示部分电路
系统电源电路
电话机后备电源需要24V供电,而其他数字电路需要5V供电,若采用线性稳压损耗较大,故而采用DC-DC芯片将24V电压降为5V为数字电路供电。电路图如图所示:
图10 电源电路
总结:本文设计了基于μC/OS和MCS51单片机的固话来电防火墙。介绍了电话机的基本工作原理,硬件对主要模块进行了详细的分解分析。整个系统通过了实际产品的最终验证,达到设计要求。