每次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是一种值得广泛推广应用的产品。