beautypg.com

3 error handling on the i·c bus, 3 error handling on the i²c bus – Siemens TC63 User Manual

Page 455

background image

TC63 AT Command Set

19.7 AT^SSPI

s

TC63_ATC_V00.490

Page 455 of 501

5/24/05

Confidential / Draft - Do not copy

In a Transfer Message (Read or Write), the third element is the 7-bit I²C Slave Address (2 characters) that iden-

tifies each single device connected to the bus. The 8

th

bit of this byte is the LSB that determines the direction of

the message. If the LSB is "0" the master will write information to the selected slave. If the LSB is "1" the master

will read information sent from the slave.

In a Read Transfer Message on the I²C bus, the size of the expected data must be specified explicitly. This is an

element of 4 characters stating the number of bytes to be read. It must be placed after the I²C Slave Address.

19.7.3 Error Handling on the I²C Bus

Protocol error:

If a protocol error is detected the ASCII value "!" is sent to the AT interface. Also, a Stop Condition is sent to the

I²C device.

A protocol error occurs if
• any data / address characters do not equal 0...9, a...f and A...F
• the length of a read word is smaller or greater than 16 bits
• the number of ASCII data is odd (e.g. "af1" instead of "af01")
• the Read or Write request is greater than 2 KB (0x0800).
Acknowledge:

Once a transmission has completed successfully (Write or Read), the special character "+" (ACK) is included in

the Response sent to the AT interface.

During a Write Transfer, the I²C driver acknowledges each transferred byte, but the Response contains only one

ACK which is transmitted only if all bytes are successfully transferred. During a Read Transfer, an ACK is sent

when the I²C slave device notifies that it has recognized the I²C Slave Address.

Not Acknowledge:

During a Transmit Transfer, a NAK is given when the I²C Slave Device notifies a failure to receive either the I²C

Slave Address or a data byte. In this case, a Stop Condition is sent to the I²C device.

During a Receive Transfer, a NAK is transmitted only when the I²C does not receive any reponse for the I²C Slave

Address. The I²C device never acknowledges the validity of the received data (by sending an ACK the master

acknowledges each received byte to the slave).