gpt4 book ai didi

c - CAN通信协议(protocol)栈的设计

转载 作者:行者123 更新时间:2023-11-30 19:40:09 24 4
gpt4 key购买 nike

我的目标是设计并实现一个基于 CAN 的可移植通信堆栈。为了简单起见,我们假设我想要实现的协议(protocol)栈由以下层组成:

1)数据链路层:CAN驱动等

2) 通信层:处理接收中帧的过滤并管理周期性/事件触发帧的发送

3)传输层:管理消息的分段(标准CAN协议(protocol)仅允许长度为8字节的帧)

4)应用层:由最终用户定义

Communication Stack

我的设计选择是围绕非抢占式调度程序构建通信堆栈,并将每一层视为调度程序的任务,不同层之间的通信是使用通信机制互斥体和队列扩展来完成的。问题是:

1)这是一个好的设计还是有更简单的设计

2) 通信堆栈实际上是如何工作的? ,我的意思是应用层背后的“引擎”是什么,是调度器吗?或者层间通信的管理是由最终用户定义的?

3)任何人都可以向我指出一个免费且简单的通信堆栈实现(最好是在 c 中)(对于 CAN 来说不是必需的)

提前谢谢

最佳答案

您应该考虑使用 CAN 之上的现有协议(protocol)。这可能是CANopen 。免费实现是 CAN Festival

关于c - CAN通信协议(protocol)栈的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35789602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com