新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种高速单片机数据采集处理系统设计

一种高速单片机数据采集处理系统设计

作者:时间:2012-03-12来源:网络收藏

1 介绍

是MAXIM公司推出的一种串行A/D转换器,具有低功耗、高精度、高速度、体积小、接口简单等优点.是一种单通道12位逐次逼近型串行A/D转换器,功耗低,转换速度快.
1.1 MAX1241功能特点
(1)2.7~5.25 V单电源供电;
(2)12位分辨率;
(3)8脚DIP/SO封装;
(4)低功耗:Pmax=3mW(73 KSPS),
(5)内部提供采样/保持电路;
(6)兼容于SPI/QSPI/MICROWIRE 串行三线外设接口;
(7)内部提供转换时钟.
1.2 芯片介绍及外围电路


图 1所示是MAX1241最简单的外围配置电路。其中,1脚是电源输入端,电源电压范围为2.7~5.25V。2脚是模拟信号输入端,输入电压范围是 0V~VREF,1241可以在9μs内实现将输入信号转换为数字信号。3脚是关断控制输入端,利用其可实现1241两种工作模式的切换,将3脚外接低电平,1241工作于关断模式,输入电流可减少至10μA以下,处于节能状态;若外接高电平,1241是标准工作模式,可实现模数转换。管脚4是基准电压,需外接4.7μF的电容。5脚是接地端。管脚6是数据输出端,当其由0翻转为高电平时,表示数据转换完成,可以读数据了。7脚是片选端,低电平有效。管脚 8是外部读数时钟脉冲输入端,最高频率可达2.1MHz,当数据转换完成,输入外部读数时钟,每个读数时钟脉冲的上升沿读出一位数据,数据读出的顺序是由高位到低位,第一个读数时钟脉冲的下降沿表示数据输出开始,1241是12位模-数转换器,所以要完整的读出转换数据,至少需要外部输入13个脉冲。
1.3 工作过程
其工作时序如图2所示,下面我们结合图2来分析MAX1241的工作过程.


(1)、在一种高速单片机数据采集处理系统设计 =1前提下,使片选信号有效,同时保持时钟输入端为低电平;
(2)、大约9μs后,可在SCLK端送入外部时钟脉冲,读出数据。从时序图中可看出,转换数据是在输入脉冲由高电平变成低电平后有效,上升沿读出。当模数转换完成后,数据输出端DOUT由低电平翻转为高电平,所以也可通过查询DOUT的状态确定转换是否完成;
(3)、在外部输入13个脉冲后,数据读取完成,将片选信号端置高电平。只要使片选信号再次有效,就可以重新开始一轮新的模数转换和读取过程。
(4)、数据读取完成后,如果仍然保持片选信号有效,则DOUT端始终输出低电平。

2 系统设计

MAX1241的典型配置及与89C51的接口电路如图3所示,采用+3.6V的标准电池E供电,这样,89C51和1241可以共用一个直流电源,从而减小系统体积。关断输入控制端由P1.0控制,这样使1241只有在需要采集数据时才处于标准工作模式,否则就处于节能态。1241的三根数据线,时钟输入端、片选控制端和数据输出端分别由89C51的P3.4、P3.3和P3.5控制。设计时应注意以下几点:
2.1 电源配置 
VDD供电范围为2.7~5.25V,为减少来自电源的干扰,可在VDD引脚配置4.7μF和0.1μF的滤波电容.
2.2 参考电源的配置 
由于MAX1241内部没有参考电源提供,需外接参考电压,只需将Vref接在4.7μF电解电容即可;特殊情况下,可根据前面所述的工作方式控制,让一种高速单片机数据采集处理系统设计 悬空,此时,即可在REF引脚输入参考电压,其范围为1.0~VDD.REF引脚外接电解电容不宜选择过大,电容越大,MAX1241由待机模式到正常工作模式的唤醒时间将越长.
2.3 采样/保持电路 
MAX1241芯片内部具有采样/保持电路,无需外部保持电容和采样/保持电路.
2.4 SPI接口时序的软件合成 
由于89C51不具有SPI接口,因而采用软件合成的方式来和MAX1241接口,模拟SPI接口方式.其时序必须严格按照图2所提供的时序图来进行.应当注意,SCLK的个数应比数据的实际位数多1,因第0个SCLK为A/D转换期间所必须提供的.
2.5 MAX1241与89C51的硬件接口 
MAX1241的控制线SCLK、一种高速单片机数据采集处理系统设计、DOUT可与89C51的通用I/O口直接相连,无需任何接口变换,其SPI接口由89C51的程序来合成.

一种高速单片机数据采集处理系统设计
图3 电路
2.6 模拟电压输入 
模拟电压经前级放大至0~VREF 范围后,由AIN引脚输入.

3 数据处理程序

为保证数据的准确性,可利用程序来进行数字滤波,通常采用一次延迟数字滤波,其算
一种高速单片机数据采集处理系统设计
为了保证准确度,可采用双字节运算程序来处理数据,并且不考虑符号。这样可以简化程序。常数都表示成16位数据,以便进行双字节运算。在下列数据区中加入本程序所用的常数及运算数据。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭