Buy an Axon, Axon II, or Axon Mote and build a great robot, while helping to support SoR.
0 Members and 1 Guest are viewing this topic.
Am I confusing something or data collision is a hole in water for every device???
ok the data lines are pulled up. So to clock data out, the devices either let the line go and it will be pulled up to +ve (for a 1 bit), or they pull the line down to negative (for a 0 bit).Say master 1 wants to transmit byte 00101001 and master 2 wants to say 00100101First both say 0 - they have no way of telling that there is another master on the line so they both carry on.Again both transmit a 0 - again no way of detecting another masterBoth transmit 1 - still no wayBoth transmit 0 - "Master 1 transmits 1 letting the line go free, master 2 wants to transmit a 0, so it pulls the line to ground. The line actually is in '0' state. Now master 1 can detect another master on the line. So it quits and waits its turn. Master 2 is oblivious to this and carries on happy.The byte which is transmitted is 00100101.The nice thing is, if both transmit the same bytes, they never realise and they don't need to realise. So its doubly quick compared to a time sharing system But thats a very extreme case...
EDIT2: Oh.. here is some more info - http://www.esacademy.com/faq/i2c/general/i2carbit.htm - it's called arbitration - I'm quite sure now that i was correct...
Either one master starts transmitting and the others be quiet, or multiple transmitters start transmitting at the same time and they have a 'race'.
Started by SmAsH
« 1 2 3 4 5 »
Started by hazzer123
« 1 2 »
Mechanics and Construction
Started by HyperNerd
Started by SmAsH