本帖最后由 coslight 于 2014-9-19 11:12 编辑
基于K20开发板的CAN总线分析仪
1. 项目产生在拿到评估板后就在思考到底应该怎么用,正好单位开发一款产品,产品中涉及到CAN总线通讯,而单位现有一台周立功产的CAN转以太网设备。这个设备比较好用,但是存在一定的局限,局限有一下几点: 1) 由于该设备需要设置可以接收以太网信息的IP地址,而且只能设置一个地址,很明显只能有一个人可以使用。设备是公用的所以每次拿到设备后都需要进行一帆设置,比较麻烦; 2) 该设备必须外部提供一个24V直流电流,也就是说你必须给他单独提供一个电源,24V电源在工业上常用,但是在开发人员的桌子上就不是都有了,比较不方便; 3) 我们通常不仅仅是看看总线数据,而且还要分析数据内容,甚至需要模拟一台CAN总线的终端,用周立功的设备编程还是比较麻烦的。 基于以上的几点原因,和我们的这次飞思卡尔评估活动,所以让我产生了这个想法,设计一个基于USB接口的CAN总线分析设备,可以基于此设备进行二次开发,实现更深层的目标。 2. 实现功能该项目的主要目的是,通过USB接口完成CAN总线数据的收发,CAN总线的管理。 目前提供的功能: l 可以通过USB接口实现CAN总线数据的监视; l 可以通过USB接口实现CAN总线数据的发送; l USB接口设置CAN总线波特率,最大支持1Mbps; l USB接口设置CAN总线工作在LOOPBACK模式; l 支持4个指示灯,分别指示CAN总线数据的收发,USB总线数据收发; l 支持2个按键,在USB总线或CAN总线脱离的情况下,主动发送固定的数据帧,主要目的是,测试物理连接是否正常。其中,key1:连续模拟产生3帧CAN总线数据,启动USB接口发送到PC;key2:固定发送一帧CAN总线数据; l 所有CAN总线接收到的数据带有时标,可以监视连续两帧或多帧数据之间的接收间隔。时间分辨率为1ms。 l LCD显示当前CAN总线波特率,CAN总线数据接收和发送帧数统计,设备和PC连接状态等。 l LabVIEW下的PC端设备驱动和简单数据收发程序。 3. 应用目前的应用是我们正在开发的设备调试,用来模拟CAN总线上的主站节点。 未来可以实现CAN总线记录仪或车载数据记录仪,在线或离线式CAN总线数据分析仪,在线或离线式汽车ECU标定系统等。 4. 创新点1) 采用USB接口,可提供本设备所用电源,方便快捷; 2) 采用USB的HID协议,不用为装置开发USB设备驱动; 3) 采用K20内部USB接口,简单省成本; 4) K20提供CAN总线接口,使用简单省成本; 5) 内部采用环形数据缓冲器,有效的解决CAN总线数据接口和USB总线速度不平衡; 6) 提供可以在LabVIEW下使用的设备驱动,可以快速实现自己的应用。 5. 开发工具内部资源的利用情况到目前为止,开发工具内部的资源使用情况为: l CAN总线接口 l USB接口 l LCD显示器 l 按键 l LED指示灯 l 系统定时器
|