1、uavcan传输层概述
实际上uavcan底层的传输协议不一定是can,只不过最初就是基于can总线。
前面说过uavcan提供了两种传输方式,广播订阅和服务请求。这是传输层之上的东西,对于传输层而言,它只看到了can帧。
前面说过,uavcan传输的消息以DSDL形式描述,消息经过序列化之后,接收端如何进行反序列化呢?将一条消息进行反序列化,总需要知道它序列化之前的格式吧?所以uavcan在传送消息时,除了发送消息序列化之后的数据(payload)之外,在传输层还会附上该消息的data type id,该id必须是唯一,这样接收端就可以根据该id来辨别这是一条什么消息,从而进行反序列化。
传输层事实上除了附上data type id之外,还会附上以下信息:
对于广播消息和