×
嵌入式 > 技术百科 > 详情

利用单片机实现的模拟信号和数字信号单线混合传输

发布时间:2021-07-27 发布时间:
|
摘 要:本文以单片机89C2051为核心,采用DAC TLC5618、模拟开关MAX319设计了能实现模拟信号和数字信号单线混合传输的系统。关键词:单片机;DAC;模拟开关

信号传输在现代工程中是很重要的一个技术环节,通常使用多芯电缆将模拟信号和数字信号独立多线传输。但在信号传输中,数字信号将对模拟信号产生干扰,不得不采用互相屏蔽的多芯缆来降低干扰。这样不仅使电缆的线径和重量增加,而且成本提高。在特殊的地理环境,特别是在野外气温很低的情况下,粗线径的电缆将给现场操作带来很大的困难。本文设计的系统是利用单片机来实现模拟信号和数字信号在单线中的混合传输。经实践证明,该系统适用于速率不是很高的信号传输。

硬件构成及电路本文硬件电路实现二路数字脉冲信号和一路模拟信号的单线混合传输,功能框图如图1所示,其中包括数字脉冲信号接收转换和模拟信号分时输出等技术环节。单片机对二路数字脉冲信号进行计数,并利用DAC TLC5618和模拟开关MAX319把当前的计数值和模拟信号分时传送出去。单片机、电源及DAC电路单片机、电源以及DAC电路如图2所示,采用单片机AT89C2051和12位DAC TLC5618。在电路中用了一个可充电电池,输出电压为7.2V,经过一个低差压线性稳压器LM2940,输出电压为+5V,可供单片机、TLC5618、MAX319等使用。再接一个微型DC/DC模块IA0512M,输出电压±12V,可供放大器TLE2062和MAX319使用。AT89C2051是一种带2kB字节闪速可编程、可擦除、只读存储器的低电压、高性能CMOS 8位微控制器。它有两个可编程的16位定时器/计数器T0和T1;15个可编程的I/O通道;128字节片内RAM存储器;有6个中断源,而且其输出可以直接驱动LED。它可以在2.7V~6V的电压范围内工作。TLC5618是带有缓冲基准输入(高阻抗)的双路12位电压输出DAC。DAC输出电压范围可编程为基准电压的两倍,有两个输出端口A和B,且它们可以同步刷新。此外,该器件还包含上电复位功能。通过3线串行总线可对TLC5618实现控制,采用单5V电源工作。且在快速、慢速模式下功耗分别为8mW和3mW,输入数据的刷新率可达1.21MHz。混合信号输出部分混合信号输出电路如图3所示。MAX319是CMOS单片集成模拟开关,单刀双掷,NO脚为常开,NC脚为常闭。通过IN脚的真值来切换,从公用输出端COM输出信号。逻辑真值为0时,导通NC端;逻辑真值为1时,导通NO端。该器件接5V及±12V电源。原理描述在此系统中,信号输入端为三个通道,一个模拟信号通道,两个数字脉冲信号通道。脉冲信号A和B通过单片机89C2051的T0和T1来计数。P1.0端口的发光二极管用来显示工作状态。单片机控制TLC5618,把T0、T1计数值转换为串行输出的模拟信号,经OUTA端输出到放大器TLE2062,然后输入到模拟开关MAX319的NC脚。另一路模拟信号ANALOG1直接输入到MAX319的NO脚,由单片机控制MAX319的IN脚,把NC脚和NO脚的信号分时切换到COM端,再经放大器TLE2062驱动输出。在接收端用ADC,把接收到的串行信号进行解调,可以分别得到所要采集的数字信号和模拟信号。输出信号一个周期内的时序图如图4所示。先通过单片机控制MAX319导通NC端,把单片机的计数值T0和T1经TLC5618串行输出。首先把输出电压设置为5V,作为起始电平,设定经历时间为2个DT,然后跳变为低电平0V,延时2个DT,此时D0到D7开始输出脉冲A的计数值。若当前位为0则输出低电平0V,为1则输出2.5V,经过8个DT后,脉冲A的计数值输出结束,然后置低电平,延时2个DT。重复上述过程,完成对脉冲B的计数值的输出。此时通过单片机89C2051控制MAX319,导通NO端,输出模拟信号ANALOG1,经历时间为8个DT。设定DT=200ms,则周期T=30×DT=6ms。所以此系统适用于速率不太高的信号传输,对于很多测试现场,此方法是适用的。需要注意的是,一个周期内计数值T0、T1的增量不能大于255,否则会发生溢出,从而造成输出计数值的不准确性。软件编程TLC5618是这个系统中很关键的一部分,下面讨论该器件的软件编程,其时序图如图5所示。当芯片选通信号CS由高到低时,4个编程命令位D15~D12和12个数据位D11~D0按以上时序依次读入到16位移位寄存器中,高位在前。在CS的上升沿把数据传送到DAC寄存器。当CS为高时,输入数据不能写入到输入寄存器。此传输系统设置TLC5618为2.5ms快速模式,同时锁存器A接收串行接口寄存器数据,而双缓冲锁存器内容输入到B锁存器。双缓冲器的内容没有受到影响。在置D15、D14为1的情况下,允许对两个输出端口进行同时刷新。当锁存器A的数据从0到达满量程,从串行输入口写到锁存器的数据字为110X 1111 1111 1111 。当双缓冲器内容与锁存器内容相同时,锁存器B的内容和DAC B端口的输出值没有变化。

结语本文所述的方法已经成功应用于一些野外现场测量,减小了传输电缆的体积、减轻了重量。使用者可根据要求把信号输入改成四通道或者更多通道,还可以对本系统的软件和硬件稍加改动,就能运用到更多的工业现场。■

参考文献1 清源计算机工作室. Protel 99 SE电路设计与仿真.机械工业出版社, 20012李华.MCS-51系列单片机实用接口技术.北京航空航天大学出版社, 1993


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
SN74LVC04AD的技术参数