老人请教CAN怪问题
工作原理:子板接收上位板指令执行相应动作,波特率250K, 介质为TJA1050,原子板处理器工作电压5V,替代子板MCU工作电压3.3V。子板接收动作指令时不
回送信息。
问题现象:
1、替代子板分别使用PIC24HJ64GP506及TMS320LF2407处理器,单
独使用替代子板接收上位板的指令,在接收大概500个指令后,上位机停
止发送指令。
2、替代子板和原子板同时接入总线后,1的现象不会出现。
问题: 用示波器测量两板的应答位,替代子板有10ns~1us的滞后。
应答位的滞后能否引起上位板的发送错误?
处理器的工作电压能否造成应答的延时?
相位时段设置能否也能造成应答的延时?
处理器的不同?(原子板处理器未知,上位处理器为C8051F044)
请各位大侠说道说道。 应该是不同的CAN控制器波特率的误差引起的。
例如:SJA1000典型外部晶振是16M,而c8051F040是22.1184M
对CAN核的波特率寄存器设置的值也不同,采样点前后之分,加上其它误差,如果在5%上下浮动,便会产生CAN错误,当错误寄存器个数超过255溢出的时候,会导致Busoff,即总线关闭,此时该节点不会再有报文发送接收。
页:
[1]