Electrical – The best mode to drive an LCD Display to get noise immunity

displayi2clcdnoiseparallel

Which one of these modes is the best for get noise immunity when driving a LCD Display 16×02? (or 16×04 etc.)

-I2C module using PCF8574 I/O expansion.

-8 bit Parallel

-4 bit Parallel

I had a PCB which drives an LCD Display 16×02 and drives 4 dc motors (80mA each – no load).
When a used to use this pcb I got some problems with noise from the motors and sometimes I got strange characters printed by LCD. I used to use Parallel 4 bit mode.
But now I'm designing a new PCB which will drive 4 motors with H-Bridge and 1 LCD Display 16×02 and will have 2 UART and 1 I2C communications using a PIC16F1947 MCU.

I'm going to be sure for have a great ground plane on my PCB (4 layers) and I'm going to increase noise protection too.

Should I still using 4 bit Parallel mode and do something to decrease the noise?
Should I change for 8 bit Parallel mode? or Doesn't it make sense?
Should I change to use I2C module?
I know I2C is for communications between ICs in the same PCB but I think Could be better because 2 wires is less than 8 wires so Could be more difficult to get noise using i2c mode.

The distance between the pcb and the LCD Display is like 20 cm.
Should I do somethings on the cables? Like Twist the cables?

I think could be good for all of us know the safest way to drive an LCD Display.

Sorry for my bad English.

Best Answer

Personally I would avoid I2C, it idles in a fairly high impedance state with passive pull up which is never good for immunity.

I would probably go parallel (either 4 or 8 bit it matters not) with interleaved grounds on the ribbon cable, but fact is if you get you grounding right anything should work, this is a slow interface, it is not anything high performance, some simple RC filtering might not hurt at the LCD end just to help the RF immunity, but I would expect to get away without it.

Your real issue is probably the grounding and wiring around the motor and motor driver, fix that and the problem with the LCD will probably go away, don't fix it and you will be fighting weird glitches for ever.