收藏 分销(赏)

ADS7844application.doc

上传人:pc****0 文档编号:7440010 上传时间:2025-01-04 格式:DOC 页数:5 大小:38.50KB 下载积分:10 金币
下载 相关 举报
ADS7844application.doc_第1页
第1页 / 共5页
ADS7844application.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
ADS7844串行模/数转换芯片的原理及其在嵌入式的应用 12位高精度AD的使用 ADS7844串行模/数转换芯片的原理及其在嵌入式的应用 摘要:ADS7844是一种12-Bit的串行数模转换器芯片。它具有与CPU方便联接的同步串行接口,接口灵活, 功耗低等特点。文中详细介绍了ADS7844的工作原理、引脚定义、工作时序及同步串行模式下与51单片机的接口电路及部分读写程序以及需要注意的地方。 关键词:模数转换器 SPI接口 ADS7844  单片机 概述 A/D采集芯片在以单片机为核心构成的智能仪器仪表、测控系统、工业控制等领域中有着广泛影响。但是现在有的A/D转换芯片存在着精度差和接口电路复杂等缺点。ADS7844是Burr-Brown公司推出的一种高性能、宽电压、低功耗的可以程控为8通道单端输入或4通道差分端输入的12-Bit的串行数模转换器,内部集成有SPI口。 从而简化了接口电路设计,无需用复杂的外围元件,就可实现精度高、性能稳定的数据采集转换。在5V电源,转换速率为200kHz的情况下功耗仅仅3Mw。在节电模式下,功耗可以减小到1uW 1、 特性及引脚说明 1.1  ADS7844主要特性如下: ① 单电源,电压范围:2.7V-5V均能正常工作,最大工作电流为1mA,进入低功耗状态后的耗电仅3μA ② 其转换率高达200kHz ③ 它有8个模拟输入端,可用软件编程为8通道单端输入A/D转换器或4通道差分输入A/D转换器 ④ 典型信噪比为72dB。 ⑤ 积分非线性(INL)和差分非线性(DNL)最大为±0.5LSB  ⑥ 保证无漏码 ⑦ SPI接口 ⑧ 采用20脚QSOP或SSOP封装形式。  1.2  ADS7844引脚的功能和排列说明    AD7844引脚功能说明如表1所示,引脚排列如图1所示   表1 引脚号 引脚名称 功能描述    备注 1、2、3、4、5、6、7、8 CH0-CH7 模拟输入端。器件被设置为单端输入时,这些引脚可分别与信号地COM构成8通道单端输入A/D转换器;当器件被设置为差分输入时,利用CH0~CH1、CH2~CH3、CH4~CH5和CH6~CH7可构成4通道差分输入A/D转换器 对状态寄存器的SGL/DIF位进行配置以设定输入模式。1为单端模式,0为差分模式。 9 COM 信号地。 信号输入参考地 10 电源关闭控制端。低电平有效 置低时,A/D进入低功耗状态 11 VFEF 参考电压输入端 12、20 VCC 电源输入。 13、14 GND 电源地。 15 DOUT 串行数据输出端。在片选状态下,在时钟上升沿,数据从MSB-LSB被逐位移出。 16 BUSY 忙”信号输出端。 在接收到控制字的第一位数据后变低,只有在转换结束且片选有效时,该脚才输出一个高脉冲 17 DIN 串行数据输入端。在片选有效时,控制字在DCLK上升沿被逐位锁入ADS7844 18 /CS 片选端 低电平有效,为高电平时,DIN管脚的输入数据不能被移入,DOUT为高阻态 19 DCLK 外部时钟输入端。在时钟作用下,CPU将控制字写入ADS7844,并将转换结果从中读出 DCLK时钟速率决定转换速度 2、 工作原理 1.1  内部原理框图 如图2所示   2.2 工作原理描述 AD7844的基本*作需要一个外部参考电压和外部输入时种。参考电压最高为VCC,而参考电压决定了转换器的输入范围。能过配置内部控制寄存的来设置AD7844的工作模式。ADS7844的控制字如表2所列。 表2 ADS7844的控制字含义 Bit7(MSB) Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0(LSB) S A2 A1 A0 忽略 SGL/DIF PD1 PD0 ADS7844的控制字共有8位,其中S是起始位控制字的起始位总为“1”否忽略DIN的输入数据。A2~A0是通道选择位,在单端输入时分别对应8个通道,而对应于4个差分输入通道。Bit3没有定义。SGL/DIF是模式控制位,该位为“1”时是单端输入模式,为“0”时是差分输入模式。PD1和PD0是电源节电模式控制位,若为“00”,则表示ADS7844在不进行数据转换时自动进入电源关闭模式,若为“11”,芯片则始终处于电源开启模式。 ADS7844与微处理器之间有多种*作方式,其基本转换时序如图3所示。从图3中可见,每个完整帧通讯需要8个时钟周期,一个完整的转换需要3帧串行通讯个即要在DCLKL输入24个时钟周期,其中8个用于输入控制字,16个用于读取转换结果。控制字的所有位在时钟上升沿被锁入芯片,转换结果在时钟的下降沿被逐位移出。所有移入和移出的数据都是高位在前、低位在后。需要说明的是,ADS7844是12位A/D转换器,其转换结果只有12位,故在移出12位结果后,还需送入4个时钟来完成整个转换过程,这4个多余的时钟移出的数据为“0”,使用时不应作为转换结果处。对于16个时钟,和15个时钟周期的转换*作,可以参看有关资料,这里不再介绍。   3、 ADS7844在嵌入式系统中的应用 ADS7844可以广泛应用于智能仪器仪表系统、水、电、暖气表中。现在就我在环保监测适配器的应用中,给出硬件原理图的接口和软件程序。由于模拟串行通信稍逊于使用SPI口对ADS7844的访问,故在产品中使用了有SPI接口的单片机AT89S53。当然带有SPI接口的单片机很多。       要使用SPI接口,必须要了接SPI的一些有关容。由于篇幅所限不做详细介绍 3.1 同步串行接口(SPI)有以下的性能 ① 全双工,3线同步数据传输。 ② 主从可设的*作方式。 ③ 高达6M位的。 ④ LSB、MSB传输位在先可设。 ⑤ 4位可编程的位速。 ⑥ 传输结束中断标志。 ⑦ 写冲突标志保护。 ⑧ 可唤醒的空闲模式。 3.2  ADS7844在适配器中的硬件接口电路 以适配器中的AT89S53为例,给出ADS7844在适配器中的硬件接口电路,如图4所示。        本例应用中设AT89S53为主机,ADS7844为从机,AT89S53的P1.4是用来片选从机使能输出端。低有效。P1.7(SCK)是相位、极性4种组合的串行时钟输出。可以通过设置SPI控制寄存器的CPOL、CPHA来设置SCK的相位、极性。P1.5(MOSI)是主机数据移出,从机数据输入端。P1.6(MISO)是主机数据移入,从机数据移出端。P1.3是AD的忙信号,本设计硬件中做了联接,但是软件中没有启用。向SPI口的控制寄存器(SPCR)中写入57H,设置为禁止串行中断;开启SPI口;先输出MSB位;设单片机为主机AD为从机;有效沿为上升沿;相位为正;时钟为频率SCK=Fosc/128。设置完后将会启动SPI同步串行通信,把要采集通道的命令字写入SPI口的数据寄存器(SPDR)中,自动会由主机发送给从机A/D。然后读取SPI的状态寄存器(SPSR)Bit7,判断中断是否产生。如果中断标志置位,开始接收A/D转换的数据。 3.3  ADS7844在讯设备适配器中的程序设计如下 ;变量区:21H- ;********************************************************* SPDR            DATA            86H     ;SPI数据寄存器 SPCR            DATA            0D5H    ;SPI控制寄存器 WCON           DATA            96H     ;看门狗控制寄存器 SPSR            DATA            0AAH   ;SPI状态寄存器 SS              EQU             P1.4      ;从口选择端 WDOG          EQU             P1.0      ;程序运行灯 TXLED          EQU             P1.1     ;发送数据指示灯 BUSY           EQU             P1.3    ; MOSI           EQU             P1.5    ;主机输出,从机输入 MISO           EQU             P1.6    ;主机输入,从机输出 SCK            EQU             P1.7    ; 主机输出的串行时钟  ;********************************************************* ;位矢量区:20-21H ;********************************************************* JUST10MS        BIT             20H ;*********************************************** ORG        0000H AJMP        MAIN ORG        000BH AJMP        TIMER0_INT ; ORG            0023H ; AJMP    ORG            0040H ;************************************************* ;主程序 ;************************************************* MAIN: MOV SP,#65H               ;堆栈指针50H MOV     WCON,#0H           ;看门狗初始化 CPL     WDOG  MOV     A,#00H MOV     R4,#0FFH   SETB    EA CLRRAM:     MOV     @R0,A INC     R0 CPL     WDOG DJNZ    R4,CLRRAM LCALL   INITIMER         ;定时器初始化 LCALL   SER_INT          ;串口初始化 LCALL   SETCHA        ;准备发往上位机的数据包格式  MOV     SPCR,#57H        ;SPI工作模式初始化  ;***************************************************************** ;SPCR: 写入57H ;禁止串行中断;开启SPI口;先输出MSB位;设单片机为主机AD为从机; ;有效沿为上升沿;相位为正;时钟为频率SCK=Fosc/128  ;******************************************************************              STARTSMPL:         CLR     TXLED         ;喂狗         NOP         MOV     R4,#87H        ;检测第一通道,改变R4的值,可以改变采集通道.         LCALL   CHANNEL      ;读取ADS7844的转换数据子程序 ……略 ;******************************** ;模块功能: 数据接收,读取的数据存入R6、R7 ;说明:R0、R1为数据缓冲区,暂存ADS7844的转换数据 ;程序名:CHANNEL ;******************************** CHANNEL:         CLR     SS                 ;片选有效         NOP  REW:  MOV     SPDR,R4           ;命令字         NOP         nop         nop         nop          CLR     EA                ; 集结束开始关中断 REVD1:                MOV   A,SPSR         JNB    ACC.7,REVD1        ;判断SPIF位是否为1 ,为1则转换结束,可读以取         MOV   A,SPDR         MOV   A,#00H         MOV   SPDR,#00H         NOP         NOP         NOP         NOP REVDH: MOV    A,SPSR         JNB    ACC.7,REVDH      ;判断SPIF位是否为1 , 1则读取转换数据的高字节         MOV    A,SPDR         MOV    R0,A              ;读取高位字节         MOV    R6,A              ;保存高字数据         MOV    SPDR,#00H         MOV    A,#00H         NOP         NOP         NOP         NOP REVDL: MOV   A,SPSR         JNB   ACC.7,REVDL    ;判断SPIF位是否为1, 为1则读取转换数据的低字节         MOV   A,SPDR         MOV   R1,A          ; ;读取低字数据         MOV   R7,A          ; 保存低字数据         NOP         SETB  SS                          SETB EA             ;采集结束开中断         RET       END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服