转载用GD32E103系列开发USB转CANFD资料和点滴经验

[复制链接]
4313|25
手机看帖
扫描二维码
随时随地手机跟帖
chenbagan|  楼主 | 2019-11-20 09:14 | 显示全部楼层 |阅读模式
首先感谢GD开发了E103系列单片机,它是目前业界含U口和CANFD口,最具性价比的MCU了。
下面把USB转CANFD产品资料打包发送给大家分享,主要包括:产品逻辑图,PCB印制板图、ISP装载文件和产品说明书。本品准许依据上述文件进行非商业性DIY。


GD论坛USB转CANFD开发文件下载.zip

1.43 MB, 下载次数: 229

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 09:18 | 显示全部楼层
本帖最后由 chenbagan 于 2019-12-18 12:52 编辑

说明书
由于论坛最大上传文件为2M,所以将上面文档中的“说明书”摘出单传!

USB转CAN_FD说明书的.pdf

1.92 MB, 下载次数: 147

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 09:20 | 显示全部楼层
开发经验1:关于开发板
当您想开发一个单片机产品的时候,往往第一时间想到的就是购买一块合适的开发板,您会参考开发板提供的软件和硬件电路图,那么我这里需要提醒您的是GD32E103V开发板上的CAN接口芯片不支持CANFD,您需要在自己的电路上更换CAN接口芯片的类型,以使其能够支持CANFD。

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 09:21 | 显示全部楼层
开发经验2:关于GD32E103TBU6
我们在开发USB转CANFD往往希望使用管腿少面积小的芯片,在E103系列中GD32E103TBU6是QFN36封装,是最合适的选择。但您需要注意的是该芯片的CAN0接口与USB接口管腿发生了共用,您只能使用CAN1作为模块的对外接口,但您在配置芯片时不能单单仅仅配置CAN1,而不管CAN0。要命的还不在这里,您必须小心翼翼,在这里我提醒您,偏偏就是这个CAN1的接收管腿不容耐5V电平,因此您在选择CANFD接口芯片时需要小心,比如您想用NXP的CANFD接口芯片,您不但需要注意它的通讯速率,还要注意选择兼容3V的接口芯片,如:TJA1044GT/3Z 或TJA0157/3J,注意:不带“/3”的芯片是不能用的。如果用TJA1044GT,您需要配置分压电阻。

使用特权

评论回复
zeshoufx| | 2019-11-20 10:03 | 显示全部楼层
chenbagan 发表于 2019-11-20 09:21
开发经验2:关于GD32E103TBU6我们在开发USB转CANFD往往希望使用管腿少面积小的芯片,在E103系列中GD32E103TB ...

谢谢分享,,,,,,,

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 10:31 | 显示全部楼层
开发经验3:关于USB接口的D+连线上的上拉电阻
F103系列不同,在E103系列中,其芯片内部配置了该上拉电阻,不需要工程师再外部连接了,这一点的确很贴心。

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 10:33 | 显示全部楼层
开发经验4:关于全速USB接口速率
理论上全速USB接口速率可达12Mbps,但在实际应用中普通单片机持续速率是不可能达到该值的,有烧友测试过ST32的最高速率,在不处理数据的情况下,收发都使用双缓,单发和单收的最大速率基本上在800KB左右。通常认为在加入解帧和数据处理的情况下,将该指标对折就算比较满意了,其基本能够应付5Mbps的CANFD了。(现在大多数CANFD接口芯片也只支持到5Mbps)

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 10:36 | 显示全部楼层
开发经验5:用ISP重新装载应用
我们开发的USB转CANFD,其硬件是通用的,您完全可以不使用我们默认装载的USB转CANFD应用程序。如果您有什么新思路和创新,完全可以将您自己开发的应用,通过ISP装载到这个硬件平台上,下图是ISP模块的连接方法。


ISP下载插接方法3.png

使用特权

评论回复
chenbagan|  楼主 | 2019-11-20 10:38 | 显示全部楼层
开发经验6:关于GD库函数(很重要)
您在开发属于您自己的私人定制的USB转CANFD模块时,软件方面往往会使用到GD的函数库,在这里我需要提醒您,请下载GD的最新库。因为在老库中我们发现了一些BUG,其一是,在您设置CAN或CANFD速率时,有些合法速率是不能设置的,如800K,设置后库函数会出现死循环;其二是,您在发送CANFD帧时发送字节数是5、6或7时,发送数据一定会出错。
以上两个BUG已经反映给GD公司了,他们的工程师已经进行了更新。这里希望广大用户和小白鼠,发现BUG及时反映给GD公司,并在论坛中进行交流,以免其它人重复犯错。
最后,让我们以宽容和理解的态度对待一个新事物中的一点点瑕疵,祝福GD的明天会更美好!

使用特权

评论回复
parameters| | 2019-11-25 16:39 | 显示全部楼层
感谢楼主分享资料

使用特权

评论回复
zeshoufx| | 2019-11-26 08:42 | 显示全部楼层
chenbagan 发表于 2019-11-20 10:38
开发经验6:关于GD库函数(很重要)您在开发属于您自己的私人定制的USB转CANFD模块时,软件方面往往会使用到 ...

谢谢分享,,,,,,,,,

使用特权

评论回复
chenbagan|  楼主 | 2019-12-2 16:55 | 显示全部楼层
开发经验7:关于串口调试工具
网上的串口调试工具种类繁多,良莠不齐,我们测试了很多的串口调试工具,下面给大家推荐两个我们认为比较好的。
其一是:AccessPort1.37,这款串口调试工具,最好用的地方是文件发送,它能以最大速率将文件发送,在没有流控的情况下,发送速率可达5Mbps,目前,我们还没有发现比它更好的。它的缺点是其收发代码在同一线程中,当发送受阻时,会影响接收缓存区的读取。
其二是:野人串口调试工具,其克服了上面那款的缺点,但其发送速率受您设置的串口波特率限制。
这两个串口调试工具,优缺点具有互补性,请大家斟酌使用。

使用特权

评论回复
chenbagan|  楼主 | 2019-12-3 11:23 | 显示全部楼层
开发经验8:(虚拟串口)USB转CANFD性能测试
通常我们会使用两个模块对传数据的方式,测试USB转CAN模块的性能。在这里我们推荐使用AccessPort1.37这款串口调试工具,因为该串口调试工具在众多的调试工具中其传送速率是最高的。市面上大概有90%的USB转CAN模块是无法通过它的测试的。
今天上午我们终于拿到了这款批产的USB转CANFD产品,并进行了对传测试,在1M速率下,两个模块对传10万帧数据(带有8个数据的扩展数据帧),总数为20万帧,共耗时为27秒左右,并且未丢一帧数据,我们将该实验连续重复了10遍,测试结果相同。
该项测试指标可以媲美世界上任何一款USB转CAN模块。



FD对传数据.png

使用特权

评论回复
chenbagan|  楼主 | 2019-12-3 22:29 | 显示全部楼层
本帖最后由 chenbagan 于 2020-1-13 08:00 编辑

开发经验9:(虚拟串口)USB转CANFD性能测试2
下午我们做了CANFD状态测试,同样的数据帧,我们将CANFD数据域速率设置为4M,仅仅使用15秒钟,20万帧的数据对传完成,并且一帧未丢。简直太震撼了,无论是CAN状态还是CANFD状态,该产品对传速率都达到了理论设计值。此处真真需要给GD和本品的设计者一些掌声!!!!!!


USB转CANFD宣传图片.png

使用特权

评论回复
八层楼| | 2019-12-4 16:06 | 显示全部楼层
非常好的资料

使用特权

评论回复
晓伍| | 2019-12-4 16:11 | 显示全部楼层
非常感谢楼主分享

使用特权

评论回复
chenbagan|  楼主 | 2019-12-5 20:24 | 显示全部楼层
开发经验10:晶体的选择
       在这里需要补充说明一下USB转CANFD模块选用的是12M晶体,与开发板的8M晶体不同。如果您前期是在开发板上开发的应用程序,如果需要移植到USB转CANFD模块上,请注意修改时钟的分频和倍频参数。

使用特权

评论回复
xdqfc| | 2019-12-12 15:56 | 显示全部楼层
Can通信是非常有效的一种通信,若干年前曾经用51单片机玩过,费时费劲,这里要感谢楼主的无私奉献。

使用特权

评论回复
chenbagan|  楼主 | 2020-4-1 16:27 | 显示全部楼层
最近,做了一次长线传输,发现CANFD的传输特性要比CAN好很多,同样是1M速率,但CANFD数据场为2M,其通讯距离比1M的CAN要长不少,有没有高手解释一下,从理论上讲有点说不通呀!

使用特权

评论回复
dxfshsh| | 2020-10-13 16:18 | 显示全部楼层
偶然,在网上看到了一款国产CANFD总线接口芯片,好像是QBD1044,可以替换这个板子上的NXP接口芯片,这样这个板子就成为了全国产的了!替换时,需要注意供电电压应更换为3.3V。

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则