搜索
bottom↓
回复: 327

[原创]【申酷】也开源一下我们利用STM32做的USB转CAN的适配器资料

  [复制链接]

出0入0汤圆

发表于 2011-4-2 15:10:59 | 显示全部楼层 |阅读模式
看到坛子里面已经有很多朋友提到如何做自己的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)

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

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

软件界面2 (原文件名:QQ截图未命名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有兴趣的同志们带来帮助。。。。。
也肯定大家多提提意见,多交流交流,非常欢迎!

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

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-4-2 15:20:13 | 显示全部楼层
看完在发表品论!

出0入0汤圆

发表于 2011-4-2 15:22:29 | 显示全部楼层
mak

出0入8汤圆

发表于 2011-4-2 15:23:00 | 显示全部楼层
MARK,我前天才买了一个can调式器。记录一下,以后用的着

出0入0汤圆

 楼主| 发表于 2011-4-2 15:24:57 | 显示全部楼层
再发一个好玩的。
当时做的一个USB转无线的模块,乖乖,CAN,串口全上了。。。。小模块还做了一堆呢
无线模块的型号我就不说了,大家都认识
后来好像是功能太麻烦搞了,而且做的不太稳定,就放弃掉了。不过如果能做好,还是蛮不错的,当个无线的CAN或者串口的节点啥的,呵呵,设想很多。。。。诚心交流哈

无线模块 (原文件名:IMG_0330.JPG)

出0入0汤圆

发表于 2011-4-2 15:30:00 | 显示全部楼层
这个得顶

出0入0汤圆

 楼主| 发表于 2011-4-2 15:35:46 | 显示全部楼层
刚跟市场部经理沟通了下
我们会对5名认真回复并且提出申请的热心朋友们,免费寄出一套我们的模块,具体情况我会跟帖,也请这些朋友用完后也给个反馈。
当然,快递到付哈。

五名哈!

希望能和大家一起分享开源的乐趣。
想起那句话
你有一个苹果,我有一个苹果,交换之后,还是一人一个苹果。
你有一个思路,我有一个思路,交换之后,就多了一个思路。
感谢阿莫的论坛给我们提供的资源!

出0入0汤圆

发表于 2011-4-2 15:46:55 | 显示全部楼层
以前用AT91SAM7S64做了USB2SPI,传输速度可以达到800K Byte 每秒,上位机是用的libusb,不知道楼主windows端的驱动是用的什么方案,希望有机会能使用下楼主的产品

出0入0汤圆

发表于 2011-4-2 16:49:01 | 显示全部楼层
请教楼主:

楼主可以用STM32的模拟一个USB出来,这样剩下了一个CP2102

同时也可以用带USB的STM32

这样可以大大的降低成本啊,而且也不复杂啊,关键是CP2102可不便宜啊

东西做的不错,不过改进的地方挺多的!

楼主再接再厉啊


想申请一个试用一下,谢谢楼主

以前买的周立功的挺贵的

用CAN地方挺多的,有这个东西调试还是比较方便的啊

出0入0汤圆

发表于 2011-4-2 16:59:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-2 17:04:06 | 显示全部楼层
弄单片机几年了,但是对CAN不了解,惭愧。
今天刚换工作,看到他们都在用这玩意调试,上来找找资料。

学习了!

出0入0汤圆

发表于 2011-4-2 17:07:05 | 显示全部楼层
mark非常感谢楼主的分享

出0入0汤圆

发表于 2011-4-2 18:01:13 | 显示全部楼层
顶一下,其实这玩意做广告也是老大允许的,前提是开源。我倒是想买个便宜货呢,有空留个链接

出0入0汤圆

发表于 2011-4-2 19:01:12 | 显示全部楼层
不错,很实用

出0入0汤圆

发表于 2011-4-2 19:30:57 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-4-2 20:22:14 | 显示全部楼层
马k
谢谢

出0入0汤圆

发表于 2011-4-2 20:49:03 | 显示全部楼层
不错。

出0入0汤圆

发表于 2011-4-2 21:25:10 | 显示全部楼层
强贴留名,相当不错

出0入0汤圆

发表于 2011-4-2 21:52:54 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2011-4-2 22:13:02 | 显示全部楼层
不错,不错,从头看到尾的!有搞头!学习了!

出0入0汤圆

发表于 2011-4-2 22:58:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-3 00:50:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-3 01:26:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-3 07:37:09 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-4-3 07:50:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-3 08:04:31 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2011-4-3 08:18:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-3 09:39:35 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2011-4-3 10:23:40 | 显示全部楼层
我正需要这方面的资料,现在项目要用来读取汽车上的CAN总线数据,不知道怎么去实现,昨天和车厂那边的人,扯了一上午都扯不明白!今天好好看看这个。谢谢楼主

出0入0汤圆

发表于 2011-4-3 10:51:12 | 显示全部楼层
不错,做一套维修用。

出0入0汤圆

发表于 2011-4-3 10:55:18 | 显示全部楼层
谢谢了!好资料!!

出0入0汤圆

发表于 2011-4-3 10:57:33 | 显示全部楼层
最近做毕业设计刚刚接触到CAN,看到LZ这个作品,真是佩服,学习一下

出0入0汤圆

 楼主| 发表于 2011-4-3 11:09:56 | 显示全部楼层
请【8楼】 RENMA 同学跟我们联系下,谢谢你提的意见,我们将会赠送你一个模块,需要你的个人信息。
刚找了下没看到你的联系方式

下面针对你的一些问题做一回答

“楼主可以用STM32的模拟一个USB出来,这样省下了一个CP2102,同时也可以用带USB的STM32 ”

算是2个新方案吧。先说前者,STM32是有带USB的口,我们也用过,例如第一个图中的白色塑料盒,里面就是直接连的USB口,没有用到CP2102.但是我们用的是STM32F103C8T6,芯片里面的USB口和CAN是用的同一个timer,所以不能同时用2个功能,只能2选1,相对来说比较无奈。
好像你有另外一个意思是不用自带的USB口,而自己模拟一个出来?把timer错开?这个我们倒是还没有尝试过,也不知道难度大不大。

后者的意思是不是说加强型的ARM?107系列以上的可以同时用,timer被分开了,但是芯片要40块以上,太贵了,也不划算啊。

顺便说下,CP2102也顺便提供了5V转3.3V的电源,挺方便的。

再公布下具体的性能参数,方便大家有具体的量化的概念
1、USB接口支持USB2.0,兼容USB1.1;

2、USB与CAN总线的协议转换;

3、支持CAN协议2.0A和2.0B主动模式;

4、支持双向传输,CAN发送、CAN接收;

5、支持数据帧,远程帧格式;

6、支持扩展帧,支持标准帧格式;

7、CAN控制器波特率最高可达1兆位/秒,可以软件配置;

8、支持自动重传模式,可通过软件配置;

9、支持自动离线管理模式,可通过软件配置;

10、支持14个过滤器,可通过软件配置;

11、USB总线直接供电,无需外部电源;

12、工作温度:-20~85℃;

13、工作电流80 mA,功耗小于400 mW;

14、外壳尺寸:长72 mm,宽33 mm,高17 mm

还有就是为了方便大家询问和了解,我还是公布一个我们的淘宝店吧,如何允许的话
http://robotell.taobao.com/
大家可以去捧捧场,看看更详细的介绍,谢谢支持!

出0入0汤圆

发表于 2011-4-3 12:10:06 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2011-4-3 14:02:23 | 显示全部楼层
小巧,挺好!

出0入0汤圆

发表于 2011-4-3 16:25:55 | 显示全部楼层
回复【32楼】solyp 李
请【8楼】 renma 同学跟我们联系下,谢谢你提的意见,我们将会赠送你一个模块,需要你的个人信息。
刚找了下没看到你的联系方式
下面针对你的一些问题做一回答
“楼主可以用stm32的模拟一个usb出来,这样省下了一个cp2102,同时也可以用带usb的stm32 ”
算是2个新方案吧。先说前者,stm32是有带usb的口,我们也用过,例如第一个图中的白色塑料盒,里面就是直接连的usb口,没有用到cp2102.但是我们用的是stm32f103c8t6,芯片里面的usb口和can是用的同一个timer,所以不能同时用2个功能,只能2选1,相对来说比较无奈。
好像你有另外一个意思是不用自带的usb口,而自己模拟一个出来?把timer错开?这个我们倒是还没有尝试过,也不知道难度大不大。
后者的意思是不是说加强型的arm?107系列以上的可以同时用,timer被分开了,但是芯片要40块......
-----------------------------------------------------------------------
STM32105/107的USB和CAN应该是分开的,可以很好的利用在USBCAN上,楼主可以查证下资料!

软件模拟USB这个在AVR上非常的常见,楼主只要在论坛搜索下就能找到很多例子,STM32模拟的USB在速率上应该是可以满足CAN的需求的!
更何况STM官方已经有模拟USB这样的例子了,去ST官方下载

最优方案肯定是内部带CAN和USB一起的,虽然价格上贵了那么一点,但是产品的稳定性,维护性肯定好于分立的!

毕竟做产品,稳定性是第一位的!

楼主应该做一些测试:比如随着CAN速率的变化,百万数据包的误帧率多少等。。。。。还是回到稳定性,呵呵,产品嘛,稳定性不好售后维护都是一大笔费用!
我以前做过的DIY的USBCAN跟楼主方案一样,10万的数据包在1M最高速状态下测试下来,一个包不丢。

最后谢谢楼主的赠送,我已经通过你的淘宝联系了你的QQ了,谢谢了!

出0入0汤圆

发表于 2011-4-3 18:54:06 | 显示全部楼层
stm32f103的usb和can功能能分时复用么??
我最近也在做can转usb的,刚弄单片机半年,个人能力也极为有限,用飞思卡尔的mcs9dz16加ch374在做,开始只是徒简便,后来发现这两块东西成本太高了,我也想用stm32f103来做,向楼主好好学习
另外我总是看usb协议,看的一头雾水,有什么简明的好资料么

出0入134汤圆

发表于 2011-4-3 19:53:26 | 显示全部楼层
强帖留名

一直没搞清楚CAN有什么优点。

出0入0汤圆

发表于 2011-4-3 20:53:06 | 显示全部楼层
这个帖子不错,之前也是买周立功的USB CAN产品,不过价格的原因,不可能技术人员人手一卡。
这下好了,楼主的产品兼有小巧和便宜的优势。

楼主是否可以提供多种编程语言的开发包,这样产品的实用性会更好些。

出0入0汤圆

发表于 2011-4-4 21:12:28 | 显示全部楼层
强帖,楼主很厉害!
头像被屏蔽

出0入0汤圆

发表于 2011-4-4 22:09:37 | 显示全部楼层
回 【35楼】 RENMA
STM官方已经有模拟USB这样的例子。
---------------------------------
ST 的网站不好找,请大侠上传。谢谢!

出0入0汤圆

发表于 2011-4-4 22:42:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-5 16:48:04 | 显示全部楼层
对楼主表示致敬!也想在USB和CAN上有点学习。。。

出0入0汤圆

发表于 2011-4-5 17:08:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-5 17:30:17 | 显示全部楼层
太喜欢了!当初没时间攻克can的怨念终于有机会实现。

个人也曾经与canopen——严格来说是DS301失之交臂。当时是用elmo的驱动,但是比赛只剩两个月我才接手,时间实在不够,最后无奈用六路串口驱动那么高端的器件……

出0入0汤圆

发表于 2011-4-5 20:21:52 | 显示全部楼层
to 楼主,不是公用TIMER,而是共用一块内存区。

次模块应该是提供二次开发包的。其实就两个类,底层的串口,上层的CAN ,C++ 做的,VC C++ BUILDER什么都可以直接拿来用的。

出0入0汤圆

发表于 2011-4-5 21:40:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-5 23:14:56 | 显示全部楼层
回复【楼主位】solyp  李
-----------------------------------------------------------------------

可以用MCP2551(带有SPI 接口的独立CAN控制器)实现CAN功能,然后用STM32F103C8T6实现USB功能

出0入0汤圆

发表于 2011-4-5 23:23:10 | 显示全部楼层
牛人,记号.

出0入0汤圆

发表于 2011-4-6 08:39:53 | 显示全部楼层
很好的东东

出0入8汤圆

发表于 2011-4-6 09:04:47 | 显示全部楼层
对于一般的应用已经很好啦!!想申请一块来,现在每次都要去一台有并口的才可以调试 麻烦死啦!!能用USB真的不错哦

出0入0汤圆

发表于 2011-4-6 12:27:47 | 显示全部楼层
哇咔咔。。我表示我很认真的看完了。楼主很强大,排队顶起。。。

出0入0汤圆

发表于 2011-4-6 13:10:02 | 显示全部楼层
我想问一下楼主,你这块东东usb有效采集数据传输的最高速率达到多少,串转u的话,应该不高吧,如果can用于小车的话,最高500kb/s能满足要求么

出0入0汤圆

发表于 2011-4-6 13:45:56 | 显示全部楼层
回复【37楼】elecfun 熊
强帖留名
一直没搞清楚can有什么优点。   
-----------------------------------------------------------------------

多主,并且抗干扰。

出0入0汤圆

发表于 2011-4-6 14:11:11 | 显示全部楼层
请教一下楼主:
    这个USB转CAN如果用在数据量很大的网络中,不知会不会容易丢包?还有现场干扰比较大,有高频开关电源,功率也不小,不知会不会容易丢包,因为之前用过周立功的CAN转RS232,要配一个工作电源,要是有USB的就方便得多。想申请一个试用一下,不过不知能不通过,以前用的CAN转RS232确实不够方便用,有些笔记本还没有RS232口,这个挺好的。

出0入0汤圆

发表于 2011-4-6 14:22:14 | 显示全部楼层
五名?!呵呵

出0入0汤圆

发表于 2011-4-6 15:23:15 | 显示全部楼层
回复【54楼】ccdzdpj
请教一下楼主:
    这个usb转can如果用在数据量很大的网络中,不知会不会容易丢包?还有现场干扰比较大,有高频开关电源,功率也不小,不知会不会容易丢包,因为之前用过周立功的can转rs232,要配一个工作电源,要是有usb的就方便得多。想申请一个试用一下,不过不知能不通过,以前用的can转rs232确实不够方便用,有些笔记本还没有rs232口,这个挺好的。
---------------------------------------------------------------------
如果可以,我也想申请试用学习一下

出0入0汤圆

发表于 2011-4-6 16:14:26 | 显示全部楼层
正需要这个,顶下

出0入0汤圆

发表于 2011-4-7 16:22:58 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-4-8 11:18:00 | 显示全部楼层
两天没看,热心的朋友还挺多呢
之前用我们的CAN的技术做过一个小球阵列,之前发过帖子的,就是用这个适配器和软件调的

(原文件名:IMG_5354.JPG)
欢迎观看视频
http://v.youku.com/v_show/id_XMjI2NTkwMzMy.html

这种应用突出了CAN通讯的几个典型特点:硬件连接特别简单;节点添加灵活且走线数量与节点数量无关;差分信号、抗干扰强等。。。。

我原来做过集中式控制的机器人手臂,当5个电机的强电和弱电线汇总到手臂的底座时,已经超过30根线了,那个痛苦啊。。。。相信我,分布式控制一定是一个潮流。而利用CAN,可以精简到4根....

【44楼】 beliz
你也用过elmo啊!!真是幸会啊,我们买的时候好辛苦啊,8000块一个哦,贼贵~~想想就肉疼。。。不过人家以色列的玩意确实做得很高端很完美哈。不得不佩服

【45楼】 gghyoo
有朋友问到关于二次开发的问题,我们专门准备了二次开发的相关资料:USB2CAN适配器用户编程说明及通讯库源文件,供大家下载

二次开发资料ourdev_629213HXJY7Y.rar(文件大小:20K) (原文件名:USB2CAN适配器用户编程说明及通讯库源文件.rar)

摘要如下:

“USB2CAN适配器——用户编程说明
2010.11.02
用户如果只是利用 USB2CAN接口适配器进行 CAN总线通信测试,可以直接利用随本产品提供的EmbededDebug工具软件,接入CAN总线。如果用户打算开发自己产品的软件程序,可以使用我公司提供的相关API,简化通讯开发过程。
下面介绍CAN通讯相关的两个类。如果只做CAN方面的收发操作,可以只关心RT_CAN类,使用其中的SendCANMessage函数发送CAN消息,使用RecvCANMessage或者通过SetRxPackageCallBack设置接收回调函数的方式接收CAN消息即可;如果希望详细了解我公司的通讯协议,可结合本文档与源代码进行学习。
……”
包含
RT_COM.cpp
RT_COM.h
RT_CAN.h
RT_CAN.cpp
4个文件

【54楼】 ccdzdpj
关于可靠性的问题,我们之前做过一定的测试,以1M的最高速度,用大概2m多的双绞线传输,测了2天,没有丢包。平时应用的时候也还可以。软件方面都没什么问题。
但是干扰是客观存在的,因为我们在机器人强电的应用中,确实遇到过多次干扰比较大的情况,那时直接通过波形就可以看得出来畸变和毛刺,这时的做法就是尽量远离干扰源,并且可以给传输线加上屏蔽接地,就好了,跟这个设备本身的电路原理没太大关系。只要波形干净了,数据就是对的。
我们自己测试过约10m长的传输线500K的速度还可以,当然,只是一个应用,并不是测极限参数的。
我们还有申请的名额,不过前提是希望大家能够多提些意见,比如谈下你自己遇到的困难,以及应用的场合等等,或者参与我们的讨论和发起大家的讨论也不错,向8楼的同志学习哈。

我们希望剩余的4个名额都被用完,前提是获得有价值的信息,谢谢!

出0入0汤圆

发表于 2011-4-10 20:17:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-10 20:37:40 | 显示全部楼层
mark,好东西,谢谢楼主分享

出0入0汤圆

发表于 2011-4-10 23:09:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-11 00:17:07 | 显示全部楼层
几天没上ourdev,居然有这样的好东西开源了。楼主这个是串口与CAN的转换吧?测试过每秒能传输多少帧吗?

出0入0汤圆

发表于 2011-4-11 08:13:57 | 显示全部楼层
TO:农夫,他这个开源,主要看那个CP2102的速度,估计不能太快,曾经试过256000,超了会丢包。

TO:楼主李,你这个我前段时间使用过一次,应该说够调基本的使用了,在这个价位应该是不错的小工具了。另外说两个意见:关于扩展帧和标准帧的ID规约你没做,这个对于新手的话,有可能造成疑惑;还有一个就是在数据/远程/标准/扩展,来回切换,然后利用CAN调试器往下发数据,我在采用显示所有数据来看的,不管是全速跟踪还是断点跟踪,确实有有这个问题,就会出现第7和第8个字节丢包,而且基本能看出规律,在奇数次丢包,偶数次没有丢包。

出0入0汤圆

发表于 2011-4-11 09:42:22 | 显示全部楼层
回复【64楼】kinsno
-----------------------------------------------------------------------

256000 也不丢包?那不错。
丢字节是个麻烦的事。。

出0入0汤圆

发表于 2011-4-11 10:14:30 | 显示全部楼层
真是个不错的工具,以前用zlg的以太网转can的调试也不错,只不过个人用还是楼主这个经济些,建议改成stm32105系列的芯片,里面带双can,也不用担心和usb冲突了,还有如果pcb上面再加上可以用跳线选择的485的功能那就完美了,只需要一个so-8的485接口芯片,估计也能放下,或者单独做一个。那样销售量还能增一倍,毕竟485在工业上面应用不必can少啊。至于软件方面,在极限条件下测速和测丢帧,如果这个产品定义在简单的调试,现在已经够用了。

出0入0汤圆

发表于 2011-4-11 10:31:08 | 显示全部楼层
1、下载了楼主的源码和原理图看了下,楼主这个调试器的收发器用的是TJA1050,这个波特率貌似是不能用于低波特率长距离通信的。建议还是使用82C251这样的通用收发器。
2、看到楼主用了ESD保护,楼主有没有考虑过增加TVS保护呢?
3、RENMA说的软件模拟USB,个人觉得不是个好办法,STM32的实际IO速度并不快,与其花N多时间IO模拟USB,还不如选用STM32F105系列来做,不过这个难点在上位机的驱动开发。STM32F105RB带双通道CAN,淘宝价格约为25+元。。另外LPC1751也是较好的选择,带一路CAN,百片以上ZLG能给到18元的报价,只是80pin芯片有点大。
4、串口虽慢,但是232与CAN转换还是有非常广泛的应用,楼主可以在下位机增加一些协议流控、拆帧提取数据、定时发送等功能(注意这里是下位机,这样串口只用来传输有效的数据即可),进入初始化后可以配置调试器的工作模式再开始工作,这样可以配合很多应用协议的调试。
5、楼主的下位机用了OS?楼上使用片内Flash来存储上一次通信的波特率信息吗?

出0入0汤圆

发表于 2011-4-11 10:37:49 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-4-12 11:09:32 | 显示全部楼层
回复【67楼】powerSTM 农夫山拳
1、下载了楼主的源码和原理图看了下,楼主这个调试器的收发器用的是tja1050,这个波特率貌似是不能用于低波特率长距离通信的。建议还是使用82c251这样的通用收发器。
2、看到楼主用了esd保护,楼主有没有考虑过增加tvs保护呢?
3、renma说的软件模拟usb,个人觉得不是个好办法,stm32的实际io速度并不快,与其花n多时间io模拟usb,还不如选用stm32f105系列来做,不过这个难点在上位机的驱动开发。stm32f105rb带双通道can,淘宝价格约为25+元。。另外lpc1751也是较好的选择,带一路can,百片以上zlg能给到18元的报价,只是80pin芯片有点大。
4、串口虽慢,但是232与can转换还是有非常广泛的应用,楼主可以在下位机增加一些协议流控、拆帧提取数据、定时发送等功能(注意这里是下位机,这样串口只用来传输有效的数据即可),进入初始化后可以配置调试......
-----------------------------------------------------------------------
这个esd不就是双tvs结构的么?

出0入0汤圆

发表于 2011-4-12 14:00:44 | 显示全部楼层
回复【69楼】zyc10
-----------------------------------------------------------------------
呃,算我不才,没用过这样的器件

出0入0汤圆

发表于 2011-4-13 09:46:32 | 显示全部楼层
回复【72楼】andlsl
呵呵。。谢谢powerstm 提的建议,我们若比特公司将会赠送你一个模块,需要您的个人信息。没有找到您的联系方式。
请及时与我联系。qq:309642682.同时,邀请您加入公司的技术联盟qq群:133326123。
回复【67楼】powerstm 农夫山拳
1、下载了楼主的源码和原理图看了下,楼主这个调试器的收发器用的是tja1050,这个波特率貌似是不能用于低波特率长距离通信的。建议还是使用82c251这样的通用收发器。  
2、看到楼主用了esd保护,楼主有没有考虑过增加tvs保护呢?  
3、renma说的软件模拟usb,个人觉得不是个好办法,stm32的实际io速度并不快,与其花n多时间io模拟usb,还不如选用stm32f105系列来做,不过这个难点在上位机的驱动开发。stm32f105rb带双通道can,淘宝价格约为25+元。。另外lpc1751也是较好的选择,带一路c......
-----------------------------------------------------------------------

楼上的,这里禁止发布QQ交流方式,比如QQ群。。。

出0入0汤圆

发表于 2011-4-13 10:26:52 | 显示全部楼层
回复【73楼】_yuming
-----------------------------------------------------------------------

OK!新手上路。。谢谢提醒!

出0入0汤圆

发表于 2011-4-13 13:22:32 | 显示全部楼层
刚看到我也获赠了,谢谢,我可以来试试我这边的CAN设备

出0入0汤圆

 楼主| 发表于 2011-4-15 12:33:22 | 显示全部楼层

又一个名额给了powerSTM 农夫山拳,这位兄弟,感谢大家的继续关注哈

出0入0汤圆

发表于 2011-4-15 13:50:17 | 显示全部楼层
CAN USB

出0入0汤圆

发表于 2011-4-15 14:31:44 | 显示全部楼层
Mark

出0入0汤圆

发表于 2011-4-15 18:40:49 | 显示全部楼层
强人啊!

出0入0汤圆

发表于 2011-4-15 21:09:00 | 显示全部楼层
Thanks,我已经收到,居然还附赠了用于拧接插件的小起子,让我想起了NI。。。今天事有点多,等我有空了测试下~
骂下申通快递,到付居然收了平时的双倍。

出0入0汤圆

发表于 2011-4-16 00:10:36 | 显示全部楼层
最近也需要弄can了,正好需要这样的东西

出0入0汤圆

发表于 2011-4-18 09:46:41 | 显示全部楼层
顶死你

出0入0汤圆

发表于 2011-4-18 10:05:26 | 显示全部楼层
简单测试了下,测试环境是使用吉阳的USB-CAN与楼主的连接,线缆30cm,在串口波特率256000,CAN波特率500K下收发正常。
不过我没有接到板上用极限环境来测试,比如使用ARM每毫秒发2帧扩展帧,发个几万帧看丢不丢。
楼主串口端一个CAN帧居然占用了22字节,串口端增加了帧头、帧尾、有点多了,建议楼主参考下ZLG的CSM100,一帧扩展帧数据一般13字节即可,1B 帧类型码+4B 帧ID+8B 数据,初始化时还可以配置不输出ID。CSM100里面用的是51,内建的缓冲区才十几个帧,我们项目实际测下来还是比较稳定的。

出0入0汤圆

发表于 2011-4-18 10:08:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-20 13:53:05 | 显示全部楼层
不错,是工程师的一个好工具,
有如下几点建议:
1,加上隔离,便于工控现场调试
2,配置软件可以集成在通讯软件上面,便于打开和调试
优点就不说了,,,

如果楼主还有样品的话,在此想申请一个样品,因近来正好要调试CAN,正苦于下不了狠心花几百大元买其它厂家的呢。

出0入0汤圆

发表于 2011-4-20 13:55:47 | 显示全部楼层
很久以前就和OURAVR一起成长了,可惜以前的号不能登录了近来,哎,只能重新刚申请了一个,又变成新人了啊

出0入0汤圆

发表于 2011-4-22 13:19:30 | 显示全部楼层
顶起,我们用CANopen协议比较多
但是看楼主说不支持?
对楼主那个can分析软件(上位机有2个调试程序,一个用于正常调试,收发数据和看波形 )比较感兴趣
不知道还可不可以申请个?

出0入137汤圆

发表于 2011-4-22 13:41:21 | 显示全部楼层
mark1

出0入0汤圆

发表于 2011-4-22 13:53:33 | 显示全部楼层
确实很强,感谢楼主的开源精神,我也想获赠一个,呵呵,不知道还有没名额
另外:可以找那种既有USB又带CAN还有串口的ARM,牛皮糖NUC1300系列的就要这些资源,价格也不很贵,是不是可以做到一个芯片里面去了

出0入0汤圆

发表于 2011-4-22 14:28:19 | 显示全部楼层
拿来就用的CAN,标记

出0入0汤圆

发表于 2011-4-22 15:04:46 | 显示全部楼层
标记.看到了一个产品的一步步历程更有意义.

出0入0汤圆

发表于 2011-4-25 09:59:06 | 显示全部楼层
顶起,看了楼主的控制小球视频,非常不错的展示了精确定位的功底。

出0入0汤圆

 楼主| 发表于 2011-4-25 12:24:26 | 显示全部楼层
下一个名额决定送给 cpi_sz 这位朋友,感谢热心参与,也请到时候认真反馈意见

还有两个名额!

出0入0汤圆

发表于 2011-4-25 13:57:18 | 显示全部楼层
嘿嘿。。还有两个名额作为回帖的奖励赠送名额哦!大家回帖辛苦了,不过,机不可失失不再来,加油啊大家!

出0入0汤圆

发表于 2011-4-25 14:02:52 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-4-26 16:37:23 | 显示全部楼层
请问你这个波形是怎么来的,AD采集吗

出0入0汤圆

 楼主| 发表于 2011-4-27 08:54:38 | 显示全部楼层
不是AD,而是CAN约定的命令格式
比如监控电机的PWM波形,这个连AD和示波器都无法显示占空比值随时间的变化。或者是读取的编码器速度波形。
先通过CAN节点下位机的控制核心进行处理,已经变成需要的数据格式了,比如把编码器的方波型号已经换算成rpm的数值了,然后把这些数值发送上去,在PC的软件上显示出波形来。

出0入0汤圆

发表于 2011-4-28 09:30:42 | 显示全部楼层
已经收到了转换器了,不错,赞一个先,还附送了一个螺丝刀,实在的楼主。。。。

出0入0汤圆

发表于 2011-4-28 09:37:40 | 显示全部楼层
楼主的公司LOGO也很有创意,上位机软件也做的非常漂亮,想问楼主上位机软件是用什么做的?很有艺术效果。

出0入0汤圆

发表于 2011-5-2 19:29:07 | 显示全部楼层
希望能和大家一起分享开源的乐趣。
想起那句话
你有一个苹果,我有一个苹果,交换之后,还是一人一个苹果。
你有一个思路,我有一个思路,交换之后,就多了一个思路。
感谢阿莫的论坛给我们提供的资源!
回复【6楼】solyp  李
-----------------------------------------------------------------------

经典

出0入0汤圆

发表于 2011-5-2 20:19:52 | 显示全部楼层
记号
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-27 09:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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