工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->基础电路图->数字电路图->带串行控制和11路输入的模数转换器TLC2543及应用

带串行控制和11路输入的模数转换器TLC2543及应用

作者:Lamborghini时间:2009-09-23

1. 概述

  A/D、D/A转换器是过程及仪器仪表、设备等检测与控制装置中应用比较广泛的器件。随着大规模集成电路技术的发展,各种高精度、低功耗、可编程、低成本的A/D转换器不断推出,使得微机控制系统的电路更加简洁,可靠性更高。
  TLC2543与外围电路的连线简单,三个控制输入端为CS(片选)、输入/输出时钟(I/O CLOCK)以及串行数据输入端(DATA INPUT)。片内的14通道多路器可以选择11个输入中的任何一个或3个内部自测试电压中的一个,采样-保持是自动的,转换结束,EOC输出变高。
  TLC2543的主要特性如下:
  ●11个模拟输入通道;
  ●66ksps的采样速率;
  ●最大转换时间为10μs;
  ●SPI串行接口;
  ●线性度误差最大为±1LSB;

  ●低供电电流(1mA典型值);
  ●掉电模式电流为4μA。

2. TLC2543引脚功能与接口时序

2.1 TLC2543引脚排列
  TLC2543的引脚排列如图1所示。引脚功能说明如下:
  AIN0~AIN10:模拟输入端,由内部多路器选择。对4.1MHz的I/O CLOCK,驱动源阻抗必须小于或等于50Ω;
  CS:片选端,CS由高到低变化将复位内部计数器,并控制和使能DATA OUT、DATA INPUT和I/O CLOCK。CS由低到高的变化将在一个设置时间内禁止DATA INPUT和I/O CLOCK;
  DATA INPUT:串行数据输入端,串行数据以MSB为前导并在I/O CLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压,之后I/O CLOCK将余下的几位依次输入;
  DATA OUT:A/D转换结果三态输出端,在CS为高时,该引脚处于高阻状态;当CS为低时,该引脚由前一次转换结果的MSB值置成相应的逻辑电平;EOC:转换结束端。在最后的I/O CLOCK下降沿之后,EOC由高电平变为低电平并保持到转换完成及数据准备传输;

      

   VCC、GND:电源正端、地;
  REF+、REF-:正、负基准电压端。通常REF+接VCC,REF-接GND。最大输入电压范围取决于两端电压差;
  I/O CLOCK:时钟输入/输出端。
2.2 TLC2543的工作时序
  TLC2543每次转换和数据传送使用16个时钟周期,且在每次传送周期之间插入CS的时序。时序如图2所示。
  从时序图可以看出,在TLC2543的CS变低时开始转换和传送过程,I/O CLOCK的前8个上升沿将8个输入数据位键入输入数据寄存器,同时它将前一次转换的数据的其余11位移出DATA OUT端,在I/O CLOCK下降沿时数据变化。当CS为高时, I/O CLOCK和DATA INPUT被禁止,DATA OUT为高阻态。

3. TLC2543与80C31的连接

3.1 硬件接口
  由于MCS-51系列单片机不具有SPI或相同能力的接口,为了便于与TLC2543接口,采用软件合成SPI操作,为减少数据传送速受微处理器的时钟频率的影响,尽可能选用较高时钟频率。接口电路如图3所示。
  TLC2543的I/O时钟、数据输入、片选信号由P1.0、P1.1、P1.3提供,转换结果由P1.2口串行读出。
3.2 接口程序
  设通道/方式控制字存放在R4中,程序在读出前一次转换结果的同时,将该通道/方式控制字发送到TLC2543中去,转换结果存放在相邻地址的存储器中。存储器地址从30H~45H,且高字节在前,低字节在后。
       ORG 100H
  START: MOV SP,#50H ;堆栈指针初始化
       MOV P1,#04H ;P1口引脚初始化
       CLR P1.0
      SETB P1.3
      ACALL TLC2543
      ACALL STORE
      JMP START
    TLC2543:MOV A,R4
      CLR P1.3
      JB ACC.1,LSB ;如果A的位1为1,先做低字节
  MSB:   MOV R5,#08
  LOOP1: MOV C,P1.2 ;数据位读入进位位RLC A
       MOV P1.1,C ;输出方式/通道位
       SETB P1.0 ;产生I/O时钟
       CLR P1.0
       DJNZ R5,LOOP1 ;输入/输出另一位
       MOV R2,A ;高字节送入R2
       MOV A,R4
      JB ACC.1,RETURN
  LSB: MOV R5,#08
  LOOP2:MOV C, P1.2
      RLC A
      MOV P1.1,C
      SETB P1.0
      CLR P1.0
      DJNZ R5,LOOP2
      MOV R3,A
      MOV A,R4
      JB ACC.1,MSB
    RETURN:RET
    STORE:MOV A,R4
      ANL A,#0F0H
      SWAP A
      MOV B,#02
      MUL AB
     ADD A,#030H
     MOV R1,A
     MOV A,R2
     MOV @R1,A
     INC R1
     MOV A,R3
     MOV @R1,A
     RET
     END
  以上程序用累加器和带进位的左循环移位的指令来合成SPI功能,读入转换结果的第一个字节的第一位到进位(C)位。累加器内容通过进位位左移,通道选择和方式数据的第一位通过P1.1输出。然后由P1.0先高后低的翻转来提供串行时钟。这个时序再重复7次,完成转换数据的第一个字节的传送。第二个字节由重复8次时钟脉冲和数据传送的整个序列来传送。



评论

技术专区