Complete System Level Block Diagram
Written
by:
Jamie Buckmann and Christopher Stedman
Advised
by:
Mr.
Steven Gutschlag
A system level block diagram for the project entitled “Microcontroller Driven Electroluminescent Display” is shown in Figure 1. The inputs from the formula car and the user are sent to the microcontroller. The microcontroller processes the inputs and makes any updates to the electroluminescent display indirectly through the LCD controller. The following sections identify the subsystems shown in Figure 1 as well as their functions.
AMD’s 80C31 Microcontroller (Block 1)
The 80C31 microcontroller is responsible for deciphering the input signals and updating the LCD Controller accordingly. The microcontroller block includes program memory and data memory. They are interfaced trough the multiplexed data bus with the help of a 74ALS573 latch. The microcontroller can receive and send signals over both digital pins and the address/data bus.
Microcontroller Inputs |
Function |
Ignition Signal |
The frequency of the ignition signal will be used to determine the rotations per minute (RPM) of the engine. |
Front Tire Sensor |
The rotational speed of the front tire will be calculated to find the ground speed of the vehicle. This will also be used in conjunction with the ignition signal to find the current gear. |
Digital Inputs from Engine Control Unit |
Digital input from the engine control unit. It signals low oil pressure. |
Analog Inputs |
The microcontroller receives up to eight analog inputs from the ADC0808. The ADC0808 is interfaced to the address/ data bus. Individual inputs will be explained in ADC0808 block. |
Keypad Press |
The keypad encoder can interpret up to 20 keys. It is interfaced to the address/data bus. When a key is pressed, it places the binary coded key value on the data bus for the microcontroller to read. |
Table 1: Microcontroller Inputs
Microcontroller Output |
Function |
Digital Outputs Port 1&3 |
All digital outputs on port 1 and port 3 will be used for many miscellaneous tasks handled by the microprocessor. |
Output to LCD Controller |
The microcontroller communicates to the LCD controller over the address/data bus. It specifies what pixels need to be on, and the LCD controller takes care of the communication to the display. |
Table 2: Microcontroller Outputs
LCD Controller (Block 3)
The LCD Controller subsystem (Figure 3) interfaces microcontroller to the display. It has the capabilities of displaying layered text and graphics, scrolling the display in any direction, and partitioning the screen into multiple screens. It is responsible for continually updating the electroluminescent display and storing the current display in external memory
Microcontroller Inputs to LCD Controller |
Function |
A0 |
Selects the data type to be displayed. |
CS’ |
Activates the LCD controller when the microcontroller is accessing external memory that is associated with the LCD controller. The logic decoding hardware handles the memory mapping. |
AD[0:7] |
The data bus is used to transfer bi-directional data between the microcontroller and the LCD controller |
RD’ |
Control signal used during read cycles. |
WR’ |
Control signal used during write cycles. |
RES’ |
Reset signal to initialize LCD controller. |
Table 3: Microcontroller Inputs to LCD Controller
External RAM Interface |
Function |
VA0 – VA14 |
Determines which memory address of the external RAM is specified. |
VD0 – VD7 |
Reads or writes to the specified address. |
VR/W’ |
VRAM R/W Signal |
VCE’ |
Memory Control Signal |
Table 4: Controller Outputs to External RAM Interface
Electroluminescent Display Interface |
Function |
XD0 – XD3 |
X-Driver Data: Data signals to the Electroluminescent Display |
XECL |
X-driver enable chain clock |
XSCL |
Data shift clock to update data at determined time intervals. |
LP |
Latch pulse so screen is not read while being written to. |
WF |
Frame signal. |
YDIS |
This signal turns off the display if the screen is blanked. |
YD |
Scan start pulse. |
YSCL |
Y-driver shift clock |
Table 5: Controller Outputs to Electroluminescent Display Interface
Decoding Logic Subsystems (Block 2)
The decoding logic is required to organize all devices using the address/data bus in memory space. The decoding logic subsystem block diagram can be seen in figure 4. Specific memory location are assigned for the LCD controller, A/D write, A/D read, and keypad encoder in the microcontroller’s memory map (figure 5) It is also responsible for creating a 500 kHz square wave for the A/D conversion. All output signals are explained with their respective devices.
Figure 5:Memory map partitions created by decoding logic (Block 2)
This subsystem displays data and graphics based on information received from the LCD Controller. The only output is what is displayed on the screen. The signal labeled YDIS, from Table 5, is used to turn off the electroluminescent display when the screen is blank. The voltage regulator maintains a constant voltage for the display and is easily controlled by the YDIS signal. All other inputs and their functions are listed in Table 5. Figure 6 shows the block diagram for this subsystem.
The external RAM is used to store text, character codes, and bit-mapped graphics data for the LCD Controller. The LCD Controller determines the address of the desired information and then reads the data. All of the inputs and outputs are described in Table 4, as well as a block diagram in Figure 7.
Figure 7: Static RAM Subsystem Block Diagram (32,768-word x 8-bit)
A/D and Signal Conditioning Subsystems (Block 6 & Block 8)
The A/D’s communication with the microcontroller is broken into two processes. To start the conversion data is written to the memory address that correlates to the A/D and correct analog signal. The signal number is chosen by A10 through A8 as seen in Figure 8. Once the conversion is completed the A/D generates an interrupt with the EOC signal. The microprocessor responds by reading from the memory location associated with the A/D. The data received from the A/D ranges from 00h = 0V to FFh = 5V. All signal conditioning will be done off of the board to add flexibility in choosing analog inputs.
Figure 8: Multiplexed Input Analog to Digital Subsystem Block Diagram (Block 6) and
Signal Conditioning Subsystem Diagram (Block 8)
Inputs |
Function |
ALE & START |
Signal initiates A/D conversion. |
OE |
Signal to put converted data on the data bus. |
CLOCK |
500 MHz clock signal. |
A8-A10 |
Analog signal select lines. |
Analog Inputs |
IN0 - O2 sensor signal IN1 – Temperature thermocouple signal |
Table 6: Inputs to A/D converter
Outputs |
Function |
AD[0:7] |
Outputs digital value of analog signal to data bus. |
EOC |
End of calculations signal. Causes interrupt to handle reading the data bus. |
Table 7: Outputs to A/D converter
Keypad
Encoder Subsystems (Block 7)
When a key is pressed the encoder
uses the row and column inputs to decipher what key was pressed. The encoder
then enables the DAV signal, which generates an interrupt signal on the
microcontroller. The microcontroller responds by reading from the memory
location associated with the keypad encoder. The binary key value is placed on
AD[0:4] for the microprocessor to read.
Figure 9: Keypad Encoder Subsystem Block Diagram (Block 7)
Inputs |
Function |
OE’ |
Signal to enable key value on the data bus. |
ROW |
Signal to tell encoder what row was pressed. |
COLUMN |
Signal to tell encoder what column was pressed. |
OSC |
Capacitor value sets polling frequency. |
KBC |
Capacitor value sets key debounce period. |
Table 8: Inputs to keypad encoder
Outputs |
Function |
AD[0:4] |
Outputs digital value of key pressed to data bus. |
DAV |
Data available signal. Causes interrupt to handle reading the data bus |
Table 9:Outputs to keypad encoder