基于ARM的生物安全柜控制器设计
扫描二维码
随时随地手机看文章
摘 要: 分析了生物安全柜系统的功能和原理,提出了一种基于ARM的生物安全柜控制器的软硬件设计方案,在控制器中使用了性能优良的压差传感器和信号调理电路。实践证明,该系统接收各种输入信号,经过ARM嵌入式内核处理后,控制器具有良好的控制性能,达到预期的效果。
关键词: 生物安全柜 ARM 控制器 传感器
生物安全柜是采用隔离技术防止危险性微生物向外界扩散的一种设备。随着生物技术的不断发展,生物学的研究对象不断增加,危险性随之增加。有关实验室感染加深了人们对生物学危险的认识,空气洁净技术的发展与应用使人们认识到隔离技术可以防止危险性微生物向外界扩散。目前的生物安全柜控制器通常采用8位单片机,带有A/D、D/A或PWM,主要以增量式数字PID控制器作为控制策略。随着自适应控制和智能识别等控制策略的深入研究,传统的单片机已不能满足运算的速度要求。而32位的RISC架构,基于ARM核的微控制器芯片具有低功耗、高性价比的特点,并且可以发挥其高速度与高精度的优势。
基于此,本文搭建了以Samsung公司生产的32位芯片S3C44B0X(ARM7TDMI核心)作为处理器的控制系统,采用μClinux作为嵌入式操作系统,设计了一种经济、高效、实用、升级方便的生物安全柜控制系统。
1 控制器设计要求
病原微生物对人的感染一般可有呼吸道吸入、口腔进入、通过破损皮肤以及粘膜侵入等途径[4]。在感染事故中,则有30%是由气溶胶引起的。
根据生物安全柜的基本原理提出的设计要求有以下几点:
(1)空气循环
作为保证安全的主要工作器件,本生物安全柜的风机和过滤器采用了进口产品,并且采用微压传感器作为监控设备。采用垂直流工作方式,伴随着风幕的形成和排气空气过滤器的使用,使其可以在对环境要求相当高的情况下使用,可以使试验物质不会逸出而污染环境。
(2)报警处理
本安全柜设计了监控系统,当前窗上升到超过安全的开窗高度(玻璃门未停留在安全位置)将会报警。基于S3C44B0X的控制系统通过压差传感器实时检测工作区内压力的各级参数,确保生物安全柜的性能满足要求,一旦过滤膜失效,系统将自动报警,提醒用户及时更换过滤膜。
(3)控制功能
用户界面为LCD显示,对安全柜内主要电气设备(照明灯、紫外线灭菌灯、风机等)采用按键控制;监控系统的信号为控制系统所接收,并且在处理后执行相应的控制程序;在程序设计中采用容错、避错技术,当操作人员误操作时,系统仍能正常工作;检测到危险情况时,立即报警并驱动设备到指定状态。
2 控制器硬件设计
2.1 系统硬件结构
系统硬件结构如图1所示。
2.2 系统硬件构成
(1)CPU的选择
这里CPU选用的是Samsung公司的S3C44B0X,这是一款ARM7系列的处理器,工作频率为66MHz,片上集成8KB cache、存储控制器、LCD控制器、4通道DMA、2通道UART、1通道I2C、1通道I2S、5通道PWM定时器、1通道内部定时器、看门狗、8通道10位ADC、71个通用IO口(复用)、8通道外中断源、RTC和片上时钟产生器。含有非常丰富的片上资源,几乎所有常用的芯片级总线结构都有对应的硬件控制器,在做外围扩展时非常方便。片上ICE中断调试支持JTAG调试方式,使系统调试很方便。同时,采购比较方便,成本较低。
(2)压差传感器
在选择传感器时需要确保压差传感器和它实际应用中的相容性。本控制器选用的是HONEYWELL公司生产的量程为1Psi的26PC 系列压差传感器,其特点如下:专利的导电密封弹性连接系统消除了传统的导线粘结和带状连接,增加了介质的测量兼容性; 专利的Snap-together结构导致了多样化的测量孔形式;最低价格的带温度补偿和校整的小型封装压力传感器;可以测量负压和正压;激光刻蚀电阻保证极好的器件一致性。在本系统中压差传感器测量箱体内部各点的压差。
(3)信号调理电路
MAX1452是一种高集成、精密的、16位智能型信号调理器,能够在宽温度范围内数字化校正传感器输出,适用于阻性传感器,提供放大、校正和温度补偿。MAX1452可以提供一个基本的线性输出。图2所示是一个线性输出的信号调理电路,这个典型电路提供了与供电电源成正比的输出,再通过A/D转换器,得到线性的数字输出。MAX1452仅需最少量的外部元件辅助,就能提供高性能线性输出。这些外部元件包括一个供电旁路电容,抗电磁干扰的滤波电容,两个可选电阻:RISRC 和RSTC。本系统中信号调理电路作用是将压差传感器的输出信号进行放大。
(4)固态继电器
驱动器件由光电隔离器件和固态继电器SSR组成。固态继电器是一种电子型无触点开关,具有开关速度快、寿命长、向外部传输干扰小等优点。S3C44B0X输出的三个驱动信号(风机、灭菌、照明)经光耦器件TLP521-4完成+5V~+12V的电压转换,由12V电压驱动固态继电器工作。选用较高输入电压的固态继电器可降低周围噪声对固态继电器的影响,有利于系统可靠工作。
3 控制器软件设计
3.1 程序运行环境
虽然应用程序完全可以在裸板上运行,但为了更有效地利用系统资源,使之具有任务管理、定时器管理、存储器管理和中断处理等能力,这里引入了嵌入式操作系统。基于成熟、高效、健壮、可靠、模块化、易于配置的操作系统来开发自己的应用程序,无疑能进一步提高效率,并具有很好的可移植性。通过与其他的嵌入式系统比较,μClinux具有优异的性能、免费开放的代码等优点,所以将在处理器S3C44B0X上运行嵌入式操作系统μClinux。软件运行平台结构如图3所示。
μClinux是从Linux2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为了适合嵌入式系统而做了许多小型化的工作,为硬件平台更好地运行各种程序提供了保证。运行μClinux系统的用户几乎可以使用所有的LinuxAPI函数,不会因为没有MMU而受到影响。
3.2 软件系统结构
本安全柜的软件系统分为3个层次:①引导加载程序bootloader。②嵌入式操作系统μClinux内核,即特定于嵌入式板子的定制内核以及内核的启动参数。③用户应用程序,用户应用程序和内核之间还包括一个图形用户界面(GUI)。
从生物安全柜功能分析可以看出,系统功能的重点就是检测安全柜内各点的压强和控制风机的转速,其次为人机界面的设计。
根据生物安全柜所要实现的功能及其硬件电路的需要,在μClinux运行环境下所编制的生物安全柜的软件可以分为下面几个子程序模块:指示灯显示子程序LampShow.c,LCD显示子程序LCDShow.c,按钮采集及其处理子程序Button.c,A/D转换子程序A/D.c,压差报警子程序Press.c,以及主程序main.c。
整个程序的执行过程为:bootloader分配各个模块相应的地址空间,μClinux系统底层的初始化,主程序系统输出控制信号,控制风机运行,然后控制器在定时器中断程序里采集外部中断口的中断信号,和键盘输入的信号相耦合后,进行窗高的调节,同时将安全柜内的压差信号通过中断口检测回控制器。经过处理后与风机转速作比较,通过两者偏差来调节风机的速度,使压强趋于稳定。
3.3 程序功能及流程
本控制系统的程序编制采用C语言。程序主要有如下功能:
(1)系统初始化时自检,保证处于安全状态。
(2)采用大小合适的数据采集间隔时间,提高控制精度。
(3)数据采集程序从A/D口读入压差数据,并进行软件滤波处理。
(4)报警子程序根据检测到的报警信息驱动相应的端口进行声音报警和显示报警。
(5)显示和驱动子程序把待显示的数据驱动相应的端口进行显示和驱动。
(6)按键处理子程序的操作者按下的面板按钮信息进行纪录,并进行相应的处理。
应用程序主程序部分流程图如图4所示。
本文设计了一种新型的基于ARM的生物安全柜的控制器。随着电子信息技术的发展,性能、价格和上市时间将是电子产品能否被应用推广的决定性因素。以ARM为代表的32位嵌入式处理器,在性能、价格和上市时间方面的优势将越来越明显。采用ARM芯片进行控制后,控制精度有了进一步提高,也为下一步设计功能更强、控制效果更好的安全柜奠定了基础。
参考文献
1 杜春雷.ARM体系结构与编程.北京:清华大学出版社,2003
2 S3C44B0X-RISC-MICROPROCESSOR.-SamsungElectronics用户手册[S].2002
3 李 岩,荣盘祥.基于S3C44B0X嵌入式μCLinux系统原理及应用[M].北京:清华大学出版社,2005
4 梁静频.生物安全柜与超净工作台的设计要求验证及应用[J].中国生态学杂志,2001;13(3):155~156