
FlexCAN
l3142600073
这个作者很懒,什么都没留下…
展开
-
flexcan - Mailbox lock mechanism
除了邮箱禁用之外,FlexCAN还具有另一种用于接收过程的数据一致性机制。当CPU使用代码FULL或OVERRUN读取Rx MB的控制和状态字时,FlexCAN假定CPU想要在原子操作中读取整个MB,因此它为该MB设置内部锁定标志。当CPU读取自由运行计时器(全局解锁操作)时,或者当它读取另一个MB的控制和状态字而不管其代码时,锁定被释放。 CPU写入C / S字也会解锁MB,但不建议将此过程用于...原创 2018-12-13 20:03:44 · 2655 阅读 · 0 评论 -
FlexCAN_FD time set
CAN Bit Time = (Number of Time Quanta in 1 bit time) * Tq上面公式得// fsl_flexcan.c/ 函数FLEXCAN_SetFDBaudRate 453行假设10为quantum444 /* FlexCAN FD timing setting formula:445 * qua...原创 2019-07-18 17:19:29 · 353 阅读 · 0 评论 -
K65 Flex_CAN 匹配过程
匹配过程 匹配过程扫描MB 内存以寻找具有和从CAN 总线上接收到帧相同ID 的接收MBs。如果FIFO被使能,可以在邮箱和FIFO 过滤器中选择扫描的优先级。在任何情况下,匹配将从具有最小号的报文缓冲区向最大号的报文缓冲区进行。如果在第一个结构中没有找到匹配的,那么随后将扫描下一个结构。如果FIFO 队列满,那么匹配算法会在FIFO 区域之外选择匹配的MB。如果正在接受帧,那么它将...原创 2019-03-06 16:44:01 · 1096 阅读 · 0 评论 -
K65 Flex_CAN模块初始化
使能Flex_CAN模块时钟 使模块进入禁止模式 在禁止模式下选择好时钟源(协议引擎时钟源) 开启FlexCAN模块 一旦开启flexcan模块,flexcan即进入冻结模式,也可以同过软中断来复位flexcan然后进入冻结模式 初始化Flex_CAN模块寄存器,初始化MB为0 退出冻结模式 设置Rx消息缓冲区(CS,format,type,id,date)首先写0x0000d到CS字...原创 2019-03-05 17:29:07 · 671 阅读 · 0 评论 -
FlexCAN Arbitration process
FIFO启用 CTRCL2[MRP] |= 1; 如果设置了该位,匹配过程将从邮箱开始,如果没有匹配,则在RX FIFO上继续匹配。仲裁过程根据CTRL1 [LBUF]和MCR [LPRIOEN]位设置选择扫描结束时活动Tx邮箱中的获胜者。5.2.1最低邮箱号优先如果CTRL1 [LBUF]置位,则找到的第一个(最低编号)活动Tx邮箱是仲裁获胜者。 当CTRL1 [LBUF]置位时,MC...原创 2019-06-19 15:25:21 · 753 阅读 · 0 评论