|
|
Links from this page:
|
The CPU always has its outputs, but its inputs can come from IO, IBus, or a combination. But never both on the same signal. If IBus is used, the tacho and direction inputs are generated by the CPU and does not require those specific wires. The PC can communicate with car thru IBus, but since the CPU is also listening to the same IBus, messages can be sent from PC to CPU to configure it and test it. If IBus is not used in car, the com lines are connected (dashed line) so that the PC can still talk to the CPU, and get input events for instance. There is only one USB connector, but it has got two com ports. One for the GPS data, and one for the IBus/CPU communication. I've started to work on the configuration and test application. 480x800 :-)
At installation it is a good strategy to just connect outputs first, check the "keep LCD on", and see that it works as expected simulating the input events. Then connect IBus and inputs that you will use and see if they are detected. In this mode it is easy to measure proper timing too.
Functional RequirementsThe PC will boot when... This circuit detects those events and depending on the system was on or off last time car was driven, the screen and sound system is turned on when boot is completed. If the system is "turned off" during driving it will only make screen and amp go inactive. It will never turn the PC off as long as the ignition is on. When ignition is turned off the screen and amp goes inactive but the PC remains on for another 30s (default. All timings are configurable from version 2.0). If the left knob is pressed or rearview camera is turned on within this time the screen and amp becomes active again and the pc does not go into hibernation. In this position the steering wheel buttons have no effect (design by BMW). The PC remains on for 30 minutes, until voltage is too low or the knob is pressed again. To be able to turn on VGA mode it can never exit from rearview camera. It has to enter and exit camera mode via VGA mode. This very much complicates the sw design. All in all the 8051 pcb will handle this:
PC Boot timingAll timing is configurable apart from the delay after "ignition". 3s after the pc starts to boot. This idle time is there to let the power supply stabilize. Timing for boot and shutdown is deadlines. When PC is up, it is supposed to send an ibus message to say so, and then lcd goes on, or at shutdown when the voltage on the cpu fan is monitored so that power is cut to the PC when fan stops. StandbyeStandbye mode can be enabled. When enabled the power is only cut to the PC after 0x7000 [s] in standbye. That is about 8 hours. Power on and offSince it takes close to a minute to start the system, the PC is always on during driving. If the system is turned off (as the driver might think) it is really just the LCD and the power amp that is turned off. The PC is turned on by any IBus activity, i.e. opening the car with the remote key, or pushing the power on button. If the ignition isn't turned on, the PC will go off after 30[min] (configurable). When ignition is off the PC will go off in 30[s] (configurable) if not power-on button is pressed. The monitor is turned on 5s after power-on and there is also a 5s delay when turned off. This is a delay internal to the monitor and not under my control.
System StatusOn the top right corner of the Bordmonitor is three LED's that indicates system status.
(Green LED will indicate phone connected)
The State machineThe complexity of this unit and the logic so vast that I've decided to split it into 3 state machines. Most complicated single task is that to be able to turn on VGA mode it can never exit from rearview camera. It has to enter and exit camera mode via VGA mode. I also wanted the rearview camera to be operational withor without running PC. System State Machine - System state is if PC is booting, shutting down, on or off and if it is on with timeout because ignition is off. LCD State Machine - This state machine controls the LCD enable of the monitor. It is a service to System State and RearView State. RearView Camera State Machine - Independent on System State Machine (pc on or off) the rearview camera can be on or off. This state machine will manage this.
|