论文部分内容阅读
摘 要:本文研究内容源于某医科大学附属医院综合呼叫管理系统的日常运行和维护过程,以及医院的迅速发展及医院基础设施的扩建所需。希望通过本文的研究可以解决医院现存的一些问题,为医院的发展提供一些帮助。
关键词:分布式控制 通讯系统 系统设计
中图分类号:TP31 文献标识码:A 文章编号:1672-3791(2013)04(a)-0014-01
医院综合呼叫管理系统,是分布式系统应用的一个具体的例子。本文将选择主流的总线式技术进行研究。采用总线技术的医院综合呼叫管理系统,是由多个计算机/微型计算机系统为节点、通信网络、网络协议等要素所构成的分布式通信控制系统。
主机电路以ATMEL公司的ATMEGA16A型单片机为核心。ATMEGA16A单片机最多可设置为32个IO端口,用于输入或输出数字信号。在主机上安装3个按键,两个(CONFIG和SET)用于设置有效子机的号码,一个(CLR)用于清除子机的服务申请。3个按键共占用3个IO线。作为单片机的输入信号,按键有效(按键被压下)可以用高电平1表示,也可以用低电平0表示。如果以高电平表示有效,则必须保证平时状态(未被压下)为稳定的低电平;如果以低电平表示有效,则必须保证平时状态为稳定的高电平。这意味着信号的输入端必须接稳定的下拉电阻Rdown或上拉电阻Rup,如图1所示。ATMEGA16 A单片机的每个IO端口都设计了上拉电阻Rpu,阻值在20 KΩ~50 KΩ之间(详见ATMEL公司文档doc8154,版本号8154 B AVR–07/09,第293页),通过软件设置,可以在输入时起到上拉的作用,如果用低电平表示按键有效,就不必另外连接电阻了。
主机上安装1个蜂鸣器,用于按钮提示、错误提示等用途;安装5个LED指示灯,其中3个对应于用户的三种服务申请,一个作为工作指示灯,一个作为错误指示灯;安装3个七段数码显示器,以显示1000以内的子机号码。蜂鸣器和LED共占用1+5=6个IO线(数码显示器的情况在下文说明)。在5 V工作条件下,灌电流(Sink current)和拉电流(Source current)能力都可以达到至少20 mA(详见ATMEL公司文档doc8154,版本号8154 B AVR–07/09,第293、294页)。蜂鸣器、LED和数码显示器都是数字信号驱动的器件,耗电约5 mA以内,可以由单片机的IO口直接驱动,不需要额外的驱动芯片。
对数码显示器的驱动设计值得注意,是需要硬件电路与控制软件相结合的。七段数码显示器实际上是把7个LED发光管组合在一起,每个发光管在塑料外壳的遮蔽下发出“一”字形亮光,7个“一”字排列为数字“8”的形状,每次点亮其中的几个笔画,就可以显示出阿拉伯数字0~9,以及用户自行定义的其他字母或符号。市场上的成品显示器都增加了第8个LED,用于显示小数点,但仍然称为“七段”显示器。在显示器内部,LED的管脚已经事先连接在一起,以减少引线的数量,二极管的阴极连接在一起作为公共端COM,称为共阴极型显示器,COM端通常接低电平驱动器,或直接连接到地线;与此对应的为共阳极型,COM端连接高电平驱动器或电源正极。由于数字电路(包括各种单片机)通常在输出低电平时的电流驱动能力较强,高电平时驱动能力很弱,即灌电流(Sink current)的值比拉电流(Source current)要大许多,所以共阳极型显示器更常用一些。
利用ATMEGA48PA的USART作为异步串行通信接口,同样具有硬件的地址/数据标识位,可以方便地实现分布式通信系统。采用SN75LBC174和SN75LBC175芯片作为RS485总线电平转换芯片,与主机相同。子机要装配3个按键、1个蜂鸣器和3个LED指示灯,与主机的设计方法相同。3个按键表示三种不同的服务申请,LED指示灯作为按键的辅助显示。由于设置ID号码的需要,子机上还要安装一个编码开关,以便于人工设定。子机在通电运行时,首先读取编码开关的值,作为自身的ID号码。编码开关也可以用跳线帽代替。
ATMEGA48PA的仿真调试方法非常独特。ATMEL发明的debugWIRE在线仿真系统,解决了这个问题。debugWIRE只占用单片机的一个管脚,就具有与JTAG仿真完全相同的功能,既可以实现芯片所有功能的仿真运行,也可以对片上的非易失存储器进行编程烧写。dW就是debugWIRE方式所使用的信号,该信号通常与复位端相复用,等效于不占用管脚资源。AVR芯片的一些硬件功能,是由所谓“熔丝”位控制的,当熔丝位被编程为不同的值1或0时,起到禁止(Disable)或使能(Enable)硬件电路,或者在两个不同的电路模块之间切换的作用。比如,硬件模块Brown-out Detector是检测电源跌落的,如果电源电压低于设定值,就强迫单片机复位。该模块是由熔丝位BODEN控制的,当BODEN为0时,该模块被使能,为1时则被禁止,相当于这个模块不存在。熔丝位必须在硬件运行之前进行编程,以保证硬件环境是确定的,而不是变化的。熔丝位的“可编程”,并非是指用户编写的C程序或者汇编程序,而是用专门的工具和软件,通过仿真调试接口JTAG或者在线编程接口ISP,或者其他方式(高压并行烧写等),实现编程烧写。在设计硬件时,有必要事先安排熔丝位的烧写方法。同样,debugWIRE功能是由熔丝位DWEN控制的,在芯片出厂时默认为禁止状态,需要通过在线编程ISP来开启。
参考文献
[1] 刘飞,须文波,潘丰.一种基于简化OSI模型的主从总线通讯协议及实现[J].自动化与仪表,1996(3):41-42.
关键词:分布式控制 通讯系统 系统设计
中图分类号:TP31 文献标识码:A 文章编号:1672-3791(2013)04(a)-0014-01
医院综合呼叫管理系统,是分布式系统应用的一个具体的例子。本文将选择主流的总线式技术进行研究。采用总线技术的医院综合呼叫管理系统,是由多个计算机/微型计算机系统为节点、通信网络、网络协议等要素所构成的分布式通信控制系统。
主机电路以ATMEL公司的ATMEGA16A型单片机为核心。ATMEGA16A单片机最多可设置为32个IO端口,用于输入或输出数字信号。在主机上安装3个按键,两个(CONFIG和SET)用于设置有效子机的号码,一个(CLR)用于清除子机的服务申请。3个按键共占用3个IO线。作为单片机的输入信号,按键有效(按键被压下)可以用高电平1表示,也可以用低电平0表示。如果以高电平表示有效,则必须保证平时状态(未被压下)为稳定的低电平;如果以低电平表示有效,则必须保证平时状态为稳定的高电平。这意味着信号的输入端必须接稳定的下拉电阻Rdown或上拉电阻Rup,如图1所示。ATMEGA16 A单片机的每个IO端口都设计了上拉电阻Rpu,阻值在20 KΩ~50 KΩ之间(详见ATMEL公司文档doc8154,版本号8154 B AVR–07/09,第293页),通过软件设置,可以在输入时起到上拉的作用,如果用低电平表示按键有效,就不必另外连接电阻了。
主机上安装1个蜂鸣器,用于按钮提示、错误提示等用途;安装5个LED指示灯,其中3个对应于用户的三种服务申请,一个作为工作指示灯,一个作为错误指示灯;安装3个七段数码显示器,以显示1000以内的子机号码。蜂鸣器和LED共占用1+5=6个IO线(数码显示器的情况在下文说明)。在5 V工作条件下,灌电流(Sink current)和拉电流(Source current)能力都可以达到至少20 mA(详见ATMEL公司文档doc8154,版本号8154 B AVR–07/09,第293、294页)。蜂鸣器、LED和数码显示器都是数字信号驱动的器件,耗电约5 mA以内,可以由单片机的IO口直接驱动,不需要额外的驱动芯片。
对数码显示器的驱动设计值得注意,是需要硬件电路与控制软件相结合的。七段数码显示器实际上是把7个LED发光管组合在一起,每个发光管在塑料外壳的遮蔽下发出“一”字形亮光,7个“一”字排列为数字“8”的形状,每次点亮其中的几个笔画,就可以显示出阿拉伯数字0~9,以及用户自行定义的其他字母或符号。市场上的成品显示器都增加了第8个LED,用于显示小数点,但仍然称为“七段”显示器。在显示器内部,LED的管脚已经事先连接在一起,以减少引线的数量,二极管的阴极连接在一起作为公共端COM,称为共阴极型显示器,COM端通常接低电平驱动器,或直接连接到地线;与此对应的为共阳极型,COM端连接高电平驱动器或电源正极。由于数字电路(包括各种单片机)通常在输出低电平时的电流驱动能力较强,高电平时驱动能力很弱,即灌电流(Sink current)的值比拉电流(Source current)要大许多,所以共阳极型显示器更常用一些。
利用ATMEGA48PA的USART作为异步串行通信接口,同样具有硬件的地址/数据标识位,可以方便地实现分布式通信系统。采用SN75LBC174和SN75LBC175芯片作为RS485总线电平转换芯片,与主机相同。子机要装配3个按键、1个蜂鸣器和3个LED指示灯,与主机的设计方法相同。3个按键表示三种不同的服务申请,LED指示灯作为按键的辅助显示。由于设置ID号码的需要,子机上还要安装一个编码开关,以便于人工设定。子机在通电运行时,首先读取编码开关的值,作为自身的ID号码。编码开关也可以用跳线帽代替。
ATMEGA48PA的仿真调试方法非常独特。ATMEL发明的debugWIRE在线仿真系统,解决了这个问题。debugWIRE只占用单片机的一个管脚,就具有与JTAG仿真完全相同的功能,既可以实现芯片所有功能的仿真运行,也可以对片上的非易失存储器进行编程烧写。dW就是debugWIRE方式所使用的信号,该信号通常与复位端相复用,等效于不占用管脚资源。AVR芯片的一些硬件功能,是由所谓“熔丝”位控制的,当熔丝位被编程为不同的值1或0时,起到禁止(Disable)或使能(Enable)硬件电路,或者在两个不同的电路模块之间切换的作用。比如,硬件模块Brown-out Detector是检测电源跌落的,如果电源电压低于设定值,就强迫单片机复位。该模块是由熔丝位BODEN控制的,当BODEN为0时,该模块被使能,为1时则被禁止,相当于这个模块不存在。熔丝位必须在硬件运行之前进行编程,以保证硬件环境是确定的,而不是变化的。熔丝位的“可编程”,并非是指用户编写的C程序或者汇编程序,而是用专门的工具和软件,通过仿真调试接口JTAG或者在线编程接口ISP,或者其他方式(高压并行烧写等),实现编程烧写。在设计硬件时,有必要事先安排熔丝位的烧写方法。同样,debugWIRE功能是由熔丝位DWEN控制的,在芯片出厂时默认为禁止状态,需要通过在线编程ISP来开启。
参考文献
[1] 刘飞,须文波,潘丰.一种基于简化OSI模型的主从总线通讯协议及实现[J].自动化与仪表,1996(3):41-42.