前段时间,由于项目需要,产品中需要多增加一路CAN总线接口。CAN总线方案是ATMEL ARM9 + MCP2515。

此前已经有两路CAN总线接口了。以我对linux MCP2515驱动的熟悉,增加一路CAN总线接口的驱动不是难事。另人意外的是,在应用层的使用上,居然碰到了点意外。主要是关于bit-timing not yet defined错误。记录如下。

阅读全文 »

 

linux can

《Linux CAN编程详解》是一篇百度文库上的文档,主要描述了以下内容:

  1. can总线介绍及其帧类型;
  2. Linux 系统中CAN 接口配置;
  3. Linux 系统中CAN 接口应用程序开发;
  4. Linux 系统中CAN 接口编程实例

阅读全文 »

 

socket can

最近写了个自认为不错的基于linux socket can程序,主要功能:

  1. 程序具备全部CAN功能,包括CAN标准帧/扩展帧接收与发送、CAN总线错误判断、环回等功能
  2. 适用基于LINUX SOCKET机制实现的CAN接口,可用于嵌入式LINUX的CAN测试
  3. 程序采用标准LINUX命令行参数选项形式,接受用户参数

现把源码进行分享 阅读全文 »

 


前段时间调试了linux下的MCP2515驱动,驱动基本上调试通过,这两天调试另外几块板时又出现了一些问题。

1.  linux启动的时候probe MCP2515有时候失败,有时候成功,而有的板则是一直可以probe成功。probe失败时提示“MCP251x didn’t enter in conf mode after reset”。

调试分析:由于probe的时候,驱动复位MCP2515采用SPI命令复位形式,同时MCP2515复位引脚接了ATMEIL9260的GPIO引脚(驱动中没用GPIO复位功能),因此,要么MCP2515的SPI复位命令没有成功,要么复位成功了MCP2515的配置模式检测不成功。 阅读全文 »

 


摘要:做电动汽车充电桩产品时,采用CAN总线与电池箱/车载电池进行通讯。但用的CPU芯片ATMEL9260没有CAN控制器模块,因此需要外围扩展独立的CAN控制器,以满足产品功能需求。

在CAN控制器选型上,选用了应用广泛且采用SPI接口的MCP2515 CAN控制器,其实最重要的原因是,公司有相关产品采用了此芯片,因此有了相应的开发基础。

MCP2515的中文资料随处可见,本文是reille在阅读MCP2515和CAN总结协议2.0的基础上,所做的一些开发笔记和总结。
阅读全文 »

© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量