can any one say how speed of 1MB/sec is achieved in CAN whee as it is 400Kb/sec in I2c

I was asked a question like this how the speed of 1 MB/sec is achieved in CAN protocol where as it is only 400 kb/sec in CAN protocol i could not answer this even i m working on it from 6 months please expalian the same.please tell me the answer.can any one tell difference between event triggered and time triggered in detail please elaborate on it. with an example.

Hi Sunil,I can tell you this - the maximum speed of the i2c is determined by the chip are are interfacing with.

The i2c protocol requires "processing" on the slave chip, and these chip don't have much processing power.Note that "hispeed mode" is up to 3.4Mb, however most low cost i2c chip run at 400khz.Here is the i2c specification:

http://www.nxp.com/acrobat_download/literature/9398/39340011.pdf

The advantage of i2c is the minimum I/O pin count as unlike SPI, the chip decodes it's own address and does not require a chip select for each one as does SPI.

Your actually comparing a network protocol (CAN) to a hardware interface specification. CAN is typically implemented on an MCU using special hardware.

As this is a protocol specification, I don't think it addresses transfer rates.The can 2.0 spec:http://www.semiconductors.bosch.de/pdf/can2spec.pdf

Thank you for your reply.but u didnt answer my question,please tell difference between event triggered protcol and time triggered protocol in detail please elaborate on it. with an example and tell me the major difference with an example and how it works .

Thank you for yuor message.My exact doubt is what is time triggered protocol and what is event triggered protocol can u explain by keeping in mind CAN & Flexray because both are example of each so in that contest explain me how they idffer and function ie event triggered & time triggered

In flexray , communication cycle is divided in mainly in to two parts static segment ( time triggered ) and dynamic segment( event triggered but can have time triggered portions).

By time triggered means , messages are always sent at a particular time every cycle. In flexray static segment

there can be some N no. of static slots every communication cycle( a static slot is the a subpart of static segment and each

slot is of same length in time). If a node "A" is sending some message "A" at a slot no. say 10 every communication cycle , then this message will be on bus a this time i.e slot no.10 only and no other node and send any message at this slot. In other words this slot no. 10 is assigned to message "A" transmitted my node "A".

Even triggered: This kind of messages are sent in Dynamic segment. This messages are not cyclic and are transmitted

only when some event occurs. For eg. node A requests for a diagnostic request to node B ( ECU ID) in a dynamic segment in a com cycle.node B will respond to this request in next com cycle in dynamic segment. So these kind of communication is not cyclic and are some event based.

if you have more questions please feel free to ask.... the details are vast in flexray technology.