# Forum: µC & Digital Electronics HMI Protocol for CAN BUS

 Author: Annika (Guest) Posted on: 2016-11-30 18:08

Rate this post
 0 ▲ useful ▼ not useful
Hi .*,

I need to design a HMI protocol for ECUS in cars which are connected to
a CAN bus.
I have basically 3 tasks to consider.

The system is consisted of some Application control units and a HMI
control unit and these all are connected to a same CAN bus.

1- I have to make simultaneous communication of application CUs with HMI
possible.
- In my idea this is not possible since CAN protocol does not support
the Simultaneous communication on a same BUS. What I can do is to add
more CAN buses. one for each of Application CUs to be able to receive
more than one message at a time.

2- I need to control the access to the HMI so at each time HMI can
process the request of one of the Application CUs.

- I believe CSMA/CD which is designed in the Datalink Layer of CAN
makes this possible for me and gives the HMI enough time to process task
of each CU.

3- Here is the part which I'm really confused. I have to design it in a
way that the answer from HMI goes to the corresponding Application CU.
- CAN ID of each message is different and I can't get how a message
can go to a wrong Control Unit. Maybe the problem is here that How does
HMI understands if the driver pushes OK button , this OK belongs to

Also I see a conflict in first and second task. make communication
simultaneous but the HMI can process only one task at a time.

I have a question to this myself. How does the communication happens in
vehicles at all? Is it like this that HMI sends a message every 2ms and
inside is the status of the buttons on the HMI? Is it possible to embed
status of all buttons in HMI in one message? If possible then how is it
possible that all CUs read it and know which bit in the message belongs
to their task. Or maybe the communication is totally different and each
CU sends a CAN request frame to the HMI and HMI responds to that? or
maybe some other methods are used?

Please Let me know where you think I'm making mistake and also your
Ideas

• $formula (LaTeX syntax)$