元器件交易网-中发网全新升级平台
关注我们:
首页 > 技术资料 > 正文

数据采集芯片介绍及系统设计分析

  1  MAX1241介绍

  MAX1241是MAXIM公司推出的一种串行A/D转换器,具有低功耗、高精度、高速度、体积小、接口简单等优点.MAX1241是一种单通道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  芯片介绍及外围电路

  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来分析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的程序来合成.

  2.6 模拟电压输入

  模拟电压经前级放大至0~VREF 范围后,由AIN引脚输入.

  3  数据处理程序

  为保证数据的准确性,可利用程序来进行数字滤波,通常采用一次延迟数字滤波,其算

  为了保证准确度,可采用双字节运算程序来处理数据,并且不考虑符号。这样可以简化程序。常数都表示成16位数据,以便进行双字节运算。在下列数据区中加入本程序所用的常数及运算数据。

 

  4  软件设计

  单片机用C语言编程具有开发周期短、可读性强、可移植性好和修改方便等特点,但是C语言反汇编生成的汇编代码往往较长。直接用汇编语言编程虽然编写的程序较短,在直接对机器配件进行控制方面具有相当的优势,但是开发周期长,修改也不方便。较好的解决办法是程序的框架或主体部分用C语言编写,要求执行效率高的部分用汇编语言编写。这种混合编程的方法将C语言和汇编语言的优点结合起来,所以成为目前单片机开发最流行的编程方法。

  根据设计要求,按照实现功能的分类,系统软件主要完成五项任务:系统初始化、数据采集、数据处理、键盘响应和数据显示。在数据处理中,需要进行大量浮点数的乘除法和正弦、余弦运算,因此数据处理部分采用C语言编写,在Keil环境中模块化编程,充分利用C语言强大的计算能力,系统初始化、键盘响应和数据显示也采用C语言编程,在数据采集部分中,MAX1241对时序要求比较严格,采用汇编语言实现,所有功能模块均为独立的C文件或ASM文件。而实现C语言和汇编语言的混合编程是软件设计中的难点和关键之一。本文中,汇编语言采用单独的文件,通过寄存器传递函数参数,相关具体程序如下所示:

  5 结束语

  为保证数据的准确性,可多次采样后,利用程序来进行数字滤波,以减少各种噪声和干扰带来的错误数据,提高系统的可靠性和稳定性,而不需增加任何硬件开销.

  • 微笑
  • 流汗
  • 难过
  • 羡慕
  • 愤怒
  • 流泪