我在学习开发板的一总结,希望能得到同行的帮助,愿与

上传人:ldj****22 文档编号:33962488 上传时间:2018-02-19 格式:DOC 页数:16 大小:1.05MB
返回 下载 相关 举报
我在学习开发板的一总结,希望能得到同行的帮助,愿与_第1页
第1页 / 共16页
我在学习开发板的一总结,希望能得到同行的帮助,愿与_第2页
第2页 / 共16页
我在学习开发板的一总结,希望能得到同行的帮助,愿与_第3页
第3页 / 共16页
我在学习开发板的一总结,希望能得到同行的帮助,愿与_第4页
第4页 / 共16页
我在学习开发板的一总结,希望能得到同行的帮助,愿与_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《我在学习开发板的一总结,希望能得到同行的帮助,愿与》由会员分享,可在线阅读,更多相关《我在学习开发板的一总结,希望能得到同行的帮助,愿与(16页珍藏版)》请在金锄头文库上搜索。

1、DSP28335 的调试总结,这是一份总结很全面的资料,我在学习开发板的一些总结,希望能得到同行的帮助,愿与大家一起学习和分享DSP28335 测试总结11 DSP 的 PWM 信号11 简介DSP28335 共 12 路 16 位的 ePWM,能进行频率和占空比控制。ePWM 的时钟 TBCLK=SYSCLKOUT/(HSPCLKDIVCLKDIV):PWM 信号频率由时基周期寄存器 TBPDR 和时基计数器的计数模式决定。初始化程序采用的计数模式为递增计数模式。在递增计数模式下,时基计数器从零开始增加,直到达到周期寄存器值(TBPDR ) 。然后时基计数器复位到零,再次开始增加。DSP28

2、335 测试总结2PWM 信号周期与频率的计算如下:12 端口对应关系通道 相应 PWM 的 A/B 对应 JP0B 端口号1 ePWMA 92 ePWM 103 ePWMA 114 ePWM 125 ePWMA 136 ePWM 147 ePWMA 158 ePWM 169 ePWMA 1710 ePWM 1811 ePWMA 1912 ePWM 20说明:JP0B 的端口号按“ Z”字形顺序数。13 初始化程序注释void InitPwm1AB(float32 f)Uint16 T= 2343750/f-1.0;/系统时钟SYSCLKOUT=150MHz,TBCLK=6. 6666667n

3、s,在连续增计数模式下,f=150000000/(TBPDR+1)EALLOW;/先初始化通用输入输出口/GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; EPwm1Regs.TBPHS.half.TBPHS = 0; / 在相位寄存器中设置计数器的起始计数DSP28335 测试总结3位置/下面两条语句组合对 PWM 的时钟进行分频EPwm1Regs.TBCTL.bi

4、t.CLKDIV = 6;EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0;EPwm1Regs.TBPRD = T; /在周期寄存器中设置计数器的计数周期/TBCTL 为定时器控制寄存器EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; /设置计数模式位为连续增计数模式,产生对称方波EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; / 将定时器相位使能位关闭EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;/映射寄存器 SHADOW 使能并配置映射寄存器为自动读写EPwm1Regs.TB

5、CTL.bit.SYNCOSEL = TB_CTR_ZERO; / 定时器时钟源选择,一共有四种时钟源EPwm1Regs.CMPA.half.CMPA= 0.0001*T;/ 设置 EPWM1A 比较值寄存器的比较值,即体现 EPWM1A 的占空比EPwm1Regs.CMPB= 0.0001*T;EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;/A 模块比较模式EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;/B 模块比较模式EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; /

6、 A 模块比较使能,通过写 0 来清除 SHDWAMODE 位来使能 load on CTR=ZeroEPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; / B 模块比较使能,通过写 0 来清除 SHDWBMODE 位来使能 load on CTR=Zero/AQCTLA 为输出 A 比较方式控制寄存器EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET; / TBCTR(计数器)计到零时使输出为反向EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;/TBCTR(计数器)与 CMPA 在up 计数时相等使输出为 hig

7、h,这关系的输出的占空比EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET; EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR;EDIS;DSP28335 测试总结42 DSP 的 CAN通信21CAN2. 0B 协议简述TMS320F28335 上有 2 个增强型 CAN 总线控制器,符合 CAN2.0B 协议,其总线波特率可达到 1Mbps。符合 CAN2.0B 协议的数据帧为扩展数据帧,即采用 29 位标识符。数据帧的数据域最多可含 8 个字节,则 DSP28335 的数据帧位数为 64128 位。CAN 协议规定采用帧的形式进行通信,有 4 种不同

8、类型的帧: 数据帧:携带数据从一个发送节点到一个接收节点; 远程帧:它被一个节点发送出去用以请求发送具有相同标识符的数据帧,通过发送远程帧,一个节点需要的数据可以通过请求另一个节点发送相应的数据帧来获得,数据帧和相应的远程帧使用相同标识符; 错误帧:在总线错误检测时由任意节点发送的帧; 超载帧:在前后两个数据帧或远程帧之间提供一个额外的延迟。通信报文的优先级由标识符决定,标识符数值越小,优先级越高。最高优先级的报文在总线仲裁的过程中获得总线的访问权,低优先级报文在下一个总线空闲自动重发。CAN2.0B 协议的数据帧格式如下图所示:对于 CAN2.0B 协议的消息,其标识符扩展位 IDE(MSG

9、ID31)必须置 1,由此可知给 DSP 的邮箱初始化标识符 ID 时,其 16 进制赋值的最高位至少应当为 8.DSP28335 测试总结5在不同的系统中,CAN 总线的波特率可以不同,其可适应的信息传输距离也不同;但在同一个系统中,其总线波特率必须一致,所以 DSP28335 在初始化波特率时,A 路和 B 路应当同时进行一致的初始化。22CAN 总线电平CAN 总线的理论电平如下图所示:高速 CAN 与低速 CAN 在总线电平上有区别,如下图所示:DSP28335 测试总结6高速 CAN 与低速 CAN 的高速低速之分在于支持的总线波特率不一样。实验用的开发板上的收发器 PCA82C25

10、0 第 8 脚接地,故为高速 CAN 模式。高速CAN 为提高通信的抗干扰性和可靠性,应进行光耦隔离。开发板的 CAN 接口部分电路如下图所示:23CAN 总线上的 120 欧电阻CAN 总线终端以及各个节点终端通常均有 120 欧电阻,其作用在于匹配总线阻抗,提高数据通信的抗干扰性及可靠行,有效地增强信号强度。高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,根据传输线理论,终端电阻可以吸收网络上的反射波,使信号到达传输线末端后不反射。两个终端电阻并联后的值应当基本等于传输线在通信频率上的特性阻抗。终端电阻典型DSP28335

11、测试总结7值为 120 欧姆.在网络连接线非常短、临时或实验室测试时也可以不使用终端电阻。24DSP 的 CAN 时钟模块CAN 的时钟频率 SYCLKOUTCANBRP其中 , 为波特率预定标寄存器,用于将系统时钟分BRP=reg+1Preg频为 CAN 时钟, 。若采用 3 次采样模式,必须满足 。256 BRP5CAN 总线上的时间周期长度由 、 以及 决定:TSEG12, ;TSEG1reg1, (注意 必须大于或等于 )2=+281TSEG2;波特率 SYCLKOUTBaud rteR(EG12+)25 邮箱初始化例程注解void InitMboxA0(Uint32 MID,Uint

12、16 DTL,Uint16 TR)struct ECAN_REGS ECanaShadow;EALLOW;ECanaShadow.CANTIOC.all = ECanaRegs.CANTIOC.all;ECanaShadow.CANTIOC.bit.TXFUNC = 1;ECanaRegs.CANTIOC.all = ECanaShadow.CANTIOC.all;ECanaShadow.CANRIOC.all = ECanaRegs.CANRIOC.all;ECanaShadow.CANRIOC.bit.RXFUNC = 1;ECanaRegs.CANRIOC.all = ECanaShad

13、ow.CANRIOC.all;DSP28335 测试总结8ECanaShadow.CANMC.all = ECanaRegs.CANMC.all;ECanaShadow.CANMC.bit.SCB = 1; /选择 eCAN 模式,将 32 个邮箱寄存器全部使用起来ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;ECanaMboxes.MBOX0.MSGCTRL.all = 0x00000000;/此语句含邮箱号,可以修改/以下状态或标志寄存器通过写 1 清零/ECanaRegs.CANTA.all= 0xFFFFFFFF;ECanaRegs.CANRM

14、P.all= 0xFFFFFFFF;ECanaRegs.CANGIF0.all= 0xFFFFFFFF;ECanaRegs.CANGIF1.all= 0xFFFFFFFF;/配置邮箱收发方向/ECanaShadow.CANMD.all = ECanaRegs.CANMD.all;ECanaShadow.CANMD.bit.MD0 = TR; /此语句含邮箱号,可以修改ECanaRegs.CANMD.all = ECanaShadow.CANMD.all;/配置标识符 ID,写标识符前必须关闭使能位/ECanaShadow.CANME.all = ECanaRegs.CANME.all;ECan

15、aRegs.CANME.bit.ME0= 0; /此语句含邮箱号,可以修改ECanaRegs.CANME.all = ECanaShadow.CANME.all;ECanaMboxes.MBOX0.MSGID.all = MID; /此语句含邮箱号,可以修改DSP28335 测试总结9/标识符配置结束后使能相应的邮箱/ECanaShadow.CANME.all = ECanaRegs.CANME.all;ECanaShadow.CANME.bit.ME0 = 1; /此语句含邮箱号,可以修改ECanaRegs.CANME.all = ECanaShadow.CANME.all;/设置数据长度的

16、字节数/ECanaMboxes.MBOX0.MSGCTRL.bit.DLC = DTL;/此语句含邮箱号,可以修改EDIS;26 消息发送和接收1、消息发送/往发送邮箱中写数据,分别写低 32 位 4 字节和高 32 位 4 字节ECanaMboxes.MBOX0.MDL.all = MDL;ECanaMboxes.MBOX0.MDH.all = MDH;/置位准备发送,将发送请求位置位,使能邮箱发送功能ECanaShadow.CANTRS.all = 0;ECanaShadow.CANTRS.bit.TRS0 = 1; ECanaRegs.CANTRS.all = ECanaShadow.CANTRS.all;doECanaShadow.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号