beautypg.com

C communications, 4 general purpose output – Matrix Orbital VFD2041 Legacy User Manual

Page 12

background image

VFD2041 rev 2

12

2.3 I

2

C Communications

I²C communications runs at 100 kBps and supports up to 127 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 LCD2041 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


2.4 General Purpose Output

The VFD2041 has a general purpose output which can be used to control relays or other electronic devices.
This allows external devices to be turned on or off using your PC or controller and software commands.
(See sections 5.1.5 and 5.1.6 for the command syntax.)

The output is wired as shown in Figure 2-9. The + terminal is connected to the module positive supply, the
– terminal is connected through a 240 ohm current limiting resistor and the electronic switch to ground.

+ 5 VDC

240 ohm current limiting resistor

load

+

-

Figure 2-9 General Purpose Outputs