Digi NS9215 manual F t w a r e d r i v e r, I2C master software driver I2C slave high level driver

Models: NS9215

1 517
Download 517 pages 25.29 Kb
Page 456
Image 456

I 2 C M A S T E R / S L A V E I N T E R F A C E

Software driver

Code

Name

Master/slave

Description

 

 

 

 

0xB

S_TX_DATA_1ST

Slave

TX data required in register TX_DATA, first byte

 

 

 

of transaction

 

 

 

 

0xC

S_RX_DATA_1ST

Slave

RX data available in register RX_DATA, first

 

 

 

byte of transaction

 

 

 

 

0XD

S_TX_DATA

Slave

TX data required in register TX_DATA

 

 

 

 

0xE

S_RX_DATA

Slave

RX data available in register RX_DATA

 

 

 

 

0XF

S_GCA

Slave

General call address

 

 

 

 

S o f t w a r e d r i v e r

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I2C master software driver

I2C slave high level driver

The I2C master software driver uses three commands only:

M_READ to start a read sequence

M_WRITE to start a write sequence

M_STOP to give up the I2C bus

If, during a read or write sequence, another M_READ or M_WRITE is requested by the ARM CPU, a restart is performed on the I2C bus. This opens the opportunity to provide a new slave device address in the MAster Address register before the command request.

The I2C slave high level driver identifies one command: S_STOP, to discontinue a transaction. After this command, the slave remains inactive until the next start condition on the I2C bus. If a slave is accessed by a master, it generates S_RX_DATA and S_TX_DATA interrupts (see “Master/slave interrupt codes” on page 455). To distinguish the transactions from each other, special S_RX_DATA_1ST and S_TX_DATA_1ST interrupts are generated for the transmitted byte.

456Hardware Reference NS9215

Page 456
Image 456
Digi NS9215 manual F t w a r e d r i v e r, I2C master software driver I2C slave high level driver