ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:209.34KB ,
资源ID:8101359      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8101359.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP28335的调试总结这是一份总结很全面的资料我在学.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP28335的调试总结这是一份总结很全面的资料我在学.docx

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

2、时基计数器复位到零,再 次开始增加。PWM 信号周期与频率的计算如下:1 2 端口对应关系通道相应 PWM 的 A/B对应 JP0B 端口号1ePWMA92ePWM103ePWMA114ePWM125ePWMA136ePWM147ePWMA158ePWM169ePWMA1710ePWM1811ePWMA1912ePWM20说明: JP0B的端口号按“ Z”字形顺序数13 初始化程序注释void InitPwm1AB (float32 f)Uint16 T= 2343750/f-1.0;/ 系 统 时 钟 SYSCLKOUT =150MHz TBCLK =6.6666667ns,在连续增计数模式

3、下, 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; / 在相位寄存器中设置计数器的起始计数 位置/ 下面两条语句组合对 PWM 的时钟进行分频 EPwm1Regs.TBCTL .bit.CLKDIV

4、= 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 使能并 配置映射寄存器为自动读写EPwm1R

5、egs.TBCTL .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 .LO

6、ADAMODE = CC_CTR_ZERO; / 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

7、;/ TBCTR(计数器)与 CMPA 在 up 计数时相等使输出为 high,这关系的输出的占空比EPwm1Regs.AQCTLB .bit.ZRO = AQ_SET;EPwm1Regs.AQCTLB .bit.CBU = AQ_CLEAR ;EDIS;2 DSP 的 CAN 通信21CAN2 .0B 协议简述TMS320F28335上有2个增强型 CAN总线控制器,符合CAN2. 0B协议,其 总线波特率可达到 1Mbps。符合 CAN2. 0B协议的数据帧为扩展数据帧, 即采用 29位标识符。数据帧的 数据域最多可含 8 个字节,则 DSP28335的数据帧位数为 64128 位。CAN

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

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

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

11、线非常短、临时或实验室测试时也可以不使用终端电阻。24DSP的CAN 时钟模块CAN 的时钟频率 CANCLOCK SYSCLKOUTBRP其中BRP=BRPreg+1 , BRPreg 为波特率预定标寄存器,用于将系统时钟分频为 CAN 时钟,1 BRP 256 。若采用 3 次采样模式,必须满足 BRP 5。CAN 总线上的时间周期长度由 TSEG1、 TSEG2以及 BRP决定:TSEG1=TSEG1reg+1 , 1 TSEG1 16;TSEG2=TSEG2reg+1 ,1 TSEG2 8(注意 TSEG1必须大于或等于 TSEG2 );波特率 Baud rate=SYSCLKOUTB

12、RT (TSEG1+TSEG2+1) 25 邮箱初始化例程注解void InitMboxA0 ( Uint32 MID, Uint16 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 = ECan

13、aRegs. CANRIOC . all;ECanaShadow. CANRIOC . bit. RXFUNC = 1;ECanaRegs. CANRIOC . all = ECanaShadow. CANRIOC . all;ECanaShadow. CANMC .all = ECanaRegs. CANMC . all;ECanaShadow. CANMC . bit. SCB = 1; / 选择 eCAN 模式,将 32个邮箱寄 存器全部使用起来ECanaRegs. CANMC . all = ECanaShadow. CANMC . all;ECanaMboxes. MBOX0 . M

14、SGCTRL . all = 0x00000000;/ 此语句含邮箱号, 可以修改/ 以下状态或标志寄存器通过写 1 清零/ECanaRegs. CANTA . all = 0xFFFFFFFF;ECanaRegs. CANRMP . all= 0xFFFFFFFF;ECanaRegs. CANGIF0 . all= 0xFFFFFFFF;ECanaRegs. CANGIF1 . all= 0xFFFFFFFF;/ 配置邮箱收发方向 /ECanaShadow. CANMD . all = ECanaRegs. CANMD .all;ECanaShadow. CANMD . bit. MD0 =

15、 TR; / 此语句含邮箱号,可以修改ECanaRegs. CANMD .all = ECanaShadow. CANMD .all;/ 配置标识符 ID ,写标识符前必须关闭使能位 /ECanaShadow. CANME .all = ECanaRegs. CANME . all;ECanaRegs. CANME . bit. ME0= 0; / 此语句含邮箱号,可以修改ECanaRegs. CANME . all = ECanaShadow. CANME .all;ECanaMboxes. MBOX0 . MSGID . all = MID; / 此语句含邮箱号,可以 修改/ 标识符配置结

16、束后使能相应的邮箱 /ECanaShadow. CANME .all = ECanaRegs. CANME . all;ECanaShadow. CANME .bit.ME0 = 1; / 此语句含邮箱号,可以修改ECanaRegs. CANME .all = ECanaShadow. CANME . all;/ 设置数据长度的字节数 /ECanaMboxes. MBOX0 . MSGCTRL . bit. DLC = DTL ;/ 此语句含邮箱号, 可以修改EDIS;26 消息发送和接收1、消息发送/ 往发送邮箱中写数据,分别写低 32位 4字节和高 32位 4字节ECanaMboxes.

17、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. CANTA . all = ECanaRegs. CANTA . all; while ( ECanaShadow. CANTA . bit. TA0 = 0 )

18、; / 当邮箱的消息被成功发 送时,发送应答位 TA 将置 1ECanaShadow. CANTA . bit. TA0 = 1; / 写 1 清零,准备判别下一次发送与否 ECanaRegs. CANTA . all =ECanaShadow. CANTA . all;2、消息的接收 struct ECAN _REGS ECanaShadow; ECanaShadow. CANRMP . all = ECanaRegs. CANRMP . all ; do while( ECanaShadow. CANRMP . bit. RMP1 != 1 );/ 当接收消息成功时,接 收待决位 RMP0

19、 置位为 1ECanaShadow. CANRMP . bit. RMP1 = 1;/ 接收消息待决位通过写 1清零 ECanaRegs. CANRMP . all=ECanaShadow. CANRMP . all;27CAN 的适配器存在的一些问题过滤器配置明显不对但任然能接受数据:波特率是 2 倍关系3 DSP 的 32 位浮点运算测试TESTCOUNT1 对应于正弦运算的时钟周期数TESTCOUNT2 对应于加法运算的时钟周期数TESTCOUNT3 对应于除法运算的时钟周期数1、单单次运算:2、循环 10 次运算:3、循环 100 次运算:4、结果分析:按多次统计求平均的原则, DSP

20、28335的 32 位浮点运算时间为: 单次加法: 20 个时钟周期,约为 0.1333 s单次除法: 250 个时钟周期,约为 1.6667 s单次正弦: 82 个时钟周期,约为 0.5533 s5、补充说明:系统时钟周期为 SYSCLKOUT 1/150 MHz 0.0067 s 6.7ns6、浮点运算正弦值并画图4 DSP 定时器中断41 DSP28335的定时器TMS320F28335一共有 3个 32位 CPU定时器,其中定时器 0可以被用户使 用,定 时器 1 和 定时器 2 则 被保 留为 实 时操 作系 统使 用(这是文件 DSP2833x_CpuTimers. c中的说法,而

21、手册 2823x SystemControl and Interrupts ReferenceGuide中讲 0 和 1 可用而 2 被保留。这一点如有必要需更多的测试) 。本程序中主要涉及的定时器寄存器有计数寄存器 TIM (32位,分高 16 位和 低 16 位)、周期寄存器 PRD(32 位,分高 16位和低 16 位)、定时器分频寄存器 TDDR(16 位,分高 8位和低 8位)以及定时器控制寄存器 TCR。42 定时器分频本程序定时器的分频值为零,则进行 1 分频,定时器周期等于系统输出时钟 周期如下图,分频值 可以 在文 件 DSP2833x_CpuTimers. c 中 的函 数

22、 void InitCpuTimers(void) 中去修改。43 计数器计数每过一个定时器时钟周期,定时器计数器寄存器 TIM 减 1,当 TIM 递减到 0 时,产生一个 CPU 中断信号并将 PRD 的值重载到 TIM 中,TIM 继续递减计数。 详参资料 2823x System Control and Interrupts Reference Guide第 62 页,如 下图:44 定时器时钟周期定时器时钟周期 (TDDRH:TDDR+1) 即对系统时钟进行分频而得到。1SYSCLKOUT注:详参任润柏,周荔丹等 . TMS320F28x 源码解读,北京:电子工业出版 社, 2010

23、,24 37.5 DSP 看门狗复位51 看门狗时钟看门狗时钟发生器 :WDCLK = CLKOUT /512,当 HALT 时停止6-bits 预定标 WDPS 选择:将 WDCLK 再分频后送给看门狗定时器。 WDPS 为 WDCR 的 20 位。其 6-bits 配置作用如下:000 WDCLK =OSCCLK / 512/ 1; 001 WDCLK =OSCCLK / 512/ 1;010 WDCLK =OSCCLK / 512/ 2; 011 WDCLK =OSCCLK / 512/ 4;100 WDCLK =OSCCLK / 512/ 8;101 WDCLK =OSCCLK / 5

24、12/ 16;110 WDCLK =OSCCLK / 512/ 32;111 WDCLK =OSCCLK/ 512/ 64;52 看门狗系统控制和状态寄存器 ( SCSR)高 13 位均保留,只控制低 3 位:53 看门狗计数寄存器( WDCNTR )计数器 WDCNTR :低 8 位为计数器,当低 8 位溢出时,产生一个复位信号。此寄存器为只读寄存器54 看门狗重启管理器( WDKEY )利用软件定时向看门狗复位控制寄存器 WDKEY 写“0x55+0xAA ”序列,即 可以复位看门狗计数器:void ServiceDog(void)EALLOW ;SysCtrlRegs.WDKEY = 0x0055;SysCtrlRegs.WDKEY = 0x00AA ;EDIS;看门狗重启管理器 (WDKEY )的 低 8 位参与控制,只有先写入 55h 后写入 AAh 后重启看门狗计数器。不是此顺序写入 55h 或 AAh ,则无效。写入其他数 值时则产生复位信号。55看门狗控制寄存器 (WDCR )看门狗检测位 WDCHK :需要向 WDCHK (20)写 1、0、1,写其他任何值都会引 起器件内核的复位(看门狗已经使能) ,此检测位执行读操作将返回 0、 0、0.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1