首页 理论教育 单片机与串行D-A转换器接口技术

单片机与串行D-A转换器接口技术

时间:2023-11-02 理论教育 版权反馈
【摘要】:本节以AD7543芯片为例介绍串行D-A转换器的接口使用。表14-5 AD7543逻辑选择与操作关系3.AD7543与单片机的接口设计单片机与AD7543的接口有两种方式,即串口连接方式和普通I/O口连接方式。单片机串口与AD7543的接口设计单片机的串口方式0,可以在串行移位方式下工作。AD7543的12位数据应从高位MSB到低位LSB依次串行移位送入寄存器A中。

单片机与串行D-A转换器接口技术

前面介绍的DAC0832是并行D-A转换器,与单片机连接时需要的I/O接口线很多,控制也比较复杂,不利于系统的小型化。在系统性能要求满足的情况下,为节省成本和I/O接口资源,当需要10位以下的低精度时,可以选择单片机片内集成的D-A转换器;如果需要12位以上的高精度时,可以选择片外串行D-A转换器如FLC5618。使用串行D-A转换器具有接口简单、使用方便、控制灵活的特点,有很好的应用前景。本节以AD7543芯片为例介绍串行D-A转换器的接口使用。

1.AD7543的主要特性

AD7543是美国模拟器件(Analog Devices)公司生产的12位串行接口D-A转换器,其主要的性能如下:12位分辨率,分辨率较高;线性度好,非线性误差为±1/2 LSB;+5V单电源供电,功耗低,最大功耗为40 mW;接正选通或负选通进行串行加载;采用非同步清除输入,使其初始化;价格低,性价比高,节省成本。

2.AD7543内部结构与引脚功能

AD7543的逻辑电路由12位串行输入/并行输出的移位寄存器A、12位DAC输入寄存器B和12位D-A转换电路组成。在选通输入信号的前沿或后沿(由用户选择),定时把SRI引脚上的串行数据装入寄存器A。当寄存器A装满后,在加载脉冲的控制下,寄存器A的数据便装入寄存器B,并启动D-A进行转换。AD7543的内部结构和引脚如图14-22所示。

978-7-111-51881-5-Chapter14-78.jpg

图14-22 AD7543内部结构与引脚图

AD7543采用DIP16封装,其引脚功能说明如下:

IOUT1、IOUT2:D-A转换后电流输出端。

STB1、STB2、STB3、STB4:寄存器A选通输入端,其选通的逻辑输入与操作关系见表14-5。

LD1、LD2:寄存器B加载输入选择端,逻辑控制关系见表14-5。

SRI:输入到寄存器A的串行数据输入端。需要转换的数据从单片机串行输入到SRI端进入移位寄存器A,并由STB1、STB2、STB3、STB4逻辑关系控制,见表14-5。978-7-111-51881-5-Chapter14-79.jpg:寄存器B清除输入端,低电平有效,用于异步将寄存器B复位为0。

VREF:基准电压输入端。

Rfb:D-A转换器反馈输入端。

VCC、AGND、DGND:模拟地和数字地。

表14-5 AD7543逻辑选择与操作关系

978-7-111-51881-5-Chapter14-80.jpg

3.AD7543与单片机的接口设计(www.xing528.com)

单片机与AD7543的接口有两种方式,即串口连接方式和普通I/O口连接方式。两种接口方式对D-A转换器的转换速度、数据传送的波特率等技术指标要求有所不同。下面分别介绍这两种接口方式的使用。

(1)单片机串口与AD7543的接口设计

单片机的串口方式0,可以在串行移位方式下工作。利用这个特点,单片机串口可以直接与AD7543连接,TXD端输出的移位脉冲在下降沿时将RXD输出的移位数据送入AD7543的移位寄存器A中。接口电路如图14-23所示。

978-7-111-51881-5-Chapter14-81.jpg

图14-23 AD7543与单片机串口连接电路图

图14-23中,P1.0用来产生数据加载电平,低电平有效,将AD7543内部移位寄存器A中的内容送入寄存器B中进行D-A转换,单片机复位端RST接至AD7543的CLR端,用来实现系统同步复位。

AD7543的12位数据应从高位MSB到低位LSB依次串行移位送入寄存器A中。而单片机的串口在方式0工作时,输出数据从最低位开始串行移位输出。因此,在使用串口输出数据前必须将数据调整好,以便适应AD7543的时序要求。

【例14-10】 按照图14-23所示电路,假设要转换的12位数的高4位存储在31H的低半字节,低8位存储在30H单元。D-A转换程序设计如下:

978-7-111-51881-5-Chapter14-82.jpg

978-7-111-51881-5-Chapter14-83.jpg

单片机串口在方式0工作时,其波特率固定为CPU时钟频率的1/12,若CPU的频率fosc=6MHz时,串行口波特率为50kHz,即位传送周期为20μs。因此,这种连接方式只能用于高速传输系统。

(2)普通I/O口与AD7543的接口设计

除了采用串口可以实现数据传输外,也可以用单片机的普通I/O口模拟串行移位寄存器的工作方式,完成单片机与AD7543的串行数据传输。在这种工作方式下,普通I/O口移位的波特率可以利用编程来调节,数据传输速度可由程序控制,因此这种工作方式适用于不同的传输速度。

【例14-11】 采用普通I/O口与AD7543的接口电路与图14-23类似,只要将串口的TXD、RXD分别改为用P1.1、P1.2与AD7543相连,其他连接不变,即可实现用I/O口模拟串行移位寄存器输出串行数据。参考程序段如下:

978-7-111-51881-5-Chapter14-84.jpg

978-7-111-51881-5-Chapter14-85.jpg

假设系统CPU的时钟频率fosc=6MHz,数据串行传输波特率约为20kHz。只要修改延时时间常数R3的值,即可改变波特率。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈