基于ARM9的嵌入式LINUX地震数据采集系统设计

发布者:konglingdeyuan最新更新时间:2011-07-05 关键字:ARM9  嵌入式LINUX  地震数据采集系统 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  随着数字技术的飞速发展,数字化仪器已成为观测技术领域的主流仪器,因而数据采集技术也成为观测技术领域中一个十分重要的技术环节。众所周知,地震预报是一个的世界性难题,作为地震预报的基础,地震及地震前兆观测数据的地位可想而知,获得真实、可靠的观测数据取决于地震观测仪(包括传感器和采集器两部分)。伴随着计算机的迅速发展,以嵌入式为平台的数据采集系统就应运而生了,它具有可靠性高,体积小,易扩展、功能强,开发周期短、成本低。本论文是基于东方地球物理公司地震采集系统设计项目,采用ARM9的嵌入式系统,因此对其研究具有非常重要的现实意义。

  1 总体设计方案

  作为一个通用的工业数据采集系统的硬件平台,其基本目的是获取外界信号,例如模拟量、开关量,并且能够将数字量信号,转化成模拟量信号输出,以达到对外部设备的控制。在此基础上,本文所要设计的系统有以下的要求:

  (1)多通道模拟量采集。因为工控现场的模拟量数据非常多,而且各种模拟量所需要的放大倍数是不一样的,这就需要可变增益的放大器。

  (2)支持以太网等多种通讯接口。现代工业测控现场要求控制器能够更加速高效的传输数据。

  (3)数据采集具有移动转储功能。基于现场的实际工况,需要控制平台在正常工作的情况下,能够将部分数据通过移动存储器提取出来,以便在其它设备上进行数据分析。

  设计要求为整个系统的性能提出了最低要求,它为器件选型和系统内部的设计提供了指导原则。根据要求总的系统框图如下:

基于ARM9的嵌入式LINUX地震数据采集系统设计

图1 系统的总体结构框图

  2 系统硬件设计

  构建地震采集嵌入式系统必须有硬件支持,嵌入式系统硬件没有统一的标准,根据应用要求对嵌入式系统进行裁剪,系统设计的微处理器采用ATMEL公司生产的AT91RM9200微处理器,它是一个真正的片上系统,片内集成了USB、以太网、EBI、, MCI、SSC和SPI等多种通信接口,200MIPS的处理速度和先进电源管理使这款芯片非常适合于系统控制领域。

  设计基于AT91RM9200的硬件框图如下所示:

基于ARM9的嵌入式LINUX地震数据采集系统设计

图2 系统硬件结构图

  本系统是一款功能强大的微功耗嵌入式高精度数据采集系统,采用基于ARM9内核的工业级处理器和嵌入式Linux操作系统。该系统具备丰富的外围控制接口和通信接口,可通过IO输出的形式控制外围部件以及进行多路模拟信号的切换,采集到的高精度数据可以通过RS232或者高速以太网等方式传送到远程监控端。由于系统采用了功能强大的处理器以及Linux操作系统,除了可以完成高精度数据的采集外,还可以允许用户完成数据处理以及其他的一些应用层的功能。

  3 系统软件设计

  该系统的实现是在嵌入式Linux操作系统下完成的。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。Linux拥有的许多特点,比如广泛的硬件支持,内核高效稳定,开放源码,软件丰富,优秀的开发工具,完善的网络通信和文件管理机制,免费的等等,它的这些优良特性使得其在嵌入式系统中应用十分合适。嵌入式系统是在满足实际应用基础上的最小简化型系统,嵌入式数据采集系统上运行的各种任务繁多并且部分实时性要求高,嵌入式微处理器需要管理的资源丰富,这些都决定了要在嵌入式平台上引入操作系统。[page]

  根据系统要求完成的任务,相应的各模块的设计也就有运用而生了。

  3.1 A/D通道模块的软件设计

  本系统中采用的 ADS1256 芯片,具有 24 位的转换数据,有效转换位数会根据转换速率、输入缓冲器及放大器的设置而有所改变,在输入缓冲器和放大器的设置不变的情况下,转换速率成了影响有效位数的要素。数据采集频率在允许范围内可人为改动,但无论采集频率为多少,ADC的转换速率始终设置为最高 30Ksps,这是为了满足在最高采样频率下工作时,使有效数据位数始终处于最小值,但并不能照顾在低采样频率下工作的情况,因为这时数据量相对较低,对转换速率没有太高的要求,故可以当改选用较低采样频率工作时,相应的将 ADC 工作参数进行设置,将其改为在较低的低转换速率下工作,当然要求是满足此时采样频率下的数据要求,这样可以提高系统在某些采样频率下 ADC 工作的转换精度。

  使用ADC模块时,先要将测量通道引脚设置为AINx,然后通过ADCR寄存器设置ADC的工作模式,ADC转换通道,转换通道(CLKDIV时钟分频值),并启动ADC转换。可以通过查询或中断的方式等待AD转换完毕,转换数据保存在ADDR存器中。ADC转换时钟分频值计算: CLKDIV= -1(Fadclk为所要设置的ADC时钟,其值不能大于4.5MHZ)。

  进行多通道AD转换的时候,首先切换到通道1并进行第一次转换,等待转换结束,再次启动转换,等待转换结果,读取ADC结果。然后切换到通道2并进行第一次转换,操作过程与通道1相同,依次再切换到通道3, 4......,最终完成所有通道的转换。

  A/D转换任务的流程如图所示:

基于ARM9的嵌入式LINUX地震数据采集系统设计

图3 A/D任务转换流程图

  3.2 USB通道模块的软件设计

  USB的拓扑结构中居于核心地位的是主机,任何一次USB的数据传输都必须由主机来发起和控制,所有的USB设备都只能和主机建立连接,而目前,大量的扮演主机角色的是个人电脑。因此我们目前所使用的USB移动设备都是USB的设备如U盘,在嵌入式平台上使用U盘,就必须使得嵌入式产品支持USB host接口。

  USB总线包含4种基本数据传输类型:控制传输、中断传输、批传输以及同步传输,本文中用到的是控制传输和批传输。由于一般U盘都属于mass-storage存储类,遵循Bulk-Only传输协议和UFI命令规范。在该种传输方式下,有3种类型的数据在板卡和U盘之间传送:CBW, CSW和普通数据。CBW是从板卡发送到U盘的命令,这里为SCSI传输命令集(包括标志信息,数据长度,UFI命令),完成后U盘向板卡反映当前命令执行状态的CSW,板卡根据CSW来决定是否发送数据。

基于ARM9的嵌入式LINUX地震数据采集系统设计          

图4 U盘写数据流程图

  3.3 串口模块的软件设计

  一般工控现场所使用的控制器或者智能仪表都需要具有与PC机通讯的功能,以充分发挥PC机和智能设备各自资源的优势。可以设置通讯的波特率,串行口为8位异步通信接口,一帧信息为10位:1位起始位(0), 8位数据位(低位先)和1位停止位(1) TXD1为发送端,RXD1为接收端,这些都是对USART寄存器的初始化。

  完成初始化后,下图是程序流程图:

基于ARM9的嵌入式LINUX地震数据采集系统设计

图5 串口流程图

  4 结束语

  作为嵌入式系统在工业控制领域的应用,本文主要讨论了基于AT91系列处理器AT91RM9200、嵌入式Linux操作系统的地震数据采集系统的硬件软件设计,在对目前地震测量技术发展进行研究的基础上,对本数据采集的功能和设计方法提出了一整套系统的方案。在不断更新总结的过程中完成了采集系统的研发和制作,并且进行了系统的 ADC性能和数据存储各方面的测试。

关键字:ARM9  嵌入式LINUX  地震数据采集系统 引用地址:基于ARM9的嵌入式LINUX地震数据采集系统设计

上一篇:视频监控系统中ARM与DSP的HPI接口设计
下一篇:基于ARM920T的嵌入式静力测量系统设计

推荐阅读最新更新时间:2024-03-16 12:38

用于便携式设备动态电源管理的嵌入式Linux技术
  任何拥有笔记本电脑的人都会察觉,当依靠电池供电时,其便携设备的行为与使用交流主电源供电时不同——显示屏变暗、处理器的时钟变慢、系统只要有可能就会转入待机或睡眠状态。PDA用户也发现,在停止使用一段时间后显示屏将变暗,设备甚至进入睡眠状态。蜂窝电话用户也已经注意到,背景光和按键照明在完成拨号之后会熄灭。事实上,这些可见行为的背后是软硬件技术和节电机制在发挥作用。   全速运行、待机和睡眠等宏观行为利用CPU的固有能力通过降低工作电压或时钟频率来节省功耗。除了全面地改变系统状态外,大多数设备用户察觉不到的是,实际的电源管理也能够逐渐地改变系统状态,这种情况在一秒之内可以发生数百次。   任何动态电源管理策略的基础都是调整便携式设
[嵌入式]
嵌入式Linux:ARM Linux启动流程
ARM Linux启动流程大致为:bootloader ---- kernel---- root filesystem。bootloader 是一上电就拿到cpu 的控制权的,而bootloader实现了硬件的初始化。bootloader俨然就成了Power on 之后”第一个吃螃蟹”的代码。 谈到这就得想到硬件机制是如何满足这个功能的了。CPU内部一般都集成小容量的SRAM (又叫stapping stone,垫脚石),当系统一上电,NAND controler 就自动地将Nand flash 里的前内容复制到垫脚石里,而PC 指针一上电就指向垫脚石的起始地址0x00000000。这样这一部分的代码就可以得到执行。所以,这一
[单片机]
<font color='red'>嵌入式Linux</font>:ARM Linux启动流程
基于嵌入式Linux系统设备驱动程序的开发
引言 Linux是一个遵循POSIX标准的免费操作系统。具有BSD和SYSV的扩展特性。与其他操作系统相比,嵌入式Linux系统以其可应用于多种硬件平台、内核高效稳定、源码开放、软件丰富、网络通信和文件管理机制完善等优良特性而正被作为研究热点,越来越多的研究人员采用Linux平台来开发自己的产品。Linux设备驱动程序在Linux内核源代码中占有很大比例,从2.0、2.2到 2.4版本的内核,源代码的长度日益增加,其实主要是设备驱动程序在增加。 设备驱动程序的编写 设备驱动程序是linux内核的一部分,是操作系统内核和机器硬件之间的接口,它由一组函数和一些私有数据组成,是连接应用程序与具体硬件的桥梁。Linux的一个基本特点是它
[单片机]
嵌入式Linux ARM汇编(三)——ARM汇编指令(四)
十二、ARM伪指令 ARM伪指令不是ARM指令集中的指令,只是为了编程方便编译器定义了伪指令,使用时可以像其他ARM指令一样使用,但在编译时这些伪指令将被等效的ARM指令代替。 1、符号定义伪指令 A、全局变量定义 GBLA(GBLL/GBLS) 全局变量名 GBLA 、GBLL 和GBLS 伪指令用于定义一个ARM 程序中的全局变量,并将其初始化。其中: GBLA 伪指令用于定义一个全局的数字变量,并初始化为0 ; GBLL 伪指令用于定义一个全局的逻辑变量,并初始化为F(假); GBLS 伪指令用于定义一个全局的字符串变量,并初始化为空; 由于以上三条伪指令用于定义全局变量,因此在整个程序范围内变量
[单片机]
基于嵌入式Linux系统的导航软件设计思路
1 引言 随着汽车等各种车辆交通工具的普及,车辆导航设备的需求也变得日益旺盛。作为车载设备。不仅要有可靠的性能,而且需要具有便携、低功耗和低价格等特点。而采用基于ARM微处理器的嵌入式系统与GPS模块相配合的GPS导航终端机的设计方案,可以很好的满足这一系统需求。为此,本文介绍了一种利用ARM9开发板和GPS模块实现GPS导航功能的终端机的软硬件结构和设计方法。 2 GPS导航系统结构 本文所介绍的GPS全球定位导航系统按功能可分为嵌入式主控模块、GPS模块、显示模块、扩展模块及供电模块等五大部分。 嵌入式主控模块基于S3C2440处理器,主要负责对GPS导航模块数据的响应、处理和控制。在硬件上,主控模块就是一个嵌入式开发板,包括
[电源管理]
基于<font color='red'>嵌入式Linux</font>系统的导航软件设计思路
基于嵌入式Linux的SOHO路由器设计
  0 引言   随着通信技术、网络技术的迅速发展,大量网络设备接入网络,互联网用户数量正以几何级数增长。研究表明,IPv4 地址空间将在2011 年前耗尽,因此IPv4 地址资源非常紧缺。SOHO 路由器利用私有网络IP 地址有效地缓解目前 IP 地址短缺的危机,为公司、家庭等小型局域网提供高效、廉价的共享上网方案。当前SOHO 路由器设计,采用   ARM7TDMI+μClinux 设计架构,ARM7 内核微处理器工作频率为50M 左右,而以太网控制芯片工作频率一般为100M,处理器速度难以满足高速接入网用户要求;μClinux 操作系统,不具有内存保护机制,任何程序都有可能导致内核崩溃,系统稳定性较差。本文采用ARM92
[单片机]
基于<font color='red'>嵌入式Linux</font>的SOHO路由器设计
基于ARM9内核的软硬件平台设计
嵌入式应用系统设计包括硬件平台和软件平台两部分。前者是以嵌入式微控制器/微处理器为核心的硬件系统;后者则是围绕嵌入式操作系统构建的软件系统。两者在设计上是密不可分的,并且需要在设计之间进行权衡优化,根据实际应用进行外扩和裁剪。 基于ARM926EJS内核的LPC3180内部集成了丰富的外设资源,为嵌入式系统构建提供了很大的设计空间。本文结合笔者开发LPC3180嵌入式平台的实际经验,将具体介绍该系统的实现、结构组成和实验结果。 1LPC3180芯片特性介绍 LPC3180 是Philips公司新推出的一款ARM9微控制器。它采用90nm工艺技术,片内集成ARM9EJS处理器内核,具有高计算性能、低功耗的特性,这使得在很
[单片机]
基于<font color='red'>ARM9</font>内核的软硬件平台设计
嵌入式Linux的低功耗策略研究
摘 要:功耗是嵌入式设备的一个十分重要的性能指标。在硬件设计和选型之后,功耗水平在极大程度上取决于软件的设计。鉴于Lioux在嵌入式设备中的应用日益广泛,提出在嵌入式Linux下软件编写的几种策略。通过这些软件编写方式,能有效降低最终产品的功耗水平。 关键词:嵌入式Linux功耗策略 引 言 由于Linux系统具有嵌入式操作系统需要的很多特色,如适应于多种CPU和多种硬件平台、性能稳定、可裁剪性很好、源码开放、开发和使用简单等。目前,基于Linux应用的嵌入式设备日益增多,Linux正在嵌入式领域发挥着越来越重要的作用。 对于嵌入式设备尤其是移动设备来说,功耗是系统的重要指标,系统设计的重要目标之一就是要尽可能地降低功耗
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved