《基于ARM的温度采集系统设计(共11页).docx》由会员分享,可在线阅读,更多相关《基于ARM的温度采集系统设计(共11页).docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于ARM的温度采集系统设计王义涛一.引言本文针对试验对温度监控系统的要求,设计、开发了基于嵌入式操作系统 Linux 和 S3C2410 处理系统软硬件平台的嵌入式多通道高精度温度测量系统的软、硬件设计与实现方法,研究并实现热电阻的多通道高精度监测电路。本文在对测温技术发展研究的基础上,根据本课题设计的任务要求,设计了基于 PT100(铂电阻)传感器的新型多通道温度检测板(8 通道)。在该多点温度测量系统中,要求温度监测点 12个,测量范围:0+50,分辨力:0.1,准确度:0.2。温度检测系统将实现多点温度数据的采集、保存、上传。该系统主要包括两个部分:多通道温度
2、检测板和ARM 通信电路。温度检测板由电源电路、信号放大及调理电路以及 AD 转换电路与单片机接口电路三部分组成。基于 ARM 的通信电路通过两种方式:串口及网口方式实现对温度数据的采集、上传、读取、保存。完成 Linux 操作系统在嵌入式系统上的移植,以及 Linux 实时性能改造;软件任务划分与设计,包括 A/D 数据采集任务,算法任务,编制构成本温度多路测量仪的嵌入式程序,并对各部分电路进行实验、调试。二.系统硬件设计2.1温度检测系统架构框图温度检测系统将实现多点温度数据的采集、保存、上传。其系统结构图如下:2.1基于四线制接法和自校正设计的电阻测量电路当温度探头附近环境温度发生改变的
3、时候,引起了温度探头 PT100 电阻值的改变。由于流经 PT100 的电流为恒定值,因此温度采集板通过对 PT100 两端的电压值采集便可以计算出环境温度。本温度采集板中的温度探头采用了 4 线制解法,可以避免因导线过长带来的电阻误差。6 路采样信号和 2 路标准电阻信号通过多路模拟开关分时段被进行采样,采样得到的值依次通过信号放大电路和A/D 转换电路进入微控制器(MCU)。通过自校准算法,从而得到精确温度值采集到的温度测量值可以通过串口或网口的方式与上位机相连。2.2基于ARM的通信电路2.2.1 ARM 核心板本核心板采用 NAND FLASH 芯片 K9F1208 作为存储器,用来存
4、储数据和程序。一片 K9F1208 的容量为 64M,能够满足系统的需要。K9F1208 和 S3C2410 接口电路图如图所示。2.2 K9F1208 和 S3C2410 接口图在本系统中,ARM 核心板主要起到对前端采集到的温度数据的收发。核心板的接口电路如下:2.3 ARM 核心板接口图2.2.2 信号输入电路该信号为温度板采集得到的信号,通过 4PIN 的外接端子接入。由于信号之间有相互干扰,故需要采取隔离措施。ISO7221 是双通道数字隔离器,该系列器件有一个由 SiO2隔离栅组成的逻辑输入输出缓冲区,隔离电压达 4KV。若在独立的电源系统中联合应用,它们可以阻止高电压,隔离地平面
5、和阻止噪声流入数据总线或者其它线路,预防干扰或者破坏敏感线路。隔离后的信号直接与 ARM 相连进行通信。2.4信号输入电路2.2.3ARM 与串口和网口连接电路对于数据的传输,我们采取两种方式分别是:网口方式和串口方式。对于网口方式,我们选用 RJ45 接口为网卡接口。10/100base tx RJ45 接口是常用的以太网接口,支持10M 和 100M 自适应的网络连接速度,10/100base tx RJ45 接口引脚定义如下:2.5 RJ45接口引脚定义2.6 网口连接电路由于 ARM 与 PC 机的传输协议不同,因此需要将 RS232 转换为 TTL。这里我们选用MAX3232 为转换
6、元件。原理图如下:2.7 串口连接图三.系统软件设计3.1单片机系统软件单片机软件系统的设计与开发是实现对于温度数据实时采集的重要保证,温度数据采集结果的好坏与单片机软件系统的编写密切相关。本节将会详细的介绍系统软件开发的设计思想、程序设计和编写、各个功能模块的实现以及各个功能模块的流程图。3.1.1主体程序设计系统的主程序设计主要完成整个系统的初始化、中断优先级设定以及调用各个模块程序,既主要实现各个模块程序的连接。3.1主程序控制流程图3.1.2数据采集子程序设计该子程序功能是将 PT100 所检测到的温度模拟信号转换为数字信号。完成以下主要操作:分时段轮询 8 测温通道、启动 AD771
7、5、延时等待 A/D 转换结果、读取转换结果并将结果存入 RAM 和上传给上位机等。程序框图如下:3.2数据采集流程图3.2嵌入式Linux操作系统的建立3.2.1开发前的准备工作(1)交叉编译环境的建立交叉编译器选用的是集成交叉编译器cross-3.4.1。程序下载方式选择串口方式。程序编写调试在台式计算机集成开发环境下进行,编译生成可执行代码后,通过串口下载到嵌入式目标板上。(2)基于 S3C2410 的 BootLoader 移植本项目选用的 BootLoader 是由深圳优龙公司自行开发的、专门针对 S3C2410 运用的 ST2410_BIOS_V2.36。该 BootLoader
8、具有的功能是:配合三星公司开发的 DNW 软件,利用 USB 或者串行口下载文件;执行 FLASH 烧写功能;从 NANDFLASH 中启动操作系统;擦除 NAND FLASH 分区;设置启动参数等。这个 BootLoader运行稳定可靠,使用简单方便,而且源码开放,可以根据自己的应用需求任意修改BootLoader 源码,满足了项目需求。(3)Linlux 内核移植所谓 Linux 内核移植,就是针对具体的目标平台对 Linux 做必要的改写后,安装到该目标平台并使其正确运行的过程。基本内容包括:获取某一版本的 Linux 内核源码。内核裁剪:根据具体的目标平台和系统要求,对源码进行量身定做
9、的改写(主要是有关体系结构的部分);然后添加一些驱动模块,构成一款合适目 标平台的新的操作系统。对该系统进行针对目标平台的交叉编译,生成一个内核映像文件(Makefile 文件),该文件可以在目标平台运行。对该映像文件烧写、安装到目标平台中。(4)Linux 文件系统 文件系统是文件存储的物理空间,Linux 操作系统的运行离不开对文件的操作。文件系统的任务是对逻辑文件进行管理,包括复制、删除、修改等操作,方便用户操作文件和目录。为适应便携与移动的需求,嵌入式系统一般采用 Flash 作为存储介质。考虑到 Flash 的持久存储能力、可写性、压缩性和掉电保护能力等因素,Flash 必须使用专门
10、的文件系统。本项目采用的文件系统是 cramfs+yaffs 文件系统的形式,cramfs 文件系统是一种只读文件系统,用来存储系统运行所必须的一些配置、环境变量、数据等;yaffs文件系统是一种可读写的文件系统,用来存储用户的程序、数据等。yaffs 文件系统挂接在 cramfs 文件系统/mnt 目录下,完整的目录路径名为/mnt/yaffs。/mnt/yaffs 目录可读可写,用户可以将自己的程序下载到这里运行,同时也可以在这个目录下配置用户级的环境变量、启动参数等。3.2.2 系统应用程序的设计C.可能造成较大环境影响的建设项目,应当编制环境影响报告书为了实现本系统功能,需要对系统划为
11、多个不同的子任务,并且要分配不同的优先级别。在嵌入式实时系统中,对任务合理的划分和优先级合理的设置是至关重要的。任务划分得越准确,不仅可以减少软件设计的工作量,而且也可以增强系统的稳定性。对任务优先级的合理设置,则是对嵌入式系统实时性的主要保障,可以保证任务调度的合理性。具体到本系统的基本功能划分如下几个子任务: 温度量数据采集任务,数据串行通信给上位机任务,以太网模块数据传输任务,用户配置任务。应用程序编写、调试完毕后,编译成模块,然后将模块下载到/mnt/yaffs 目录下,编辑相关启动脚本,使操作系统启动后自动加载这三个程序模块。以模块的形式加载应用程序,应用灵活,方便升级。6.提出安全
12、对策措施建议3.3 应用程序总体框架图2)应用环境质量标准时,应结合环境功能区和环境保护目标进行分级。由于时间的制约,该版本的温度测量系统只包含基本的温度量采集和将采集到的数据上传给网络的功能。关于用户配置功能,待以后继续完善。线程一:温度量采集,通过采集前端部分与 ARM 系统采用串口通讯连接。线程二:采集数据上传给网络,利用S3C2410 通过串口调用采集前端的各种数据,然后通过基于 DM9000A 的 100M 以太网接口传送给远程的网络监控系统。线程三:数据串行通信给上位机,利用上位机自带的串口与 ARM 进行数据的传递。(三)环境价值的定义1.温度量输入采集线程环境影响的经济损益分析
13、,也称环境影响的经济评价,即估算某一项目、规划或政策所引起的环境影响的经济价值,并将环境影响的经济价值纳入项目、规划或政策的经济费用效益分析中去,以判断这些环境影响对该项目:规划或政策的可行性会产生多大的影响。对负面的环境影响估算出的是环境费用,对正面的环境影响估算出的是环境效益。开关量输入采集线程的整体流程如图所示。该线程首先利用标准系统函数 open()打开各温度测量通道输入设备,再调用标准系统函数 read()读取各温度采集通道的值,然后申请对互斥锁 net_wr_buf_mutex 上锁,来实现将各温度采集通道结果写入 net_wr_buf结构体。若此时有其它线程对互斥锁 net_wr
14、_buf_mutex 已上锁,该线程将阻塞,直到互斥锁 net_wr_buf_mutex 解锁为止;等到该线程对互斥锁 net_wr_buf_mutex 上锁后,将各通道的逻辑状态更新到结构体成员 net_wr_buf.di8中;net_wr_buf.di0net_wr_buf.di7分别存储着温度采集输入通道 1 到通道 8 的温度值。该线程约每隔 1s 循环进行一次各输入通道温度值采集。三、安全预评价报告的基本内容(二) 环境影响经济损益分析的步骤3.4温度输入采集线程流程图2.串口通信线程(1)规划和建设项目环境影响评价。 由于串行口为 8 位异步通信接口,一帧信息为 10 位:1 位起
15、始位(0),8 位数据位(低位先)和 1 位停止位(1),TXDI 为发送端,RXDI 为接收端。这些都是对 UART 寄存器的初始化。完成初始化后,图 4-7 是通讯程序流程图。分类具体内容应编写的环境影响评价文件(二)建设项目环境影响评价的工作等级3.5 RS-232 串口流程图结论针对温度测量系统的要求,本文开发出了基于 ARM+Linux 的多通道温度采集系统,该系统可以实时的将不同通道的温度数据采集、保存并通过两种方式上传给上位机。在硬件方面,本文设计了温度检测系统主板和 ARM 通信板,温度检测板由电源电路、信号放大及调理电路以及 AD 转换电路与单片机接口电路三部分组成。ARM 通信板完成对数据的上传。为了确保高精度测温实现,本设计在硬件调理电路中加入了可靠恒流源,精密电阻校正通道以及公共端校正通道。软件方面设计了 AD7715 的连续采集程序,数字 I/O 控制程序和算法处理程序等。软件方面实现了 A/D 数据采集,温度转换算法,刷新测量结果等实时任务。将通用 Linux 操作系统成功移植到 ARM 微处理器上,按照结构化、模块化的方式进行系统软硬件的设计、调试和最终实现,系统具备嵌入式控制,温度数据实时采集处理,在工业测量与控制领域具有较高的上程价值和广阔的应用前景。专心-专注-专业
限制150内