beautypg.com

C communications – Matrix Orbital LCD0821 Legacy User Manual

Page 11

background image

LCD0821 rev 2

11

19200

5CH out

in

in

out

19200

5EH out

in

in

in

60H in

out

out

out

1200

62H in

out

out

in

64H

in out in out

2400

66H

in out in in

68H in

in

out

out

9600

6AH in

in

out

in

6CH

in in in out

6EH

in in in in

2.1.5 I

2

C Communications

I²C communications runs at 100 kBps and supports up to 16 units on a single communications line. The
I2C data line operates on 5 volt CMOS levels.

The idea of ACK is to indicate when the data has been received correctly. ACK does not indicate data
incorrectly received. ACK simply fails to indicate when data is correctly received. Clearly, this is of limited
usefulness and even less so with Matrix Orbital modules. Matrix orbital modules are not capable of failing
to acknowledge an incorrectly received byte in response to that bytes transition. They are only capable of
failing to acknowledge the bytes following the byte, which was not received. To fully understand the
reasons for this one needs to understand something about how a Matrix Orbital module processes data.
Basically the reason why a Matrix Orbital module might fail to receive a byte correctly is that it was unable
to process the byte previous before the failed byte was transmitted. Because the module cannot possibly
know that it would be unable to store the byte before the next byte was received it cannot know to not ACK.
The reason for this situation in deference to situations you might be familiar with (i.e. memory chips, etc…)
is that the Matrix Orbital module employs a microprocessor to perform these data storage functions. A
memory chip takes care of these things entirely with in hardware subsystems that operate at the same speed
as the transmission themselves.

The LCD0821 uses a standard Phillips 7bit address as defined by Phillips. How ever, we at Matrix Orbital
specify I

2

C address in 8bits. The 8

th

bit, least significant bit (LSB or Low Order Bit) of the 8bit address is

read/write bit. If we take a standard Phillips 7bit address of 45hex this would be in binary 1000101. This is
7bits. If one adds the read write bit to this 7bit address and you assume that you are writing one gets
10001010. Matrix Orbital would describe the Philips I

2

C address of 45hex as 8Ahex. The read address

would be 8Bhex.

For more information on Phillips I

2

C please visit…

http://www.ping.be/~ping0751/i2cfaq/i2cindex.htm