纬图虚拟仪器论坛

 找回密码
 立即注册
搜索
查看: 12625|回复: 7

usb转CAN开源项目

[复制链接]
发表于 2012-9-8 09:25:50 | 显示全部楼层 |阅读模式
本帖最后由 wdluo 于 2012-9-8 10:32 编辑

去年在买的AT91SAM7X256开发板上做了一个USB转CAN的,当时做得是软件,现在硬件也自己做了小板,做了小盒装起来(虽然很丑),大名鼎鼎的CAN总线就不用介绍了吧,这里的主角是AT91SAM7X256,它是ATMEL支持CAN和以太网的ARM7,我所在的实验室用这个片子比较多,由于我们用CAN的时候调试很麻烦,ZLG的USB转CAN很贵,于是就想自己整一个,去年在本坛发过VC上位机软件,USB驱动,ARM下位机程序,这次把硬件改成自己的了,软件完善了CAN波特率设置,总体来说更好用了。不废话,上图了。
这个是完工后的照片:                                                                                                                                                                                        

盒子是用烙铁钻的孔,很糙,体积不大,看硬币就知道 (原文件名:装盒后正面.JPG)

下面是电路板正面,很不幸,有飞线,但是功能没损失,主要问题在于原理图中TOP那一夜端口接反了,画图的时候再怎么仔细都没想到检查TOP中的端口,这个问题花了我好长时间,板子焊好后,USB功能一直不能用,察了好几天才发觉USB信号线连反了,不过改后就行了。                                                                                                                                                                                        
电路正面 (原文件名:电路板正面.JPG)

板子自己焊的,残余松香有些赃。,这个是电路板反面                                                                                                                                                                                        
(原文件名:电路板反面.JPG)

这是我自己设计的PCB,可以插20针标准ARM的 JTAG,在下方,是不是还凑合:                                                                                                                                                                                   
PCB整体还是很整齐的
除CAN外,板子上还做了RS422和RS232                                                                                                                                                                                                                                   
接头.JPG

上位机软件是VC6 + Driverstudio3.2 + DDK, 参考了《圈圈教你完USB》书中代码,要是能改成HID就好了,那就不需要驱动,现在的方案是自定义的USB设备,需要做驱动程序。

                                                                                                                                         
上位机软件.JPG
这个是上位机,背景是Busbhond,测USB的一个软件

这个是可执行软件包(无代码的),如果你有AT91SAM7X256或者7X128,7X512的板子,那就把“ARM可执行文件”烧进去,就能用了。
可执行文件 USB_To_CAN_V2_0可执行文件.rar (504.76 KB)                              
资料目录:
                                                                                                                                         
可执行文件.JPG

这个是全套的源代码,包括ARM,USB驱动,原理图也有
源码和电路 USB_To_CAN_V2_0全部资料.rar (816.34 KB)                              
目录如下:                                                                                                                                        
源码.JPG


这是我放在资料中的说明文档,也放到这

USB转CAN,作为CAN调试工具

CAN2.0  标准帧 ,ID为0到255(没有用11bit) , 波特率可选择1M,500K,250K,125K,100K,50K,
一次最多发送8字节数据。
USB2.0  为12M全速设备

上位机开发软件: Visul C++ 6.0 , DDK , DriverSttudio3.2
下位机开发软件: Keli ARM MDK4.0

使用方法:连好CAN线缆,USB线缆,电路板接通电源后,Windows提示发现新设备
  然后选择自己安装驱动并把驱动目录引导到此文件夹的“Windows驱动”目录,
  装玩驱动之后,打开VC上位机中的软件,软件上有个帮助按钮。

作者 Ahui  
邮箱 chuanhuibh@sina.com

申明:  
USB相关的代码均移植自“电脑圈圈Computer-lov”在AT91SAM64上的程序。
本人保留对资料包中原理图,以及部分代码等的版权,请勿拿来做商业用途,
由于使用本代码带来的一切后果,概不负责。转载资料请通过邮件通知本人。


更新日志:

日期 :  2009.7.12
版本 :  V1.1  


日期 :  2010.3.18
版本 :  V2.0
更新了上位机软件和下位机软件,添加了波特率设置模块,除500K外,其它波特率尚未测试
下位机软件使用Keil MDK4.0重新编译(上一版为KEIL ARM MDK3.22) ,硬件由原来购买的
开发板换成自己制作的AT917X256小板,加了塑料外壳

-----------------------------------------------------------------------------------------

希望对那些使用CAN的朋友有帮助,如果有时间,我会考虑把资料移植到STM32F105,其实F103的USB我已经挑通,但是103的USB和CAN无法同时使用,虽然本坛
AT91人少,也只能将就一下。
回复

使用道具 举报

发表于 2012-10-17 17:01:22 | 显示全部楼层
我做毕业设计的时候,怎么就没有想到呢?哎
回复 支持 反对

使用道具 举报

发表于 2012-10-18 21:26:02 | 显示全部楼层
can的资料啊!收藏了!
回复 支持 反对

使用道具 举报

发表于 2012-10-29 23:57:19 | 显示全部楼层
貌似很高端,顶一下
回复 支持 反对

使用道具 举报

发表于 2012-11-16 17:02:57 | 显示全部楼层
好资料啊!谢谢分享!
USB是高速的还是全速的?
如果不是高速的,那应该发挥不出来CAN的速度吧?
回复 支持 反对

使用道具 举报

发表于 2012-11-24 14:37:14 | 显示全部楼层
占个位置        
回复 支持 反对

使用道具 举报

发表于 2017-7-11 08:48:05 | 显示全部楼层
咋都没有人来呢?
晕死。。。。
回复 支持 反对

使用道具 举报

发表于 2017-7-11 11:06:21 | 显示全部楼层
为了。。B
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|纬图虚拟仪器

GMT+8, 2024-12-31 02:03 , Processed in 2.022655 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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