Here is the electronics for The University of Akron 2014 FSAE ev car. To get a better understanding of the project I am attaching a system diagram here.
We decided to do what we like to call "distributive computing." This allows us to break up the tasks to different processors to allow the system to be more flexible and run faster. I costs more of course but if there was an error with one system, only that board needed to be replaced and not the whole thing. It also allows for smaller boards instead of one larger board. This makes it easier for our ME friends to hide the boards close to where the tasks inputs / outputs are for better integration and good noise immunity.
This year we designed our own BMS with a very high bypass capabilities for faster charging. (1A)
They talked to the master threw an RS485 bus in a 8 pin IDC cable. This is more than adequate for charging and discharging. We control the bypass in software or hardware. We finally chose software so we could turn them on when ever we wanted. This allowed for a more controlled charge of the pack. We had the ability to set hardware addressing on each PCB. They have also the ability to do a "pack" interrupt in case there was an emergency on the cell it was monitoring...
ECU, Safety, BMS master -
This box contains the main brain of the car, the ECU. That is the board on the top left. This gathers data about the car and decides what movements will go down to the two independent rear wheel drive motors.
This box also hold the BMS master and safety systems. The safety system does what the name states, it makes the car safe to drive by wire. And we want to be safe driving the car. This monitors all the safety switches and safety systems on the car. It has the ability to tell the ECU what faulted the car (shut it off) to our wireless serial terminal. The safety board also controls pre charge, main, and discharge relays.
The BMS master talks to all the slaves and monitors different statics and conditions. We can talk to the entire pack in less than two seconds. It also acts as a charge controler.
Motor Controller ^2
This is two kelly motor controllers that control the two independent motors driving the left and right side of the car. You can also see the gray box that holds another custom board that converts the RS485 serial stream coming from the ECU to an isolated analog output. The board also monitors motor temp and motor controller LED status codes.
The SAS -
This board takes all the analog inputs (two for break, two for gas, and steering wheel position) and 4 speed sensors to make a clean software filtered digital serial signal to the ECU. It also controls the brake light.