Answers:
您肯定会选择一个标准的网络层。我见过一些情况,人们会自己动手做,而且协议常常效率低下,最终浪费时间。经过验证的网络层可提供基本功能,以解决您与嵌入式设备联网时可能遇到的大多数问题,最终将为您节省宝贵的时间和金钱。
我对CANopen很熟悉,因此在这里我会做一些解释,它可能会帮助您决定是否要这样做。如果它不适合您的需要,我会考虑其他事情。
CANopen以数据为中心。所有CANopen从节点(您可以从主节点控制的事物,例如传感器或电机驱动器)都提供一个词典,其中包含您需要读写才能完成工作的所有配置,控制和数据采集数据。然后,您可以通过SDO(服务数据对象)机制分别读取/写入这些对象,或者通过PDO(生产者数据对象)机制在定时CAN消息传输中定期读取/写入这些对象。NMT服务以及节点ID分配服务(如果您希望使用它)提供了启动,关闭和重置以及心跳/节点故障检测。要使用嵌入式CANOpen库实现设备,您基本上可以设置一个对象字典,设置PDO以定期发送/接收数据更新,并编写根据这些数据条目运行的用户代码。CANopen还提供其他功能,但这只是其中的大部分。 阅读本书以获取更多信息。
有很好的答案。我不知道您使用什么微型芯片,但是这里有一些微型芯片信息的链接。
它们每个都有代码和基本数据表,让您知道实现它们所需的内容。