第6章_F2812事件管理器及其应用2
- 格式:ppt
- 大小:979.00 KB
- 文档页数:47
浅谈2812事件管理器的功率保护模块2014.8.28杨康佳今天用示波器看了下EV 模块输出的PWM 波形,顺便试了一下它的保护切断输出功能,发现了一些意想不到的问题,对我自己来说也好像是开发了一块新大陆。
首先遇到的问题是,死区的设置,发现设置死区后,实际的死区时间总是只有我计算出的一半。
后面我才发现,我之所以在这里犯错是因为我相信了中文文档。
因为它给出的公式根本就是有问题的,这是我对比英文文档发现的,英文文档其实没有给出公式,只是给了表格用来查询,但是可以总结出公式。
死区无非就是操作3个寄存器:EvaRegs.DBTCONA .bit .DBT EvaRegs.DBTCONA .bit .EDBTxEvaRegs.DBTCONA .bit .DBTPS第一个寄存器的解释是:Dead-band timer period. These bits define the period value of the three 4-bit dead-band timers.也就是死区周期寄存器,我把它设置为m 。
第二个寄存器的解释是:Dead-band timer x enable 。
也就是使能位,x 表示到底是对那一个比较单元设置的死区。
第三个寄存器的解释是:Dead-band timer prescaler 。
也就是死区定时器的预定标。
设为p在这里也不多做解释,只列出我的到的公式:P H SPCLK BD m T T 2⨯⨯=T BD 是死区时间,T HSPCLK 是高速预定标器的周期值,m 是上面的寄存器设置的值,p 也是寄存器设置的值。
关于这部分就到这里了。
下面说功率保护部分的问题,EV 能输出的PWM 的引脚就16个,包括通用定时器1、2、3、4,PWM1~6,PWM7~12。
所以每一路都有功率保护功能。
因为EVB 和EV A 完全一样的,所以只说明EV A 。
具体是:1,先谈通用定时器的PWM 输出的保护控制通用定时器1和2的PWM 输出使能的寄存器有:GPTCONA[TCMPOE]、GPTCONA[TxCTRIPE]、GPTCONA[TxCMPOE](有x 的地方x=1或2)。
TMS320F2812在电机控制系统的应用1 引言在电机控制领域,TI公司推出2000系列电机控制DSP。
TMS320F2812属于最新高端产品,适合工业控制、机床控制等高精度应用。
目前2000系列芯片在电气传动中的应用以TMS320LF240x为主,应用TMS320F(C)28x的比较少。
但28x比24x系列的DSP具有更完备的外围控制接口和更丰富的电机控制外设电路,更高的主频,指令执行时间仅为6.67ns,流水线采样最高速率60ns,12位A/D转换通道16个,PWM输出通道12个。
资源足够同时控制两台三相电机,使控制系统价格大大降低而体积缩小、可靠性提高,可在高度集成的环境中实现高性能电机控制。
电机控制系统基本结构见图1,本文阐述基于TMS320F2812的DSP电机控制系统设计中的重点。
图1 电机控制系统结构原理图2 引导加载ROM引导加载是指器件复位时执行一段引导程序,一般用于从端口(异步串口、I/O口或HPI 主机接口)将EPROM/FLASH等非易失性存储器中加载程序到高速RAM 中。
2.1 TMS320 812的启动模式TMS320F2812提供了几种不同的启动模式,四个通用I/O引脚用于确定选择何种启动模式,如表1所示。
2.2 SCI SPI启动加载器通过SPI同步传输和SCI异步传输实现FLASHROM引导加载。
硬件电路见图2,JP15为SPI或SCI引导加载器选择,1—2时选择SPI,2—3时选择SCI;JP4是SPI数据传输路径的选择,位于1—2时,连接至外部扩展接口J6或串行ROM,位于2—3时连接至J5仿真数据传输接口。
图2 SCI SPI启动加载器3 A/D转换模块TMS320F2812电机控制芯片内部集成了16路12位A/D转换模块,模拟量信号采样输入范围是0~ 3.3V,16路A/D通道分为两组,AD0~AD7为一组,AD8~AD15为一组。
每组都有一个专门输入端。
摘要:三相逆变是光伏并网逆变器的主要组成部分。
本文介绍了基于DSP的三相逆变器的控制程序的设计原理和参数计算,并给出了部分实验调试的结果。
1引言TMS320F2812 DSP是在光伏并网逆变器中广泛应用的嵌入式微处理器控制芯片。
限于篇幅,本文只对基于DSP的三相逆变控制程序的设计进行了讨论。
第2节介绍了三相逆变控制程序的总体设计原理。
第3节讨论了参数计算方法和程序设计原理。
最后第4节给出了部分实验调试结果。
2基本原理控制程序的总体设计示意图见图1。
使用异步调制的方法产生SPWM波形。
将正弦调制波对应的正弦表的数值,按一定时间间隔t1依次读出并放入缓冲寄存器中。
比较寄存器则由三角载波的周期t2同步装载,并不断地与等腰三角载波比较,以产生SPWM波形。
时间间隔t1决定了正弦波的周期,时间间隔t2决定了三角载波的采样周期,t1和t2不相关,亦即正弦调制波的产生和PWM波形发生器两部分相互独立。
使用TMS320F2812的EV模块产生PWM波形。
EVA的通用定时器1按连续增/减模式计数,产生等腰三角载波。
三个全比较单元中的值分别与通用定时器1计数器T1CNT比较,当两者相等时即产生比较匹配事件,对应的引脚(PWMx,x=1,2,3,4,5,6)电平就会跳变,从而输出一系列PWM波形。
因为PWM波形的脉冲宽度与比较寄存器中的值一一对应,所以,只要使比较寄存器中的值按正弦规律变化,就可以得到SPWM波形。
考虑到DSP的资源有限,使用查表法产生正弦调制波。
将一个正弦波的周期按照一定的精度依次存于表中;使用时按照一定的定时间隔依次读取,便得到正弦波。
显然,精度要求越高,所需的表格越大,存储量也越大。
一个周期的正弦表的相位是,对应表的长度的1/3。
为了产生三相对称正弦波,将正弦表长度取为3n,n为整数。
当A相从第0个数开始取值时,则B相从第n个数处开始取值,C相从第2n个数处开始取值。
事实上,因为使用了异步调制,所以只要正弦表的长度足够大,不是3的整数倍也不会对输出波形产生太大影响。
2812存储器映射及CMD2812存储器映射2812具有32位的数据地址和22位的程序地址,总地址空间可以达到4M的数据空间和4M的程序空间。
32位的数据地址,就是能访问2的32次,是4G,而22位的程序地址,就是能访问2的22次,是4M。
其实,2812可寻址的数据空间最大是4G,但是实际线性地址能达到的只有4M,原因是2812的存储器分配采用的是分页机制,分页机制采用的是形如0 xXXXXXXX的线性地址,所以数据空间能寻址的只有4M。
2812的存储器被划分成了下面的几个部分:1. 程序空间和数据空间。
2812所具有的RAM、ROM和FLASH都被统一编址,映射到了程序空间和数据空间,这些空间的作用就是存放指令代码和数据变量。
2. 保留区。
数据空间里面某些地址被保留了,作为CPU的仿真寄存器使用,这些地址是不向用户开放的。
3.CPU中断向量。
在程序空间里也保留了64个地址作为CPU的32个中断向量。
通过CPU寄存器ST1中的VMAP位来将这一段地址映射到程序空间的底部或者顶部。
映射和空间的统一编址F2 812内部的映射空间低地址空间高地址空间2812CMD详解CMD:command命令,顾名思义就是命令文件指定存储区域的分配.2812的CMD采用的是分页制,其中PAGE0用于存放程序空间,而PAGE1用于存放数据空间。
1.)#pragma ,CODE_SECTION和DATA_SECTION伪指令#pragma DATA_SECTION(funcA,"dataA"); ------ 函数外声明将funcA数据块定位于用户自定义的段"dataA"中 ------ 需要在CMD中指定dataA段的物理地址2.)MEMORY和SECTIONS是命令文件中最常用的两伪指令。
MEMORY伪指令用来表示实际存在目标系统中的可以使用的存储器范围,在这里每个存储器都有自己的名字,起始地址和长度。
第1章芯片结构及性能概述TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:C20x、C24x、C27x和C28x。
C20x可用于通信设备、数字相机、嵌入式家电设备等;C24x主要用于数字马达控制、电机控制、工业自动化、电力转换系统等。
近年来,TI公司又推出了具有更高性能的改进型C27x和C28x系列芯片,进一步增强了芯片的接口能力和嵌入功能,从而拓宽了数字信号处理器的应用领域。
TMS320C28x系列是TI公司最新推出的DSP芯片,是目前国际市场上最先进、功能最强大的32位定点DSP芯片。
它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。
本章将介绍TMS320C28x 系列芯片的结构、性能及特点,并给出该系列芯片的引脚分布及引脚功能。
1.1 TMS320C28x系列芯片的结构及性能C28x系列的主要片种为TMS320F2810和TMS320F2812。
两种芯片的差别是:F2812内含128K×16位的片内Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片内Flash存储器,且无外部存储器接口。
其硬件特征如表1-1所示。
表1-1 硬件特征注:‡“S”是温度选择(-40℃~ +125℃)的特征化数据,仅对TMS是适用的。
‡‡产品预览(PP):在开发阶段的形成和设计中与产品有关的信息,特征数据和其他规格是设计的目标。
TI保留了正确的东西,更换或者终止了一些没有注意到的产品。
高级信息(AI):在开发阶段的取样和试制中与新产品有关的信息,特征数据和其他规格用以改变那些没有注意到的东西。
产品数据(PD):是当前公布的数据信息,产品遵守TI的每项标准保修规格,但产品加工不包括对所有参数的测试。
f2812统计代码运行时间f2812计算器是很多嵌入式领域开发者常用的工具,其精密的计算、高效的速度和多种接口,使得它被广泛应用于各种嵌入式应用中。
在使用f2812开发嵌入式应用时,我们通常会遇到一个关键问题,即如何计算代码运行时间,确保应用程序的稳定性和可靠性。
在本文中,我们将深入探讨如何使用f2812进行代码运行时间的统计。
一、f2812简介f2812是德州仪器(TI)公司推出的一款高性能数字信号处理器(DSP)。
它采用了32位RISC架构,配备了浮点数运算单元(FPU)和12位模数转换器(ADC),可广泛应用于各种嵌入式系统和实时数字信号处理应用中。
f2812还具有丰富的通信接口,如串口、CAN、SPI等,方便开发者与外部设备进行数据交换。
二、代码运行时间的重要性在嵌入式系统开发过程中,代码运行时间是一个非常重要的指标。
因为嵌入式系统往往需要高速运行,确保低延迟、高精度和高效率,而代码的运行时间决定了嵌入式系统的响应速度和稳定性。
如果代码运行时间过长,会导致系统性能降低、响应时间变长,甚至出现系统崩溃的情况,对嵌入式应用带来严重影响。
因此,开发者需要对代码运行时间进行精准的测量和分析,以保证系统的稳定性和可靠性。
三、f2812如何统计代码运行时间f2812的时钟频率可通过对内部时钟信号进行配置设置。
通常情况下,f2812的时钟频率为150MHz,即一个时钟周期为6.67ns。
由于f2812处理器的高速性能,它可精确测量代码执行时间,确保代码执行流程的正确性。
在系统中,代码执行时间可通过使用f2812的计时器模块(timers)来统计。
f2812计时器模块由四个16位计时器(timers)和两个带有死区发生器(deadband generators)的16位PWM(脉冲宽度调制器)组成。
可以通过使用计时器读取计数寄存器(timer counter)的值来统计代码的执行时间。
具体来说,我们可以采用以下步骤进行操作:1. 初始化计时器我们需要先将计时器进行初始化,以确保其处于正确的状态。
TMS320F2812学习总结一、复位2812复位后,芯片会采样XMPNMC 引脚的状态,这个脚的状态决定了2812复位后是从内部的Boot Rom 引导还是从外部接口区域7引导,如果XMPNMC=1(微处理模式),那么复位的中断向量将会指向外部的存储区域7,当然这种模式下必须保证外部的存储区域可用,同时引导程序必须由程序员事先写好,才能保证芯片的正常启动。
如果XMPNMC=0(微计算机模式),那么外部存储区域7将被禁止而内部的Boot Rom 使能,在这种情况下,芯片复位后将会从内部的Boot Rom 获得复位向量。
一般情况下我们都是采用微计算机模式,因此对这一引导方式做详细地说明。
在微计算机模式下,芯片复位后从内部的Boot Rom 0x3fffc0处读取0z3ffc00这个地址,因此程序就从这个地址开始执行。
图1.1是Boot Rom图1.1 片上Boot Rom的存储器映射表,可以看出0x3fffc0处正好是2812的复位向量,跳转后的地址0x3ffc00正好是芯片的引导加载函数的入口,因此芯片复位后将会执行引导加载函数,然后该函数根据芯片的特殊GPIO 口的状态确定芯片的引导模式。
表1.1给出了4个GPIO 引脚的状态来确定所要使用的引导模式。
表1.1 由4个GPIO 引脚选择的引导模式GPIOF4 (SCITXDA)PUGPIOF12 (MDXA) NO PUGPIOF3 (SPISTEA) NO PUGPIOF2 (SPICLK) NO PU模式选择1 x x x 跳转到Flash 0x3F7FF6地址处0 1 x x调用SPI_Boot 函数,利用SPI 口从外部串行EEPROM 中引导0 0 1 1调用SCI_Boot 函数从SCI_A 口进行引导 0 0 1 0 跳转到H0 SARAM 中0x3F8000地址处 0 0 0 1跳转到OTP 中0x3D7800地址处0 0 0 0调用Parallel_Boot 函数从GPIO 口B 进行引导注:1、PU代表该引脚内部被拉高,NO PU则表示该引脚没有被内部拉高。
M0和M1:2组1K×16SARAM。
③16个12位模拟-数字转换通道. All Rights Reserved.图1LQTP封装引脚排列(b)JTAG接口图2基本系统框图(c). All Rights Reserved.(a)F2812芯片(d)(e)图3基本系统原理图系统组成本文介绍的TMS320F2812基本系统的框图如图2所示,板载TMS320F2812芯片、1个复位按钮、外扩1路SCI接口、外扩1路RS485标准接口、外扩1路CAN收发转换个电源指示LED、间距2.0mm的排针将所有有用的管脚引出针标准JTAG调试接口,全面支持TDS、XDS等各类仿真器TMS320F2812芯片的电路原理如图3(a)所示;JTAG接口电路原(b)所示;CAN接口电路采用TI公司的3.3VCAN总线收发芯片型号为SN65HVD230。
其电路原理如图3(c)所示;RS485用MAXIM公司的3.3VRS-485收发器,芯片其电路原理如图3(d)所示;RS232接口电路采用MAXIM3.3VRS-232收发器,芯片型号为MAX3232。
其电路原理如图基本系统采用4层PCB板大小94×64mm2,其引出脚如图系统等工业现场、运动控制产品中。
图4基本系统板引脚排列3使用实例基本系统的开发环境是CCS集成开发环境和XD510仿真器。
板上设有符合IEEE1149.1标准的片内扫描仿真接口(JTAG),用于实验或应用系统的在线仿真调试。
本文取基本系统板上56个多功能GPIO口中的8个,外接8个发光二级管进行流水灯演示。
外接电路如图5所示。
由于F2812芯片输出引脚输出缓冲器驱动能力的典型值是4mA,为了保护芯片,在发光管与芯片引脚之间增加一片74HC373锁存器。
3.3V电源电路如图6所示。
图5流水灯演示电路图6 3.3V电源电路实验程序如下:******************************************************* *************************文件:Water_lamp.c内容:8个发光二极管LED1(L1)-LED8(L8)流水灯实验。
第7课F2812的EV模块作者:顾卫钢由于2812主要应用于工业控制场合,例如电机控制、变频器,逆变器等等,所以2812的事件管理器模块(EV)可谓是重点部分了,由于EV的内容非常丰富,我们在讲义中不能面面俱到,所以希望大家在学习的时候能将手头的书本和我们的讲义结合起来学习,应该效果会更好。
我们在今天的课程中将为大家重点介绍EV模块中的定时器及其PWM电路,希望通过这节课的学习,大家能够熟练使用EV来产生自己所需要的PWM波形。
1.事件管理器的功能2812具有两个事件管理器模块EVA和EVB,这两个EV模块就像孪生兄弟一样,具有相同的功能,例如它们的定时器、比较单元、捕捉单元的功能都是完全一样的,只是各个单元的名称因为EVA和EVB有所区别而已,我们在下面的分析中主要以EVA为例。
简单来讲的话,每个EV模块都具有2个通用定时器、3个比较单元、3个捕获单元以及1个正交编码电路,我们重点来讲定时器和比较单元部分的内容。
EVA和EVB的资源详见上面的表格所示,表格中蓝色的字表示该信号是低电平有效。
通用定时器就像秒表一样,是可以用来计时的,而且每个定时器还能产生1路独立的PWM波形;比较单元主要功能就是用来生成PWM波形的,EVA具有3个比较单元,每个单元可以生成一对(两路)互补的PWM波形,生成的6路PWM波形正好可以驱动一个三相桥电路。
捕获单元的功能是捕捉外部输入脉冲波形的上升沿或者下降沿,可以统计脉冲的间隔,也可以统计脉冲的个数。
正交编码电路的话应该用的比较少,它可以对输入的正交脉冲进行编码和计数,它和光电编码器相连可以获得旋转机械部件的位置和速率等信息。
细心的同学可能会发现,为什么“External compare-output trip inputs”、“External timer-compare trip inputs”、“External trip inputs”用的是英文,其他都翻译成中文了呢?原因是书上翻译的太差了,特别是我们推荐的教材《TMS320C28X系列DSP的CPU与外设》中将其分别翻译成了“外部比较-输出行程输入”“外部定时器_比较行程输入”“外部行程输入”,让人看了有些丈二和尚摸不着头脑的感觉,不知道讲的是什么,这几个信号究竟是干嘛用的更是不清楚了,因此,在这里还是向大家介绍原汁原味的英文名称。
目录一、如何开始DSP的学习 (2)二、完整工程的构成 (4)三、CCS的操作 (7)1、CCS的布局和结构 (7)2、开始调试程序 (8)3、统计代码运行时间 (10)四、F2812的资源 (15)1、F2812的片内资源 (16)2、地址总线和数据总线 (16)3、内部的存储器资源 (18)4、存储器映射 (18)5、映射和空间的统一编址 (20)6、2812CMD详解 (21)五、中断系统 (25)1、F2812的中断系统 (25)2、2812中断程序模板 (29)六、F2812的时钟系统 (32)1、振荡器OSC和锁相环PLL (32)2、2812芯片中各种时钟信号的产生情况 (33)3、看门狗(Watch Dog) (34)4、系统初始化函数 (34)七、IO口控制 (37)八、F2812的EV模块 (39)1、事件管理器的功能 (39)2、通用定时器 (40)3、通用定时器初始化程序 (43)九、F2812的PWM (46)1、通用定时器产生的PWM波 (46)2、三相全桥电路桥理想驱动波形 (49)十、F2812的SCI模块 (53)1、2812 SCI模块 (54)2、SCI模块的特点 (55)3、SCI模块发送和接收数据的工作原理 (55)4、SCI数据格式 (56)5、SCI通信波特率设置 (56)6、SCI发送和接收数据的机制 (57)7、多处理器通信 (58)一、如何开始DSP的学习以下为各网友学习DSP的一些经验fxw451:大家先大体上看一遍书,把大体的知识了解一下。
其次就是看例子了,例子是关键,例子里有你学的所有的东西,这次你再拿出一本书来看,这次是有针对性的看,比如你做的spi的,你就直接看sp i那张,一边看例子一边看书,这样你就可以把一些重要的寄存器给记住了。
对于初学者来说,一直好奇的就是ccs的使用,拿我第一次使用ccs来说,当我把ccs和板子连载一起时,我相当高兴,成功感油然升起,接下来就是用ccs里的看自带的例子了,看完后你就会发现,这些是什么东东哦,什么都不会,这就对了,你要是看一开始看会了你就是神仙了,dsp不像单片机那么容易上手,所以你要花费点功夫吃透它,好东西不是那么容易就可以搞定的。