当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]串行数模转换器TLC5620I与TMS320F2812接口设计

1 引言
    近年来,数字信号处理器(DSP)的应用越来越广泛,其中TMS320F2812作为目前数字控制领域中性能较高的DSP芯片,被广泛应用于电机控制、工业自动化、家用电器和消费电子等领域。由于TMS320F2812本身不具有D/A转换模块,因此在很多需要模拟量输出的控制场合受到限制。所以D/A转换芯片如何与TMS320F2812进行接口,成为数字信号处理系统需要解决的一个重要问题。这里介绍了四路8位电压输出数字一模拟转换器TLC5620I,并给出TLC5620I与TMS320F2812串口接口的软、硬件设计实现方法。


2 TMS320F2812的SPI工作原理
    TMS320F2812的SPI模块的9个寄存器用来控制SPI的操作,其中SPICCR设置SPI的软件复位、移位时钟极性字符长度;SPICTL设置SPI的时钟相位、工作模式等;SPISTS中包括溢出标志位、中断标志位等;SPIBRR设置SPI波特率;SPIRXBUF和SPITXBUF为数据接收和发送缓冲寄存器,SP-IDAT用于发送/接收移位寄存器;SPIRXEMU仅用于仿真;SPIPRI控制中断优先级。该器件的SPI接口有一个16级的FIFO,用来减少CPU的开销。图1为SPI模块与CPU接口结构框图。


    由图1可知,SPI模块数据传输由40、41、34、35引脚完成,其引脚功能见表1。


    TMS320F2812支持125种不同的波特率和4种不同的时钟模式。根据SPI的工作模式(从动或主控),引脚SPICLK可分别接收一个外部的SPI时钟信号或由片内提供SPI时钟信号。
    在该设计中,SPI工作在主控模式,SPI时钟由片内的SPI产生并由SPICLK引脚输出。TMS320F2812波特率的设置是由系统的低速外设模块时钟频率LSPCLK和SPI主控制器中的SPIBRR寄存器的值决定的,其计算公式如下:
    SPI波特率=LSPCLK/(SPIBRR+1)SPIBRR=3~127
    SPI波特率=LSPCLK/4 SPIBRR=0、1、2
    引脚SPICLK上的四种不同的时钟模式是由时钟极性位和时钟相位位控制的,其中时钟极性位选择时钟有效沿为上升沿还是下降沿,时钟相位位则设定是否选择时钟的1/2周期延时。四种不同的时钟模式如表2所示。

[!--empirenews.page--]3 TLC5620I简介
    TLC5620I是四路8位电压输出数模转换器(DAC),带有缓冲基准输入端(高阻抗),包含上电复位功能以确保可重复启动,用5 V电源工作。DAC产生范围在基准电压一倍或两倍与地(GND)之间的输出电压,且DAC是单调变化的。TLC5620I使用4个电阻串(resistor-string)来实现D/A转换。每个D/A转换的核心是带有256个抽头的单电阻,分别对应256个可能的代码。每个电阻串的一端连接到GND端,另一端由基准输入缓冲器的输出馈电。通过使用电阻串保持单调性。线性度取决于电阻元件的一致性以及输出缓冲器的性能。由于输入端是经过缓冲的,所以DAC对于基准源总是呈现为高阻抗负载。每一个DAC的输出由可配置增益输出放大缓冲,它可以配置为一倍或两倍增益。
    通过简单的3线串行总线可数字控制TLC5620I,此总线与CMOS兼容且易于与所有常用的微处理器作为控制器器件接口。11位的命令字由8位数据(D0~D7),2个DAC选择位(A0、A1)和1个范围位(RNG)组成。后者允许在一倍或两倍输出范围之间作选择。DAC寄存器是双缓冲的,允许完整的新数值组写入器件,然后DAC输出通过LDAC端的控制同时更新。每个通道输出的电压V0由下式计算:
    V0=REF×(CODE/256)×(1+RNG bit value)
式中,REF为相应通道基准电压,CODE是从数据位(D7~D0)计算出的十进制数,RNG是范围位串行控制字的0或1。


4 TLC5620I和TMS320F2812的接口电路
    图2为TLC5620I和TMS320F2812的接口电路。

    该设计中,引出4路D/A转换通道电压,均由LM358构成电压跟随器输出,如图3所示。该图为AD0和AD1口由LM358组成的同向放大电路。AD2和AD3的放大电路与之相同。

    TMS320F2812在引脚SPISIMO上将数据输出,与之相对应的是TLC5620I的DATA数据接收引脚:TMS320F2812的SPICLK引脚和TLC5620I的CLK引脚相对应,二者共用串行时钟;TMS320F2812的IOPB1模拟控制TLC5620I的LOAD引脚电平,以锁存数据,更新输出电压。在数据传输时,有两种方式控制TLC5620I输出电压的更新:LOAD引脚控制更新和LDAC引脚控制更新。该设计采用LOAD引脚控制更新方式,此时,LDAC引脚接低电平。开始控制LOAD为高电平,数据在CLK引脚的每一个下降沿与时钟同步从DATA引脚输入。当所有的数据传输完毕时,控制LDAD引脚跳至低电平,所选择的D/A通道的输出电压得到更新。由于TLC5620I的控制信号要求的VIH较高,所以需要将DSP输出的SPI-CLK、SPISIMO以及I/O口模拟的CS信号的高电平提高,该设计采用MM74HC08器件来实现。


[!--empirenews.page--]5 软件设计
    由于TLC5620I的工作频率是1 MHz,故将DSP的SPI通信频率也设置为1 MHz。程序采用C语言模块化编写,其流程如图4所示,图4a主程序完成系统初始化,中断使能,等待中断等工作;图4b中断服务程序主要完成输出电压的数字量计算和数据发送等工作。在编写程序过程中,要注意TMS320F2812的低速外设预分频和通信频率间的关系。

 

 

    利用该实验程序,可以通过示波器在DACOUT0和DA-COUT1接口输出端观测到三角波,利用万能表在DACOUT2接口输出端测得电压为2.475 V,在DACOUT3接口输出端测得电压为1.65 V。


6 结束语
    以TMS320F2812与TLC5620I为例,详细讨论两者的串口通信的硬件接口及软件设计,实现数字信号到模拟信号的转换,扩展TMS320TMS320F2812在控制领域的应用范围。在设计过程中,充分利用TMS320F2812的SPI模块,只有少量的数据线和控制线,使电路设计简化,提高了设计可靠性,并在实际应用中效果良好。

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

2022 年 4月 14 日,中国 – 意法半导体RHRDAC121抗辐射加固数模转换器 (DAC)的最低工作电压为 2.5V,适用于老式 3.3V数模转换器不支持的现代低功耗系统设计。

关键字: 意法半导体 数模转换器

电源通常设置为固定输出电压,以为电气负载供电。然而,有些应用需要可变的供电电压。例如,在某些情况下,如果根据相应的工作状态调整内核电压,微控制器可以更有效地运行。本文将展示如何使用为此目的而开发的专用数模转换器(DAC)...

关键字: ADI 输出电压 数模转换器

并行数模转换数模转换有两种转换方式:并行数模转换和串行数模转换。

关键字: 数模转换器 并行数模转换 串行数模转换

数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称A...

关键字: 数模转换器 权电阻网络 运算放大器

本文中,小编将对ADI的LTC1666快速精密数模转换器予以介绍。

关键字: 数模转换器 LTC1666 ADI

摘 要 :视频监控系统是计算机应用中的重要领域之一。数字化摄像头网络化之后,监控系统正在不断引入新的功能,为使现有监控系统能更好地应对复杂环境,满足不同监控要求,就需要追加新功能,在系统架构与设计上进行调整。因此,如何将...

关键字: 智能监控 系统架构 模块化设计 接口设计 数据传输 深度相机

摘要:介绍了以DSP芯片TMS320F2812为CPU的有源电力滤波器中液晶模块JLX12864G-139的应用设计方法,详细说明了DSP芯片与液晶模块的硬件接口电路设计,通过分析液晶模块的读写时序,阐述了在TMS320...

关键字: TMS320F2812 JLX12864G-139 液晶显示 接口

电信号链有多种形式。它们可以由不同的电气元件组成,包括传感器、执行器、放大器、模数转换器(ADC)、数模转换器(DAC),甚至微控制器。

关键字: 误差 DAC 数模转换器

通过本文,您将对数模转换器的构成、特点,还有数模转换器的采样率具备一定的了解。

关键字: 数模转换器 采样率 DAC

本文中,小编将对数模转换器的误差来源以及数模转换器的两大应用予以介绍。

关键字: 数模转换器 失调误差 增益误差

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭