ECU Design

The block diagram below reprecent a single ECU Node – which in reality is a baby with many names. It is also called a VCU (Vehicle Control Unit) or Mini PLC if you like, I prefer the terminology “ECU” – Electronic Control Unit since it is assembled in a waterproof, small box and general purpose.

We have several main board versions, but the latest dual ethernet version will become standard because it is more flexible than the previous versions. I started with a main board with 3 add-on modules and 3 CAN ports, but moved on to a pure M12 based, waterproof version with 8 add-on modules and have now extended that to include a dual Ethernet design. The key here is that the same board can be assembled with or without Ethernet if you want the IO slots for other purposes, but it made a lot of sence to have the capability to daisy chain Ethernet and avoid an external switch. Below is a picture of the M12 PCB’s and modules mounted in the lid to form 6 x M12 ports and one MX23 in this example. The advantage with M12 and MX23 is that they are water-/air-tight.

The new version with RJ45’s will not be directly waterproof, but it can be configured to use only MX23 or M12 connectors if we drop the dual Ethernet RJ45’s. I also have single port Ethernet for M12-4. but that target sensors that need Ethernet and not a daisy chain between nodes. I will do a few mechanical tricks to keep RJ45 waterproof – or more important airtight. As you close a box you will have a minimum of air that contain humidity inside. What you cannot afford is that this air is renewed bringing more humidity into the box + as this is to be used on vehickes and boats it must tolerate a dash of water as well.

Back to the block diagram you see 8 sub-modules – in reality the main board support ten, but as one position is needed for Power we max have 7 free positions (5 if we use dual Ethernet). The idea is that you use a distributed design with either CAN or Ethernet as network between nodes. And from any node you will see the system as a big tree of IO and logic. The sub modules use a 8Mhz full duplex serial port and the MCU frequencies 500 and 250Mhz is selected for optimal baudrate settings. I will return to the easyIPC protocol in use. A trick is that the sub-modules are booted and powered from the main board and can be switched on/off separately.

Configuration is mainly done with a CLI that can access the entire system from a script. Putty can be used, but we will create a specialized tool to support fw download and scripting.

Wifi/Lora/LTE modules will be added for wireless solutions, but these needs to be handed specially due to the antenna. I am in general not found of radio involved in control systems so the core design is wired and closed. IoT Cloud and Web technology can easely be supported, but outside the core control system. Web based systems are so slow and unreliable that they don’t notice a few ms extra through a GW dedicated for that purpose.

Support for screens are coming. I started with 7″ or 10″ screens and go up to 24″. I will get back to the details here, but in gereral we connect either CAN or Ethernet to a HMI controller so we can add as many screens or HMI nodes as we need.

At precent things are a bit in “SW mode” – meaning SW is beeing created and as this takes time it is not that often I have news to update here. It is easier to share pictures of HW than of SW 🙂

 

Leave a Reply