基于μC/OS和80C51单片机的固话来电防火墙设计

发布者:数字之舞最新更新时间:2018-03-24 来源: eefocus关键字:μC  80C51  单片机  来电防火墙 手机看文章 扫描二维码
随时随地手机看文章

    本文介绍了基于μC/OS—II嵌入式实时操作系统和来电显示技术设计,由铃流检测电路、来电解码电路、DTMF解码电路、模拟挂机电路、号码存储电路等组成。系统利用得到的来电号码,同存储黑名单中的号码进行比较,判断是接通话机振铃线路,还是控制模拟挂机电路挂机。本系统复用电话机键盘控制,并以LCD中文显示,可方便地对黑名单中的号码进行管理。

 

    随着电信业务的发展,骚扰电话问题日益突出,大量用户被骚扰电话所烦扰。为躲避骚扰,多数人采取拔电话线的方法,却因此错过不少重要来电。此外,每个人在生活中都可能遇到一些出于顾虑而不想接听的电话。针对此种现象,本次设计的来电防火墙可屏蔽骚扰电话。来电防火墙通俗地讲就是“不想听”的电话打不进来,它可以过滤掉黑名单中电话号码的来电,直接拒绝接昕。同时,也支持亲友名单模式,只接听亲友名单中电话的来电,拒绝接听其他号码的来电。

    1 系统概述

    μC/OS—II嵌入式实时操作系统的引入极大地方便了模块的管理和号码存储的管理,系统复用电话机键盘控制,并以LCD中文显示,可方便对黑名单中的号码进行管理。主叫识别信息传送及显示CID业务是向被叫电话用户提供的一种新服务项目,是指在被叫用户终端设备上显示主叫号码、主叫用户姓名、呼叫日期时间等主叫识别信息,并进行存储以供用户查阅的一种服务项目。实现CID的基本方法是发端交换机将主叫号码等信息通过局间信令系统传送给终端交换机,终端交换机将主叫识别信息以移频键控FSK的方式,送给被叫用户终端,主叫识别信息传送设备如图1所示。

a.JPG

    终端交换机将主叫识别信息送给被叫用户终端设备,在下述两种状态下进行;一种是用户终端挂机状态,另一种是用户终端通话状态。挂机状态下的传送方法是终端交换机将主叫识别信息在第一次振铃和第二次振铃间隔期间,送给被叫用户终端设备,被叫终端信息传送如图2所示。目前我国大陆地区都是采用图2所示的方式进行来电号码传递。

b.JPG

    2 系统硬件电路设计

    固定电话来电防火墙是基于来电显示(CID)设计的,通过解码得到的来电号码,与黑名单中的号码进行比对,进行模拟挂机或者接通振铃行动。复用电话及键盘进行系统设置,通过电话机键盘输入号码,存储到EEPROM中。

    2.1 铃流检测电路

    我国大陆来电显示是FSK格式的。来电号码在第一声振铃和第二声振铃之间发送。为避免在得到来电号码前,第一声振铃对用户产生影响,需要在话机振铃电路动作之前截断振铃,因此要求振铃检测迅速有效。图3为铃流检测电路。

c.JPG


    铃流为25 Hz,电压有效值是90±15 V的正弦波,通过二极管组成的整流器整流后,进入电压比较器LM311。当铃流电压上升到60 V以上的时候,LM311比较器就会输出高电平。反相后,用来触发单片机的外中断。仿真波形略


    2.2 线路切换及后备电源

    当检测到铃流后,单片机应立即把电话机与外线电话线路断开,防止电话响铃。因为话机可能存有信息,所以应继续为话机供电,以保证话机信息不丢失。同时,电源也为系统设置复用话机键盘供电。

    如图4所示,使用一个双刀双掷继电器进行线路切换。常闭触点连接外线,常开触电连接后备电源。LM317接成电流反馈形式,构成一个恒流源为话机供电。

 

d.JPG


2.3 来电解码电路
    来电解码电路如图5所示,解码芯片采用盛群半导体公司的集成解码芯片HT9032。它着眼于Type I或On—hook caller ID的应用,符合Bellcore(Type I)及ITU—IV.23的规范。HT9032整合了FSK解调器于其芯片中,并以低耗电量及价格的优势等见长。芯片将解码以1 200波特率通过异步串行口发送至单片机。

e.JPG

     2.4 摘挂机检测及DTMF解码电路
    当系统黑名单设置时,会复用话机键盘,因此需要对话机按键的DTMF拨号解码,得到相应的按键键值,送由单片机处理。同时,要对话机状态进行检测,以及时通知单片机进行解码。DTMF解码采用盛群半导体公司的HT9170B集成解码芯片。摘挂机检测及DTMF解码电路如图6所示。

f.JPG


    摘挂机检测使用了电压比较器。根据我国电话网标准,挂机状态时电话网电压在24 V以上,摘机时在10 V以下,用电压比较器比较电压,判断话机状态。
2.5 模拟挂机电路
    模拟挂机电路如图7所示。当TAKEUP为高电平时,T1导通;当TAKEUP为低电平时,T1截止。因此T1就是一个受单片机I/O口控制的开关,可以通过单片机模拟摘挂机。

g.JPG

    2.6 单片机及显示部分

    单片机采用NXP公司的80C51内核P89C668。P89C66单片机内带64 KB Flash存储器,8KB RAM。显示电路采用的是128×64点阵LED屏。

    2.7 系统电源

    电话机后备电源需要24 V供电,而其他数字电路需要5 V供电,若采用线性稳压则损耗较大,故采用DC-DC芯片将24 V电压降为5 V,为数字电路供电。电源电路略——编者注。


    3 μC/OS硬件层驱动程序设计

    3.1 异步串行口驱动程序

    当使用中断模式时,从接收移位寄存器接收到一个完整的字节,并将数据送入数据输入寄存器,产生一个中断。中断处理程序从端口读入字节,清除中断源。这时,可以处理ISR收到的字节,或者将字节送入缓冲区由后台处理,缓冲区大小依赖于后台进程控制CPU处理信息的速度。从串行端口捕捉数据时,常用一种被称作环形缓冲区的专用缓冲区。

 

    输入数据的响应依赖于后台进程的执行速度。如果是实时内核,则处理输入数据的速度就与ISR接收不处理的速度差不多。为此,环形缓冲区的管理加入了信号量说明:

    ①应用程序等待信号量。

    ②接收到一字节后,ISR从串行端口读入字节。

    ③将接收到的字节送入环形缓冲区。

    ④ISR释放一个信号量,通知任务已经接收到一字节。

    ⑤信号量有效,等待任务准备开始运行。ISR完成后,内核决定等待任务是否成为优先级最高的任务。如果是,并且内核为可剥夺型内核,则恢复等待字节的任务。该任务从环型缓冲区取出数据,并执行相关操作。

    3.2 基于μC/OS—II的串行口接收驱动

    单片机对串口的支持仅仅是当数据送入SBUF时开始移位,但收到一个完整的字节后产生中断,通知用户进行读操作。在P89C668中,串行口并没有设计缓冲区,接收移位寄存器直接将数据送到接收SBUF,如果没有及时从接收SBUF中取出,前一字节就会丢失。如果没有驱动程序的支持,应用程序必须一字节一字节地接收数据,不但浪费时间,而且对应用程序的编制将产生极大影响。所以,在使用串口的时候,串口驱动程序是必须有的,通过驱动程序,可以大大简化应用程序的编写。

    针对P89C668片内UART和μC/OS—II的特性,设计了分层明确的驱动模型,串口接收分层驱动结构图略——编者注。

    任务在对环形缓冲区进行操作的时候,通过等待信号量,确定缓冲区是否允许操作。同时,中断服务子程序通过释放信号量来通知任务可以对缓冲区进行操作,大大提高了任务的响应时间。

    4 系统软件设计

    根据硬件构成,系统软件可分为来电解码、显示、键盘、判决、存储几大模块。模块在μC/OS—II的调度之下运行。

    防火墙在值守状态时,各模块处于挂起态。当系统检测到铃流,将运行来电解码模块,并将解得的号码通知μC/OS—II。μC/OS—II将通过判决模块判断来电属性,执行相应动作。程序流程如图8所示。

h.JPG

    结语

    本文设计了基于μC/OS和80C51单片机的固话来电防火墙。介绍了电话机的基本工作原理,对硬件主要模块进行了详细地分解分析。对软件基本流程和设计思路进行了阐述。整个系统通过了实际产品的最终验证,达到设计要求。


关键字:μC  80C51  单片机  来电防火墙 引用地址:基于μC/OS和80C51单片机的固话来电防火墙设计

上一篇:单片机驱动继电器使用的几种芯片工作原理
下一篇:用单片机的串口驱动74LS164

推荐阅读最新更新时间:2024-03-16 15:58

89c51单片机控制两个步进电机正反转加减速
序有详细注释。 仿真原理图如下 单片机源程序如下: /******************************************************************************* * 实 验 名: 步进电机实验 * 使用的IO: 电机用P1口,键盘使用P2.0、P2.1、P2.2、P2.3、P2.4、P2.5 * 按键功能:K1;正转 K2;反转 K3;低速转动 K4;高速转动 K5:电机切换 K6;停止 * 实验效果: 按下K1键,顺时针转,按下K2键,逆时针转,按下K3键,低速,按下K4键,高速。 按下K5键,转动的电机停止,并切换到控制另一个电机 按下K6键,转动的电机停止
[单片机]
89<font color='red'>c</font>51<font color='red'>单片机</font>控制两个步进电机正反转加减速
HT46R22单片机在电磁炉功率控制中的应用
摘要:介绍了电磁炉的基本工作原理,并提出了一种采用HT46R22单片机实现电磁炉功率稳定输出的功率控制方法,最后简单介绍了该方法的软硬件设计过程。 关键词:电磁炉;HT46R22;功率控制 引言 近年来,随着环保和节能意识的逐步提高,一种新兴的"绿色的厨具"--电磁炉正在家庭中普及。它改变了传统的明火烹调方式,利用电磁感应原理,使电流通过内置的线圈时产生磁场,磁场内的磁力线感应到铁制器皿,产生无数高速运动的小涡流,涡流产生的巨大循环能量转换为有效热能,使锅具自行高速加热,最终直接加热食物。电磁炉的热效率达到90%以上,同时它无烟无灰,无污染,不升高室温,不产生一氧化碳等有害物质,安全环保。电磁炉还采用了微电脑控制,能够随意控
[单片机]
利用USB2.0单片机实现全数字图像的实时采集
引言 传统的方法是用视频采集卡(如1394)对视频信号进行采集,利用相应的软件传给PC机,既不方便,也不经济。本文介绍一种利用Cypress公司2002年发布的世界上第一块带 有USB2.0接口的芯片CY7C68013与PC机(主板为支持USB2.0的华硕主板PB533)实现了高分辨率(640×480点阵以上)、快速(24帧/s以上)、全数字图像的实时采集系统。 1 数字图像的实时采集原理 数字图像的实时采集原理如图1所示。在图1中,以Omnivision technologies公司的OV7620/7120芯片作为图像采集芯片,其主要特点是该芯片可提供0.5~30帧/s,640×480像素点阵CMOS的彩色或黑白数字图像,
[测试测量]
利用USB2.0<font color='red'>单片机</font>实现全数字图像的实时采集
[单片机框架][bsp层][nrf51822][nrf51422][nrf51802][bsp_pwm] PWM配置和使用
NRF51系列的PWM是由TIM+PPI+GPIO组成的,下面依次介绍: Programmable Peripheral Interconnect (PPI) The Programmable Peripheral Interconnect (PPI) enables peripherals to interact autonomously with each other using tasks and events independent of the CPU. The PPI allows precise synchronization between peripherals when real-time applicat
[单片机]
[<font color='red'>单片机</font>框架][bsp层][nrf51822][nrf51422][nrf51802][bsp_pwm] PWM配置和使用
pic单片机串口调试程序
;********************************************************************** ;利用串口调试精灵或PC端的超级终端,波特率设为9600,数据位8位, ;停止位1位,无校验位. ;烧写时注意振荡方式XT,WDT要禁止. ;*********************************************************************** LIST P=16F877 INCLUDE P16F877.INC ;*********************************** ;__CONFIG _DEBUG_OFF&_CP_ALL
[单片机]
小屏机逆势而来 iPhone 6c渲染图再曝
    刚刚过去的10月份对于手机圈来说是极其热闹的一个月,多款智能手机正式发布了。当我们回首这些发布的新机时不难发现,除了千元机或者是金属机身这些元素以外,小尺寸屏幕的回归也是一个比较明显的现象。以小米4c、一加手机X为首的5英寸以内机型,在满足了喜欢小屏手机的用户的要求的同时,似乎也在召唤着更多的品牌加入到这一行列。但说 起小屏手机,又怎么能够不提起曾将其奉为经典的苹果呢?在许久没有消息之后,很多用户期待的iPhone 6c又被曝出了新的渲染图。   近日,一段关于iPhone 6c的渲染视频突然曝光,视屏再次向我们展示了所谓iPhone 6c可能的样子。从曝光的截图来看,这款所谓的iPhone 6c并没有采用多么大胆的设
[手机便携]
从零开始51单片机教程 —— 24 LED数码管静态显示接口与编程
LED数码管静态显示接口与编程 在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。 引言:还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。 八段LED数码管显示器 单片机静态显示接口 八段LED数码管显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED数码管显示器有两种不一样的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极
[单片机]
从零开始51<font color='red'>单片机</font>教程 —— 24 LED数码管静态显示接口与编程
基于TMS320C64X协处理器TCP的Turbo译码实现
摘要:介绍了TMS320C64X系列DSP内部Turbo码协处理器(TCP)的结构和算法。给出了使用TCP实现符合3GPP协议的Turbo译码的程序流程,实现了一种使用中断服务程序控制的高效处理流程,最后给出了TCP译码性能与处理时延的硬件实现结果,并做出了一定的析。 关键词:TMS320C64X TCP Turbo Decoding 性能 自1993年Turbo编码理论提出以事,有关Turbo码设计及其性能的研究已经成为国际信息与编码理论界最为重要的研究课题之一。Turbo码在低信噪比下所表现出的近Shannon限的性能使得它在深空通信、移动通信等领域中有着广阔的应用前景。由于Turbo码编码方式灵活、译码算法复杂,不适合
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved