《半导体培养箱的ARM嵌入式控制系统研制.》由会员分享,可在线阅读,更多相关《半导体培养箱的ARM嵌入式控制系统研制.(3页珍藏版)》请在金锄头文库上搜索。
1、半导体培养箱的ARM入式控制系统研制生物培养箱作为一种广泛应用于生物、农林等学科的实验设备,其传统的加热 制冷方式具有噪音大、温控调节精度不高且污染环境等缺点。对此本文设计了 一款利用半导体材料作为温控元件的生物培养箱。在此设计中,一方面采用新 型半导体热电转换技术,通过半导体材料的三种形式将热能和电能进行直接转 换,以实现温度调节,并辅以湿度、光照的调节;另一方面采用ARM9处理器作为硬件平台,移植开源的Linux操作系统,并研发了模糊PID控制系统。不仅减 小了噪音,还降低了产品的成本,且具有控制速度快、精度高及性能稳定等特 点,为培养箱的设计提供了一种新的思路。1 半导体培养箱的硬件设计
2、 该培养箱的硬件部分由信号采集模块、核心处理模块和控制模块组成, 其中信号采集模块又分温度、湿度采集。温度采集是采用单总线数字温度传感 器DS18B20微处理器依据其器件寄存器内置序列号对所匹配的传感器进行读 取,以此实现多点分布式应用;湿度采集是采用湿度传感器 SHT11微处理器 采用二线串行数字接口和温湿度传感器芯片 SHT11通信以完成湿度信号采集。核心处理模块采用基于 ARM920T架构的S3C2440A!处理器为CPU勺核心板,负 责完成数据的运算与扩展外围通信接口、 USB接 口、扩展接口、多媒体接口等 硬件资源,且该核心板还具有支持触屏控制等功能。控制模块以继电器电路为 主体,核
3、心处理模块输出的控制信号,经继电器电路接执行元件,实现对热电 半导体、超声波加湿、T4灯等工作状态控制。本培养箱的硬件结构如图 1所 示。1.1 信号采集模块信号采集模块的功能采用上述DS18B20芯片和SHT11芯片来分别采集培 养箱内的温度和湿度。DS18B2C由美国DALLAS司生产,具有微型化、低功 耗、抗干扰能力强、器件唯一编码、支持分布式寻址等功能,适用于各类温度 测控系统。其内部有控制电路、64 bit光刻ROM口温度转换器等。收发提供 912 bit 可编程设备温度读数。电压范围为 3.0 V5.5 V ,测量温度范围为 - 55C125C,-10C85C范围内精度为土 0.5
4、 C。通过软件修正可达土 0.062 5C。本设计采取由数据线寄生电源供电,在培养箱内设置有2个DS18B20以进行多点检测,并通过计算此 2 点的温度平均值作为箱内的温度检测值 8 。SHT11是瑞士 Sensirion公司生产的具有I2C总线接口的单片全校准数 字式相对湿度和温度传感器。该传感器将温湿度传感器、信号放大器、A/D转换、I2C总线接口集成于一片芯片上(CMOSensT技术),具有数字式输出、免调 试、免标定、免外围电路及全互换的特点。其二线串行接口SCK支持CRC专输校验, 传输可靠性高且测量精度可编程在线调节。该芯片集成电容性聚合体湿度 敏感元件,将湿度转换成电信号,并将此
5、信号经放大后输入一个14位的A/D转换器,最后经 I2C 总线数字接口输出数字信号。1.2 核心处理模块核心处理模块采用Samsung公司的S3C2440AL处理器,其拥有ARM920T 核,能运行32 bit RISC 指令集指令及16 bit的精简Thumb指令代码,具有16 KB 数据 CACHE!指令 CACHE 具有 MMU(Memory Ma nageme nt Un it功能。 该处理器主频可达400 MHz并支持SPI、IIC等多种总线扩展方式1,能够 满足培养箱控制系统的要求。根据培养箱硬件设计的实际要求,此系统由两片32 MB的SDRA和一片64 MB的NAND Flash
6、组成了最小系统,并将启动代码存 放在NAND Flash的起始段中。系统扩展外围接口,其中:处理器的标准串行通 信接口 UART(外接MAX232芯片与宿主机相连,作为调试串口;处理器的两路通 用串行总线 USB(Universal Serial Bus),一路 USB HOS用于 U盘接口,一路USB Slave实现数据的传输;LCD接口接东华3.5英寸LCD触屏;GPIO(通用输 入/输出口 )支持与硬件的数据交互、控制硬件工作和读取硬件的工作状态信号 等功能,根据设计需要,扩展 GPIO定义如表1所示。1.3 控制模块 控制模块的功能是对温度进行准确控制,使用的温控元件为热电半导 体。半
7、导体制冷原理建立在三个效应基础上:塞贝克效应 、帕尔帖效应和汤姆 逊效应,构成了热电设备的理论基础。其原理是当一块N型半导体材料和一块P型半导体材料联结成电偶对时,若此电偶对接通直流电流后,其内部就会产 生能量的转移:电流由N型元件流向P型元件的接头吸收热量,成为冷端。由 P型元件流向N型元件的接头释放热量,成为热端。利用此原理实现制冷或加 热,具有无污染、无噪声、体积小及质量轻等特点 9 。图 2 是半导体制冷的工 作原理图。2 半导体培养箱的软件设计 培养箱的软件平台选用开源嵌入式 Linux 操作系统,其内核稳定、功能强大,可裁剪并对底层硬件有丰富的函数支持。本培养箱的软件设计首先完成
8、Bootloader下载、Kernel内核的配置、裁剪、编译与移植并制作 YAFFS根文件 系统,然后开发对温、湿度传感器及热电半导体等底层硬件的驱动程序,以及 基于Qt/Embededded的应用程序设计,实现了 GUI人机交互接口和培养箱软件 工作算法,并采用以模糊自适应 PID算法为核心的控制算法。培养箱软件设计 的整体框架如图 3所示。2.1 嵌入式 Linux 软件平台的搭建本培养箱的嵌入式Linux软件平台是在PC机上的Federa 12操作系统 下建立,具体内容如下: (1)建立交叉编译环境。为了能在宿主机的平台上编译 出可在目标机体系结构平台上运行的程序,需要建立交叉编译环境,
9、包括可用 于目标平台ARM的编译器arm-gcc、相关的链接和运行库-Glibc以及二进制文 件处理工具-Binutils 等,这些GNI软件都是在i386平台上使用。本设计以 EABI _4.3.3为交叉编译工具,修改PATH参数完成配置。制作 Bootloader 。 Bootloader 是嵌入式 Linux 系统的引导加载程序,是系统上电后 运行的第一段代码。它可以初始化必要的硬件设备,创建内核需要的基本信 息,从而将系统的软硬件环境带到一个合适的状态,便于引导和加载操作系 统。本设计采用支持Nand Flash启动和USB下载内核镜像文件系统的u- boot。 (3)Linux 内核
10、的配置、裁剪和编译。 Linux 内核配置系统由 Makefile 、 配置文件 (config.in) 以及配置工具三部分构成,其中 Makefile 定义内核的编 译规则,配置文件给用户提供的选择功能,配置工具包括配置命令解释器和配 置用具界面。本设计使用 Linux-2.6.30.4 内核版本,针对交叉编译要求,定义Makefile 的 CROSS_COMPILE=arm-linux,- 并根据实际需要完成内核配置,最后 制作内核镜像文件 4 。(4) 制作根文件系统。文件系统负责管理系统的数据与 文件。YAFFS是专门为NAND闪存设计的嵌入式文件系统,适用于大容量的存储 设备。而且此
11、系统提供了损耗平衡和掉电保护等功能,可以方便地集成到系统 中去,具有速度快、占用内存少的特点,因此选用 Busybox- 1.13.0 制作的 YAFFS乍根文件系统。2.2 系统内核层的驱动程序设计 系统内核层的程序主要为外接硬件设备的驱动程序,是内核与设备之间 的交互层。 Linux 支持三类设备:字符设备、块设备和网络接口。在 Linux 操 作系统中,每个硬件设备的应用程序可以利用 open( ) 、 release( ) 、read( ) 及 write( ) 等函数对硬件设备进行操作 6 。内核层的驱动程序主要指 DS18B20 SHT11热电半导体与超声波加湿等硬件设备的驱动程序
12、,它们分别 定义在三个源文件中,其中 ctrb.c 中包含热电半导体、超声波加湿、 T4 灯及 风扇等设备的驱动程序,18b20.c与sht.c分别为DS18B2C与SHT11 专感器的 驱动程序。上述设备均属字符型的驱动设备, 在系统启动后利用 insmod 指令 将其动态加载到内核中。驱动程序包括初始化模块、卸载模块、读模块和写模 块。其中初始化模块主要包括初始化内部数据结构、硬件以及使用设备前应该 完成的工作;读写模块主要负责对 DS18B20与 SHT11的读写。在Linux2.6内核 中CPU使用虚拟地址访问外部设备,ctrb_ioctl() 函数实现用户程序通过访问 设备文件的方式对设备的间接操作。由于驱动程序属于内核层,程序最后要将 数据从内核态拷贝到用户态,供应用程序使用。图 4 为初始化模块驱动程序工 作流程图。