原创 万利开发板的CAN调试

2010-3-7 10:55 3023 5 5 分类: 工程师职场

Q:如果我的1个万利板子调试学习CAN,我要怎么做??


A:回环测试


CAN的协议理解最重要。

CAN bus要能通讯,当然首要是要理解滤波器的作用、位速率如何校准、帧错误如何处理。
对于类似STM32这样有多个mailbox的CAN控制器,理解如何管理邮箱也是需要的。

CAN的硬件很简单(在不恶劣的工作环境下),差分信号直连就是,可以不要连接GND,用示波器观察波形的时候,不用钩地,探头地连和探头都是连在CANL、CANH上。

一定要多读几遍CAN Bus的协议。特别是位速率校准(简单环境未必会要)、错误处理


看STM32的CAN控制器要注意“标识符过滤”,这可是CAN实时响应的关键啊,报文的优先级可就靠这个实现了。


如仅仅只是要跑通CAN Bus不难,配好波特率,设置好过滤标识符,把邮箱当UART的BUF来用,使用和串口也没太大的区别,在深入点,管理好错误指示就可以了。


CAN正常电压 CANH 为1.5~3.5左右 CANL为0~1.5左右


PCA82C250的Vref或L9616的RX1都是参考电压输出端可以悬空(万利的板子上是这样)


PCA82C250的Rs或L9616的ASC都是调整斜坡的电阻接地或接一个电阻(10k)到电源(万利的板子上是这样) 接低电平的时候是工作在高速状态 接低电平是工作在备用状态


stm32 有 3个邮箱用于向CAN总线发送数据   有14个滤波器从CAN总线上接收数据   


 


万利的199板子,ST官方例程,需要io重映射,添加以下语句


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);


回环模式波形


这是CANL和CANH的波形(转载)http://photo.blog.sina.com.cn/blogpic/51f1a4130100b1oj/51f1a413g5c7f57fd34e3


http://blog.sina.com.cn/s/blog_51f1a4130100b1oj.html


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条