CAN驱动总是总线错误
时间:10-02
整理:3721RD
点击:
最近从LINUX中拆出来一个CAN驱动,结果是不断总线错误(stuff error和Form error)
下面说具体情况:
使用的是zynq7000,CAN1。与其对测的板子是335xs。已经确认335xs能与zynq7000的linux使用can通信。
目前保证:zynq7000的频率是125000Hz(同335xs是125000Hz),有外接120欧电阻(两个板子分别都有),zynq7000的波特率相关参数teg1 =2 ,teg2 = 3,swj = 0(实际有效值还需要+1)(同335xs),管脚时钟分配正确(选择IO PLL时钟,且分频正确)。结果是不停进中断,在中断中打印出错误寄存器的值显示总是stuff error和Form error,具体的中断寄存器的值如下:
srr = 0x00000002
msr = 0x00000000
brpr = 0x00000014
btr = 0x0000001c
ecr = 0x00001c00
esr = 0x00000006
sr = 0x000000a8
isr = 0x00006100
ier = 0x00000f93
icr = 0x00000000
tcr = 0x00000000
wir = 0x00003f3f
求大神解答,附上数据手册地址
链接:http://pan.baidu.com/s/1boXQrmR 密码:dx1r
下面说具体情况:
使用的是zynq7000,CAN1。与其对测的板子是335xs。已经确认335xs能与zynq7000的linux使用can通信。
目前保证:zynq7000的频率是125000Hz(同335xs是125000Hz),有外接120欧电阻(两个板子分别都有),zynq7000的波特率相关参数teg1 =2 ,teg2 = 3,swj = 0(实际有效值还需要+1)(同335xs),管脚时钟分配正确(选择IO PLL时钟,且分频正确)。结果是不停进中断,在中断中打印出错误寄存器的值显示总是stuff error和Form error,具体的中断寄存器的值如下:
srr = 0x00000002
msr = 0x00000000
brpr = 0x00000014
btr = 0x0000001c
ecr = 0x00001c00
esr = 0x00000006
sr = 0x000000a8
isr = 0x00006100
ier = 0x00000f93
icr = 0x00000000
tcr = 0x00000000
wir = 0x00003f3f
求大神解答,附上数据手册地址
链接:http://pan.baidu.com/s/1boXQrmR 密码:dx1r
是不是管脚分配需要特殊配置?