MachXO3-9400 Development Board
Evaluation Board User Guide
© 2017 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at
www.latticesemi.com/legal
. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-EB-02004-1.0
23
I
2
C and SPI Buses
This section describes the MachXO3-9400 Development Board I
2
C and SPI topology.
6.1.
I
2
C Topology
The MachXO3-9400 Development Board has a flexible I
2
C bus to support all optional connectors and devices on the
board. The global I
2
C bus has the signal names SDA0 and SCL0 and they are routed close to the devices and headers as
shown in
Figure 6.1
.
FTDI (UI)
Aardvark Header (JP2)
I
2
C MUX (U10/U11)
Raspberry Pi
Header (JP3)
Versa Header
(X3)
MachXO3
Bank3
MachXO3
Bank0
ASC
(U7)
MachXO3
Bank4
MachXO3
Bank1
MachXO3
Bank2
FX12 Headers
(U4/U5)
Arduino
Header (J2)
R
87
R
84
R
85
R
96
R
37
R
35
R
44
R
45
R
81
R
71
R
70
R
83
R97
R98
Figure 6.1. I
2
C Topology
The board provides two options for accessing the global I
2
C bus from external cables. One is from the mini USB cable
(J11) through FTDI (U1) and the other is from the Aardvark header (JP2) for an Aardvark cable. Two analog MUXes, as
shown in
Figure 6.2
, are used to select between the USB and Aardvark cables, both MUXes are controlled by the signal
USB_I2C_EN.
Table 6.1. I
2
C MUX Function
Global I
2
C
Controller
USB_I2C_EN
Logic Level
FSA4157 MUX
Function
SCL0 Test Point
SDA0 Test Point
Aardvark
Header
(JP2)
0 (JP10 removed)
JP2_SCL <> SCL0
JP2_SDA <> SDA0
Pin1 of JP2
Pin3 of JP2
USB FTDI
(U1)
1 (JP10 installed)
FTDI_SCL <> SCL0
FTDI_SDA <> SDA0
TP1
TP2
When the jumper JP10 is removed, the USB_I2C_EN signal is low and the Aardvark header JP2 is connected to the
global I
2
C bus. When the jumper JP10 is installed, the USB_I2C_EN signal is high and the USB connector J11 is
connected to the global I
2
C bus through the FTDI device.