基于DSP和DAC的三角波发生器的设计

2019-01-24 14:08:36 来源:网络
标签:

 

近年来,数字信号处理器的应用越来越广泛,数字信号处理器并非只局限于音视频层面,它广泛的应用于通信与信息系统、信号与信息处理、自动控制、雷达、军事、航空航天、医疗、家用电器等许多领域。以往是采用通用的微处理器来完成大量数字信号处理运算,速度较慢,难以满足实际需要;而同时使用位片式微处理器和快速并联乘法器,曾经是实现数字信号处理的有效途径,但此方法器件较多,逻辑设计和程序设计复杂,耗电较大,价格昂贵。数字信号处理器DSP的出现,很好的解决了上述问题。DSP可以快速的实现对信号的采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。

 

TMS320F2812的SPI工作原理

TMS320F2812数字信号处理器是TI公司最新推出的32位定点DSP(Digital signal o数字信号处理器)控制器,是目前控制领域最先进的处理器之一。其频率高达150MHz,大大提高了控制系统的控制精度和芯片处理能力。TMS320F2812芯片基于C/C++高效32位TMS320C28x DSP内核,并提供浮点数学函数库,从而可以在定点处理器上方便地实现浮点运算。在高精度伺服控制、可变频电源、UPS电源等领域广泛应用,同时是电机等数字化控制产品升级的最佳选择。

 

图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所示。

 

TLC5620I简介

TLC5620I是四路8位电压输出数模转换器(DAC),带有缓冲基准输入端(高阻抗),包含上电复位功能以确保可重复启动,用5 V电源工作。每个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。

 

TLC5620I和TMS320F2812的接口电路

 

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

 

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

 

软件设计

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

 

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

 

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

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
CEVA和DSP Concepts合作简化用于高端声音应用的 音频/语音DSP软件开发

CEVA,全球领先的智能和互联设备信号处理平台和人工智能处理器IP授权许可厂商 (纳斯达克股票交易所代码:CEVA) 与世界先进的音频处理工具、IP和解决方案开发商DSP Concepts, Inc.宣布,DSP Concepts业界领先的AudioWeaver®工具和TalkToTM语音前端现在支持CEVA-X2和CEVA-BX系列DS

基于模块化的音频DSP解决方案,加速高端音频系统开发落地

数字化的今天,几乎人人都能拿出一款音效不错的随身耳机,真正喜欢音乐的你大概还会在家里高保真的落地音箱上吼几嗓子卡拉OK之余听听发烧级的音乐吧。

简析DSP的工作原理
简析DSP的工作原理

它是利用数字信号处理系统,以数字形式对信号进行处理,最终得到符合需求的信号形式。

ARM寄存器分析以及异常处理方法
ARM寄存器分析以及异常处理方法

除User(用户模式)是Normal(普通模式)外,其他6种都是Privilege(特权模式)。 Privilege中除Sys模式外,其余5种为异常模式。 各种模式的切换,可以是程序员通过代码主动切换(通过写CPSR寄存器);也可以是CPU在某些情况下自动切换。 各种模式下权限和可以访问的寄存器不同。

【技术分享】即插即用的千兆网络接口设计
【技术分享】即插即用的千兆网络接口设计

千兆网络接口具有数据传输速率快、连接方便、可以即插即用的优点,使得其应用较为广泛。随着电子技术和处理器的发展,很多应用场合的数据通信速率超过千兆网口的实际传输速率。

更多资讯
鸿蒙想要成功,开发人员、生态、用户一个都不能少

华为已经发布Harmony OS(鸿蒙操作系统),之前我们已经看到许多野心勃勃的移动OS折戟沉沙,败北而归,为什么失败?因为缺少App支持,缺少开发者支持。对于Harmony,外媒到底是怎样看的?有了

嵌入式“软”硬领域缺乏探索,使用 FPGA 有何潜力?

在一个领域中,如果唯一不变的是变化,那么不需要对电子技术 和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。

苹果“双标”,竟然在iOS 13 中限制第三方软件的位置跟踪功能?

iOS 13虽说还没有推出正式版,但是测试版已经进行了多版,其中苹果对一些功能的改进,引起了开发者强烈不满。

做物联网操作系统,为什么是一个“九死一生”的行当?
做物联网操作系统,为什么是一个“九死一生”的行当?

阿里AliOS、谷歌Fuchsia、西门子Mindsphere、ARM公司mbedOS…成功的IoT操作系统意味着更大的市场份额、更高的话语权和可观的经济回报。而且已经存在多时的工业互联网平台亦可被看作是某种层面的IoT操作系统,这篇文章我们不妨从多个角度观察IoT操作系统的走势。

一个华为布局了20年的操作系统,展示了华为在物联网上的野心
一个华为布局了20年的操作系统,展示了华为在物联网上的野心

8月9日,华为开发者大会在广东东莞松山湖召开, 这次大会聚集了产业链1500多家合作伙伴、5000余位开发者, 一时间吸引了各方眼球,连央视都参与进来,进行现场直播。