Я работал над проектом, в котором ведущее устройство OMAP Linux SPI взаимодействует с 6 периферийными периферийными устройствами SPI (5 аналого-цифровых преобразователей и один магнитометр).
Я могу установить тактовую частоту SPI и экспериментировать с 50 кГц, 100 кГц и 1 МГц.
Я приложил схему подключения / платы, показывающую длину от мастера SPI и всех периферийных устройств. Длина шины SPI (все длины проводов) от мастера составляет примерно 970 мм для моего экспериментального случая.
Проблема, которую я обнаружил, заключается в том, что связь с 1 периферийным устройством не работает, когда я добавляю больше других периферийных устройств на шину. Даже если связь происходит с магнитометром на противоположной стороне шины, связь с аналого-цифровыми преобразователями на другой стороне прерывается до тех пор, пока не будет снята заглушка жгута магнитометра, а затем секция A / D вернется.
Я кое-что прочел здесь: Соображения об окончании шины SPI и здесь: Коммуникация между досками на короткие расстояния.
где рекомендуется размещать RC LPF как можно ближе к любому приводному узлу, поэтому SCLK и MOSI на стороне мастера и каждый из моих 6x сигналов MISO / SOMI. Я видел похожий подход для USB с сетью 47pF / 27R RC. Мое намерение состоит в том, чтобы попробовать это на моей схеме, чтобы уменьшить резкий резкий переход по краю ~ 100нсек.
Это правильная процедура, я следую здесь с добавлением RC LPF? Это кажется действительно шокирующим, есть ли лучшая практика? Я видел в приложении заметку от TI, в которой говорится о расширении SPI для более длинных шин, это подходящее решение здесь, или моя проблема просто одна из высокочастотных гармоник из высокоскоростного краевого перехода? http://www.ti.com/lit/an/slyt441/slyt441.pdf
Спасибо ник