USB LCD Display vs SPI and I2C Serial Interfaces

The USB LCD Display

The scope of this article on USB LCD displays is limited to monochrome character (alpha numeric) and graphic (dot matrix) LCD displays modules

History of the USB interface:

USB (Universal Serial Bus) technology was originally introduced in 1996 and is currently the most common standard for interacting external peripherals to a master microprocessor.

The next generation USB, 2.0 was releases in 2001. Third generation USB 3.0 came on the scene in 2009 with a transfer rate of 4.8Gbps.

Advantages of the USB standard include:

  1. Availability across many platforms.
  2. Power necessary for the external device is supplied through the USB connector
  3. High speed performance compared to older serial buses such as RS232
  4. Plug and Play capability

Advantages of the USB LCD display module

USB LCD display modules provide the following advantages.

  • Plug and play
  • Plug and Play allows you to connect the display without the need for a reboot. This is a distinct improvement from the past LCD module s which needed to be attached to the primary controller/processor before power was supplied to the LCD. Otherwise the primary controller would ‘not see’ the display.
  • Power is supplied to the display
  • USB supplies both cable and signal in one interface and eliminates noise. This allows you to eliminate the need for two separate cables and the need for any external shielding.

In addition, the USB does not require a separate ground providing you with assurance of continuous operation.

Cost considerations of the USB LCD display module

LCD modules with USB interfaces cost more than a SPI, I2C or parallel interfaced display. This makes them unattractive for products that are manufactured in large quantities. If the OEM or manufacture is cost driven, they would forgo the USB and make use of either a serial or parallel interface bus. Below is a comparison of USB LCD displays vs. other buss types.

USB LCD display vs SPI serial bus<

SPI (Serial Peripheral Interface Bus) is analogous to “four-wire” serial bus. SPI has become popular as engineers look for ways to reduce the number of connections between their controller and each peripheral device (A peripheral devices is attached to the master controller and is dependent on the controller.) SPI allows the manufacture to add additional devices without adding a large number of new connections for each device.

The diagram below demonstrates that the SPI interface and the power and ground issues are independent of one another.

SCLK: Serial Clock (output from master); MOSI; SIMO: Master Output, Slave Input (output from master); MISO; SOMI: Master Input, Slave Output (output from slave); SS: Slave Select (active low, output from master).

USB LCD display vs I2C serial bus

  • I2C (i-squared cee), analogous to “two-wire interface” makes use of two bidirectional data line called SDA.
  • Data can be sent and received on the same line, but not at the same time) also , the timing of the send and receiving signals are controlled through the Serial Clock (SCL).
  • Typical voltage values for I2C used in LCD display modules are 5V and 3.3V.
  • One major advantage of I2C over parallel is the low number of connections necessary as additional devices do not require an additional data line.
  • I2C and USB 3.0 have different the data transfer speeds : USB 3.0 can operate up to 4.8Gbps. while I2C operates at 400 kbit/s to 3.4Mbps (used on embedded systems).

ADC = analog-to-digital converter DAC = digital-to-analog converter uC = microcontroller (small u is called micro)

Master node — node that issues the clock and addresses slaves Slave node — node that receives the clock line and address.

There are four potential modes of operation for a given bus device, although most devices only use a single role and its two modes:

  • master transmit — master node is sending data to a slave
  • master receive — master node is receiving data from a slave
  • slave transmit — slave node is sending data to the master
  • slave receive — slave node is receiving data from the master