摘要:以低功耗微型电容式三轴向加速度传感器作为传感部件,采用基于ARM9的嵌入式系统并定制Linux作为总控系统,选择符合802.11b标准的无线通讯技术作为仪器的网络接入方式,研制完成基于无线IPv6的SI一2型地震烈度计,实现了地震烈度的网络化、数字化观测,解决了我国缺乏直接测定地震烈度仪器的问题。
关键词:IPv6;地震烈度;嵌入式系统;传感器网络
0 引 言
地震烈度是人们了解和研究地震的最早建立并用于描述地震影响强度的标度。地震烈度的概念不仅在地震学和地震工程学领域中仍有着广泛的应用,而且在防震减灾的各个环节中继续起着重要作用。显然,最初人们用宏观描述的方法评定一个地区遭受的地震影响程度存在局限性,因此在上世纪90年代全日本即实现了仪器测定地震烈度的实用化,现在日本发布的地震烈度等级是由地震烈度计测定的烈度。当前国内外已建设的城市地震灾害速报系统一般以地震烈度计观测系统为主体。日本东京煤气公司在1994年就完成了由331台谱烈度计、20台液化传感器和5台强震仪构成的地震监测与震害快速评估系统(SIGNAL)。阪神地震取得显著的减灾效益后,东京煤气公司于1997年~2007年的十年间布设了3 800个新型地震谱烈度计。
目前我国仪器测定地震烈度是通过强震仪观测数据换算得到的。但强震仪结构相对复杂,制造成本很高,不便于大规模布设,而大量应用国外地震烈度测定仪器也不现实,因此自主开发我国适用的地震烈度传感器很有必要。
近年来,传感器网络研究和应用已成为热点。专业传感元器件产品也在向小型化、高精度发展,传感器的发展出现了智能化、网络化的新趋势而非传统的单纯检测功能。网络传感器以嵌入式微处理器为核心,集成了传感器、信号处理器和网络接口,由于引入了微处理器,采用了嵌入式技术和集成技术,使传感器的体积减小,抗干扰性能和可靠性得到提高,同时提高了控制系统的实时性和可靠性;网络接口技术的应用,为系统的扩充提供了极大的方便,具有便于远程操作、维护简单、实时监控等优点。因此,嵌入式系统和网络技术在地震观测领域已得到广泛应用。
鉴于此,新开发的SI一2型地震烈度计不只是一个单纯的地震烈度检测仪器,而是一个高度集成的网络化传感器,它集成了地震烈度感知器件、采集模块、嵌入式处理器与存储器、通信器件、嵌入式软件系统等,具有数据采集、数据存储、数据通讯、定位等功能,可以通过无线方式接入IPv6网络。应用SI一2型地震烈度计搭建的基于IPv6的地震传感器示范网络,在地震监测预警、地震应急快速响应以及减轻地震灾害方面有着广泛的应用前景。
1 系统架构
基于IPv6的SI一2型地震烈度计的软、硬件资源由加速度传感器,数据采集模块(A/D),电源,嵌入式系统(CPU),符合802.11b标准的无线网卡,GPS,内置测控软件等模块构成。市场上现有的嵌入式系统自带的操作系统一般是Linux 2.4内核,为支持IPv6须将操作系统的内核进行重新编译,升级为2.6版本内核。图1所示是SI一2型地震烈度计的总体架构。
2 主要部件选型
2.1 传感部件
选用美国Freescale公司出品的MMA7260Q低功耗微型电容式三轴向加速度传感器。传感器自身具有信号调理、一阶低通铝箔和温度补偿、高灵敏度、低噪声、低功耗、线性输出、自检等特点。测量范围:+/-2 g,测量精度:O.2μg。
2.2 数据采集A/D
地震烈度通过测量加速度换算而得,依据中国地震烈度表,最大的地震烈度2 g对应的加速度在200 cm/s2左右,采用10位A/D进行采样,其加速度分辨率为0.04 g,对应的烈度分辨率为O.024度,远高于人们所能接受的精度。
2.3 嵌入式系统
嵌入式系统采用三星公司基于ARM微处理器的S3C2410X。S3C2410X采用6层板设计,使用ARM920T内核,内部带有全性能的MMU(内存处理单元),具有高性能、低功耗、接口丰富和体积小等优良特性。在尽可能小的板面上集成了64 MB SDRAM、64 MB NAND FLASH,1 MB BOOT FLASH,RJ 45网卡,USB Host,标准串口,SD卡插座等。可集成嵌入式无线局域网设备,实现数据采集和无线传输。
2.4 定位模块
选用的GPS模块,接收特性:16通道,L1,C/A码;自带陶瓷天线;启动时间:冷启动45 s、温启动38 s、热启动2~8 s;精度<2.5 m CEP;再捕获<1 s,1PPS;刷新频率:4 Hz;内置LNA;速度<4 g。
2.5 通讯部件
考虑到地震行业地震观测的实际需要,采用了符合IEEE802.11b的无线网卡和通信距离达到1.2km的无线AP构成通信链路,作为SI一2型地震烈度计的无线通讯单元。
2.6 电源模块
选用可充电的锂电池组作为供电电源,便于长期重复使用。电池组容量为60 Ah。
3 系统功能实现
3.1 SI一2型地震烈度传感器的IPv6化
ARM嵌入式系统自带的操作系统一般是Linux2.4内核的,为支持IPv6须将操作系统的内核进行重新编译,升级为2.6版本内核。但Linux 2.6内核重编译是一个比较复杂的过程,具体步骤如下:
3.1.1 建立交叉编译环境
在RedHat9的主机上进行内核移植开发,首先需要建立交叉编译环境。由于2.6内核中采用了一些新的特性和指令,需要采用较新的工具集。采用binutils一2.15,gcc一3.4.2,glibc一2.2.5,linux一2.6.8,glibc—linuxthreads-2.2.5来建立交叉编译工具链,建立之后将工具链路径加入系统路径MYMPATH中。
3.1.2 内核修改
Linux 2.6.11.7内核加入了对S3C2410芯片的支持,不再需要任何补丁文件。修改内核源码中Makefile的交叉编译选项ARCH=arm,CROSS COMPILE=arm—linux一。针对硬件配置,需要在arch/arm/mach—s3c2410/devs.c或者smdk2410.c中添加FLASH的分区信息s3c nand info。然后在s3c device nand中增加.dev={.platform data=&s3c nand info},在arch/arm/mach—s3c2410/mach—smdk2410.c中的initdata部分增加&s3c device nand,使内核在启动时初始化NAND FLASH信息。
3.1.3 内核编译加载
由于2.6内核会根据本地系统配置进行初始设置,可以导入内核源码默认S3C2410的配置文件,方便加载内核基本配置,然后再选择所需选项。对MTD配置选择支持MTD设备驱动以及NAND FLASH驱动;选择支持要用到的各类文件系统(DEVFS,TMPFS,CRAMFS,YAFFS,EXT2,NFS)以及网络设备和协议,本传感器系统加载了网络芯片CS8900以及USB支持;在H.264多媒体系统中还需要加载Frame buff—er以支持LCD显示功能。使用交叉编译工具编译内核源码后,会在arch/arm/1boot/下生成名为zImage的内核映像,在Boot loader的命令提示模式下使用下载命令完成内核加载到开发板的存储设备FLASH中。