嵌入式系统( Embedded Sy stem) 是以应用为中心和以计算机技术为基础的,并且软硬件是可以裁减的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它是面向用户、面向产品、面向应用的专用系统,与通用的计算机系统相比具有如下特点:嵌入式CPU 通常具有低功耗、体积小、集成度高、成本低等优点,能够把通用的CPU 中许多由板卡完成的功能集成到芯片内部;嵌入式系统的开发和应用不容易在市场上形成垄断; 嵌入式系统产品一旦进入市场,一般具有较长的生命周期; 嵌入式系统的硬件和软件都必须高效率地设计; 嵌入式系统必须有一套交叉开发工具和环境才能进行开发。
3 h: L7 a% b) c5 W检测仪表是实现参数检测过程的重要一环,一般都具有变换、测量装置和显示装置三部分。针对于检测仪表的要求,合理剪裁软硬件实现高集成度、小型化,使得检测仪表不仅具有传感测量、补偿计算、显示的功能,还具有更加强大的信息处理、比较推理、故障诊断、自学习自适应等智能化功能。应用嵌入式系统的网络接入技术,还能使仪表完成远程维护、远程控制、故障报警、信息发布与共享等以前无法实现的功能。嵌入式系统技术的高度发展,给检测与仪表技术带来了前所未有的发展空间和机遇,为检测仪表的智能化、网络化和微型化铺平了道路,为仪表行业的发展带来了广阔的前景。
% [; A, s' \4 k; q
传统电磁流量计一般采用8 位或16 位的单片机,由于单片机性能较弱和外围接口少,无法完成复杂算法或者多项并行任务;在显示方式上一般采用LED 或段式LCD,只能显示数字、字母、汉字和一些粗糙的图案;在数据存储方面一般采用小容量的EPROM 存储器,流量数据存储一般以二进制方式存储,不具有通用性;在通信方式上,一般采用RS 232 或RS 485,其开放性不高,组网距离短。为了提高性能和功能,有些电磁流量计甚至采用了多个单片机协同工作的方式,增加了电磁流量计设计与实现的复杂度。因此有必要采用高性能的32 位处理器来设计电磁流量计。
) p4 \; S9 x8 v: T- u
基于32 位ARM 处理器和嵌入式Linux 操作系统构建嵌入式系统开发平台,并将其应用于电磁流量计的设计和开发中,将有利于提高高端电磁流量计产品的质量,更好地满足用户需求,而且对我国电磁流量计检测技术水平的发展也具有重要的现实意义。由于嵌入式系统的设计与开发的复杂性和高难度,本文所构建的高性能32 位嵌入式系统开发平台,也可推广应用于其他高端仪器仪表的设计中,缩短新产品的设计开发周期,增强企业对客户需求的响应能力和产品的更新换代能力。
3 d9 G( z7 @* Q) [* j3 ^1 ~1 总体设计
: v$ _! u7 J3 ?/ ]: s( ]6 |1. 1 ARM 处理器的选择
9 d& N* m8 ^6 k3 l结合电磁流量计的应用背景,选择32 位的嵌入式ARM 处理器。根据ARM 处理器的应用选型,并考虑到ARM 处理器价格、性能、集成度和功能、设计支持及开发工具的支持等因素,以及应用中对于以太网和USB 接口功能的要求,选择了Atmel 公司的AT91RM9200 工业级芯片。
4 Z$ r+ A# I$ Q
1. 2 嵌入式操作系统的选择
+ |0 @( h( U$ U' W4 i3 P, u对于一种嵌入式操作系统通常有这样一些*估选择标准:实用性、需要消耗的资源数( 包括SDRAM,FLASH MEMORY 等) 、支持软件的丰富程度、可靠性以及其执行性能等。Linux 已经被移植到了很多平台,包括ARM,MIPS,SH3,Alpha,X86,Pow erPC 等,由成千上万的爱好者开发的应用软件、协议栈以及丰富的设备驱动程序;更重要的是这些驱动很多都以OpenSour ce 的形式发布出来,使得大家都从中受益。
1 l5 |, o# B' u6 K9 z$ S! a$ ?
1. 3 总体设计框架
9 y6 p. `5 t) Y9 `7 g
通过对电磁流量计的方案选择,并综合国内外电磁流量仪表产品的智能化、集成化、网络化的发展趋势,系统总体结构如图1 所示。系统主要由硬件子系统和软件子系统组成。
( f4 C" t0 ?; ?7 x5 q% `9 K
电磁流量计的硬件子系统主要由电源模块、信号输入模块、CPU 核心模块、励磁输出模块、人机交互模块、通信接口模块和调试接口模块组成。各模块的功能描述如下:
. @ x- `6 j0 S3 g$ Y电源模块:为整个硬件子系统提供稳定可靠的电源。
' S8 E# k8 |, v+ X1 `! i& b0 H3 R
CPU 核心模块:由ARM 处理器、SDRAM,FLASH 以及辅助电路构成最小系统,同时也是运行嵌入式Linux 的基本硬件平台。
9 c( {: i$ \* h b7 i+ U
信号输入模块:将传感器输出的小电压或电流信号进行放大、滤波以及转换为数字量,以便进行软件处理。
. O! V3 C8 h ?1 E6 G7 P/ K
励磁输出模块:通过D/ A 转换器输出低频三值矩形方波,并通过功率放大输出给传感器。
4 K/ B8 U9 P' ^) c5 i- X0 o. ?
人机交互模块:由键盘接口和TFT 液晶显示接口组成,通过键盘和菜单界面进行系统参数设定,并由液晶屏实时显示瞬时流量、累积流量和流量曲线等。
$ J: o* m4 b; ?. N, }! `1 p% [- a通信接口模块:包括以太网接口、U SB 接口以及RS 232 接口,完成数据通讯和流量传输功能。
4 B4 E( k, ~* s调试接口模块:由JT AG 调试接口和DBCOM 调试串口组成。
8 x+ k; x, O6 m0 z/ c* ]! \4 q软件子系统由引导加载程序( Boot Loader) 、嵌入式Linux 操作系统和应用软件组成。嵌入式Linux 的启动需要引导加载程序来辅助完成,Linux、内核主要由进程管理、内存管理、文件系统管理、设备控制及网络协议等几个部分,为应用软件提供了运行环境。图中的硬件设备控制提供了硬件平台中相关的设备驱动程序,实现了操作系统与硬件之间的信息交互和控制,而系统函数调用为Linux 内核和应用软件之间的信息交互提供了接口。
7 [8 P+ J- l6 o2 ^, [% y
) L! R" ]) Q- h- n1 j/ e) Z8 L图1 系统总体框架。
9 m* y, T4 L3 L% P. B