Hi, How should be I2C and SPI routed ideally ?
Announcement
Collapse
No announcement yet.
I2C and SPI routing
Collapse
X
-
-
For I2C, I've always steered towards using flyby topology with a single set of pullups furthest from the master.
I feel like this might be wrong, or too cautious though.
What are you supposed to do?
Honestly, I've just never bothered to check myself on this because there's never any time and there's always a more complicated thing to learn.
Comment
-
Sorry, other forums have mentioned placing the resistors at the master. But the placement value is low at I2C rise/fall speeds.
It's so confusing with so many signal types requiring terminations at the end of the bus and so many others at the start of the bus.
I guess it depends on your application. Is there a chance that the end of the bus will be disconnected and leave the rest without pullups? Is the bus so long that the placement of the pullups actually matters?
Also, see if this helps.
Comment
-
Originally posted by Lakshmi View Post
Comment
-
Typically with I2C h/w problems the only ones you will have are -
- different voltage level drives on your devices
- "h/w" hanging due to the driver not being written correctly to the spec of the components, typically this is forgetting to clock out the last byte, not waiting for clock hold to complete before sending, or using the wrong clock rate for a device
- address overlaps
- forgetting pullups on bus, or some segment of the bus if you are multiplexing multiple, or hot plugging an I2C component (say on another card - it has to be in pull up state _when_ it's powered up, not slightly after) - or it may be forever stuck in the middle of a perceived "transaction"
With SPI though,
1-1 connections are easy, but if you have multiple chip selects and thus multiple devices
clock signal integrity needs to be studied if you are going for, maybe over 10" traces on that line in total
In general you should not "Y split/T split " your clock line, but rather daisy chain - unless you also place a 1:n clock buffer there as you will have reflections to deal with which need simulation confirmation
With QSPI (in the "quad spi sense" - not the infineon definition which is "queued-SPI")
- match data lengths
- keep the master/slave not more than few inches apart
- usually this is one master /one slave - so skipping the clock discussion on this type
Keep in mind all spi devices are not the same - as you have speed differences (will have to pick lowest common), and then also two choices of clock polarity and clock phase
if you have more than one species on a particular SPI bus then you will be in for some trouble
- Likes 1
Comment
Comment