×
模拟电子 > 模拟器件 > 详情

ADS7844在低功耗数据采集系统中的应用

发布时间:2020-06-24 发布时间:
|
摘要:详细介绍了12位串行模数转换器ADS7844的结构及工作原理,给出了一个实用的低功耗数据采集系统的设计方案,同时给出了相关的硬件电路和软件程序。 关键词:串行模数转换器;数据采集系统;低功耗;ADS7844 在野外以及一些没有市电或者不适宜使用市电的应用场合,自动化仪表通常要采用电池供电,这就要求仪表中的电子元器件的功耗要低,A/D转换器作为自动化仪表的重要组成部份更不例外。笔者采用ADS7844和PIC16C64构成的数据采集系统便具有功耗极低、结构简单等优点,完全可以适应电池供电系统的要求。 1 ADS7844的结构及工作原理 ADS7844是Burr-Brown公司推出的一种高性能、宽电压、低功耗的12-bit串行模数转换器。它有8个模拟输入端,可用软件编程为8通道单端输入A/D转换器或4通道差分输入A/D转换器,其转换率高达200kHz,而线性误差和差分误差最大仅为%26;#177;1LSB。ADS7844在电源电压为2.7V~5V之间均能正常工作,最大工作电流为1mA,进入低功耗状态后的耗电仅3μA。ADS7844通过6线串行接口与CPU进行通信,而且接口简单方便。 1.1 ADS7844的引脚功能 ADS7844的引脚排列如图1所示。它有20个引脚,各引脚的功能如下: CH0~CH7:模拟输入端,当器件被设置为单端输入时,这些引脚可分别与信号地COM构成8通道单端输入A/D转换器;当器件被设置为差分输入时,利用CH0~CH1、CH2~CH3、CH4~CH5和CH6~CH7可构成4通道差分输入A/D转换器 COM:信号地 VREF:参考电压输入端,最大值为电源电压 CS:片选端,低电平有效,该脚为高电平时,其它数字接口线呈三态 DCLK:外部时钟输入端,在时钟作用下,CPU将控制字写入ADS7844,并将转换结果从中读出 DIN:串行数据输入端,在片选有效时,控制字在DCLK上升沿被逐位锁入ADS7844 DOUT:串行数据输出端,在片选有效时,转换结果在DCLK的下降沿开始被逐位从ADS7844移出 BUSY:“忙”信号输出端,在接收到控制字的第一位数据后变低,只有在转换结束且片选有效时,该脚才输出一个高脉冲 SHDN:电源关闭端,低电平有效。当SHDN为低电平时,ADS7844进入低功耗状态 VCC,GND:分别为电源端和数字地。 1.2 ADS7844的控制字及转换时序 ADS7844的控制字如表1所列。 表1 ADS7844的控制字含义 Bit7(MSB) Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0(LSB) S A2 A1 A0 - SGL/DIF PD1 PD0 ADS7844的控制字共有8位,其中S是起始位控制字的起始位总为“1”。A2~A0是通道选择位,在单端输入时分别对应8个通道,而对于差分输入,000~011分别对应CH0~CH1、CH2~CH3、CH4~CH5、CH6~CH7,而100~111则分别对应CH0~CH1、CH1~CH0、CH3~CH2、CH5~CH4、CH7~CH6。Bit3没有定义。SGL/DIF是模式控制位,该位为“1”时是单端输入模式,为“0”时是差分输入模式。PD1和PD0是电源关闭模式控制位,若为“00”,则表示ADS7844在不进行数据转换时自动进入电源关闭模式,若为“11”,芯片则始终处于电源开启模式。 ADS7844有多种转换时序,其基本转换时序如图2所示。从图中可见,一个转换周期需要24个时钟周期,其中8个用于输入控制字,16个用于读取转换结果。控制字的所有位在时钟上升沿被锁入芯片,转换结果在时钟的下降沿被逐位移出。所有移入和移出的数据都是高位在前、低位在后。需要说明的是,ADS7844是12位A/D转换器,其转换结果只有12位,故在移出12位结果后,还需送入4个时钟来完成整个转换过程,这4个多余的时钟移出的数据为“0”,使用时不应作为转换结果处理。 2 低功耗数据采集系统的硬件电路 要设计一个低功耗数据采集系统,只有A/D转换器是低功耗器件还不够。PIC16C64是美国MI-CROCHIP公司生产的高性能单片机,它有许多优点:宽电压2.7V~5V,其工作电流只有1mA3.3V@32kHz时,进入休眠状态后只有几微安且可以用中断将其从休眠状态唤醒等。低功耗数据采集系统的硬件电路如图3所示,其中CS、DCLK、DIN和DOUT必须与CPU连接,而BUSY则可以不用,在转换时稍加延时等待即可。控制AD7844进入低功耗状态有两种方式:一是直接控制SHDN端;二是将SHDN接在电源上,它们均可在控制字中设置。为了节省口线,可采用第二种方式。采样控制可以使用外部中断,如外部中断INT0、串行口中断和PB口电平变化引起的中断等,也可以使用内部定时中断。 3 软件程序 下面给出该系统的主程序部分流程图和汇编程序。该设计假设用外部中断INT0唤醒CPU来进行数据采集,且A/D转换程序就是中断服务子程序。 ORG 000H GOTO MAIN ORG 004H GOTO INT PRO ORG 010H MAIN MOVLW 10H 关闭总中断控制位, 但开放INT0 MOVWF INTCON BSF STATUSRP0 初始化A口 MOVLW 0F8H MOVWF TRISA  A口D0-D2为输 出,D3为输入 BCF STATUS,RP0 BSF PORTA,1 使片选无效 ... BSF INTCON,GIE 开放总中断控制位 LOOP SLEEP 等待中断 NOP ... 数据采集完成后进行其他处理 GOTO LOOP INT_PRO BCF PORTA,0 时钟置低电平 BCF PORTA,2 数据输入置低 MOVLW 08H 置送控制字所需时钟数 MOVWF NUM MOVLW 8CH 控制字,假设转换CH0, 单端输入,自动进入低功耗状态 BCF PORTA,1 片选有效 ... 送控制字 LCALL DELAY 调用延时子程序 MOVLW 10H 置读转换结果所需 时钟数 MOVWF NUM ... 读转换结果 BSF PORTA,1 结束转换并返回 RETFIE 4 结束语 由于PIC16C64和ADS7844都是低功耗器件,且都有低功耗状态,因而用其设计的数据采集系统功耗是很低的。经实测,当电源电压为3.3V、时钟为32.76kHz时,该电路的正常工作电流为2mA,而进入低功耗状态后的系统消耗电流最大为4μA,因而完全适合于电池供电。另外,PIC16C64和ADS7844都是宽电压器件,并且PIC16C64还有许多功能可以开发利用。如果在本系统基础上做必要的功能扩展,便可用于其它工业控制系统的现场控制等领域。 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
技术文章--逆变器中高频漏电的处理