




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP28335 的调试总结,这是一份总结很全面的资料,我在学习 开发板的一些总结, 希望能得到同行的帮助, 愿与大家一起学习 和分享1 DSP 的 PWM 信号11 简介DSP28335共12路16位的 ePWM,能进行频率和占空比控制。 ePWM 的时钟 TBCLK =SYSCLKOUT /(HSPCLKDIV ×CLKDIV ):PWM 信号频率由时基周期寄存器 TBPDR 和时基计数器的计数模式决定。 初始化程序采用的计数模式为递增计数模式。 在递增计数模式下, 时基计数器从 零开始增加,直到达到周期寄存器值( TBPDR )。然后时基计数器复位到零,再 次开始增加。PWM
2、信号周期与频率的计算如下: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,在连续增计数模式下, f =150000000/( TBPD
3、R+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 = 6; EPwm1Regs.TBCTL .
4、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.TBCTL .bit.SYNCOSE
5、L = 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 在
7、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 协议规定采用帧的形式进行通信,有 4 种不
8、同类型的帧: 数据帧:携带数据从一个发送节点到一个接收节点; 远程帧: 它被一个节点发送出去用以请求发送具有相同标识符的数据帧, 通过发送远程帧,一个节点需要的数据可以通过请求另一个节点发送相 应的数据帧来获得,数据帧和相应的远程帧使用相同标识符; 错误帧:在总线错误检测时由任意节点发送的帧; 超载帧:在前后两个数据帧或远程帧之间提供一个额外的延迟。通信报文的优先级由标识符决定,标识符数值越小,优先级越高。最高优先 级的报文在总线仲裁的过程中获得总线的访问权, 低优先级报文在下一个总线空 闲自动重发。CAN2. 0B协议的数据帧格式如下图所示:对于CAN2. 0B协议的消息,其标识符扩展位 I
9、DE(MSGID 31)必须置 1, 由此可知给 DSP的邮箱初始化标识符 ID 时,其 16 进制赋值的最高位至少应当 为 8.在不同的系统中, CAN 总线的波特率可以不同,其可适应的信息传输距离也不同;但在同一个系统中,其总线波特率必须一致,所以 DSP28335 在初始化 波特率时, A 路和 B 路应当同时进行一致的初始化。22CAN 总线电平高速 CAN 与低速 CAN 在总线电平上有区别,如下图所示:高速 CAN 与低速 CAN 的高速低速之分在于支持的总线波特率不一样。 实验 用的开发板上的收发器 PCA82C250第8脚接地,故为高速 CAN 模式。高速CAN 为提高通信的抗
10、干扰性和可靠性,应进行光耦隔离。开发板的 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=SYSCLKOUTBRT (TSEG1+TSEG2+1) 25
12、邮箱初始化例程注解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 = ECanaRegs. CANRIOC . all;E
13、CanaShadow. 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 . MSGCTRL . all = 0x00000
14、000;/ 此语句含邮箱号, 可以修改/ 以下状态或标志寄存器通过写 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 = TR;/ 此语句含邮箱号,可以修改ECan
15、aRegs. 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; / 此语句含邮箱号,可以 修改/ 标识符配置结束后使能相应的邮箱 /ECanaShadow.
16、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. MBOX0 . MDL . all = MDL;E
17、CanaMboxes. 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 ); / 当邮箱的消息被成功发 送时,发送应答位 T
18、A 将置 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 置位为 1ECanaShadow. CANRMP
19、 . bit. RMP1 = 1;/ 接收消息待决位通过写 1清零 ECanaRegs. CANRMP . all=ECanaShadow. CANRMP . all;27CAN 的适配器存在的一些问题过滤器配置明显不对但任然能接受数据:波特率是 2 倍关系3 DSP 的 32 位浮点运算测试TESTCOUNT1 对应于正弦运算的时钟周期数TESTCOUNT2 对应于加法运算的时钟周期数TESTCOUNT3 对应于除法运算的时钟周期数1、单单次运算:2、循环 10 次运算:3、循环 100 次运算:4、结果分析:按多次统计求平均的原则, DSP28335的 32 位浮点运算时间为: 单次加法:
20、 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中的说法,而手册 2823x SystemControl an
21、d Interrupts ReferenceGuide中讲 0 和 1 可用而 2 被保留。这一点如有必要需更多的测试) 。本程序中主要涉及的定时器寄存器有计数寄存器 TIM (32位,分高 16 位和 低 16 位)、周期寄存器 PRD(32 位,分高 16位和低 16 位)、定时器分频寄存器 TDDR(16 位,分高 8位和低 8位)以及定时器控制寄存器 TCR。42 定时器分频本程序定时器的分频值为零,则进行 1 分频,定时器周期等于系统输出时钟 周期如下图,分频值 可以 在文 件 DSP2833x_CpuTimers. c 中 的函 数 void InitCpuTimers(void)
22、 中去修改。43 计数器计数每过一个定时器时钟周期,定时器计数器寄存器 TIM 减 1,当 TIM 递减到 0 时,产生一个 CPU 中断信号并将 PRD 的值重载到 TIM 中,TIM 继续递减计数。 详参资料 2823x System Control and Interrupts Reference Guide第 62 页,如 下图:44 定时器时钟周期定时器时钟周期 (TDDRH:TDDR+1) 即对系统时钟进行分频而得到。1SYSCLKOUT注:详参任润柏,周荔丹等 . TMS320F28x 源码解读,北京:电子工业出版 社, 2010,24 37.5 DSP 看门狗复位51 看门狗时钟看门狗时钟发生器 :WDCLK = CLKOUT /512,当 HALT 时停止6-bits 预定标 WDPS 选择:将 WDCLK 再分频后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025在线咨询服务合同
- 2025年上海市农产品买卖合同范本
- 2025法律顾问审核版工程活动隔断合同
- 发电机租赁合同
- 上海市买卖合同范本
- 彩钢围挡制作安装合同范本
- 劳动合同法(本科)形考任务1-4
- 2025授权产品合同模板版本
- 产品授权经营协议书
- 2025年03月咸阳事业单位研究生公开招聘(90人)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 贵州国企招聘2025六盘水市公共交通有限公司招聘合同制驾驶员30人笔试参考题库附带答案详解
- 贵阳语文初一试题及答案
- 机器人舞蹈表演行业深度调研及发展战略咨询报告
- 山西省晋中市榆次区2025年九年级中考一模数学试卷(原卷版+解析版)
- 2025年广东省佛山市南海区中考一模英语试题(原卷版+解析版)
- 论公安机关刑事立案制度:现状、问题与优化路径
- 2023-2024学年广东省广州市越秀区执信中学七年级(下)期中数学试卷(含答案)
- 全国职业院校技能大赛高职组(建筑信息模型建模与应用赛项)备赛试题库(含答案)
- 上海市农村房地一体宅基地确权登记工作实施方案
- 硬脊膜动静脉瘘的护理查房
- CNAS-SC170:2024 信息安全管理体系认证机构认可方案
评论
0/150
提交评论