嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更速度很快,linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。 Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。移植的速度远远超过Java的开发环境。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Toker ring(令牌环网)、光纤甚至卫星的支持。
1 引言
ARM9越来越广泛的应用于各种生物电子仪器中,全自动生化分析仪是一个典型的应用。生化分析仪检测分析过程中温度对检测结果具有很大的影响,被检样品和试剂只有在指定的温度下检测才能保证生化检验结果的可靠性。本系统以ARM9处理器作为控制系统核心,实现模糊自整定PID控制算法。经测试,该系统精度高,稳定性好,响应快,反应盘控温于现行的标准检测温度37℃,控温精度为土0.1℃,显示精度为±0.01℃,完全满足临床使用要求。
TI公司的OMAP730是最新的无线通信基带信号处理器。该处理器是TI的GPRS Class 12通信模块与专用于应用处理的ARM926通用处理器(GPP)的集成。由于GPP的速度可达200MHz,因此OMAP730具有两倍于上一代OMAP710处理器的应用处理性能。如同所有的OMAP处理器一样,OMAP730可支持领先的移动操作系统,其中包括Microsoft的智能电话与Pocket PC PhoneEdition、Svmbian OS与Series 60、Palm OS以及Linux。
2 系统总体设计及主要硬件实现
2.1 系统总体设计
系统结构如图1所示。系统主要由测温器件、ARM控制器及显示变送单元三部分组成。ARM控制器采用三星公司的S3C2410A。测温器件负责温度的采集,在本系统由DS1 8B20温度传感器构成。整个系统工作过程是先由键盘设定温度值,ARM 控制器控制温度传感器采集温度信号,经过模糊PID 控制模块运算,输出PwM 波控制功率驱动模块,实现对温度的加热和制冷控制,同时通过LCD显示温度。
2.2 控制器S3C2410
S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。
S3C2410A是由Samsung Electronics Co.,Ltd为手持设备设计的低功耗、高度集成的,基于ARM920T内核16/32RISC嵌入式处理器,运行频率可达203MHz, 独立的16k指令和16kB数据的缓存(Cache),虚拟内存管理的MMU单元,LCD控制器(STN&TFT),非线性(NAND)FLASH的引导单元系统管理器,3通道的异步串口(UART),输入输出端口,实时时钟单元(RTC),带有触摸屏接口的8个通道10bitADC,IIC总线接口,IIS总线接口,USB的主机(host)元,USB的设备(Device)接口,2个通道的SPI接口和锁相环(PLL)时钟发生单元。
本系统设计采用32位RISC嵌入式处理器工作模式,采用NAND FLASH启动方式。NAND FLASH存储器扩展选择三星电子公司生产的K9F1208,单片容量为64MX 8bit(64M字节),工作电压2.7~3.6V,8位数据宽度,带有硬件数据保护功能,支持上电自动引导功能。根据系统需要和充分发挥32位CPU的数据处理能力,本系统选用两片HY57V561620T并联构建32位SDRAM存储器系统,共64MB的SDRAM空间,可满足嵌入式操作系统及各种相对复杂的功能运行要求。
2.3 温度采集单元的实现
温度采集单元主要温度信号的实时采样并响应主机的命令[31。本系统温度传感器使用DS1 8B20,DS1 8B28B20是美国半导体DALLAS公司推出的单总线温度传感器。该器件具有体积小、结构简单、实用电压宽、可组网、成本低廉、便于总线扩展和维护等诸多优点,而且内有控制电路,收发电路和存储电路等。DS18B20 具有较宽的电压适用范围(3~5.5V),并能够通过编程实现温度信号的9~12位的数字转换,分辨率最高可以达到0.0625℃。其测量温度范围为-55~+125℃,其中,在-10~+85℃范围内,精度能够达到±0.5℃。由于DS1 8B20是通过一条数据线传输数据, 这样整个系统要严格按该器件单总线协议规定的时序进行工作, 所以DS 1 8B20有严格的通信协议来保证各个数据传输的正确性和完整性。根据DS 1 8B20的通讯协议,主机控制DS 1 8B20完成温度转换时,首先在每一次读写之前对DS1 8B20进行复位,复位成功后发送一条ROM指令,然后发送RAM 指令,这样才能对DS18B20进行预定的操作。R O M 操作命令主要是对传感器地址的操作。RAM 指令主要完成温度的测量,主要有读寄存器,写寄存器,温度转换等操作。
2.4 键盘及LCD显示单元
系统采用SPI接口的键盘控制芯片ZLG 72 8与$3C2410A的SPI接口连接,ZLG7289扫描的行线R[2:0】和列线C[7:0】构成矩阵键盘,同时在芯片内部可自动完成扫描、译码、去抖动处理等任务。
SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。
S3C2410A内部已经集成了LCD 控制器,因此可以很方便地控制各种类型的LCD屏,例如:STN和TFT屏。系统采用Samsung 3.5 反射型TFT液晶LTS350Q1,320 X 240像素,256k色,White LED背光,自带四线式触摸屏,可以直接和S3C2410A的触摸屏驱动电路连接,触摸位置直接用CPU内置的ADC电路采样可得。
键盘和LCD连接示意图如图2所示。
3 模糊自整定PID控制算法模块设计
模糊自整定PID控制系统能在控制过程中对不确定的条件、参数、延迟和干扰等因素进行检测分析,采用模糊推理的方法实现PID三个参数 、 f和 的在线自整定。模糊自整定PID控制不仅保持了常规PID控制系统的原理简单、使用方便、鲁棒性较强等特点,而且具有更大的灵活性、适应性、精确性等特性。
模糊自整定PID控制器是在常规PID控制器的基础上建立参数K ,K ,K 与偏差绝对值IE I和偏差变化率
绝对值lecI问的二元连续函数关系的控制器。二元函数关系为 ]: = ( ,J j), = 0 ,J ),K = ( JEc})。模糊自整定PID控制器根据不同的 、IEcI在线自整定K, K 和Kd。
取输入偏差、偏差变化率和输出隶属度函数分别如图3所示。
对于图3中 的隶属度,当n=p时,a,b分别取一0.3,0.3;当n=i时,a,b分别取一0.06,0.06;当n=d时,a,b分别取一3,3。
模糊一PID控制系统为双输人三输出系统,输入量为偏差E和偏差变化率EC,输出量为PID参数 ,K 和 。采用七种不同的模糊语言变量进行描述:负小(NS)、负中(NM)、负3v(NB)、零(Z)、正小(Ps)、正中(PM)、正大(PB),控制规则取为:if E and EC then K ,K, ,根据PID控制的基本原理,结合实际经验,设计模糊控制表如表1所示。
4 系统软件设计
软件部分采用嵌入式Linux操作系统,系统主要流程如图4所示。系统上电启动BootLoader,初始化系统硬件,加载操作系统,将系统带人一个合适的环境。完成系统引导加载后新建一系列线程,包括温度数据采集线程、模糊自整定控制算法线程、输出线程,并且新建线程之间的通信管道FIFO。可通过键盘并利用外部中断来控制是否停止采样,如果停止采样则合并线程,结束应用程序。
采用重心法对经模糊控制规则表所得的 、 和进行反模糊化处理得到精确的值,再将这些值代入如下公式
5 结束语
本系统选用高性能ARM9系列处理器S3C2420以及嵌入式Linux操作系统,温度传感器采用基于目前最流行的单总线温度传感器DS 1 8B20,设计并实现了生化分析仪中的一种高精度温度控制器。结果证明,该系统能很好地实现对生化分析仪反应池的温度控制在需要范围内,从而有效地提高了生化分析仪的检测精度和准确度。
参考文献:
[1]. S3C2410A datasheet http://www.dzsc.com/datasheet/S3C2410A_589565.html.
[2]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.
[3]. Device datasheet http://www.dzsc.com/datasheet/Device_1397784.html.
[4]. DS18B20 datasheet http://www.dzsc.com/datasheet/DS18B20+_819975.html.
[5]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[6]. ZLG7289 datasheet http://www.dzsc.com/datasheet/ZLG7289_1134608.html.