解析ARM9在嵌入式LINUX地震数据采集系统的应用

时间:2011-09-02

  0 引言

  随着数字技术的飞速发展,数字化仪器已成为观测技术领域的主流仪器,因而数据采集技术也成为观测技术领域中一个十分重要的技术环节。伴随着计算机的迅速发展,以嵌入式为平台的数据采集系统就应运而生了,它具有可靠性高,体积小,易扩展、功能强,开发周期短、成本低。本论文是基于东方地球物理公司地震采集系统设计项目,采用ARM9的嵌入式系统,ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。 因此对其研究具有非常重要的现实意义。

  1 总体设计方案

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

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

  (2)支持以太网等多种通讯接口。现代工业测控现场要求控制器能够更加速高效的传输数据。以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。

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

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

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

  图1 系统的总体结构框图

  2 系统硬件设计

  构建地震采集嵌入式系统必须有硬件支持,嵌入式系统硬件没有统一的标准,根据应用要求对嵌入式系统进行裁剪,系统设计的微处理器采用ATMEL公司生产的AT91RM9200微处理器,ARM9的典型应用TI公司的OMAP730是的无线通信基带信号处理器。该处理器是TI的GPRS Class 12通信模块与专用于应用处理的ARM926通用处理器(GPP)的集成。由于GPP的速度可达200MHz,因此OMAP730具有两倍于上一代OMAP710处理器的应用处理性能。如同所有的OMAP处理器一样,OMAP730可支持的移动操作系统,其中包括Microsoft的智能电话与Pocket PC PhoneEdition、Svmbian OS与Series 60、Palm OS以及Linux.它是一个真正的片上系统,片内集成了USB、以太网、EBI、MCI、SSC和SPI等多种通信接口,200MIPS的处理速度和先进电源管理使这款芯片非常适合于系统控制领域。

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

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

  图2  系统硬件结构图

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

  3 系统软件设计

  该系统的实现是在嵌入式Linux操作系统下完成的。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。Linux拥有的许多特点,比如广泛的硬件支持,内核高效稳定,开放源码,软件丰富,的开发工具,完善的网络通信和文件管理机制,的等等,它的这些优良特性使得其在嵌入式系统中应用十分合适。嵌入式系统是"控制、监视或者辅助装置、机器和设备运行的装置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

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

  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性能和数据存储各方面的测试。虽然嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。作为一个系统,往往是在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。


  
上一篇:嵌入式Z1510的音视频压缩卡的设计与实现
下一篇:介绍TMS320VC5509的二次引导加载方法

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料