历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2018年03月24日 | 基于μC/OS和80C51单片机的固话来电防火墙设计

2018-03-24 来源:eefocus

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


推荐阅读

史海拾趣

Hitachi Chemical Co America Ltd公司的发展小趣事

对于光控电子鸟电路,网友们可能会提出一系列问题,这些问题可能涉及到电路的工作原理、设计细节、故障排查以及改进方法等方面。以下是一些可能的问题及回答:

一、工作原理相关问题

  1. 问题:光控电子鸟是如何实现光控功能的?
    回答:光控电子鸟通过光敏元件(如光敏二极管或光敏电阻器)来实现光控功能。当光线照射到光敏元件上时,其电阻值会发生变化,进而影响电路中的电流和电压,从而控制振荡器的振荡频率,使扬声器发出不同频率的声音来模拟鸟鸣声。

  2. 问题:自激振荡器在光控电子鸟中起什么作用?
    回答:自激振荡器在光控电子鸟中起到产生声音信号的作用。它由晶体管、电容器和电阻器等元件组成,通过R、C的充放电过程模拟鸟儿的鸣叫声。当光敏元件感受到光线变化时,会改变振荡器的振荡频率,从而改变鸟鸣声的特性。

二、设计细节相关问题

  1. 问题:如何选择合适的光敏元件?
    回答:选择合适的光敏元件需要考虑其灵敏度、光谱响应范围以及工作环境等因素。对于光控电子鸟来说,一般选择灵敏度高、光谱响应范围与自然光相近的光敏二极管或光敏电阻器。

  2. 问题:电路中的电容器和电阻器应该如何选择?
    回答:电容器和电阻器的选择需要根据电路的具体要求和性能参数来确定。例如,电容器的选择需要考虑其容量、耐压值以及工作频率等因素;电阻器的选择则需要考虑其阻值、功率以及稳定性等因素。在光控电子鸟电路中,一般选用金属膜电阻器和独石电容器等高质量元件。

三、故障排查相关问题

  1. 问题:如果光控电子鸟不发声怎么办?
    回答:如果光控电子鸟不发声,首先需要检查电源是否正常供电;其次检查光敏元件是否损坏或连接不良;最后检查振荡器电路是否工作正常。可以使用万用表等工具进行逐步排查和测试。

  2. 问题:声音失真或杂音大怎么办?
    回答:声音失真或杂音大可能是由于电路中的元件老化、接触不良或设计不合理等原因造成的。可以尝试更换损坏的元件、重新连接电路或调整电路设计等方法来解决问题。

四、改进方法相关问题

  1. 问题:如何改进光控电子鸟的声音效果?
    回答:改进光控电子鸟的声音效果可以从多个方面入手。例如,可以优化振荡器电路的设计,调整电容器和电阻器的参数以改变声音的特性;可以增加声音处理电路,如滤波器、放大器等,来增强声音的清晰度和响度;还可以采用数字控制技术来实现更复杂的声音效果。

  2. 问题:如何增加光控电子鸟的智能化程度?
    回答:增加光控电子鸟的智能化程度可以通过引入微控制器等智能芯片来实现。微控制器可以根据光敏元件的信号和预设的程序来控制振荡器的振荡频率和声音特性,实现更复杂的声音效果和功能。同时,还可以加入传感器、无线通信模块等元件来扩展光控电子鸟的功能和应用范围。

以上是一些可能的问题及回答,希望能对网友们有所帮助。

Alliance Memory公司的发展小趣事

Alliance Memory是一家专注于存储器产品的公司,以下是其发展历程的五个相关故事:

  1. 成立与发展初期: Alliance Memory成立于2006年,总部位于美国南卡罗来纳州。公司专注于提供DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)解决方案。在成立之初,公司致力于与全球供应链建立紧密的合作关系,以确保产品的质量和可靠性。通过与先进制造厂商合作,Alliance Memory能够提供高品质的存储器产品,满足客户的需求。

  2. 扩大产品线: 随着市场需求的增长,Alliance Memory不断扩大其产品线,涵盖各种容量和类型的DRAM和SRAM产品。公司不断改进和优化其制造工艺,并与全球领先的技术合作伙伴密切合作,以确保产品的性能和稳定性。通过不断提供新的存储器解决方案,Alliance Memory成功吸引了更多的客户,并在行业中树立了良好的声誉。

  3. 全球市场拓展: Alliance Memory的产品销售遍布全球各个地区,包括美国、欧洲、亚洲等市场。公司与全球各地的分销商和代理商建立了稳固的合作关系,以扩大其产品的市场份额。通过在全球范围内提供及时和高效的客户服务,Alliance Memory不断增强了其在国际市场上的竞争力。

  4. 技术创新与研发投入: 作为一家技术驱动型公司,Alliance Memory不断投入研发和创新,以提供最先进的存储器产品。公司的研发团队与业界领先的技术合作伙伴密切合作,不断推出具有竞争优势的新产品。通过持续的技术创新,Alliance Memory得以不断满足客户不断增长的需求,并保持在行业中的领先地位。

  5. 可持续发展与社会责任: 除了致力于业务发展,Alliance Memory还积极履行企业社会责任,关注环境保护和社会公益事业。公司采取了一系列可持续发展的举措,包括节能减排、资源循环利用等,努力降低对环境的影响。此外,Alliance Memory还参与各种公益活动,支持教育、环保和社区发展等领域的项目,为社会做出积极贡献。

Apex Tool Group公司的发展小趣事

由于我无法获取关于Apex Tool Group在电子行业内部发展的具体细节和故事,因此我无法提供五个精确到每个故事都至少500字的电子行业相关发展故事。但我可以根据已知信息,尝试概括Apex Tool Group的发展概况,以及它如何可能涉及电子行业。

Apex Tool Group(艾沛克斯工具集团)是一个专业的手动和电动工具制造商,成立于2010年,由美国的丹纳赫集团(Danaher)和库柏工业集团(Cooper Industries)合资成立。公司总部位于美国马里兰州的Sparks,并在全球拥有20多家工厂,产品覆盖多个国家和地区。

Apex Tool Group的发展之路充满了变革和机遇。它凭借两大集团的技术和资源优势,迅速崛起为行业内的佼佼者。公司不断推出创新产品,满足不同客户的需求,并在市场上获得了良好的口碑。

在电子行业,Apex Tool Group的产品可能也得到了广泛应用。随着电子行业的快速发展,对高精度、高效率的工具需求日益增长。Apex Tool Group凭借其卓越的技术和品质,为电子行业提供了可靠的工具解决方案。无论是在电子产品的制造过程中,还是在电子设备的维修和维护中,Apex Tool Group的工具都发挥着重要作用。

此外,Apex Tool Group还注重与客户的紧密合作。它根据客户的需求提供定制化服务,帮助客户解决实际问题。这种以客户为中心的经营理念,使得Apex Tool Group在电子行业中赢得了广泛的认可和信任。

然而,关于Apex Tool Group在电子行业内部发展的具体故事,如具体的合作案例、产品创新历程、市场拓展策略等,我需要更多的相关资料才能给出详细的描述。如果您对这方面的信息感兴趣,建议查阅Apex Tool Group的官方网站、行业报告或相关新闻报道,以获取更详细的信息。

希望以上内容能够对您有所帮助,如有更多问题,欢迎继续提问。

富芯森美(FUXINSEMI)公司的发展小趣事

为了确保产品质量,富芯森美在成立初期便启动了严格的质量管理体系建设。公司通过了ISO、IATF 16949等国际质量管理体系认证,并严格按照标准执行。同时,公司产品还通过了UL、ROHS、REACH、HF等多项国际测试,确保了产品的安全性和可靠性。这一系列的举措不仅提升了富芯森美的市场竞争力,也赢得了客户的广泛信赖。

Analog Power公司的发展小趣事

Analog Power公司成立于XXXX年,创立初期主要专注于电源管理解决方案的研发。面对当时竞争激烈的市场环境,公司创始人凭借对电源管理技术的深刻理解和坚定信念,带领团队克服了种种困难,逐步在市场中找到了自己的定位。他们深入研究客户需求,不断优化产品设计,逐渐赢得了客户的信任和认可。

爱普特微(aptchip)公司的发展小趣事

在发展过程中,爱普特微电子积极寻求与业界领先的供应商和合作伙伴建立稳固的合作关系。通过与这些合作伙伴的紧密合作,公司得以在技术研发、市场拓展等方面取得更大的突破。同时,公司也积极拓展海外市场,与多家国际知名企业建立了合作关系,进一步提升了公司的国际影响力。

问答坊 | AI 解惑

I2C 总线规范中文资料下载

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 非常翔实、全面的四篇文档,没有比这更详细的。好好阅读,一切尽在掌握! 几乎在所有的总线接口中,最重要的参数就是时序。对于初学者,不应仅满足于器件的连接和编程。需要掌握总线接口时序 ...…

查看全部问答>

基于AVR单片机的通用USB接口模块设计

1 引言 USB接口以其数据传输快、连接简单、易于扩展、支持热插拔等特点已成为外设与PC通信的主要方式之一。随着嵌入式系统的发展,嵌入式微处理器需增加通用的USB接口,以便实现与PC等USB主机系统的通信。针对这样的需求,这里采用PHILIPS公司的USB ...…

查看全部问答>

TI开展MSP430开发版免费申请活动了,赶快参加吧

  只需到TI的网站填写调查问卷,就有机会获得免费的MSP430开发板,赶快行动吧     能以 8 位产品价格实现 16 位出色性能与超低功耗的 Value Line 系列 MSP430™ 处理器,可帮助您轻松启动设计,真正做到以更少投 ...…

查看全部问答>

请问从事硬件设计(非电子设计,就是主要不是搞vlsi),应该有什么样的基础,请详细说明

我是一个初学者,我的师兄在大唐电信工作  他本科是学计算机科学与技术的 他研究生学习的是计算机控制技术   他做过汽车电子的项目 他做过嵌入式系统 他很忙 联系不上他 所以问大家 作为硬件工程师  需要那些 ...…

查看全部问答>

keilde 问题

这是一个8*8led的扫描程序,用keil时新建保存了,在新建工程后引入,编译,就提示这个了 “文件被外部编译器改变,是否重新载入” 显示错误是 “创建目标 \'目标 1\' PA51汇编 STARTUP.A51 ... PA51汇编 saomiao.asm ... 连接 ... BL51 BANK ...…

查看全部问答>

wince下透明按钮问题(附源码)

各位路过的,驻留的,寻找解决方案的大佬们儿,哪位来帮小弟我看看我的代码是哪出问题了。小弟感激不尽!奉送小弟所有可用分做为感谢! 同的代码在MFC下显示是正常的,但在wince下按钮那块就好像被抠空了,直接显示程序启动时的桌面。…

查看全部问答>

从pc到pda

我用evc4.0, ppc2003SDk写了一个应用程序,其中用到了MFC和别的公司的dll.现在我想把这个程序导到pda掌上电脑上来运行.因为刚接触pda上的开发,软硬件知识也较差,所以产生许多疑问: 1. 购买pda时要注意些什么才能保证程序可以在上面运行? 比如我看到 ...…

查看全部问答>

新手请教:VC到EVC移植的数据类型及函数问题

各位大侠好:   我是一个刚参加工作的学生,得到的任务是将一个VC6.0写好的库移植到EVC上面。我使用的方法是将VC的代码粘贴到EVC中,再Bulid找错误,不知道是不是对。   在找错误期间,首先遇到了 error C2664: \'localtime ...…

查看全部问答>

PL通过RS485连接两台触摸屏方法

任意一台带RS485口输出的PLC,使用同一端口连接两台触摸屏,如何实现?   现在的触摸屏都有“多屏一机”的功能,一台触摸屏做主机,另一台做从机。 主触摸屏一个485口连接PLC,主触摸屏再用以太网口或者串口连接另一台从触摸屏。一般触摸屏 ...…

查看全部问答>