Posts Tagged ‘udp’

ECU Schematic

Wednesday, March 5th, 2008

TCM = Timing Control Module
IOM = Input / Output Module
CPM = Central Processing Module

Objective

Create a standalone Engine Control Unit (ECU) that (at the very least) performs sequential fuel injection and timing for automotive internal combustion engines with options to control auxiliary systems such as intake air control valve (IACV), air conditioning compressor clutch, vacuum solenoids, etc. The three modules communicate with each other over Ethernet.

Timing Control Module

The TCM will receive a stream of UDP packets from the CPM that contain values each individual cylinder’s fuel injector pulse width and timing value. The stream is constant and automatic. The TCM never transmits data back to the CPM. The TCM will run a field programmable gate array (FPGA) to handle the rapid timing signals generated by the crank (or cam) angle sensors. From this data, the module will know when to trigger timing and fuel events for each cylinder. The TCM is located in the engine bay, as close to the distributer as possible.

Input / Output Module

The IOM performs analog-to-digital conversions of various engine sensors, and then streams the values continuously (in round-robin fashion) to the CPM. The IOM also receives a UDP stream from the CPM with information about various digital pin states to set, DAC outputs, and PWM outputs. Its important to note that the inbound and outbound Ethernet have no relation to each other. The entire system is based purely on streaming and no requests are made. This module is based on a MCU. The IOM is located in the engine bay, as close to the central location of the engine sensors as possible.

Central Processing Module

This module receives sensor data from the IOM, crunches the numbers to determine fuel and ignition values to send to the TCM, as well as outputs to send to the IOM. It may also perform other duties such as logging data, communicating with a personal computer for configuration changes, or handling human interface devices (HID). HID’s can be anything from keyboards to graphical displays. The CPM should run some sort of ARM cpu and run linux. The CPM should be located in the cabin, but can theoretically be located anywhere.

Advantages

  1. Wiring is dramatically reduced, as such more accurate analog signal values may be delivered to the ECU for processing. Running the cables is also easier since the girth of RJ45 cables is negligible compared to the factory harness.
  2. Extremely inexpensive wiring and replacement.
  3. No cross interference between analog circuitry and digital as they are located in separate modules.
  4. Extremely easy to troubleshoot but sniffing network traffic over Ethernet with any common PC.
  5. Easier to develop and build.
  6. Powerful arm CPU can perform very complex calculations that conventional ECU’s cannot.
  7. Open source.

Disadvantages

  1. May require special ethernet cables and connectors for the harsh engine environment.
  2. Due to the divided nature, 3 Ethernet controllers are needed for communication purposes.
  3. Packet loss may be hard to identify and isolate, while causing poor engine performance.