You are on page 1of 4

QUESTION ONE

a) Draw the block diagram of a microprocessor based system showing and describing all the
building blocks and the three buses. Justify the need for each component in the block diagram.
Explain how memory address decoding logic is used to prevent bus conflict on the bidirectional
data bus. [10]
b) Draw the functional block diagram of the 74LS373 octal latch chip and describe its operation
with the use of a compressed function table. With the use of clear block diagram, explain how it
can be used for increasing the number of input pins to a microcontroller input 8 bit port or PIA 8
bit port. [10]
c) Explain how the chip can be used to provide 32 output control points from an 8 bit
microcontroller or PIA port. [5]

QUESTION TWO
a) Figure Q.2 is that of the internal configuration of an FPGA which is being used for memory
address on an MC6809 microprocessor based system. Reconstruct the memory address decoding
table and draw to scale the corresponding memory map and on the diagram indicate the start and
end addresses for each of the memory and I/O ranges. State the size of each range in kilobytes.

[15]
b) Synthesise the memory address decoding logic using discrete gates: AND, OR, NAND, NOR and
NOT. [10]

QUESTION THREE
a) Draw a diagram showing the internal structure and workings of a current loop interface. Analyse
the DC state of the circuit when a logic ‘1’ and when a logic ‘0’ is being transmitted. Highlight
the advantages and disadvantages of using a current loop when compared with the use of the
MAX232 chip’s line drivers and line receivers/. [8]
b) Figure Q.3 is that of a MAX232 configured ready to transmit and received RS232 data signals.
Explain how a basic static test can confirm the correct operation of the MAX232. Assuming the
MAX232 is powered by a 5 volt supply, write down the voltages expected on pins 2 and 6 and
also the voltages across the two capacitors C1 and C2. [10]
c) What is a loop back test in RS232 communications? With the use of appropriate diagrams explain
the difference between a local loopback and a remote loopback test. [7]

QUESTION FOUR
a) With the aid of a memory fragment diagram, describe the operation of the stack on the MC6809
microprocessor and explain why the initialization of the stack pointer register must be the first in
the configuration of the system. Explain how post-increment and pre-decrement fits into the
stack operation and hence describe how four different stacks can be supported on the
microprocessor . [10]

1
b) With the use of the PUSH/PULL postbyte shown below, explain the usage of the stack in
handling interrupts clearly explaining in detail the use of the entire flag E in the condition code
register (CCR). [5]

c) Hence describe in detail, step by step, what happens when an NMI interrupt occurs on the same
microprocessor. [10]
QUESTION FIVE
a) Output comparison on the MC68HC11 microcontroller is to be used to produce pure sine wave
pulse width modulation (PWM) signals for use in a power inverter. The output comparison
channel is configured to toggle on each compare match. Explain how a table derived from the
desired pulse widths can be used by the interrupt service routine to autonomously create the
desired PWM signal. [10]

b) Explain how the same one table can be used by three independent output comparison channel to
create the desired three phase supply to drive electric motors. [10]

c) The MC68HC11 microcontroller in a) above, driven by a 3.6864 Mz crystal, has the value $17
written into its configuration register BAUD during initialization. Calculate the baud rate used by
its SCI (Serial Communications Interface). See figure Q.6 for the control bits in the configuration
table and the scale factor tables. BAUD $102B [5]

TCLR SCP2 SCP1 SCP0 RCKB SCR2 SCR1 SCR0

PRESCALE FACTOR (P) SCI RATE SELECT FACTOR (R)


E/16 Divided by Prescale Factor P Prescaler Divided by factor
SCP2 SCP1 SCP0 FACTOR SCR2 SCR1 SCR0 Factor
X 0 0 1 0 0 0 1
0 0 1 3 0 0 1 2
X 1 0 4 0 1 0 4
X 1 1 13 0 1 1 8
1 0 1 9 1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128

QUESTION SIX
Listing Q.6 is an MC68HC11 microcontroller based system assembly language subroutine for comparing
two NULL terminated ASCII strings which is used in a binary tree search subroutine. Assemble the
program by hand into machine code using the listing format used by most assemblers. Generate the
corresponding Intel hex format and Motorola S format records. [25]
ORG $5000

2
3
4

You might also like