打印
[Kinetis]

【Kinetis实验】+采用K20开发板的USB2CAN总线分析仪案例

[复制链接]
3121|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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:连续模拟产生3CAN总线数据,启动USB接口发送到PCkey2:固定发送一帧CAN总线数据;
l 所有CAN总线接收到的数据带有时标,可以监视连续两帧或多帧数据之间的接收间隔。时间分辨率为1ms
l LCD显示当前CAN总线波特率,CAN总线数据接收和发送帧数统计,设备和PC连接状态等。
l LabVIEW下的PC端设备驱动和简单数据收发程序。
3. 应用
目前的应用是我们正在开发的设备调试,用来模拟CAN总线上的主站节点。
未来可以实现CAN总线记录仪或车载数据记录仪,在线或离线式CAN总线数据分析仪,在线或离线式汽车ECU标定系统等。
4. 创新点
1) 采用USB接口,可提供本设备所用电源,方便快捷;
2) 采用USBHID协议,不用为装置开发USB设备驱动;
3) 采用K20内部USB接口,简单省成本;
4) K20提供CAN总线接口,使用简单省成本;
5) 内部采用环形数据缓冲器,有效的解决CAN总线数据接口和USB总线速度不平衡;
6) 提供可以在LabVIEW下使用的设备驱动,可以快速实现自己的应用。
5. 开发工具内部资源的利用情况
到目前为止,开发工具内部的资源使用情况为:
l CAN总线接口
l USB接口
l LCD显示器
l 按键
l LED指示灯
l 系统定时器
6. 实际运行效果
    SPI LCD运行效果图。

整体效果,一端USB链接PC机,一端CAN链接总线,我的CAN总线上总共3个节点,一个收发节点,一个只听节点,还有就是K20节点。

简单的测试用收发后台机软件效果图

这个是我用LabVIEW实现的一个比较复杂的应用,用来调试我们的装置。

系统整体运行视频
http://v.youku.com/v_show/id_XNzg1MDYxNjg4.html

用LabVIEW做的USB2CAN的驱动和简单测试程序代码
fslusb2candrv.rar (329.59 KB)
K20设备端程序代码
FSL USB2CAN dev.rar (454.93 KB)

相关帖子

沙发
FSL_TICS_Jeremy| | 2014-9-19 10:26 | 只看该作者
谢谢楼主分享!

使用特权

评论回复
板凳
coslight|  楼主 | 2014-9-19 10:29 | 只看该作者
FSL_TICS_Jeremy 发表于 2014-9-19 10:26
谢谢楼主分享!

还没完呢,上传太慢,中间保存一下

使用特权

评论回复
地板
jd972594| | 2014-9-19 10:42 | 只看该作者
好资料
CAN的例程蛮不错的

使用特权

评论回复
5
coslight|  楼主 | 2014-9-19 11:15 | 只看该作者
个人能力有限,由于拿到板子后的时间比较紧,所以难免存在一些问题,希望大家交流。

使用特权

评论回复
6
coslight_dt| | 2014-9-19 11:26 | 只看该作者
楼主牛人 ,帮顶学习

使用特权

评论回复
7
Zoozo| | 2014-9-19 11:27 | 只看该作者
好帖,支持楼主,向楼主学习!

使用特权

评论回复
8
coslight|  楼主 | 2014-9-19 11:29 | 只看该作者
coslight_dt 发表于 2014-9-19 11:26
楼主牛人 ,帮顶学习

共同学习

使用特权

评论回复
9
coslight|  楼主 | 2014-9-19 12:27 | 只看该作者
Zoozo 发表于 2014-9-19 11:27
好帖,支持楼主,向楼主学习!

共同学习

使用特权

评论回复
10
三个森林| | 2014-10-15 15:40 | 只看该作者
多谢了!!!!!!!!!!!!

使用特权

评论回复
11
雁过上川| | 2015-1-5 10:52 | 只看该作者
CAN总线数据的收发指示灯 是接在电路的什么位置?    :)请指教!! @coslight  

使用特权

评论回复
12
coslight|  楼主 | 2015-1-5 14:01 | 只看该作者
雁过上川 发表于 2015-1-5 10:52
CAN总线数据的收发指示灯 是接在电路的什么位置?    请指教!! @coslight

不是硬件的,是软件开出来的

使用特权

评论回复
13
mcuzone| | 2015-1-5 14:44 | 只看该作者
不错,赞

使用特权

评论回复
14
雁过上川| | 2015-1-7 16:06 | 只看该作者
coslight 发表于 2015-1-5 14:01
不是硬件的,是软件开出来的

CAN收发指示灯的具体程序是?  本人大四,在自学CAN,很多不懂,望大大赐教:handshake。

使用特权

评论回复
15
coslight|  楼主 | 2015-1-7 16:43 | 只看该作者
雁过上川 发表于 2015-1-7 16:06
CAN收发指示灯的具体程序是?  本人大四,在自学CAN,很多不懂,望大大赐教。 ...

你可以下载我的程序,点灯的程序应该在CAN的中断里面

使用特权

评论回复
16
雁过上川| | 2015-1-7 16:58 | 只看该作者
coslight 发表于 2015-1-7 16:43
你可以下载我的程序,点灯的程序应该在CAN的中断里面

恩   谢谢

使用特权

评论回复
17
Thefantasy| | 2015-1-25 20:49 | 只看该作者
多谢楼主分享

使用特权

评论回复
18
coslight|  楼主 | 2015-1-26 07:54 | 只看该作者
Thefantasy 发表于 2015-1-25 20:49
多谢楼主分享

希望共同学习和进步

使用特权

评论回复
19
powerful1| | 2015-1-27 22:58 | 只看该作者
好帖,支持楼主,向楼主学习!

使用特权

评论回复
20
sblpp| | 2015-12-18 10:20 | 只看该作者
感谢楼主分享!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

928

帖子

5

粉丝