EEPROM simulation LINK state machine

The low level protocol is described by the LINK state machine. It is responsible for driving the physical hardware (bit banging) and knows about the I2C two wire hardware protocol.

The following states are used by the LINK state machine

0      invalid
---
1 read_idle
2 read_start
3 read
4 read_ack_start
5 read_ack_end
6 read_ack_complete
---
7 write_idle
8 write_start
9 write
10 write_end
11 write_ack_start
12 write_ack_end
13 write_ack_complete
---
14 ignore
15 abort
16 complete

The PCOL state machine drives the high level protocol that sits on top of this low level protocol.