Datasheet

4D SYSTEMS uLCD-220RD Display Module
© 2014 4D SYSTEMS Page 10 of 22 www.4dsystems.com.au
uLCD-220RD Display Module
The following table illustrates which of the GPIO
can be used for the three different I
2
C channels
available.
DIABLO16 Alternate Pin Configurations
I
2
C Communications
I
2
C1 SDA
I
2
C1 SCL
I
2
C2 SDA
I
2
C2 SCL
I
2
C3 SDA
I
2
C3 SCL
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
SPECIAL
SPECIAL
SPECIAL
PA15
SPECIAL
SPECIAL
SPECIAL
SPECIAL please see Section 4.6
SPI 4.5.
There are 3 user configurable SPI channels
available for mapping to GPIO, for use by the user
for the target application. All 3 SPI channels are
Master only, and cannot be configured to be
slaves at this time.
The SPI Bus speed is configurable using the
SPIx_Init() Function in 4DGL, and allows various
speeds from 78.125Khz to 17.5Mhz.
Please refer to the table on the previous page for
details on which GPIO can be configured for SPI.
Note: The additional SPI channel (SPI0) is
dedicated to memory cards and cannot be
reconfigured for alternate uses.
To map an SPI channel to a set of GPIO pins, the
following 4DGL functions are used:
SPIx_SCK_pin(pin); // Map the SCK pin
SPIx_SDI_pin(pin); // Map the SDI pin
SPIx_SDO_pin(pin); // Map the SDO pin
Where SPIx’ is substituted with SPI1, SPI2 or SPI3
accordingly, and ‘pin’ is the target GPIO pin
compatible with that particular pin function.
Chip Select for use with SPI can be any other
unused GPIO pin, configured as a Digital Output.
The lowering and raising of the selected CS (GPIO)
pin is done manually by the user is the 4DGL
application.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the SPI functions, along
with the separate document titled DIABLO16-
Processor-Datasheet-REVx.x.pdf’.
I
2
C 4.6.
There are 3 user configurable I
2
C channels
available for mapping to GPIO, for use by the user
for the target application. All 3 I
2
C channels are
Master only, and cannot be configured to be
slaves at this time.
Please refer to the previous table for details on
which GPIO can be configured for I
2
C.
To map an I
2
C Channel to a set of GPIO pins, the
following 4DGL function is used:
I2Cx_Open(Speed, SCLpin, SDApin);
Where ‘I2Cx’ is substituted with I2C1, I2C2 or I2C3
accordingly, ‘Speed’ is the desired I2C Bus speed,
and ‘SCLpin’ and ‘SDApin’ are the target GPIO pins
compatible with that particular pin function.
Note: The normal I2C pins are PA0 to PA13,
however use of these pins has a few limitations.
a) There is no slew rate control at I2C_MED
b) I2C_FAST is not truly 1MHz.
If either of these restrictions need to be
addressed, a special case of SCLpin = PA14 and
SDApin = PA15 exists ONLY for speeds I2C_MED
(which uses slew rate control) and I2C_FAST
(which is truly 1MHz)
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the I
2
C functions, along
with the separate document titled DIABLO16-
Processor-Datasheet-REVx.x.pdf’.