kiss2024 发表于 2020-4-16 14:37:34

canopen开源协议Canfestival求助

最近有个伺服驱动器项目要上Canopen协议,时间很紧赶着送样,留给协议最多两周时间,我原来完全没有接触过can &canopen,自己弄透协议在写肯定行不通。网上了解了下打算用Canfestival开源的代码,下载源码初步看了下,要在伺服驱动器上跑的好还是要花点时间精力的。我看协议要求在定时中断和can接收中断跑 timeCanFestiwal()   canDispatch(&_Data,&m) 这两函数,估计在DSP 28034上60M主频上执行时间要超过100US,这个对伺服电机控制是不允许的,所以求助论坛大神们,能否指导下如何优化,可以有偿辅导,谢谢

xld826 发表于 2020-4-16 22:17:26

本帖最后由 xld826 于 2020-4-16 22:25 编辑

Canfestival基于软件定时器,基因决定时间不会精准。
https://www.amobbs.com/thread-5641423-1-1.html

目前关于CANopen讨论最多的论坛http://www.dndev.com/cgi-bin/prtindex.cgi

electricit 发表于 2020-4-17 08:23:52

用MicroCANopen吧,这个比较容易上手

kiss2024 发表于 2020-4-17 08:30:00

xld826 发表于 2020-4-16 22:17
Canfestival基于软件定时器,基因决定时间不会精准。
https://www.amobbs.com/thread-5641423-1-1.html



好的 谢谢

kiss2024 发表于 2020-4-17 09:40:27

electricit 发表于 2020-4-17 08:23
用MicroCANopen吧,这个比较容易上手

谢谢回复,MicroCANopen 这个我网上去找找,不知道资源多不多。

xld826 发表于 2020-4-17 10:33:47

kiss2024 发表于 2020-4-17 08:30
好的 谢谢

你要做主机还是从机?

electricit 发表于 2020-4-17 11:06:00

kiss2024 发表于 2020-4-17 09:40
谢谢回复,MicroCANopen 这个我网上去找找,不知道资源多不多。

MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以用了

kiss2024 发表于 2020-4-17 16:08:55

xld826 发表于 2020-4-17 10:33
你要做主机还是从机?

从机,Canfestival这个库 如何跟我的应用层打通好像还是没看懂

kiss2024 发表于 2020-4-17 16:15:45

electricit 发表于 2020-4-17 11:06
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以 ...

谢谢,论坛上有这个源码吗,现在只能用百度搜,没找到论坛上的源码

kiss2024 发表于 2020-4-17 17:02:40

electricit 发表于 2020-4-17 11:06
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以 ...

官网上下到了源码 谢谢

electricit 发表于 2020-4-17 19:06:13

kiss2024 发表于 2020-4-17 16:08
从机,Canfestival这个库 如何跟我的应用层打通好像还是没看懂

CANOPEN主机与从机没有区别,不同的是主机的PDO多一些

tim4146 发表于 2020-4-17 22:04:03

我们最近有个设备也准备搞呢,楼主多多分享经验啊

liurangzhou 发表于 2020-4-21 09:31:28

mark                           

niliuchudao 发表于 2020-4-22 09:56:50

你是用stm32做还是dsp,我手里有stm32的demo,834258654

atonghua 发表于 2020-4-22 11:43:16

如果之前没接触过canopen两周能搞定它 那真是神人!!!

kiss2024 发表于 2020-4-30 10:00:22

唉,最后一天了,伺服电机+canopen的功能上都可以用了,但Canfestival还有个问题 异步TPOD只会发一次,不会按定时的发,代码看的不是很透,一直没找到问题。之前花了点精力在排查这个库跟DSP不兼容的地方(sizeof跟 memcpy),不知道还有没有其他不兼容的地方,头疼,搞不好51还要加班,悲剧。

atonghua 发表于 2020-4-30 10:30:45

kiss2024 发表于 2020-4-30 10:00
唉,最后一天了,伺服电机+canopen的功能上都可以用了,但Canfestival还有个问题 异步TPOD只会发一次,不会 ...

发送类型不能选OXFF 选这个表示PDO映射值变动才会发送

kiss2024 发表于 2020-4-30 10:54:38

0XFF可以的,问题找到了,DSP编译器问题,数组的初始化简写写法在ARM试可以的,在DSP是不行的,导致时钟只开了一个,DSP编译器跟其他的编译器的兼容性好多坑啊。

zhenglingo 发表于 2020-5-3 14:55:41

DSP平台要注意字节对齐的问题,有个拷贝的地方要改

chenweigang 发表于 2020-6-23 07:59:05

kiss2024 发表于 2020-4-17 17:02
官网上下到了源码 谢谢

楼主能发一下MicroCANopen源码吗,492459834@qq.com,谢谢

chenweigang 发表于 2020-6-23 08:30:51

electricit 发表于 2020-4-17 11:06
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以 ...

MicroCANopen的源码能发一下吗,492459834@qq.com

onerobo 发表于 2021-7-14 10:04:13

atonghua 发表于 2020-4-30 10:30
发送类型不能选OXFF 选这个表示PDO映射值变动才会发送

为什么我用STME32作主机,并且设置了TPDO1为FF,在main中改动了映射对象的内容,但是没有TPDO1发送出去呢

imliyucai 发表于 2021-7-14 11:21:08

MicroCANopen。标记一下,后面可能要用。
准备用 ti DSP 280xx 来做。

dhw5qq 发表于 2021-11-28 19:58:40

       我已经把canopen调通了,STM32平台的,sdo和pdo和nmt都已经测试通过了

whatcanitbe 发表于 2021-11-28 22:14:34

dhw5qq 发表于 2021-11-28 19:58
我已经把canopen调通了,STM32平台的,sdo和pdo和nmt都已经测试通过了

来,教教大家,让大家分享下你的喜悦

Huang2022 发表于 2023-2-3 17:08:01

kiss2024 发表于 2020-4-17 16:08
从机,Canfestival这个库 如何跟我的应用层打通好像还是没看懂
(引用自8楼)

能分享一下你的思路吗?我最近也在研究,没看懂怎么去跟应用层接通,谢谢啦

zhq_chd 发表于 2024-4-15 14:43:27

MicroCANopen
页: [1]
查看完整版本: canopen开源协议Canfestival求助