查看: 1068|回复: 0
打印 上一主题 下一主题

开源一下我们利用STM32做的USB转CAN的适配器资料

[复制链接]
跳转到指定楼层
沙发
发表于 2016-5-2 22:21:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到坛子里面已经有很多朋友提到如何做自己的USB-CAN适配器了,而且现在用CAN设备的和开发的人原来越多,我在这里也分享下我们这个小产品的制作过程。

我们2年前最开始接触到CAN也是因为做机器人方面有模块分布式控制的级联的要求。曾经用AVR的mage16+SJA1000+TJA1050来实现的,想起来硬件确实还是蛮麻烦的。之前曾经用过I2C做级联,后来发现I2C不是专业用来做长距离通讯的,只是用来板内通讯比较好。而且对CAN有点恐惧,确实入门的门槛有点高,后来下定决心,在09年初开始转向STM32控制核心的时候,也把CAN这块的功能好好开发了一下。

因为STM32自带CAN的接口,硬件方面就把我忍了很久的,又肥又贵的SJA1000芯片给省掉了,很爽!
基于STM32的CAN的应用调试也还比较顺利,当时想到了最好在调试的时候能够把数据回传到电脑上,方便提高调试效率,就想到了USB转CAN的调试工具。(之前是用串口和无线串口发送数据的,已经尝到了甜头)
而现有市面上的工业用调试工具例如周立功的适配器等一般都要500以上到1000以上的都有,贵的要死,我们想,这东西好像也没那么难做吧,索性就开始自己做。

其实最早做的是USB-CAN-RS232三个都揉在一起的电路板,还专门找了个塑料盒子装在一起,加了个小拨码开关,用来串口和CAN二选一,其实初了丑了点之外,其他用的倒是蛮好的,上位机也开始慢慢编写了一个可以用的调试界面。

USB-CAN-232带塑料壳 (原文件名:IMG_0327.JPG)

接下来前后改进了超过6个版本,现在还保留了的实物的各个时期的照片如下,蛮壮观的。

各个时期的临时版本 (原文件名:IMG_0329.JPG)
其实这个模块如果不用那种隔离和双路的话,其实体积可以很小就够了,我们硬件方面也改成了CP2102的方案,先转成串口,再转成CAN。主芯片就三个。。。很简洁,而且可以做到跟U盘一样大小。
中间用热缩管做了个简单的包装,然后在技术部门内部用的很High,调试效率提高很多,然后又考虑真的可以做下推广,让其他朋友们也能够用到这种东西,蓝色的外壳就是买的小读卡器然后拆掉电路板换我们的,但是还是太拥挤了,也不好看,最后放弃。。。。
再后来就选了一种比较便宜的塑料外壳,原来是用在DB9的串口互转设备上的,看上去体积比较合适,就拿来当做我们的外壳了。呵呵,算是有个着落,当时觉得体积挺大的,很多空间都浪费,有点太厚太宽了。但是好像也没有更合适的外壳了,为这个小东西开模也不划算。
开始正式发布供销售的2个版本是这样的

发布的2个版本 (原文件名:IMG_0331 拷贝.jpg)
其中后来的那个基本就是外观上美化了一下,成了现在的定型产品。而且反响都还不错,普遍都比较认可。

效果图纸 (原文件名:USB2CAN适配器v2包装.jpg)

包装图 (原文件名Q截图未命名.jpg)
上位机有2个调试程序,一个用于正常调试,收发数据和看波形

软件主界面 (原文件名Q截图未命名2.jpg)
另一用于设置波特率等参数

软件界面2 (原文件名Q截图未命名3.jpg)

上位机软件还是挺好用的,看数据和波形大大提高了工作效率,多个波形的同时监控可以很容易发现问题。
我们现在做的每个产品都离不开这种调试手段了(当然,不用CAN的除外),依赖性还是很大的,软件工程师都人手一个设备,已经用了1年多了,还不错的。

因为这个产品比较简单,成本也比较低。电路也很简单,所以发在这里跟大家分享下。本来这个玩意就比较简单,也没打算作为主力产品,也就是当做个小模块顺便推一下

PCB的图纸,很简单吧。。。。就这还改了好多代。。。。

PCB图 (原文件名:USB2CAN.jpg)

其他的资料,欢迎大家下载和研究。
资料ourdev_627692IXWNNX.rar(文件大小:16.46M) (原文件名:USB2CAN适配器软件包.rar)
程序源码ourdev_627693HY5ECP.rar(文件大小:600K) (原文件名:USB2CAN下位机程序.rar)
电路图ourdev_627694LUBUKA.doc(文件大小:168K) (原文件名:E6_CAN2USBAdapter_v2.0的原理图和PCB信息.doc)

相对于市面上的最高端的产品,我们放弃了隔离的方案,也只做了一路,没有做工业上面那样很严格的保护措施,而且没有专门研究过CANOpen协议,暂时不支持,所以应用范围还是有限。当然,不排除以后专门发展那方面产品的可能。
有很多做汽车设备调试的朋友买了我们的设备,但是其实我们自己还不太了解真正行业内部的应用,如果能够获好的改进意见,那我们优化的方向就更加明确了。
希望这些资料能够对正在学CAN和正在用CAN的或者对CAN有兴趣的同志们带来帮助。。。。。
也肯定大家多提提意见,多交流交流,非常欢迎!

为了排除广告嫌疑我就不发任何链接了,如果图片有不合适的地方,阿莫可以让我删掉或修改,谢谢大家的支持!







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表