[CAN-bus/DeviceNet] 老人请教CAN怪问题

[复制链接]
2962|1
 楼主| lxshd 发表于 2011-3-9 20:11 | 显示全部楼层 |阅读模式
工作原理:子板接收上位板指令执行相应动作,波特率250K, 介质为TJA1050,原子
              板处理器工作电压5V,替代子板MCU工作电压3.3V。子板接收动作指令时不
              回送信息。
问题现象:
              1、替代子板分别使用PIC24HJ64GP506及TMS320LF2407处理器,单
              独使用替代子板接收上位板的指令,在接收大概500个指令后,上位机停
              止发送指令。
              2、替代子板和原子板同时接入总线后,1的现象不会出现。
问题:      用示波器测量两板的应答位,替代子板有10ns~1us的滞后。
              应答位的滞后能否引起上位板的发送错误?
              处理器的工作电压能否造成应答的延时?
              相位时段设置能否也能造成应答的延时?
              处理器的不同?(原子板处理器未知,上位处理器为C8051F044)
请各位大侠说道说道。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lnskngdc 发表于 2011-3-9 20:40 | 显示全部楼层
应该是不同的CAN控制器波特率的误差引起的。
例如:SJA1000典型外部晶振是16M,而c8051F040是22.1184M
对CAN核的波特率寄存器设置的值也不同,采样点前后之分,加上其它误差,如果在5%上下浮动,便会产生CAN错误,当错误寄存器个数超过255溢出的时候,会导致Busoff,即总线关闭,此时该节点不会再有报文发送接收。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部