由AT91 M55800A构成的简易数据采集方案

发布者:CuriousObserver最新更新时间:2007-11-01 来源: 电子工程师关键字:周期  振荡  编程  寄存 手机看文章 扫描二维码
随时随地手机看文章

0 引 言

在计算机测量、控制及信号处理中,数据采集发挥着至关重要的作用。数据采集是获取数据的重要手段,它是从传感器或其他待测设备等模拟或数字被测单元中自动采集信息的过程。而采用ARM内部的A/D转换资源,具有转换速度较高、工作可靠、设计的复杂度较低等优点。同时,ARM还具有体积小、运算速度高,A/D转换分辨率较高的特性,使ARM得到了广泛的应用。本文利用ATMEL公司ARM7系列中的AT91M55800A设计了一个简易的数据采集方案。该方案具有结构简单、开发容易,可靠性强、价格低廉等特点,有一定的实用价值。

1 数据采集方案的结构和功能

方案结构如图1所示。

该方案是由接收、A/D转换和处理、输出3部分组成。本方案以AT91M55800A为核心,该芯片是一个高性能的32位处理芯片,内部有一个8选1的模拟通道,一个10位的A/D转换通道。预处理电路将传感器拾取的信号进行隔离放大和滤波至A/D转换所需0~3 V,处理过的模拟信号通过AT91M55800A中的A/D转换通道变成数字信号,并根据要求进行相应的处理,最后由液晶显示器输出。同时,本方案使用Flash存储器作为程序存储器用于保存数据。

2 硬件组成

AT91M55800A是ATMEL公司基于ARM7TDMI核的AT91的16/32位微控制器家族成员。它通过完全可编程的外部总线接口直接连到片外存储器,使读或写操作最快可以达到一个时钟周期,通过将带有片内SRAM的ARM7TDMI处理器核、多种外围功能模块、模拟接口和低功耗振荡器集成于单一硅片。AT91M55800A为低功耗应用提供了一个高度灵活和高性价比的解决方案。其主要特点如下:

a)集成了ARM7TDMI ARM Thumb处理器核,高性能的32位RISC体系结构,高代码密度的16位指令集,嵌入式ICE;

b)8 kB片内SRAM,32位数据总线宽度,单时钟周期访问,方案可最大扩展64 MB存储器,软件可编程的8位或16位外部数据总线;

c)主/从式SPI接口,8位~16位可编程数据长度,4个外部从芯片选择;

d)可编程的看门狗电路,提高方案的安全可靠性;

e)58个可编程I/O口线,扩展了输入输出口线;

f)先进电源管理控制器,具有正常、等待、慢速、待机和掉电方式;

g)8优先级、可单独屏蔽的向量中断控制器,6通道16位定时器/计数器,3个USART,每个USART有2个专用的PDC通道;

h)8通道10位A/D转换器,2通道10位D/A转换器;

i) 采用片内主振荡器和PLL倍频的时钟产生器,采用片内32 kHz振荡器的实时时钟。

图2为方案的实际应用电路。


该芯片中含有两个完全相同的4通道10位A/D转换器,可组成一个8通道10位A/D转换器。每个A/D转换器具有4个模拟输入引脚和数字触发输入引脚,并提供一个AIC的中断信号。两个A/D转换器共享模拟电源引脚和参考电压输入引脚。每一个通道可被单独地使能或禁止,并具有自己的数据寄存器。A/D转换器可以配置为在转换序列后自动进入睡眠
模式,并可由软件、T/D或外部信号来触发。

由于AT91M55800A内部不带片内程序存储器,需要对方案外扩[1] Flash存储器作为程序存储器用于存放程序代码、常量表及掉电后需要保存的数据。AT91M55800A的总线读写周期最长可以有8个周期的延时,要求Flash存储器的最低读速度不低于该速度。考虑到方案的执行速度和程序大小,选用访问速度为70 ns的HY29LV160(芯片容量是1 M×16 bit共2 MB),基本上能够满足方案要求。

该系统中接入AD590[2]作为温度传感器,该器件以电流作为输出量来指示温度,并且将得到的信号经过放大器的缓冲隔离得到一个与温度成正比的电压,从而实现对温度的测量。

3 A/D转换编程

在AT91M55800A中,两个A/D转换器独立工作,每个A/D转换器只能读取一个通道的A/D转换器值。此程序让用户指定哪一个通道工作,然后读取指定通道的值,并显示出来。由于A/D转换器的精度有10位和8位,这里设置为10位,因此获得的数据范围在0~3FF之间。

A/D转换器的工作过程不同于一般的外围设备。初始化后,必须有一个触发命令高速A/D转换器进行采集,此时A/D转换器对其激活的某一个通道上的模拟信号进行采样、保持,然后转换成数据,存储在数据寄存器中。用户可以从状态寄存器中了解到A/D转换器是否已经转换完成,然后通过读取数据寄存器得到A/D转换后的数值。

A/D转换程序流程图见图3。

对A/D转换器进行编程,使用AT91库(在/pe-riph/adc目录下),与A/D转换器相关的代码部分[3]如下:

a)adc.h:A/D转换器用户接口结构定义StructADC、控制寄存器ADC-CR、模式寄存器ADC-MR和其他一些重要寄存器的各个重要位的定义、A/D转换器中断服务程序函数定义。

b)Lid_adc.h:A/D转换器描述符定义、库函数的定义。

e)Lid_adc.c:库函数的详细代码。包括:初始化ADC at91_adc_open、关闭ADC at91_adc_close、获得状态寄存器的值at91_adc_get_status、设置控制寄存器的值at91_adc_trig_cmd、读取A/D转换的值at91_adc_read、打开指定的A/D转换通道at91_adc_channel_open、关闭指定的A/D转换通道at91_adc_channel_close、获取通道开和关的状态at91_adc_channel_geI_status等。

4 结束语

本文介绍了一个基于ARM7的数据采集方案。该方案通过硬件的具体设计和软件编程实现了预期的目标。利用ARM进行数据采集可以使方案更稳定,而且可以达到功耗小、性能高的效果,适合在多种工业场合中应用。

关键字:周期  振荡  编程  寄存 引用地址:由AT91 M55800A构成的简易数据采集方案

上一篇:基于CPLD的时间控制器设计
下一篇:铁电存储器在多CPU自动识别控制系统中的应用

推荐阅读最新更新时间:2024-03-30 21:24

无线电应用:轻松编程实现无线遥控
  无线收发组件中,315MHz收发组件是常用的一种,如在机动车防盗应用方面使用315MHz组件的就很多,一般电子商店出售的这种模块,发送和接收都是三个接线端子,一个数据端,另外两个则是电源端,且相对较便宜,作者所买的一对才13元,若要自制则相对要困难些,因为类似遥控电路这种高频电路其调试是很专业的,需要专用的设备和仪器,大家可参考这方面的资料。   电路功能   本文所介绍的无线收发电路采用ATMEL公司的AT89C2051单片机作为编码和解码电路的核心器件,接收端采用1602字符液晶显示器显示所接收到的数据。   工作原理   首先介绍编码电路。在使用过程中,笔者直接将发送模块的三个端子与自制的一块
[电源管理]
无线电应用:轻松<font color='red'>编程</font>实现无线遥控
编程计算机控制器在电梯远程监控中的应用
0 引言   先进的电梯远程监控系统可以远程在线随时掌握电梯的运行情况, 检测电梯故障, 因而可大大提高电梯发生故障时的修复速度。将新型控制系统应用于电梯控制及远程监控, 不仅是现代楼宇大型化和高层化的发展要求, 而且是目前楼宇智能化发展的迫切需要。 1  PCC - 可编程计算机控制器概述   PCC ( Programmable Computer Controller ) 是奥地利贝加莱公司推出的可编程计算机控制器, 它除了具有 PLC 的所有功能外, 还具有通用计算机的强大的数据处理能力、高运算速度和大存储容量。PCC 的明显特点在于其类似大型计算机的分时多任务操作系统和多样化的应用软件运行平台。如图1 所示,
[嵌入式]
可重编程的DisplayPort固件
DisplayPort在计算机行业中正在变得日益普及。它是一种免专利费的数字显示接口标准,有替代模拟VGA的可能。随着越来越多的计算机开始支持DisplayPort,显示器、电视、投影仪和所有其他拥有DVI、HDMI、LVDS或VGA接口的外围设备对DisplayPort接口的需求也在增长。   大多数现有的DVI和HDMI接口都是专门设计用于双模式DisplayPort源的电平转换电路。不过,双通道DVI、LVDS和VGA接口均需要协议转换。例如,对于VGA接口,视频信号必须从高速数字信号转换为低速模拟信号,这使得VGA接口成为一种非常复杂的设备。通常,协议转换DisplayPort接口中的固件引擎掌管着这种转换。   
[工业控制]
可重<font color='red'>编程</font>的DisplayPort固件
数字电源控制器UCD3138 的逐周期保护功能说明
摘 要 UCD3138 是德州仪器(Texas Instruments)公司推出的最新一代数字电源控制器,于2012年第一季度正式发布。相比于上一代数字电源控制器UCD30xx,其在诸多方面有着重要改进,功能更加丰富,性能更加强大。本文基于一款采用硬开关全桥(副边采用全波整流)拓扑的开关电源,详细介绍了UCD3138的逐周期保护功能(cycle by cycle limitation)的硬件设计、软件配置和实测数据。在完成对上述功能理解的同时也可以清楚的了解到UCD3138的优势所在。本文的最后部分给出了参考文献。 1 、逐周期保护功能的设计与实现 逐周期(cycle by cycle)保护功能是UCD3138
[电源管理]
数字电源控制器UCD3138 的逐<font color='red'>周期</font>保护功能说明
PIC单片机入门_C语言编程技术
1.为什么也是C语言? 用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高等,因此C 语言编程在单片机系统设计中越来越广泛的运用。PIC 单片机的软件开发,同样可以用C 语言实现。 Microchip 公司没有自行开发PIC单片机的C 语言编译器,但其他公司有开发众多支持PIC 单片机的C 语言编译器,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机开发者中得到广泛认可。 Hitech-PICC 编译器基本上符合ANSI C标准,但是不支持函数的递归调用
[单片机]
编程机器人大致可以分为以下几个类型
人工智能的火热加剧了中国家长的焦虑。 2017年7月,国务院印发了《新一代人工智能发展规划》,提到要在中小学阶段设置人工智能相关课程,逐步推广编程课程,并为一些机器人竞赛加入了应试加分机制。 2018年11月,全国首套涵盖了从小学到高中的人工智能教材面世。其中涵盖了应用和研发以及编程课程等。 再加上科技名人的“示范效应”:埃隆·马斯克9岁就开始学习编程、马克·扎克伯格10岁开始学编程,乔布斯和比尔·盖茨十二三岁时也开始接触编程了…… “不能输在起跑线上”的教育思维促发了编程教育赛道的急剧膨胀,专注编程启蒙教育的编程机器人在这个时候杀了出来,只是在玩具和教具间模糊摇摆的编程机器人真是一个好故事吗? 多个风口
[机器人]
单片机编程方案
  语言和汇编语言在开发单片机时各有哪些优缺点?   答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。   语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。   对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、ler_541.do" target="_blank" ST ACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。
[单片机]
100MHz可编程数字信号发生器
    摘 要: 介绍一种基于ISA总线的可编程数字信号发生器,其特点是:工作时钟100MHz,用可编程逻辑器件EPLD作为核心元件,信号输出多达16路,用LabWindjows/CVI软件设计的PC机虚拟仪器面板,界面友好,操作方便。并给出了硬件原理框图。     关键词: ISA总线 可编程 数字信号发生器 虚拟仪器     在通讯、电子、自动控制中,经常需要非周期的、能精确定时的数字信号,用以产生测试信号或模拟控制的时序。国内现有的可程控信号发生器输出信号频率较低(几kHz~几MHz)、输出路数较少(一般为两、三路)且结构复杂、操作不方便,难以满足现代电子技术发展的需要。     为此,我们开发了
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved