车辆中的CAN总线

时间:2016-11-30 17:05:08

标签: network-protocols can-bus bus

我需要为连接到CAN总线的汽车中的ECUS设计HMI协议 我基本上有3个任务需要考虑。

系统由一些应用控制单元和一个HMI控制单元组成,这些单元都连接到同一CAN总线。

  1. 我必须同时与HMI进行应用程序CU的通信。

    • 在我看来,这是不可能的,因为CAN协议不支持同一总线上的同时通信。我能做的是增加更多的CAN总线。每个应用程序CU一个,以便能够一次接收多个消息。
  2. 我需要控制对HMI的访问,以便HMI每次都能处理其中一个应用程序CU的请求。

    • 我相信在CAN数据链路层设计的CSMA / CD使我可以为我提供足够的时间来处理每个CU的任务。
  3. 这是我真正感到困惑的部分。我必须以HMI的答案转到相应的应用程序CU的方式进行设计。

    • 每条消息的CAN ID都不同,我无法知道消息如何进入错误的控制单元。也许这里的问题是HMI如何理解驱动程序是否按下OK按钮,这可以属于哪个任务(MP3或导航或......)
  4. 另外,我在第一和第二项任务中看到了冲突。使通信同时进行,但HMI一次只能处理一个任务。

    我自己也有一个问题,即如何在车辆中进行沟通?这样HMI是否每2ms发送一条消息,内部是HMI上按钮的状态?是否可以在一条消息中嵌入HMI中所有按钮的状态?如果可能的话,所有CU如何读取它并知道消息中的哪个位属于他们的任务。或者通信可能完全不同,每个CU都向HMI发送一个CAN请求帧,HMI会对此做出响应吗?或者也许使用其他一些方法?

    请让我知道你在哪里犯错误以及你的想法

    非常感谢:)

0 个答案:

没有答案