CAN BUS协议栈

问题描述 投票:0回答:1

有人可以向我解释什么是CAN BUS协议栈?是CAN BUS +更高的层,例如具有7层的CANopen或其他什么层,有人可以解释我如何使用CAN堆栈,如何将其与CAN总线连接以及为什么需要它吗?

谢谢

embedded can-bus canopen
1个回答
0
投票

是的,它是具有更高层协议的CAN硬件,例如CANopen,J1939或DeviceNet。

就“ OSI模型”而言,只讲第1-3和7层是有意义的,其中CAN是第1层和第2层,而像CANopen这样的协议大致提供了第3层和第7层。 open还附带硬件规格,例如波特率,同步点和桩长建议。

所谓的“协议栈”实际上只是具有独立于平台的API的库,通常随特定于硬件的驱动程序一起提供。如果供应商声称他们支持特定的MCU,则通常意味着您从供应商那里获得了驱动程序。

因此,基本上,您购买此预制库并将其与程序集成,然后在CAN总线上获得标准化的协议行为,这是与实现相同协议的其他节点进行通信所必需的。自己编写这样的库并不是一件容易的事,特别是对于CANopen来说,这不是一个很大的标准,在CANopen中,您可能只会使用大约10%的可用功能。

© www.soinside.com 2019 - 2024. All rights reserved.