历史上的今天
今天是:2025年04月05日(星期六)
2018年04月05日 | 采用MSP430单片机与DTMF技术设计医院呼叫对讲系统设计
2018-04-05 来源:eefocus
随着科学技术的迅速发展,尤其是电子信息技术的不断更新,医疗卫生事业也逐步深化改革,实现现代化医疗成为医院未来发展的趋势,医院呼叫对讲系统是提高医院的护理水平的重要设备之一,其基本功能就是通过一种简便的途径使护理对象与医护人员达成沟通。16位的MSP430单片机的集成度很高,片内资源丰富,主要的突出特点是低功耗,可以实现长时间的稳定工作,应用到该系统后,性能得到很好的优化,可以提高医护人员的工作效率和降低他们的劳动强度,病人也能得到及时的护理和医疗,可以显着提高医院的服务水平和医疗质量。
1 DTMF呼叫对讲系统介绍
1.1 DTMF技术的介绍
DTMF(Dual Tone Multi Frequency),即双音多频,由一个高频信号与一个低频信号叠加组合成的,分别代表一个数字或字符。双音多频信号,是用两个特定的单音频的组合来代表数字或功能。高低频信号各有4种,分别组成高频群和低频群,采用8选1的组合方式来构成DTMF信号,从而有16种组态,分别可以代表拨号键盘上的0—9、A—D、*、#等16个字符,按照信号频率和字符对应列出表格(如表1所示)。由于其具有良好的抗噪声特性,被广泛用于通信系统拨号传输。

1.2 呼叫对讲系统的工作原理
系统的主机和分机都通过单片机进行控制,由于在整个呼叫系统中主机只有一个,是系统的核心模块,通过外部总线可以与分机连接,实现呼叫对讲的功能。主机可以在任何时间接收分机的呼叫,同时数码显示屏和病人信息一览显示表能同步和准确地显示相应的信息,设有一级、二级和三级护理级别,当有多路呼叫信号时,按护理级别和先后拨打顺序循环显示。
2 系统的总体设计
系统在空间上可分为3个部分,分别为医护人员值班室、病房和走廊(如图1所示)。主机、电话机和病人信息一览显示表等安装在医护人员值班室,分机安装在各个病房的各个床位,数码显示屏安装在走廊上。主机在待机的时候,走廊上的数码显示屏显示日期时间等信息,当有病人使用分机呼叫主机时,在医护人员值班室的主机会发出响铃信号同时病人信息一览显示表和走廊上的数码显示屏会显示相应病人的信息,电话接通后,医护人员得知病人的情况,以便准备相应的医疗措施。

3 系统主要硬件电路设计
3.1 主机的硬件设计
本系统主要由单片机、DTMF信号的发送电路、DTMF信号的接收电路、DTMF信号的解码电路、振铃检测电路、摘挂机检测电路等部分组成,如图2所示。

主机的设计采用MSP430F149单片机作为核心控制模块,它不仅控制着主机和分机号码的收发,还控制主机和分机的接通、振铃信号的通断、显示等功能。系统处在正常工作状态下,当主机呼叫分机时,通过相应的信号检测,主机电话机摘机后,拨打分机号码,经过DTMF信号解码后发送到相应的分机,分机电话机摘机后,主机和分机便可以实现通话,通话结束后挂机。当医护人员需要广播时,启动群呼功能,主机对所有分机广播,挂机后结束。当有分机呼叫主机时,主机接收到信号后对其进行编码,通过解码电路送入单片机,CPU读取信息后,显示电路显示相应分机的号码和呼叫时间,主机电话机摘机后,振铃信号清除,分机和主机便可以实现通话。
3.2 DTMF信号收发电路
本系统的DTMF信号收发电路采用MT8880,它集成度高,功耗低,能用于发送和接收DTMF信号。使用Protues设计收发电路,如图3所示,A端口接入到总线,B端口是DTMF信号收发端。MT8880使用标准的单片机控制接口,单片机可以精确地完成接收和发送功能。

处于发送状态时,数据总线上的4位二进制码锁存到发送数据寄存器,发送的信号频率由晶振频率通过分频产生,在基准频率中分离出8个不同的频率信号再按八取二的组合方式选择出一组高低频率从而合成一个DTMF信号。处于接收状态时,DFMF信号输入后,被分离成一组高低频率信号,检测到后译成对应的4位二进制码,随后锁存在接收数据锁存器中。
3.3 信号的解码电路
主机呼叫分机利用电话机的拨号原理,主机电话机拨打分机号码,发出的DTMF信号通过解码电路获得对应分机的地址信号。本系统采用MT8888作为解码器芯片,它的功能强大,具有电路简单、功耗低、稳定性高和抗干扰能力强等特点,该芯片外同电子元件少,很容易与MCU接口相连。由Protues设计出解码电路,如图4所示,单片机的P1.1端用作读选通功能接到MT8888的RD端,P1.2端用作写选通功能接到MT8888的WR端,图中电路当有DTMF信号输入时,锁存到输出寄存器中,使得IRQ端输出高电平,CPU查询到该信号后对MT8888进行控制,使得RD和CS端有效,同时把代表所拨号码的4位二进制码传送至CPU处理。

3.4 振铃检测电路
当有用户呼叫本机时,电话交换机发来铃流信号,因此可以通过检测有无铃流信号来判断有无呼叫信号。本系统的振铃检测电路由4个二极管D1~D4,2个稳压二极管D5、D6,1个电阻R和1个电容C组成,IN1端与IN2端是铃流信号输入端,OUT1端与OUT2端是振铃检测输出端。当没有振铃信号输入的时候,稳压管D5不能导通,振铃检测电路的输出端电压近似为0V,此时检测结果为没有振铃信号;当有振铃信号输入的时候,由于二极管D1~D4组成的电路具有整流作用,信号变换成脉动直流电,通过电阻R对电容C充电,振铃检测电路的输出端产生电压,此时检测结果为有振铃信号。在电路中的稳压二极管D6的作用是限制振铃信号的幅值,防止输入电压过火而烧坏电路元件。
3.5 摘挂机检测电路
挂机检测电路用于检测摘挂机状态,并将其输入单片机控制系统。摘挂机的检测信号输入到单片机的P1.3引脚,磁铁装在话筒上,干簧管装在电话机内部,利用干簧管的合上与断开可以实现话筒和话机合上与断开。电话机摘机时,话筒和话机分开,由于失去了磁铁的吸引作用,干簧管的弹片断开,P1.3引脚输入高电平;电话机挂机时,话筒与话机合上,由于磁铁的的吸引作用,P1.3引脚输入低电平,这样可以通过查询P1.3引脚的电平状态来检测摘挂机。
4 系统软件设计
根据需要,设计出主机的呼叫工作流程图(如图5所示)。主机处在空闲状态下,即没有呼叫和通话时,走廊上的数码显示屏会显示实时的口期和时间等信息,同时主机会不断进行中断查询,判断此时是否有分机发送的呼叫信号,若没有的话就执行按键查询,判断是否拨号呼叫;当主机与分机进行通话时,双方接通后,此时数码显示屏会显示病人的相关信息,如病房号、床位号等。

5 实验仿真分析
为了验证DTMF信号的可靠性,应用MATLAB进行仿真实验。需要设置一组DTMF信号频率组,本实验选择按键“0”的DTMF信号,其对应的频率组为1 366 Hz和941 Hz,导入到MATLAB后可以得到该信号的时域波形图(如图6所示),再选择其它频率组进行仿真实验也得到类似的结果。由此实验可说明一组高低频率可以有效地组合成一个DTMF信号,并且能被准确的识别和处理,由于DTMF拨号速率的高效性,避免了传统的拨号方式带来的缺陷,确保信号准确无误地传送,可以肯定本系统的可行性。

6 结束语
本系统结构设计比较简单,以MSP430F149单片机作为控制核心,采用DTMF信号的通信技术,能有效地降低系统的成本,提高其可靠性和抗干扰能力。本系统的组装和维护方便,操作简单,便于医护人员和病人使用,病人能直接与值班室的医护人员交流,很好地改善了医患关系,让医护人员及时了解病人的现状,病人也能得到悉心的护理和对医院的信任度也有所提高。本文所研究的系统重点在于设计一个有效、方便的呼叫对讲系统,基本上达到了设计目标,但是科技总是不断发展的,技术会逐步更新,今后医院呼叫对讲系统的功能也会不断地完善。
史海拾趣
|
8. 第八章 dScope for Windows使用详解 1. 第一节 概述 1. 1. 主窗口(Mainframe Window) 可设置其它各种调试窗口,设置断点、观察点,修改地址空间,加载文件等等; 2. 2. 调试窗口(DEBUG Window) 支持用户程序的各种显示方式,可连续运行 ...… 查看全部问答> |
|
#include __CONFIG (INTRC & PROTECT & MCLREN & WDTEN); const unsigned char cs @ 0x1FF; void DelayUs( int x) // 32US {while(--x!=0) { CLRWDT(); NOP(); unsigned ...… 查看全部问答> |
|
现在有一个应用程序,实时性不够,想在windows下加一个实时模块!经过查找资料,目前确定的方案是添加一个实时驱动模块,而这个模块就用一个内核模式驱动程序来实现!该程序通过接管实时定时器的中断,也就是系统时钟中断,然后先将控制权交给实时 ...… 查看全部问答> |
|
请使用英文版 Visual studio 2005/2008的朋友帮个小忙,谢谢! 公司要找其它公司做应用软件,用WINCE生成的SDK还得附加个英文的使用说明,但是我的VS是中文版的,截图全是中文字,公司的人说不行,所以请使用英文版的朋友帮我截个图,非常感谢! 发到我的邮箱里就可以veabolho@126.com 截图的内容就像这张 … 查看全部问答> |
|
最近做项目的时候碰到了一个因为局部变量导致堆栈越界的问题,虽然最后靠扩大堆栈空间暂时解决了,但这也限制了全局变量的定义。有没有一种好的方法来解决这些问题了?看了看编译后的MAP文件,发现MDK将STACK放在了最后一个全局变量的后面。现 ...… 查看全部问答> |
|
求助,哪位告诉能指点下, 在8962上面使用lwip 如何实现不同网段的能够连接啊???就是公司网络 192.168.1.12的电脑 可以 ping通 192.168.2.2的电脑但是我的板子 192.168.1.10 ping不同 192.168.2.2的电脑… 查看全部问答> |
|
AtmelStudio6.0 下atmega88的调试和仿真 AtmelStudio6.0 下atmega88的调试和仿真 这几天一直在调试atmega88PA这款单片机,用的开发环境是AtmelStudio6.0,绕了不少弯路,网上关于这方面的资料也不多;在这里分享一下自己的调试过程,供大家一起学习。 1、双击快捷方式打开 ...… 查看全部问答> |




