前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mscan VS flexcan

mscan VS flexcan

作者头像
用户1605515
发布2018-04-11 10:32:46
1.4K0
发布2018-04-11 10:32:46
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

在嵌入式程序猿的公众号里,曾多次介绍过NXP的flexcan以及基于flexcan的一些其他协议和开发,最近在用NXP的另外一款片子,使用的是mscan,这两种在底层存在很大区别,所有寄存器和配置都不一样,但都遵守CAN2.0A/B大家在使用时候要注意。flexcan 里面寄存器都是32位,而mscan都是8位,且二者在结构机制上有不同,在芯片级是两个IP。mscan是之前NXP的8位机上普遍采用的机制,而在kinetis32位上基本都是flexcan。

在CAN中大家一定要记住隐性代表就是1,显性代表就是0,如果记不住,可以这样记,0比较胖不容易隐藏,所以就是显性,1比较瘦所以容易隐藏就是隐性

还有最最重要的一点,个人认为就是要会配置跟波特率位时间相关的几个参数,曾经推送过的计算文章和实用,如果忘记了可以去在反复看下,希望能帮到各位。

如何计算CAN通信波特率

在配置位速率相关参数时候都必须遵循CAN标准的位时间要求

同步段:

位时间的同步段用于同步总线上不同的节点。这一段内要有一个跳变沿。

传播段:

传播段用于补偿网络内的物理延时时间。它是总线上输入比较器延时和输出驱动器延时总和的两倍。

相位缓冲段 1、相位缓冲段 2( PHASE SEG1、 PHASE SEG2):

相位缓冲段用于补偿边沿阶段的误差。这两个段可以通过重新同步加长或缩短。

采样点:

采样点是读总线电平并解释各位的值的一个时间点。采样点位于相位缓冲段1( PHASE_SEG1)之后。

在mscan中配置传播段和相位缓冲端在一个地方,在flexcan中配置这两个值是分开的。在flexcan中

mscan配置

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档