canopen开源协议Canfestival求助
最近有个伺服驱动器项目要上Canopen协议,时间很紧赶着送样,留给协议最多两周时间,我原来完全没有接触过can &canopen,自己弄透协议在写肯定行不通。网上了解了下打算用Canfestival开源的代码,下载源码初步看了下,要在伺服驱动器上跑的好还是要花点时间精力的。我看协议要求在定时中断和can接收中断跑 timeCanFestiwal() canDispatch(&_Data,&m) 这两函数,估计在DSP 28034上60M主频上执行时间要超过100US,这个对伺服电机控制是不允许的,所以求助论坛大神们,能否指导下如何优化,可以有偿辅导,谢谢 本帖最后由 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 用MicroCANopen吧,这个比较容易上手 xld826 发表于 2020-4-16 22:17
Canfestival基于软件定时器,基因决定时间不会精准。
https://www.amobbs.com/thread-5641423-1-1.html
好的 谢谢 electricit 发表于 2020-4-17 08:23
用MicroCANopen吧,这个比较容易上手
谢谢回复,MicroCANopen 这个我网上去找找,不知道资源多不多。 kiss2024 发表于 2020-4-17 08:30
好的 谢谢
你要做主机还是从机? kiss2024 发表于 2020-4-17 09:40
谢谢回复,MicroCANopen 这个我网上去找找,不知道资源多不多。
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以用了 xld826 发表于 2020-4-17 10:33
你要做主机还是从机?
从机,Canfestival这个库 如何跟我的应用层打通好像还是没看懂 electricit 发表于 2020-4-17 11:06
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以 ...
谢谢,论坛上有这个源码吗,现在只能用百度搜,没找到论坛上的源码 electricit 发表于 2020-4-17 11:06
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以 ...
官网上下到了源码 谢谢 kiss2024 发表于 2020-4-17 16:08
从机,Canfestival这个库 如何跟我的应用层打通好像还是没看懂
CANOPEN主机与从机没有区别,不同的是主机的PDO多一些 我们最近有个设备也准备搞呢,楼主多多分享经验啊 mark 你是用stm32做还是dsp,我手里有stm32的demo,834258654 如果之前没接触过canopen两周能搞定它 那真是神人!!! 唉,最后一天了,伺服电机+canopen的功能上都可以用了,但Canfestival还有个问题 异步TPOD只会发一次,不会按定时的发,代码看的不是很透,一直没找到问题。之前花了点精力在排查这个库跟DSP不兼容的地方(sizeof跟 memcpy),不知道还有没有其他不兼容的地方,头疼,搞不好51还要加班,悲剧。 kiss2024 发表于 2020-4-30 10:00
唉,最后一天了,伺服电机+canopen的功能上都可以用了,但Canfestival还有个问题 异步TPOD只会发一次,不会 ...
发送类型不能选OXFF 选这个表示PDO映射值变动才会发送 0XFF可以的,问题找到了,DSP编译器问题,数组的初始化简写写法在ARM试可以的,在DSP是不行的,导致时钟只开了一个,DSP编译器跟其他的编译器的兼容性好多坑啊。 DSP平台要注意字节对齐的问题,有个拷贝的地方要改 kiss2024 发表于 2020-4-17 17:02
官网上下到了源码 谢谢
楼主能发一下MicroCANopen源码吗,492459834@qq.com,谢谢
electricit 发表于 2020-4-17 11:06
MicroCANopen 直接下载到的源代码是keil的,可直接编译,不需要修改
改一下SDO字典,加点自己的PDO就可以 ...
MicroCANopen的源码能发一下吗,492459834@qq.com atonghua 发表于 2020-4-30 10:30
发送类型不能选OXFF 选这个表示PDO映射值变动才会发送
为什么我用STME32作主机,并且设置了TPDO1为FF,在main中改动了映射对象的内容,但是没有TPDO1发送出去呢 MicroCANopen。标记一下,后面可能要用。
准备用 ti DSP 280xx 来做。 我已经把canopen调通了,STM32平台的,sdo和pdo和nmt都已经测试通过了 dhw5qq 发表于 2021-11-28 19:58
我已经把canopen调通了,STM32平台的,sdo和pdo和nmt都已经测试通过了
来,教教大家,让大家分享下你的喜悦 kiss2024 发表于 2020-4-17 16:08
从机,Canfestival这个库 如何跟我的应用层打通好像还是没看懂
(引用自8楼)
能分享一下你的思路吗?我最近也在研究,没看懂怎么去跟应用层接通,谢谢啦 MicroCANopen
页:
[1]