求助关于DSP CAN信捷寄存器怎么设置修改设置问题

请在APP上操作
打开万方数据APP,点击右上角"扫一扫",扫描二维码即可将您登录的个人账号与机构账号绑定,绑定后您可在APP上享有机构权限,如需更换机构账号,可到个人中心解绑。
检索详情页
{"words":"$head_words:DSP通信+$head_words:CAN总线+$head_words:双缓冲","themeword":"$head_words","params":"$title:基于CAN总线的双DSP通信方案设计与实现"}
&&&基于CAN总线的双DSP通信方案设计与实现
基于CAN总线的双DSP通信方案设计与实现
Design and Implement of Double DSP Communication Based on CAN Bus Interface
针对目前逐渐增多的双DSP系统中的通信问题,分析比较了各种DSP通信方案以及将CAN总线用于DSP通信中的优势;介绍了DSP中CAN通信接口的硬件和软件设计及实现,重点阐述了CAN模块的相关寄存器设置,并且采用中断接收数据和双缓冲存取数据的方法;本方案已成功运用于某无人机飞行控制系统,系统运行良好.
摘要: 针对目前逐渐增多的双DSP系统中的通信问题,分析比较了各种DSP通信方案以及将CAN总线用于DSP通信中的优势;介绍了DSP中CAN通信接口的硬件和软件设计及实现,重点阐述了CAN模块的相关寄存器设置,并且采用中断接收数据和双缓冲存取数据的方法;本方案已成功运用于某无人机飞行控制系统,系统运行良好.&&
相关论文(与本文研究主题相同或者相近的论文)
同项目论文(和本文同属于一个基金项目成果的论文)
您可以为文献添加知识标签,方便您在书案中进行分类、查找、关联
请输入添加的标签
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)
&北京万方数据股份有限公司 万方数据电子出版社
实名学术社交
个性化订阅推荐
快速查看收藏过的文献TI DSP28335 CAN中文使用手册_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
TI DSP28335 CAN中文使用手册
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩75页未读,
定制HR最喜欢的简历
你可能喜欢DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析
本篇主要针对不太熟悉的TZ 故障捕获 和 DB 死区产生两个子模块进行学习研究感觉TI的寄存器命名还是有一定规律可循的SEL主要用于选择位
CTL主要用于控制位 EINT主要用于使能中断
FLG是标志查询位 CLR中断标志清除位
FRC 软件强制使能设置位
1 TZ 故障捕获子模块
& & &TZ子模块可以工作在Cycle-by-Cycle、One-Shot两种模式下,这两种状态的区别是:
one-shot是永久起作用的,恢复它只有人工清除。
而Cycle-by-Cycle却是本周期有用,下一周期自动恢复
& & &外部触发选择寄存器TZSEL 寄存器设置选项如下:
& & TZCTL主要设置TZA 和TZB寄存器即可,主要定义当外部触发事件发生时,定义EPWMxA和EPWMxB所采取的动作:
TZEINT 中断使能寄存器
控制周期触发和单次触发的中断标志使能
TZFLG 是外部触发标志寄存器
TZCLR外部触发清零寄存器
这两个理解起来比较简单,所以不再做过多说明,就是中断的时候查询标志位,然后中断发生了就把标志位清零即可!
TZFRC 外部触发强制寄存器
TZ寄存器配置代码
EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_HI;
// Forced Hi (EPWM1A = High state)
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_HI;
// Forced Hi (EPWM1B = High state)
EPwm1Regs.TZFRC.bit.OST = 1;
// Forces a fault on the OST latch and sets the OSTFLG bit.
2 DB 死区产生
2.1 DB寄存器设置
2.2 死区产生子模块内部结构
& & &结合上图可以看出,DBCLT[IN_MODEL]就是选择哪个作为输入信号源进行延时控制;通过延时模块之后,实现上升沿和下降沿的延时功能;
& & &然后有一个反相器模块,可以产生互补的输出信号,是否反转可以通过寄存器DBCTL[POLSEL]进行设置,感觉这个寄存器就是设置信号是否反转的,如果是1就反转,如果0就不反转,就这样子!
& & &DBCTL[OUT_MODE]主要作用是选择那个信号进行输出,如果选择0,那么之前的延时的信号就被旁路掉了,整个DB模块就不起作用了,选择1才会产生死区功能;
2.3 经典死区配置方案(感觉这里的后缀 C 就是互补的意思,没后缀则无互补,这个在2.4的波形图里面可以得到更好的体现)
2.4 加入死区延时的波形输出 (对比着2.2看2.3和2.4的图是最好明白寄存器配置的,也好理解输出波形是怎么样子的!)
2.5 寄存器配置代码
// DBCTL (Dead-Band Control)
//==========================
// OUT MODE bits
#define DB_DISABLE
#define DBB_ENABLE
#define DBA_ENABLE
#define DB_FULL_ENABLE
// POLSEL bits
#define DB_ACTV_HI
#define DB_ACTV_LOC
#define DB_ACTV_HIC
#define DB_ACTV_LO
// IN MODE
#define DBA_ALL
#define DBB_RED_DBA_FED
#define DBA_RED_DBB_FED
#define DBB_ALL
  // Active Low PWMs - Setup Deadband& EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; &//这里基本上都是配置两个波形都是有延时才输出的,不会旁路掉延时波形& EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_LO; //低电平有效,这里会对电平进行一个反转& EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL; //选择 epwmxa作为信号源作为延时依据& EPwm1Regs.DBRED = EPWM1_MIN_DB; //设置上升沿的延时& EPwm1Regs.DBFED = EPWM1_MIN_DB; //设置下降沿的延时& EPwm1_DB_Direction = DB_UP;
阅读(...) 评论()鍗曠墖鏈

我要回帖

更多关于 arm特殊功能寄存器 的文章

 

随机推荐