你好,我有一个关于CAN总线上的通信/仲裁的问题。
假设CAN总线上的多个主机希望同时发送,这意味着具有最低消息标识符的主机最终将赢得仲裁,并开始发送其有效载荷。其他的则失去仲裁,切换到接收模式并等待总线再次空闲。
现在我的问题是:
在前一次尝试中失去仲裁的主机是否立即再次仲裁总线(即当总线空闲时)?它们是否等待CAN矩阵中定义的下一个激活周期?或者可以在can矩阵中单独定义?
先谢谢你,弗洛里安
发布于 2016-08-22 20:45:30
我不知道你所说的"CAN矩阵“是什么意思,但是一旦总线空闲,节点就可以通过发送帧起始位和CAN Id开始仲裁过程,再次尝试进入总线。
CAN不知道主人或奴隶。它被称为多主机系统。每个节点在总线上拥有相同的权限。更高层的CAN协议,如CANopen,为某种网络管理定义了一个主轮子。
发布于 2016-07-26 04:04:50
我在这里找到了答案:
CAN bus arbitration backoff time写道,在发送“仲裁胜利者”的帧之后,主机可以自由地再次进行仲裁。这是否意味着这个决策是编码在CAN矩阵中的?
https://stackoverflow.com/questions/38572351
复制相似问题