首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有可能在没有额外硬件的情况下在Arduino上安装CAN?

有没有可能在没有额外硬件的情况下在Arduino上安装CAN?
EN

Stack Overflow用户
提问于 2014-02-28 08:14:43
回答 3查看 4.1K关注 0票数 3

我想让Arduino在一个CAN网络中运作。为Arduino提供OSI模型网络层的软件存在吗?我可以想象用GPIO/ADC检测HI/低电平,并用DAC将信号发送到网络。如果没有任何额外的硬件连接,那将是很好的。我不介意有一个终端电阻要求的CAN网络,尽管。

我指的是他们中的任何一个。我的意图是保持发展环境。

如果这样的软件不存在,是否有任何技术障碍,如有限的闪存大小(同样,我不是指特定的板与某些Atmega芯片)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-28 10:00:59

你可以写一点敲击可以驱动,但它有许多限制。

首先是时间问题,很难实现比特计时,也很难实现仲裁。

您将能够获得10 of,甚至50 of,但这将消耗大量的cpu时间。

代码本身就是一种痛苦。

您必须动态计算CRC (容易),但要实现碰撞检测和所有的时间参数是不容易的。

有一次,我为一家公司做了这件事,但这确实是个坏主意。

最好买一个芯片1欧元,并高兴。

票数 6
EN

Stack Overflow用户

发布于 2014-02-28 12:40:00

有几个CAN总线屏蔽板可用(例如:),这将是一个更好的解决方案。这不仅仅是控制器芯片的问题,总线接口、线路驱动和电源都需要考虑。如果你有资源和技能,你当然可以用更少的钱创建你自己的棋盘或面包板。

即使你通过GPIO咬它,你将需要一些硬件mods,我相信处理总线争用检测,它将非常缓慢,可能无法与总线上的“真正的”CAN控制器互操作。

如果您的目标是在您自己设计的设备之间进行通信,而不是现成的可以使用的设备,那么您就不需要CAN了,一些专有的设备就足够了,而UART的执行速度会更快。

票数 3
EN

Stack Overflow用户

发布于 2014-02-28 08:59:04

我不认为这样的软件存在。CAN总线比I2C更复杂。基本上,您必须实现CAN控制器和CAN收发器的功能。有关更多细节,请参见此线程 (德文)。

或者,您可以使用其中一个罐头盾牌。另一种选择是使用BeagleBone和适当的罐头斗篷

还请看一下AVR-CAN

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22089689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档