Resetting the I2C Controller
There are two ways to reset the I2C controller.
Using the RSTIN# pin
Writing to the Software Reset register
Using the RSTIN# pin reset method:
Clears the Address, Extended Slave Address, Data, and Control registers to 00h. Sets the Status register to F8h.
Sets the Clock Control register to 00h.
Writing any value to the Software Reset register:
Sets the I2C controller back to idle.
Sets the STP, STA, and IFLG bits of the Control register to 0.
Programmer’s Reference
The DSTni I2C controller base address is D000h. The controller shares interrupt 2 with the SPI
controller. The I2C bus interface requires two bidirectional buffers, with open collector (or open drain) outputs and Schmitt inputs.
I2C Controller Register Summary
The A[2:0] address lines of the microprocessor interface provide access to the
On a hardware reset:
Address, Extended Slave Address, Data, and Control register clear to 00h. The Status register is set to F8h.
The Clock Control register is set to 00h.
On a software reset, the STP, STA and IFLG bits of the Control register are set to zero.
|
|
|
| Table |
| ||||||
| A[2:0] Bits |
| Hex |
| Mnemonic |
| Register Description |
| Page | ||
A2 |
| A1 | A0 |
| Offset |
|
|
|
|
|
|
0 |
| 0 | 0 |
| D000 |
| ADDR |
| Slave Address register |
| 23 |
0 |
| 0 | 1 |
| D002 |
| DATA |
| Data register |
| 24 |
0 |
| 1 | 0 |
| D004 |
| CNTR |
| Control register |
| 25 |
0 |
| 1 | 1 |
| D006 |
| STAT |
| Status register |
| 26 |
0 |
| 1 | 1 |
| D007 |
| CCR |
| Clock Control register |
| 28 |
1 |
| 0 | 0 |
| D008 |
| XADDR |
| Extended Slave Address register |
| 29 |
1 |
| 1 | 1 |
| D00E |
| SRST |
| Software Reset register |
| 29 |
22