搜索
bottom↓
回复: 19

i.MX6Q can应用问题(已解决)

[复制链接]

出0入0汤圆

发表于 2014-9-4 10:23:26 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_Rita 于 2014-10-8 17:46 编辑

因为项目中要用到,最近在调试i.MX6Q下的CAN BUS。
参考canutils-4.0.6源代码实现了一个应用程序,在测试中发现,i.MX6Q发送第一个数据包时,接收端会收到一个错误提示,虽然有提示,但是双方通信最后还是成功了。
我没有can分析仪,因此无法抓包分析。有谁对linux下canbus比较熟的?给点意见。
一个错误是:CAN_FLAG_EWG---Error Warning Flag
另一个是:CAN_FLAG_EPV---Error Passive Flag

STM32接收端调试信息:(STM32端的驱动在其他项目中已经验证过)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-9-4 10:27:08 | 显示全部楼层
对CAN不熟悉  期待高手回答

出100入101汤圆

发表于 2014-9-4 10:28:29 | 显示全部楼层
这个其实和linux关系不大,可能和CAN驱动芯片及相关电路有关。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-9-4 10:34:10 | 显示全部楼层
fengyunyu 发表于 2014-9-4 10:28
这个其实和linux关系不大,可能和CAN驱动芯片及相关电路有关。

资料相当好,谢谢分享

出0入0汤圆

发表于 2014-9-4 11:08:58 | 显示全部楼层
楼主能否分享CAN总线的资料,感觉这个东西很神奇的样子!!

出0入0汤圆

 楼主| 发表于 2014-9-4 11:31:54 | 显示全部楼层
sdlibin007 发表于 2014-9-4 11:08
楼主能否分享CAN总线的资料,感觉这个东西很神奇的样子!!

CAN我感觉还是很有前途的,比那些RS485之类的要先进。
资料我没有,上网搜吧

出0入0汤圆

发表于 2014-9-4 11:36:49 | 显示全部楼层
bruce_helen 发表于 2014-9-4 11:31
CAN我感觉还是很有前途的,比那些RS485之类的要先进。
资料我没有,上网搜吧  ...

这个应该确实有前途,工业应用貌似还挺多的!!

出0入0汤圆

发表于 2014-9-12 09:46:24 | 显示全部楼层
楼主你好,请问你的问题解决了吗?

出0入0汤圆

 楼主| 发表于 2014-9-12 12:03:43 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-9-12 09:46
楼主你好,请问你的问题解决了吗?

我使用了CAN总线最高通信速率1Mbit/s,线也不是屏蔽线,可能有干扰,导致通信出错。
换了根屏蔽线这个问题就没有了,这个我还在继续确认。
从测试来看,降低通信速度和使用更好的线对通信的正确性还是有帮助的

出0入0汤圆

发表于 2014-9-12 12:59:16 | 显示全部楼层
感觉不错

出0入0汤圆

发表于 2014-9-12 13:08:37 | 显示全部楼层

对CAN不熟悉  期待高手回答

出0入0汤圆

发表于 2014-9-12 13:51:22 | 显示全部楼层
bruce_helen 发表于 2014-9-12 12:03
我使用了CAN总线最高通信速率1Mbit/s,线也不是屏蔽线,可能有干扰,导致通信出错。
换了根屏蔽线这个问 ...

那就好啊,CAN传数据速度是有一定限制的,所以你最好调整到最佳状态。

出0入0汤圆

发表于 2014-9-12 15:08:16 | 显示全部楼层
据我的了解,I.MX6板上的CAN,还是不用的好,建议外扩带CAN的处理器作为CAN通讯。其实CAN模块的问题并不大。大问题是,你在I.MX6上运行的OS真的是实时的吗?时间响应要求高的话,那就肯定不行了。某些情况下要求CAN是mS级的响应,这个让小MCU跑个实时系统响应快多了。比直接使用I.MX6的CAN要好。

出0入0汤圆

发表于 2014-9-12 16:24:37 | 显示全部楼层
楼主降低速率即可,是不是因为跑实时os,时间分配上没够啊

出0入0汤圆

发表于 2014-9-12 16:35:39 | 显示全部楼层
更像是楼主的linux下的can驱动的问题,某些位置的延时时间处理不好。最开始握手通讯时,也许数据包交互的不完整,这个不是疲劳测试一段时间后出现的丢包问题,还是查查imx6q的驱动吧

出0入0汤圆

 楼主| 发表于 2014-9-12 18:49:47 | 显示全部楼层
StoneSun 发表于 2014-9-12 15:08
据我的了解,I.MX6板上的CAN,还是不用的好,建议外扩带CAN的处理器作为CAN通讯。其实CAN模块的问题并不大 ...

有道理。linux的实时性还是有待提高的。
我实际应用对实时性要求不是那么严格,只要保证数据传输正确,不丢包,基本上就没问题。

出0入0汤圆

 楼主| 发表于 2014-9-12 18:52:36 | 显示全部楼层
bbstr 发表于 2014-9-12 16:35
更像是楼主的linux下的can驱动的问题,某些位置的延时时间处理不好。最开始握手通讯时,也许数据包交互的不 ...

你让我想起了一个问题。can总线有几个值(sample point之类的参数),我使用的是默认值,是不是这个导致的?初始化时我只配置了通信速率,其他的都是默认。

出0入0汤圆

发表于 2014-9-12 20:26:35 | 显示全部楼层
bruce_helen 发表于 2014-9-12 18:52
你让我想起了一个问题。can总线有几个值(sample point之类的参数),我使用的是默认值,是不是这个导致 ...

这有一定可能性,再就是你要进到驱动里面,打开调试信息看看

出0入0汤圆

 楼主| 发表于 2014-9-12 21:18:28 | 显示全部楼层
bbstr 发表于 2014-9-12 20:26
这有一定可能性,再就是你要进到驱动里面,打开调试信息看看

恩,有时间作进一步测试。确认问题根源

出0入0汤圆

发表于 2014-9-13 11:07:08 | 显示全部楼层
确实,CAN属于实时高速外设了,最好不要带操作系统,直接一个MCU处理比较靠谱
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-10 04:54

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

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