摘要:介绍了基于AT89C52单片机及外围芯片设计的医用X-射线自动洗片机控制器。给出了洗片机控制器的软硬件设计方案,并重点介绍了温度检测模块及CPLD在设计中的应用。
关键词:单片机,X-射线自动洗片机,温度检测,CPLD
1 引言
洗片机是各医院影像科的必需设备。医院影像科每天要冲洗大量的X-射线透射胶片,工作量大,且洗片操作有一定难度,对操作人员专业技术要求高,另外,洗片时化学药液对人体有伤害。因此,目前医院大多采用医用自动洗片机。进口的自动洗片机效果好,但价格昂贵。本文介绍了一种自行研制的由微型机控制的医用自动洗片机控制器,主要介绍其软硬件设计方案,并重点介绍了温度检测模块及CPLD(Complex Programmable Logic Device)在设计中的应用。
2 系统概述及功能要求
洗片过程主要由显影、定影、冲洗和烘干四部分组成,如图1所示。 (图片) 胶片先在装有显影药液的显影槽中放置一定时间,再在装有定影药液的定影槽中放置一定时间,接着在冲洗槽中用清水冲洗,最后烘干,洗片过程即完成。四个过程对温度、时间均有要求,且显影、定影过程对药液浓度有要求。
洗片机有四种状态:冷机、预热、洗片和自检。冷机状态即系统上电但不工作;预热状态即机内无胶片但工作区加热到一定温度,当有进片时可迅速升温到洗片温度;洗片状态时进行洗片流程;自检状态时可检查各执行机构是否正常。
控制器实现的主要功能有:(1)控制整个洗片工艺的流程;(2)检测并控制显影、定影、烘干三个工作区的温度,显影、定影的药液量及液面高度,洗片的速度(即胶片在各工作区的时间)及泵与阀;(3)判断进出片及胶片型号;(4)统计各型号胶片的洗片数量,统计药液使用量;(5)机内时钟,定时开、关机;(6)由键盘和液晶显示器组成的人机接口,方便操作,并可实现参数的设置。
3硬件系统的设计
控制器由主控模块、键盘显示模块及执行机构三大部分组成,如图2所示。(图片) 主控模块和键盘显示模块各由一片AT89C52单片机控制,两部分之间采用串行通讯。设计采用双CPU,是考虑到执行机构在机箱下部,而主控模块与执行机构之间的距离应尽量小,以提高系统可靠性。液晶显示与键盘模块完成任务较多且功能独立,可单独采用一片CPU,另外,键盘显示模块与主控模块分开,可放在机箱上部,方便操作。(图片) 键盘显示模块主要由AT89C52单片机、键盘、液晶显示和串行通讯接口等组成。
3.1主控模块
主控模块包括AT89C52单片机、温度检测、胶片检测、温度控制、泵和阀的控制、电机速度控制、串行通讯接口、扩充RAM、实时时钟、译码电路和开关电源等模块,主控模块结构如图3所示。
由于控制器要求能对药液使用量、各片型洗片数量进行统计并保存统计数据,需要外扩非易失性存储器。考虑到价格因素,没有采用内含实时时钟的存储器,而是采用了一片NV SRAM和单独的实时时钟。外扩的存储器采用了集成电路DS1225,其存储容量为64K。时钟电路采用了DALLAS公司的集成电路芯片DS12887。DS12887可提供年月日时分秒的计时、定时报警、一个一百年的日历、可编程中断及114字节的非易失性RAM。洗片机控制器的温度控制中采用了集成调压模块。
3.2CPLD在设计中的应用
CPLD是一种新型的复杂可编程逻辑器件。这种器件具有可编程性和实现方案容易改动的特点。CPLD器件的使用大大缩短了产品的设计周期,提高了系统的集成化程度、具可靠性和可扩充性,在电子产品设计中得到了广泛的应用。
设计中CPLD采用了XiLinx公司的集成芯片XC9572。XC9572内有72个宏单元,可多次编程,支持在线编程。CPLD中实现的功能包括:译码;输出控制量、进/出片检测及过温检测的接口;中断控制;地址锁存。
CPLD内中断控制的原理图如图4所示。INT1接到CPU的外部中断脚INT1。主控模块有四个外部中断源:实时时钟中断信号CLK_INT、过温中断信号OV_TEM、进片中断信号POS_IN和出片中断信号POSOUT。当其中任何一个中断源有效时,D触发器被清零,INT1为低电平,CPU执行中断程序。在中断程序中,CPU通过读INTCE对应的I/O地址单元的数据辨认出相应的中断源,执行对应的处理。其中,INT_是读中断源的使能信号,INT_CE为低电平时,读中断源,同时D触发器被置位,INT1恢复高电平。(图片) 3.3温度检测模块
温度检测电路如图5所示。温度传感器采用AD590,工作范围是-55℃~+155℃,其线性度良好,且有恒流传输特性,便于远距离传送。AD590的输出电流与绝对温度成正比,供电电源为+4V~+30V时,绝对温度每上升1K,输出电流上升1μA,电流变化范围很小,所以接一个9.8kΩ电阻及511Ω的可调电阻,增大电流变换范围,以满足LM324运算放大器的要求。
AD590的输出信号经第一级放大器LM324将电流信号变换为反相的电压信号,其中,510Ω的可调电阻RW1用来调整电流-电压变换的斜率。信号经第二级放大器放大为稳定的电压信号,可调电阻RW2起调零功能。Vref=+5V为参考电压,由电源模块LM317给出。
根据AD590特性,温度为绝对温度xK时,AD590的输出电流为xμA。令第一级放大器的输出电压为v1,第二级放大器的输出电压为v0,则:(图片) 根据环境温度、洗片机各温区工作温度要求以及ADC0809输入电压范围要求,调整RW1和RW2。调整时我们按照变换率为35mV/℃,通过调整RW1调整v0的斜率,再调整RW2以满足调零要求。
ADC0809是单片、CMOS、逐次比较、8位模/数变换器。片内包含8位模/数变换器、8通道多路转换器与微控制器兼容的控制逻辑。ADC转换位的选择应充分保证其分辨率高于系统的精度要求,且有一定的裕量,从而满足其它环节特别是传感器元件的非线性要求。
ADC0809的转换精度为±0.4%,转换时间为128μs。ADC0809将第二级放大器输出的模拟量变换为数字量,接到系统的数据总线,供CPU读入。(图片) 4软件系统的设计
软件系统分为两大部分,洗片主控模块与键盘显示模块,两部分之间根据自定义的通讯协议通讯。软件设计时采用模块化设计,主控部分如图6所示,由初始化、串行通讯、时钟管理、数据存储、输入扫描、进片检测、出片检测、输出控制、中断等模块组成,由主程序调用各子模块,负责洗片流程控制。为了提高系统可靠性,主程序采用循环执行的方式。
输出控制模块包括温度控制、速度控制、冲洗控制、补液控制及其它开关量控制。温度控制模块根据检测到的三个工作区的实际温度与设定温度之差,查温度控制表,采用差值法得到输出控制量,其中温度控制表事先由实验测得,固化在单片机中。洗片电机速度分为四档,根据设定值查表得输出控制量。
5提高系统可靠性的措施
由于医院对洗片质量及可靠性要求非常高,洗片机本身价格昂贵,且运行时间长,我们在系统设计时考虑了可靠性问题。首先,机器设计有自检功能,普通操作人员可以自行检查各执行机构是否正常。印刷电路板的设计也考虑到抗干扰措施,如电源滤波、地线处理等,以提高电路板的可靠性。另外,系统中有看门狗电路,在程序跑飞时系统复位。在软件方面,采用主程序循环执行的方式,每次循环对输出口刷新、对输入口读入,这样,当程序在某次循环中出错时,下次循环时可恢复正常。(图片)(图片) 6结束语
该医用自动洗片机控制器能满足医院X光片自动洗片的要求,减少了洗片工作量,提高了洗片的质量和效率。设计中考虑到了系统的可靠性要求,在硬件和软件设计中均采取措施提高可靠性。同时系统具有一定的灵活性和可扩充性。
参考文献
1丁元杰主编.单片微机原理及应用.北京:机械工业出版社,1994
10/26/2005
|