当前位置:首页 > 模拟 > 模拟

引言
随着工业自动化程度的不断提高,在工业中使用的仪表日趋智能化、多功能化、小型化,其硬件电路设计大多采用单片机微处理器为核心,再配以外围电路构成。由于部分仪表需要把现场的模拟信号转换成单片机能够处理的数字信号输入,再把单片机经数据处理后得到的数字信号转换成模拟信号输出,因此,这些仪表的硬件电路设计需要同时具有模数(A/D)转换和数模(D/A)转换两种功能。

在同时需要D/A和A/D转换功能的仪表中,可以用一片A/D转换器和一片D/A转换器来分别实现A/D和D/A转换功能,但由于A/D和D/A转换器芯片的价格都较高,仪表的成本也将较高。笔者在某工业仪表设计中采用可编程双通道D/A转换器TLC5618的一个通道实现D/A转换的同时,用它的另一个通道通过软件编程以逐次比较方式来实现A/D功能。实际应用效果较好,该应用方法具有以下特点:①节省一片A/D转换器,降低了仪表成本。②TLC5618体积小(8引脚的小型D封装),便于小型化设计,减少了印刷线路板面积。③TLC5618采用3线串行数据输入方式,占用CPU的I/O口线少,硬件搭接简单,外围器件少,软件编程方便。④对于标准信号1~5V信号TLC5618的分辨率至少可达到1.3mV,完全可满足工业过程控制精度要求。⑤通过软件编程以逐次比较方式来实现A/D转换建立时间约为400μs。

TLC5618应用实例

下面具体介绍采用一片可编程双通道D/A转换器TLC5618的一个通道实现D/A转换的同时,用它的另一个通道通过软件编程以逐次比较方式来实现A/D转换功能的实际应用方法。其硬件设计如图1所示

TLC5618是带有缓冲基准输入(高阻抗)的双路12位电压输出数字模拟转换器(DAC),8引脚的小型D封装,需+5V 单电源工作,其输出电压范围为基准电压的两倍,因此,电路设计采用了1.2V基准电压(如LM385)。

通过CMOS兼容的3线串行总线单片机可以对TLC5618实现数字控制,器件接收用于编程的16位输入字产生模拟输出。16位输入字的高4位为编程控制位,通过对编程控制位的设定,可以有三种不同的输出方式,低12 位为被转换的数字量。数据从串行数据输入端DIN按从高位到低位的顺序依次输入,单片机串行通讯可工作在操作模式0下,串行口作同步移位寄存器用或采用其它I/O口模拟串行口方式实现数字控制。这里值得注意的是单片机工作在操作模式0下时,串行口发送或接收的是8位数据,且低位在前,与TLC5618的数据接收时序相反。因此单片机应先将数据进行高低位交换后再进行数据发送。


图1 采用一片TLC5618实现A/D转换和D/A转换的应用电路

1.D/A功能的实现
该功能只占用TLC5618的OUTB输出通道,若指定建立时间为3μs,则前4位编程控制位应为00xx。前4位编程控制位和被转换的12位数字量组成高8位+低8位=16位的输入字,从串行数据输入端DIN按从高位到低位的顺序依次输入,转换结果电压从TLC5618 的OUTB输出。本电路通过V-I转换电路(见图1)实现电压到电流的转换。这里不再祥述。

2.A/D功能的实现
在本电路中没有单独使用A/D转换器,A/D转换功能是通过双路D/A转换器TLC5618的另一个输出通道OUTA,通过一级放大电路和比较电路,并通过软件编程采用逐次比较法来实现的。即在双通道D/A转换器TLC5618的串行数据输入端DIN逐次输入按位依次指定的12位数字量(如x800h),并将每次输入数字量的D/A转换结果同实际输入的模拟电压进行比较,根据比较结果来决定每次指定的位应为"0"或"1",当最后一位确定后,这个按位被指定的数字量就是最终A/D转换结果。具体原理如下:

每次A/D转换过程中,前4位编程位一直为10xx。前4位编程位和后面12位转换数字量构成高8位+低8位=16位的输入字。

每次A/D转换前先指定12位输入数字量(不包括4位编程位)的最高位为 "1"输入TLC5618进行D/A转换,D/A转换的结果从OUTA输出后,经过一级放大电路,通过比较电路与实际输入的模拟电压比较。若转换结果电压大于输入的模拟电压,则三极管T1基极为高电平,T1导通,P0.2被下拉为低电平;否则转换结果电压小于输入的模拟电压,则三极管T1基极为低电平,T1截止,P0.2被上拉为高电平。单片机通过检测P0.2的状态,如果P0.2为高电平,则保留本位的"1";否则P0.2为低电平,则将本位的"1"变为"0"。这样12位数字量中的一位就被确定下来,然后再指定下一位为"1",再经过D/A转换、放大、比较,并检测P0.2的状态,该位又被确定下来。依次类推,直到12位数字量全被确定下来,这个12位的数字量的D/A转换结果将最接近输入的模拟电压,它实际就是A/D转换的结果。注意单片机在检测I/O比较结果状态时,应加入约为10μs的时间延时。

另外,本电路仅具有一个模拟量输入信号,如需有多个模拟量输入信号,可不必加模拟开关,只需增加比较电路即可,多个模拟量输入信号均可与D/A转换器经一级放大电路的输出信号比较,并通过相应的A/D转换子程序实现A/D转换。

结语
工业仪表日益向多功能化、智能化、小型化发展的今天,双通道D/A转换器TLC5618以其优势的性能越来越受青睐。该电路应用充分发挥了TLC5618性能特点,大大降低了硬件成本,提高了产品的性能价格比。笔者认为可编程双通道D/A转换器TLC5618是一种值得广泛推广应用的产品。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;

关键字: 单片机 编程 电路设计

单片机编程需要使用专门的软件工具,这些工具能够帮助程序员编写、调试和烧录程序到单片机中。以下是一些常用的单片机编程软件:

关键字: 单片机 编程 软件工具

Java语言和C语言是两种不同的编程语言,它们在语法、特性和应用领域上有许多差别。下面将详细介绍Java语言和C语言之间的差异以及它们各自的技术特点。

关键字: Java语言 C语言 编程

嵌入式系统是现代生活中无处不在的一部分。它们包括了我们的家电、汽车、智能手机、医疗设备等等。这些系统的工作必须高效、可靠,因为它们往往控制着生活中的关键方面。而C语言作为一种广泛用于嵌入式系统开发的编程语言,其质量和稳定...

关键字: 嵌入式系统 C语言 编程

在嵌入式系统开发领域中,C语言是使用最广泛的编程语言之一。它具有高效、灵活和可移植的特点,成为嵌入式系统设计师的首选语言。本文将介绍C语言编程的基本概念、特点以及在嵌入式系统开发中的应用。

关键字: 嵌入式系统 C语言 编程

在编程和计算中,运算符优先级是解释和计算表达式的一个关键因素。本文旨在阐述运算符优先级的概念、规则及其在表达式中的应用,以帮助读者更好地理解和运用运算符优先级。

关键字: 表达式 运算符 编程

泰克科技组合软件总经理Rick Khulman:“激发孩子们——尤其是女孩们对STEM的兴趣,对我本人乃至广大工程界都至关重要。”

关键字: 编程 机器人 示波器

PIC单片机采用精简指令集,例如对于PIC16F716单片机,只有35条单字节指令。要用这么少的指令实现复杂的控制或计算,显然要在程序设计上多做文章,以下就程序设计需要注意的问题谈一些看法。 美国微芯公司开发的CMOS工...

关键字: 单片机 控制 编程

PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或...

关键字: plc 编程 plc编程

初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以西门子PLC为例,简单介绍一下PLC梯形图编程时需要遵循的规则,希望对大家有所帮助。

关键字: 西门子 plc 编程
关闭
关闭