
XS40 BOARD V1.4 USER MANUAL
17
The programmable oscillator output goes directly to a synchronous clock input of the
FPGA. The FPGA uses this clock to generate a clock that it sends to the XTAL1 clock
input of the microcontroller.
The microcontroller multiplexes the lower eight bits of a memory address with eight bits of
data and outputs this on its P0 port. Both the SRAM data lines and the FPGA are
connected to P0. The SRAM uses this connection to send and receive data to and from
the microcontroller. The FPGA is programmed to latch the address output on P0 under
control of the ALE signal and send the latched address bits to the lower eight address
lines of the SRAM.
Meanwhile, the upper eight bits of the address are output on the P2 port of the
microcontroller. The 32 Kbyte SRAM on the XS40 Board uses the lower seven of these
address bits while the 128 KByte SRAM on the XS40+ Board gets all eight address bits.
The FPGA also receives the upper eight address bits and decodes these along with the
PSENB and read/write control line (from pin P3.6 of port P3 ) from the microcontroller to
generate the CEB and OEB signals that enable the SRAM and its output drivers,
respectively. Either of the CEB or OEB signals can be pulled high to disable the SRAM
and prevent it from having any effect on the rest of the XS40 Board circuitry.
One of the outputs of the FPGA controls the reset line of the microcontroller. The
microcontroller can be prevented from having any effect on the rest of the circuitry by
forcing the RST pin high through the FPGA. (When RST is active, the microcontroller pins
are weakly pulled high.)
Many of the I/O pins of ports P1 and P3 of the microcontroller connect to the FPGA and
can be used for general-purpose I/O between the microcontroller and the FPGA. In
addition to being general-purpose I/O, the P3 pins also have special functions such as
serial transmitters, receivers, interrupt inputs, timer inputs, and external SRAM read/write
control signals. If you aren't using a particular special function, then you can use the
associated pin for general-purpose I/O between the microcontroller and the FPGA. In
many cases, however, you will program the FPGA to make use of the special-purpose
microcontroller pins. (For example, the FPGA could generate microcontroller interrupts.)
If you want to drive the special-purpose pin from an external circuit, then the FPGA I/O pin
connected to it must be tristated.
A seven-segment LED digit connects directly to the FPGA. (These same FPGA pins can
also drive a VGA monitor.) The FPGA can be programmed so the microcontroller can
control the LEDs either through P1 or P3 or by memory-mapping a latch for the LED into
the memory space of the microcontroller.
The PC can transmit signals to the XS40 Board through the eight data output bits of the
parallel port. The FPGA has direct access to these signals. The microcontroller can also
access these signals if you program the FPGA to pass them onto the FPGA I/O pins
connected to the microcontroller.
Communication from the XS40 Board back to the PC also occurs through the parallel port.
The parallel port status pins are connected to pins of microcontroller ports P1 and P3 .
Either the microcontroller or the FPGA can drive the status pins. The PC can read the
status pins to fetch data from the XS40 Board.
The FPGA also has access to the clock and data lines of a keyboard or mouse attached to
the PS/2 port of the board.
Summary of Contents for XStend XS40
Page 21: ...XS40 BOARD V1 4 USER MANUAL 20...
Page 22: ...XS40 BOARD V1 4 USER MANUAL 21...