2812_DSP_PWM模块入门教程

合集下载

第5章 TMS320F2812片内外设模块

第5章 TMS320F2812片内外设模块

5.1.1 通用定时器(General purpose timers)
1. 通用定时器的结构特点 作用: (1)定时 (2)产生PWM波形 (3)为其它模块提供时钟
5.1.1 通用定时器(General purpose timers)
GP定时器模块的结构如图5-1-3,包括: 1个16位可读/写、可增/减的定时器计数器 TxCNT (x=1,2,3,4) 1个16位可读/写定时器比较寄存器TxCMPR(双 缓冲) ; 1个16位可读/写定时器周期寄存器TxPR (双缓 冲); 1个16位可读/写定时器控制寄存器TxCON; 1个通用定时器比较输出引脚TxCMP;
D6 D5 D4 D3 D2 D1 D0
SELT1PR/
T2SWT1/ TENABLE TCLKS1 T4SWT3
TCLKS0 TCLD1TCLD0TECMPR SELT3PR
通用定时器控制寄存器TxCON 定时器使能控制位timer enable 0 禁止定时器操作 1 使能定时器操作 定时器比较使能位timer compare enable 0 禁止定时器比较操作 1 使能定时器比较操作
高速 预定标器
SYSCLKOUT
C28x
EVBENCLK HSPCLK B
registers
A A
GPIO MUX
EVA/B PDPINTA CMP1/2/3INT CAPINT1/2/3n T1CINT,T1PINT A A T1UFINT,T1OFINT T2CINT,T2PINT T2UFINT,T2OFINT B PDPINTB CMP4/5/6INT CAPINT4/5/6n B T3CINT,T3PINT T3UFINT,T3OFINT T4CINT,T4PINT T4UFINT,T4OFINT

2812DSP实验指导书

2812DSP实验指导书

实验指导书数字信号处理E300型教学实验系统Tech_v F2812漆为民、何立言、于军目录第一章实验系统介绍 (3)1.1 EL-DSP-E300型DSP实验系统介绍 (3)1.2 Techv_2812CPU板介绍 (13)第二章调试软件安装说明 ...................................................................... 错误!未定义书签。

2.1 CCS的简介 ............................................ 错误!未定义书签。

2.2 CCS3.1软件的安装 ..................................... 错误!未定义书签。

3.3 CCS3.1软件的设置(以F2812为例) ..................... 错误!未定义书签。

第三章硬件安装说明 .............................................................................. 错误!未定义书签。

3.1 DSP硬件仿真器的安装 .................................. 错误!未定义书签。

3.2 DSP硬件仿真器的使用 .................................. 错误!未定义书签。

E300样例实验说明 ..................................................................................... 错误!未定义书签。

第四章常规实验指导 ................................................................................ 错误!未定义书签。

SR-DSP2812V20开发套件使用手册

SR-DSP2812V20开发套件使用手册

SR-DSP2812V20 开发套件使用手册(版本:1.0)长沙赛睿技术有限公司前言感谢您购买本公司的产品,在使用本产品前,请仔细阅读本使用说明书。

本用户指南是TMS320F2812 嵌入式DSP 控制模板硬件使用说明书,详细描述了SR-DSP2812 的硬件构成、原理,以及它的使用方法和编程指导。

如果您有任何意见和建议请发送邮件至:cyrui@。

同时欢迎您访问我们的网站,获取更多产品信息。

在你开始您的DSP学习开发之旅前,请您仔细核对本套件清单,具体如下:1.SR-DSP2812 开发板 1 块;2.9V直流电源 1 只;3.配套串口线 1 根;4.配套光盘 1 张;5.固定铜螺柱 4 只。

目录第1 章入门 (1)1.1 概述 (1)1.2 特点 (1)1.3 技术指标 (2)第2 章 TMS320F2812 基本系统 (3)2.1 TMS320F2812 时钟 (3)2.1.1 CPU 时钟 (3)2.1.2 片上外设时钟 (3)2.2 TMS320F2812 存储空间的配置 (4)2.2.1 ‘F2812 片上SARAM (6)2.2.2 ‘F2812 片上FLASH 和OTP (7)2.2.3 ‘F2812 外部存储器接口 (8)2.3 McBSP (8)2.4 SPI (8)2.5 SCI (9)2.6 CAN (9)2.7 ADC (9)2.8 事件管理器 (9)2.9 定时器 (10)2.10 F2812 的中断 (10)2.11 ‘F2812 的复位 (11)2.11 JTAG (12)2.12 ‘F2812 工作方式的配置 (12)第3 章测试程序 (13)3.1 GPIO 测试 (13)3.2 SCI 测试 (14)3.3 SPI 测试 (15)3.4 CAN 测试 (16)3.5 PWM 测试 (17)3.6 McBSP 测试 (18)3.7 A/D 测试 (19)3.8 TIMER0 测试 (20)3.9 EvTimer 测试 (21)3.10 外部Ram 测试 (21)3.11 外部FLASH 测试 (23)第1章入门1.1 概述SR-DSP2812 开发套件主要包含SR-DSP2812 的硬件系统与相应的测试软件两部分。

dsp芯片2812课程设计

dsp芯片2812课程设计

dsp芯片2812课程设计一、课程目标知识目标:1. 理解DSP芯片2812的基本结构、工作原理及其功能特点;2. 学会使用2812的内部寄存器进行编程配置;3. 掌握基于2812的数字信号处理算法及其应用。

技能目标:1. 能够运用C语言或汇编语言编写针对2812的简单程序;2. 能够运用仿真工具对2812程序进行调试与优化;3. 能够分析并解决基于2812的实际数字信号处理问题。

情感态度价值观目标:1. 培养学生对数字信号处理领域的兴趣,激发其主动学习的热情;2. 培养学生的团队协作精神,使其在合作学习过程中学会倾听、交流、分享;3. 培养学生严谨的科学态度和良好的工程素养,使其在实际应用中关注技术对社会发展的贡献。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握DSP芯片2812基础知识的基础上,具备实际编程与调试能力,同时注重培养学生的情感态度和价值观,使其成为具有创新精神和实践能力的数字信号处理领域人才。

通过本课程的学习,学生将能够达到以上所述的具体学习成果,为后续相关课程的学习和实际工程应用奠定基础。

二、教学内容1. DSP芯片2812基础知识:- 芯片结构、功能模块及其工作原理;- 内部寄存器组织与配置方法;- 中断系统、定时器及外设接口。

2. 编程与调试技巧:- C语言及汇编语言编程基础;- 仿真工具的使用与调试方法;- 程序优化技巧及性能分析。

3. 数字信号处理算法及应用:- 常见数字滤波器设计;- 快速傅里叶变换(FFT)算法;- 数字信号处理在实际应用中的案例分析。

教学大纲安排如下:第一周:DSP芯片2812基础知识学习;第二周:内部寄存器组织与配置方法;第三周:编程与调试技巧;第四周:数字信号处理算法及应用;第五周:综合案例分析与实践。

教学内容依据教材相关章节,结合课程目标进行选择和组织,保证科学性和系统性。

通过本章节学习,学生将全面了解DSP芯片2812的相关知识,为实际应用奠定基础。

DSP2812讲义7(研究生2013)模数转换器(ADC)

DSP2812讲义7(研究生2013)模数转换器(ADC)

• 2. GPxDIR——方向控制寄存器,用来配置I/O的 方向(输入/输出)。复位时,所有GPIO为输人。 • 如果GPxDIR.bit= 0,引脚配置为数字量输人; • 如果GPxDIR.bit= 1,引脚配置成数字量输出。
• 3. GPxDAT——数据寄存器,如果I/O配置为输入 ,反映当前经过量化后I/O输人信号的状态。如 果I/O配置为输出,向寄存器写值设定I/ O的输 出。 • √如果GPxDAT.bit=0,且设置为输出功能,将相应 的引脚拉低; • √如果GPxDAT.bit= 1,且设置为输出功能,将相应 的引脚拉高。
GPxQUAL
00h 01h 02h . FFh
reserved QUALPRD
. .
no qualification (SYNC to SYSCLKOUT) QUALPRD = SYSCLKOUT/2 QUALPRD . = SYSCLKOUT/4 . QUALPRD = SYSCLKOUT/510
GPIO F功能选择控制寄存器
GPIO F方向控制寄存器 GPIO G功能选择控制寄存器 GPIO G方向控制寄存器
C28x GPIO 寄存器结构
GPIO A GPIO B GPIO D GPIO E GPIO F GPIO G GPIO A Mux Control Register (GPAMUX) GPIO B Mux Control Register (GPBMUX) GPIO D Mux Control Register (GPDMUX) GPIO E Mux Control Register (GPEMUX) GPIO F Mux Control Register (GPFMUX) GPIO G Mux Control Register (GPGMUX) Internal Bus GPIO A Direction Control Register (GPADIR) GPIO B Direction Control Register (GPBDIR)

DSP2812程序运行过程学习总结

DSP2812程序运行过程学习总结

DSP2812程序运行过程学习总结一、2812的上电运行过程以下是2812上电(复位)后运行过程的描述:1:上电运行时根据MP/MC引脚的状态决定是从片外的3fffc0处读取复位向量或者时从片内的rom的3fffc0处读取复位向量。

MC方式下从片内读取,MP方式下从片外读取。

2:一般我们用的是MC方式,即从片内读取复位向量,在片内的rom 3fffc0处有一个地址为3ffc00。

3:复位后处理器从3fffc0处读取3ffc00这个地址,所以程序从3ffc00处开始执行4:3ffc00处开始的就是initboot过程,根据IO管教的状态判断该进入那一种引导方式5:在SCITXA引脚为高电平时就是flash boot方式,此时置PC=3F7FF6SCITXA引脚有内部上拉,所以只要没有强制下拉的话,DSP检测的都是高电平。

对于通讯不影响。

SCITXA不用在外部上拉。

不能直接接到高电平上。

6:在片内flash的3F7FF6和3F7FF7处有一个跳转指令,该跳转指令就是LB _c_int007:执行这个跳转指令后程序就开始运行c_int00这个函数了8:这个函数就是建立一个c程序的运行环境,等建立完c运行环境后c_int00调用main函数9:main函数开始就是我们自己编写的应用程序了。

二、CMD文件介绍DSP开发过程中,编译器生成的代码和数据要由链接器分配到合适的存储空间,通常链接器的命令文件.cmd文件是由用户自己编写的,编写不当,就会使仿真开发不能进行。

1存储空间的配置TMS320F2812的DSP存储器分为三个独立选择的空间-程序空间、数据空间和I/O空间,其中程序存储器存放待执行的指令和执行中所用的系数(常数),可使用片内或片外的RAM、ROM或EPROM等来构成;数据存储器存放指令执行中产生的数据,可使用片内或片外的RAM和ROM来构成;I/O存储器存放与映象外围接口相关的数据,也可以作为附加的数据存储空间使用。

DSP2812使用

DSP2812使用打开CCS时,连接不上注意检查USB的驱动安装是否正常,不正常的话重新安装。

哈佛总线结构:程序和数据存放在不同的存储空间,每个存储空间都可以独立访问,数据的吞吐率提高一倍。

冯-诺依曼结构:程序、数据和地址存储在同一空间里,统一编码,根据指令计数器提供的地址的不同来区分程序、数据和地址,读取不能同时进行。

RAM\SRAM\写周期时间是指从一个写时序的有效停止信号到内部编程/擦除周期结束的这一段时间,在写周期期间总线接口电路禁能,SDA 保持为高电平,器件不响应外部操作。

I2C 总线协议规定,任何将数据传送到总线的器件作为发送器。

任何从总线接收数据的器件为接收器,数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。

主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据发送或接收的模式。

通过器件地址输入端A0 A1 和A2 可以实现将最多8 个24WC01 和24WC02 器件4个242C04 器件,2 个24WC08 器件和1 个24WC16 器件连接到总线上。

存储器芯片的焊接一般控制在10s内,温度不超过300°CCS3.3的使用:F2812尽量用CCS2.2,当然CCS3.3也可向下兼容第一步:安装CCS3.3,C盘目录第二步:安装USB-XDS210仿真器驱动,安装在C\ccstdio\下第三步:将仿真器USB插上电脑,选择手动安装,找到C\ccstdio\HDSP-xds510USB文件第四步:打开ccssetup进行设置,注意选择c28**,同时右击左侧框内F2812emulator属性,进行两项设置,选择的是C\ccstdio\cc\bin\xds510.inf第五步:打开CCS,debug--connect。

DSP2812-实验要求以及参考程序

实验一DSP数据存取实验实验要求:1、找到main函数入口地址4、观察从地址0x80000到0x80007的存储内容操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 Device Simultor2、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\Memory.pjt3、在main函数处设断点(F9),运行程序4、打开反汇编窗口(View>Disassembly),观察入口地址5、修改Memory.c中程序,完成存储区数据修改6、编译通过,加载.out 文件7、设置在变量定义处设置断点,点击运行(F5),单步运行(F11)8、打开观察窗(View>Watch Window)观察自己所设变量在单步运行时变化9、打开存储区窗口(View>Memory)观察地址为0x80000到0x80007的数据变化实验二指示灯与拨码开关实验实验要求:1、熟悉板上指示灯控制寄存器、开关控制寄存器2、指示灯点亮规则:只闭合拨码开关1:全灭;只闭合拨码开关2:全亮;只闭合拨码开关3: 顺序依次点亮;只闭合拨码开关4:反向顺序依次点亮;开关的其它状态:全灭;操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\led.pjt3、修改led.c,注意板上DIP开关控制寄存器地址为C0001h,板上指示灯控制寄存器地址为:C0000h。

这两个寄存器都是低四位有效。

4、观察实验现象实验三DSP定时器实验要求:1、利用定时器中断代替软件延时函数控制指示灯显示频率,要求1秒闪烁一次2、实物仿真时,通过CCS中的Clock功能统计延时函数的延时时间,与设定值进行比较操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\time.pjt3、修改time.c程序,写一个由定时器中断产生的以1s为单位的延时函数void delay(int time);4、在菜单中选择profile>Enable\View5、在延时函数前后各设置一个断点6、清零时钟计数器(双击清零),点击Run运行程序7、计算时间t=测得值/150000000(假如系统的时钟工作在150MHZ),与设定值进行比较实验四事件管理器实验实验要求1、利用事件管理器中的16路中的PWM1,输出一段连续变化的PWM波2、驱动扬声器蜂鸣器播放一段音乐声(声音频率文件参考Speaker.pjt)操作步骤1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\PWM.pjt和F2812\DSP281x_examples\Lab0201-Memory\Speaker.pjt3、在例程Speaker.c中是使用通用定时器TIME0来连续输出频率的方波,这里要求改为用EVA中的PWM1代替之。

DSP-2812-EV

通用定时器就像秒表一样,是可以用来计时的,而且每个定时器还能产生 1 路独立的 PWM 波形;比较 单元主要功能就是用来生成 PWM 波形的,EVA 具有 3 个比较单元,每个单元可以生成一对(两路)互补的 PWM 波形,生成的 6 路 PWM 波形正好可以驱动一个三相桥电路。捕获单元的功能是捕捉外部输入脉冲波形 的上升沿或者下降沿,可以统计脉冲的间隔,也可以统计脉冲的个数。正交编码电路的话应该用的比较少, 它可以对输入的正交脉冲进行编码和计数,它和光电编码器相连可以获得旋转机械部件的位置和速率等信 息。
T2CTRIP/EVASOC
T4CTRIP/EVBSOC
1
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2008 For Evaluation Only.
简单来讲的话,每个 EV 模块都具有 2 个通用定时器、3 个比较单元、3 个捕获单元以及 1 个正交编码 电路,我们重点来讲定时器和比较单元部分的内容。EVA 和 EVB 的资源详见上面的表格所示,表格中蓝色 的字表示该信号是低电平有效。
1.事件管理器的功能
2812 具有两个事件管理器模块 EVA 和 EVB,这两个 EV 模块就像孪生兄弟一样,具有相同的功能,例
如它们的定时器、比较单元、捕捉单元的功能都是完全一样的,只是各个单元的名称因为 EVA 和 EVB 有所
区别而已,我们在下面的分析中主要以 EVA 为例。
EVA
EVB
事件管理器模块
模块
信号引脚
模块
信号引脚
通用定时器
定时器 1 定时器 2
T1PWM_T1CMP T2PWM_T2CMP
定时器 3 定时器 4

DSP原理及应用-F2812-2



-l rts2800.lib -w -stack 400h -heap 100 MEMORY { PAGE 0 : BEGIN : origin = 0x3F8000, length = 0x000002 PRAMH0 : origin = 0x81000, length = 0x002000 PAGE 1 : RAMM1 : origin = 0x000400, length = 0x000400 DRAMH0 : origin = 0x3f9000, length = 0x001000 } SECTIONS { codestart : > BEGIN, PAGE = 0 ramfuncs : > PRAMH0 PAGE = 0 .text : > PRAMH0, PAGE = 0 .cinit : > PRAMH0, PAGE = 0 .pinit : > PRAMH0, PAGE = 0 .switch : > PRAMH0, PAGE = 0 .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */ .stack : > RAMM1, PAGE = 1 .ebss : > DRAMH0, PAGE = 1
// Prototype statements for functions found within this file. interrupt void cpu_timer0_isr(void); #define LEDS *(int *)0xc0000 #define CTRGR *(int *)0x108000 #define CTRLCDCMDR *(int *)0x108001 #define CTRKEY *(int *)0x108001 #define CTRLCDCR *(int *)0x108002 #define CTRCLKEY *(int *)0x108002 #define CTRLCDLCR *(int *)0x108003 #define CTRLCDRCR *(int *)0x108004 #define CTRLA *(int *)0x108005 #define CTRLR *(int *)0x108007 int i=0,nCount; unsigned int uLBD;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

张掌柜倾情奉献TI DSP TMS320F2802开发板在CCS3.3的PWM模块入门教程(第四篇)这是我写的第四篇TI DSP TMS320F2802开发板教程了,每一篇教程都花费了我大量的心血,希望可以对各位朋友有所帮助。

本教程是与本店的TMS320F2802开发板/学习板+XDS100仿真器套装相配合的,学习本教程,然后在我设计开发的TMS320F2802开发板上亲自实验一遍,可以获得事半功倍的效果!淘宝网店名:汉远科技/TMS320F2802开发板/学习板+XDS100仿真器套装链接:/item.htm?id=8878297941。

通过系统的学习本教程,相信在不久的将来你就可以熟练掌握TI的TMS320F2802 DSP,在后面的工作和学习中更加如鱼得水。

第一部分、导言我前面强调过TI的TMS320F2802 DSP 是TMS320F2812的增强版,在PWM 模块这里就是一个非常明显体现。

首先,在名字上TMS320F2802的PWM模块叫ePWM,这个e是Enhanced的头字母,就是增强的意思。

其次,在2812中只有2个Event Manager,其中包括PWM、CAP和QEP三部分,这三部分是共享16bitTimer,而且CAP和QEP之间会共用3个的IO通道,这些对于实际项目都是非常不方便的。

相比较,在2802中是将PWM、CAP和QEP 分别独立开来,这三者之间再也没有干扰和重叠,而且性能也有所加强。

第二部分、TMS320F280x系列DSP的ePWM总体介绍今天我来给各位讲解TI DSP TMS320F2802的ePWM(ePWM是Enhanced Pulse Width Modulator 的缩写)模块的内容,并配合2802开发板做电压测量实验。

本教程要将3个实验。

其中第一个实验需要使用示波器来观察2802开发板产生的PWM波,这样就可以直观的看到PWM波,另外2个实验不需要示波器。

在前面的两篇教程(同在附赠光盘中)里我已经详细的介绍了CCS3.3的一些基本操作,比如将2802开发板与XDS100仿真器Connected,打开project,编译project、Load Program、在线实时仿真等,所以在这里就不再赘述。

还不清楚上述那些基本操作的朋友,请阅读由本人编写的教程《掌柜倾情奉献 XDS100仿真器CCS3.3使用入门(详细版)(第一篇)(密).pdf》和《掌柜倾情奉献 2802开发板在CCS3.3下使用入门 (详细版)第二篇(密).pdf》。

在本教程中总共有5个实验中,分别使用的project如下这五个project的实验目的分别是掌握DSP的PWM模块的中断(Interrupt)原理和设置方法。

掌握DSP的PWM模块的跳闸(trip zone)的原理和设置方法,所谓的跳闸(trip)就可以理解成“刹车”,简单的说,在DSP上有6个引脚分别是TZ1、TZ2到TZ6,在这些引脚上有电平信号的跳变,就会立即触发DSP 的PWM模块停止输出PWM波,这个对于电机控制来说是非常重要和实用的。

在实际应用中,一般是将DSP的TZ1到TZ6的其中的一个引脚(比如TZ1)与IPM功率模块的过电流报警信号相连接,当IPM发生电流过大情况时,IPM模块会产生一个过电流信号(比如一个2us的低电平)传到DSP的TZ1,这时就会触发DSP的PWM的trip zone,于是PWM模块立即停止输出PWM波,这样IPM模块内的IGBT 桥臂就关断了,于是电流没有了,也就避免了因为电流过大而烧坏IPM模块。

掌握DSP的PWM模块的AQ模块(Action-Qualifier的缩写)的原理和设置方法。

通俗的讲,就是通过AQ模块改变PWM波形的形状,但是AQ模块的作用不仅仅是这些。

Specify the type of action taken when a time-base or counter-compare submodule event occurs 这是AQ模块的一句话概括,翻译过来就是,当时基子模块(time-base submodule)或者计数比较子模块(counter-compare submodule)有事件(event)发生时,由AQ模块指定PWM发生的行为类型。

现在对这句话会感觉非常费解,通过后面的学习就理解了。

掌握DSP的PWM模块的上下计数(也叫中心计数)方式的原理和设置方法。

掌握DSP的PWM模块的死区(deadband)子模块设置。

PWM模块是DSP非常重要和实用的一个部分。

PWM模块包括7个子模块,如下(1) Time-base (TB) 时基子模块(2) Counter-compare (CC) 计数比较模块(3) Action-qualifier (AQ) 行为指定模块(4) Dead-band (DB) 死区模块(5) PWM-chopper (PC) PWM斩波模块(6) Trip-zone (TZ) 跳闸模块(7) Event-trigger (ET) 事件触发模块各个模块的结构概况图如下从上图中可以看出,PWM的每个子模块“消费”哪些信号,又“生产”出哪些信号。

对DSP的PWM模块有一个大概的了解后,咱们开始做实验,有一个感性的认识后,咱们再详细的讲解PWM模块的各个子模块。

第三部分、进行中的实验并观察PWM波形是这个实验的目的是明白PWM在UpDown模式下的工作原理,使用的.pjt第一步:讲XDS100仿真与2802或2808开发板连接好,插上USB,再给开发板上电,然后打开CCS3.3,并Connect,Connect的方法参见《掌柜倾情奉献 2802开发板在CCS3.3下使用入门 (详细第三版)第一篇(密).pdf》。

第二步:成功Connect后,进入开CCS3.3的界面,再打开我已经编写好的有关PWM程序代码project,project 的名称是,路径如下图打开方法参见《掌柜倾情奉献 2802开发板在CCS3.3下使用入门 (详细版)第二篇(密).pdf》。

打开后,进入到下图界面第三步,编译build project,然后Load program,方法参见《掌柜倾情奉献 2802开发板在CCS3.3下使用入门 (详细版)第二篇(密).pdf》,完成后出现下图。

第四步,添加需要观测结构体变量epwm1_info到Watch Window。

在找到epwm1_info这个结构体变量,然后右键点击,出现下图,选择红圈处。

然后出现下图,注意右下角处就是watch window第五步,设置实时模式还要再如下图,操作一下,这是设置实时显示的更新时间然后出现下图,点上,然后点OK第六步:点击运行程序,观测watch window中数据的变化。

会发现,在红圈处的数据由0到10进行变化。

然后请有条件的朋友,将示波器的探头连接到板子右上方的20针JTAG口的Pin2、4、6、8、10、12,然后就可以看到6路占空比变化的PWM波了。

20针JTAG的Pin2电路上是通过SN74LVX3245芯片连接到DSP的PWM3A20针JTAG的Pin4电路上是通过SN74LVX3245芯片连接到DSP的PWM3B20针JTAG的Pin6电路上是通过SN74LVX3245芯片连接到DSP的PWM2A20针JTAG的Pin8电路上是通过SN74LVX3245芯片连接到DSP的PWM2B20针JTAG的Pin10电路上是通过SN74LVX3245芯片连接到DSP的PWM1A20针JTAG的Pin12电路上是通过SN74LVX3245芯片连接到DSP的PWM1B使用示波器测量的时候,这里要强调如下几点1、首先要保证你的示波器是数字示波器,不是那种很老很旧的荧光屏的模拟示波器,那种模拟示波器根本测量不了PWM这种高频信号2、其次要保证你测量的J1的引脚是正确的引脚,因为在我发现有很多很多买家朋友就是不知道J1的引脚的正确排列顺序,就是会搞错。

在《TMS320F2808或者2802开发板的接口分布图.pdf》这个文档里面有很清晰很详细的描述,J1的引脚排序如下3、然后大家要正确使用示波器,要知道示波器是有衰减比设置这个的,如果你测试出来的PWM的峰值是500毫伏,或者50V,那么请自己检查一下这个衰减比的设置。

判断是不是衰减比设置有误,很简单的方法,你用示波器探头测试J1的13脚,也就是5V这个电压,你看看测试结果是否就是5V,不是的话,那就是你示波器设置错了。

4、如果大家用示波器测试出来的PWM信号不是方波,而是正弦波或者三角波,那么就是示波器的滤波频率设置的过低,或者是你的示波器本来就不能测试高频信号,这里帮助复习一下高等数学,通过傅里叶变换,任何一个频率的方波都可以分解成不同频率组合的正弦波。

如果示波器的带宽过低(或者设置的过低)那么测量方波就会看到正弦波。

5、如果大家用示波器测试出来的PWM波有倾斜,那么就是示波器探头的电容设置不对,或者探头本身有问题,如果是电容设置不对,可以通过用小螺丝刀去拧示波器探头与示波器接触的那个地方的小螺丝,就可以纠正过来。

SN74LVX3245芯片是一个非常常用并且重要的3.3V转5V芯片,不仅仅是电压转换,还提高了电流驱动能力,还起到了隔离和保护的作用。

点击,停止程序运行,然后必须要先退出实时模式,然后才能reset cpu,再restart ,再点重新运行程序,否则就会造成CCS3.3死机,如果死机,就关掉CCS3.3,把仿真器重新插拔USB,开发板重新上电,再打开CCS3.3,再继续进行操作。

退出的退出实时模式的方法和设置实时模式的方法非常接近,如下图第四部分、讲解中的各个C 语句的含义(1)是系统控制初始化函数,主要是时钟设置、看门狗设置等等。

(2)是将PWM 模块对应的GPIO0、GPIO1、GPIO2、GPIO3、GPIO4、GPIO5口设置成在PWM 模式,而不是做一般的IO 口模式。

(3)是用来初始化EPWM1、EPWM2、EPWM3模块的函数,本质上就是是对EPWM 的各个寄存器进行设置,从而实现用户想要的效果。

(4)使能ePWM1、ePWM2、ePWM3这三个中断(5)无限循环空函数,所有的DSP程序都必须是一个无限循环函数。

绝大多数都是通过一个定时中断,来不断的触发中断,然后进入中断服务子程序进行相应的程序运算等等。

(6)在本程序中一共使能了ePWM1、ePWM2、ePWM3三个中断,中断服务子函数分别如下3个,可以发现,中断服务子函数的前面一定要用 interrupt来定义这个函数的类型,这是TI的DSP程序所特有的一种写法。

(7)在这个pjt中,通过下面这三句话,将三个中断服务子函数的地址映射到中断向量表中的相应地址位置。

相关文档
最新文档