Email or username:

Password:

Forgot your password?
Top-level
Lucy 🧙🏼‍♀️🦇

@karotte I don't understand how USB 3.0 and PCIe are less cursed than CAN.

And how I2C is more cursed than CAN.

5 comments
Leon

@rappet @karotte Oh, I2C, the horrors. I once spent two weeks full time debugging an issue where we'd misconfigure PLLs from a reputable manufacturer via I2C that was bridged over a debug interface.

We ended up debugging this with an oscilloscope to see a tiny change in the pull down strength of the PLL which eventually led us to figure out that the manufacturer actually implemented an SMBus without telling anyone, along with a non-configurable and undocumented SMBus timeout.

Leon

@rappet @karotte I2C is all simple and great when things work, but when they don't, most of the time I just want to throw the whole design away.

This was not even multi-primary, or devices with fixed addresses that collide or any of the other fun stuff.

Peter Bindels

@lschuermann @rappet @karotte Yeah, I'm pretty much on the I2C is more cursed than CAN side there.

Lukas

@rappet Things that make CAN somewhat cursed:

- Other than every (?) other differential signalling standard, it uses 0V and a positive voltage rather than a negative/positive voltage
- Bit-level arbitration

USB 3.0 and PCIe on the other hand are straightforward 8B/10B (or other) coded data down unidirectional lanes.

Lucy 🧙🏼‍♀️🦇

@karotte aah cursed on the electrical level xD

Yes I can agree!

Go Up