Benutzer:Siro/i2cprotokoll
Aus LaborWiki
I2C Protokoll
DEF:
layer0 Hardwareebene (i2c)
layer1 Packetebene
endpoint externe Hardware (nicht näher definiert)
Vorderungen:
Packet:
Header | Data |
1 Byte | 1-8 Byte |
Header:
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 - 0 |
reserved | reserved | Command/!Data | Parity | Packetsize |
Note: Parity can be EVEN, ODD, XOR, NONE, Parity does include packetsize-Bits and all DATA
Note: Command/!DATA marks this packet as COMMAND packet or as DATA packet
COMMAND PACKET
COMMAND PACKET: size >= 1
1. byte: COMMAND
2. - 8. byte:DATA (optional)
handled by layer1
DATA PACKET
handled by userprogram
COMMANDS
0x00
NOP
0x01
GET DEVICE INFO
0x02
GET ENDPOINT INFO
2.byte: endpoint
0x03
SET ENDPOINT
2.byte: endpoint
0x04
GET CURRENT ENDPOINT
0x05
SEND DATA
0x05
GET DATA