单片机与串行AD转换器TLC0834的接口设计

2007-03-09 19:03:27来源: 互联网
摘要:TLC0834是TI公司生产的八位逐次逼近模数转换器,具有输入可配置的多通道多路器和串行输入方式。文中以AT89C51 CPU为核心,采用LTC0834八位串行A/D转换器设计了一个可将模拟信号转换为数字信号的电路。 关键词:单片机 A/D转换器 TLC0834 单片机控制系统通常要用到A/D转换。根据输出的信号格式,比较常用的A/D转换方式可分为并行A/D和串行A/D。并行方式一般在转换后可直接接收,但芯片的引脚比较多;串行方式所用芯片引脚少,封装小,在PCB板上占用的空间也小,但需要软件处理才能得到所需要的数据。 图1 TLC0834的工作时序图 1 TLC0834简介 1.1 TLC0834的主要特点 TLC0834是TI公司生产的8位逐次逼近模数转换器具有输入可配置的多通道多路器和串形输入输出方式。其多路器可由软件配置为单端或差分输入,也可以配置为伪差分输入。另外,其输入基准电压大小可以调整。在全8位分辨率下,它允许任意小的模拟电压编码间隔。由于TLC0834采用的是串行输入结构,因此封装体积小,可节省51系列单片机I/O资源,价格也较适中。其主要特点如下: ● 8位分辨率; ● 易于和微处理器接口或独立使用; ● 可满量程工作; ● 可用地址逻辑多路器选通4输入通道; ● 单5V供电,输入范围为0~5V; ● 输入和输出与TTL、CMOS电平兼容; ● 时钟频率为250kHz时,其转换时间为32μs; ● 可以和美国国家半导体公司的ADC0834和ADC0838进行替换,但它内部不带齐纳稳压器网络; ● 总调整误差为%26;#177;1LSB。 1.2 工作特点 TLC0834可通过和控制处理器相连的串行数据链路来传送控制命令,因而可用软件对通道进行选择和输入端进行配置,其控制逻辑表如表1所列。 表1 TLC0834多路器的控制逻辑表 多路器地址 通 道 号 SGL/DIF ODD/EVEN SELECT BIT1 CH0 CH1 CH2 CH3 L L H H L H L H L H L H + - + - + - - + H H H H L L H H L H L H + + + + 输入配置可在多路器寻址时序中进行。多路器地址可通过DI端移入转换器。多路器地址选择模拟输入通道可决定输入是单端输入还是差分输入。当输入是差分时,应分配输入通道的极性,并应将差分输入分配到相邻的输入通道对中。例如通道0和通道1可被选为一对差分输入。另外,在选择差分输入方式时,极性也可以选择。一对输入通道的两个输入端的任何一个都可以作为正极或负极。 通常TLC0834在输出以最高位(MSB)开头的数据流后,会以最低位(LSB)开头重输出一遍(前面的数据流)。其工作时序如图1所示。 1.3 引脚功能 TLC0834的引脚排列如图2所示,其中CH0~CH3为模拟输入端; CS 为片选端;DI为串行数据输入,该端仅在多路器寻址时(MUX Settling Time)才被检测;DO为A/D转换结果的三态串行输出端;CLK为时钟;SARS为转换状态输出端,该端为高电平时,表示转换正在进行,为低电平则表示转换完成;REF为参考电压输入端;VCC为电源;DGTL GND为数字地,ANGL GND为模拟地。 2 与单片机的接口电路设计 TLC0834与89C51单片机的硬件接口电路的电路原理如图3所示。图中,单片机的P1.7接TLC0834的片选信号, P1.6用于产生A/D转换的时钟, P1.5为一个双向I/O口位,可用于对模拟输入进行配置及输出转换所得的数据。在这里,模拟信号以单端方式输入,参考电压为5V,即A/D模拟量的输入范围为0~5V。 3 单片机的软件设计 该系统在工作时,单片机将通过编程产生串行时钟,并按时序发送与接收数据位,以完成通道方式/通道数据的写入和转换结果的读出。篇幅有限,现以通道0单端输入模拟信号为例,给出A/D转换的程序: CLR P1.6 ;清时钟 CLR P1.5 SETB P1.7 ;置片选为高 CLR P1.7 ;置片选为低 SETB P1.5 1 Start Bit SETB P1.6 CLR P1.6 SETB P1.5 1 SETB P1.6 CLR P1.6 CLR P1.5 0 SETB P1.6 CLR P1.6 CLR P1.5 0 CH0 SETB P1.6 CLR P1.6 通道0,单端输入 SETB P1.6 CLR P1.6 SETB P1.5 P1.5由输出状态改 为输入状态 LCALL ADCONV %26;#183;%26;#183;%26;#183; %26;#183;%26;#183;%26;#183; %26;#183;%26;#183;%26;#183; ADCONV: MOV R0#08H ADLOP0: MOV CP1.5 ;读转换结果 RLC A ;累加器A左移,将结果 逐位移入A中 STEB P1.6 CLR P1.6 DJNZ R0ADLOP0 MOV R0#07H ADLOP1: SETB P1.6 CLR P1.6 DJNZ R0ADLOP1 SETB P1.6 CLR P1.6 SETB P1.6 CLR P1.6 SETB P1.7 ;置片选信号为高, 结束一次转换 RET 转换结果经换算后可转换为十进制数显示出来。如在精度要求较高的场合,可以选用位数更多的串行A/D并取高位数据。限于篇幅,该部分程序本文不作介绍。 4 结论 本文给出的硬件和软件均经实践检验,并已在某公司的产品上应用,其性价比较高,可大大降低生产成本。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/others/200703/10612.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved