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 芯片介绍及外围电路
图 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位数据,以便进行双字节运算。在下列数据区中加入本程序所用的常数及运算数据。[page]
4 软件设计
单片机用C语言编程具有开发周期短、可读性强、可移植性好和修改方便等特点,但是C语言反汇编生成的汇编代码往往较长。直接用汇编语言编程虽然编写的程序较短,在直接对机器配件进行控制方面具有相当的优势,但是开发周期长,修改也不方便。较好的解决办法是程序的框架或主体部分用C语言编写,要求执行效率高的部分用汇编语言编写。这种混合编程的方法将C语言和汇编语言的优点结合起来,所以成为目前单片机开发最流行的编程方法。
根据设计要求,按照实现功能的分类,系统软件主要完成五项任务:系统初始化、数据采集、数据处理、键盘响应和数据显示。在数据处理中,需要进行大量浮点数的乘除法和正弦、余弦运算,因此数据处理部分采用C语言编写,在Keil环境中模块化编程,充分利用C语言强大的计算能力,系统初始化、键盘响应和数据显示也采用C语言编程,在数据采集部分中,MAX1241对时序要求比较严格,采用汇编语言实现,所有功能模块均为独立的C文件或ASM文件。而实现C语言和汇编语言的混合编程是软件设计中的难点和关键之一。本文中,汇编语言采用单独的文件,通过寄存器传递函数参数,相关具体程序如下所示:
5 结束语
为保证数据的准确性,可多次采样后,利用程序来进行数字滤波,以减少各种噪声和干扰带来的错误数据,提高系统的可靠性和稳定性,而不需增加任何硬件开销.
参考文献
1 MAXIM公司. MAXIM产品资料全集[M/CD]. 1999
2 薛钧义,张彦斌. 单片微型计算机及其应用[D]. 西安:西安交通大学出版社,2001.06
3 (美)Charlie Calvert,et al.著 徐科等译C++Builder应用开发大全[M].北京:清华大学出版社,1999。
上一篇:单片机在串口通信和ICP编程上的应用
下一篇:基于MSP430单片机的智能无功补偿控制器的设计
推荐阅读最新更新时间:2024-03-16 12:55
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况