Понимание «стереотипного» шума на линии MISO

Я только начинаю работать с EE, так что терпите меня. У меня есть голый STM32G474RE, который обменивается данными через SPI (~ 5 МГц) с LSM9DS1. У меня подключен зонд, который фиксирует связь, и, кажется, он работает хорошо. Я отправляю 0x8F и получаю обратно 0x68 из регистра WHO_AM_I:

Объем рис. 1

CS/CLK/MOSI/MISO соответственно. Я пытаюсь понять «стереотипный» шум в сигнале. Я понимаю, что все сигналы будут иметь какой-то минимальный уровень шума, но линия MISO заметно более шумная, чем другие линии (мне непонятно, почему?), и картина шума, кажется, следует последовательной схеме от кадра к кадру. т.е. я могу запустить новую запись, и сигнал выглядит почти идентично.

Область действия аннотирована

Обведен кружком — я предполагаю, что этот провал, совпадающий с первым спадающим фронтом тактового сигнала, связан с падением линии MOSI и влиянием на линию VDD (?).

Rect - Линия MISO очень шумная по сравнению с MOSI. Но это не белый шум; скорее звон на линии почти идентичен каждый раз, когда я фиксирую новый триггер. Что может вызвать такой сильный, но очень постоянный шум?

Стрелка - На самом деле это не связано с шумом, но я предполагаю, что это постепенное повышение напряжения обратно до VDD связано с тем, что ни ведомое, ни ведущее устройство не управляют линией MISO, и где-то есть внутренний подтягивающий резистор + колпачок. Почему это должно произойти только после того, как CS станет высоким? Именно этот «перезаводской период» ограничивает скорость SPI?


Изменить: подробнее

Микросхема находится на плате NUCLEO-G474RE ( pdf ), а LSM9DS1 — на коммутационной плате от Adafruit ( ссылка ). Порт SPI — SPI2 с контактами PB 12/13/14/15 для CS/CLK/MISO/MOSI соответственно. Подключен проводами ~ 4 дюйма с 1-контактным разъемом Dupont. Дайте мне знать, если вам нужны какие-либо подробности!


Изменить: поменял зонд

Поменял местами щупы 3 и 4 на плате. Шум не следует за датчиком; он появляется только в строке MISO.

Можете ли вы показать нам более подробную информацию о фактической проводке (например, тип провода, расположение любых подтяжек)? Это может быть полезно для выявления паразитных емкостей и других проблем.
Поменяйте местами каналы 3 и 4 на стороне печатной платы. Посмотрите, следует ли шум за датчиком.
Все зажимы заземления вашего прицела прикреплены? Если вам нужны чистые сигналы, вам нужно подключить все 4 из них.
@Mattman944 ​​Ага, все наземные зажимы прилагаются
Сигналы, вероятно, в порядке, шум, вероятно, в основном связан с ошибкой приборов. Получение четких сигналов на осциллографе может быть сложной задачей. "Звон" может быть, а может и не быть, если соединение прицела не очень короткое, то соединение прицела может их вызывать. Можешь выложить фото своих датчиков?

Ответы (1)

Измерять сферой — это искусство. Дело не столько в том, заземлены ли ваши датчики, сколько в том, где они заземлены.

Шум также сильно зависит от разводки печатной платы и мощности накопителя. Подумайте, если это как два человека рядом: вы слышите одного лучше, чем другого, если он кричит громче.

Вернемся к вашим сигналам:

Круг : Это совпадает с первым битом данных. Может ли быть так, что первый бит данных говорит ведомому устройству читать или писать? Если это так, то именно здесь линия MISO переходит от плавающей к управляемой. Этот тип поведения часто наблюдается с интерфейсами, которые предлагают одну двунаправленную линию данных для ввода и вывода.

Rect : Да, ваш сигнал зашумлен, но, как уже говорилось, это часто вызвано плохим заземлением датчика. Я также проверил бы, правильно ли у вас развязаны все микросхемы.

Стрелка : В тот момент, когда выбор микросхемы исчезает, ваш выход MISO переходит в три состояния. Действительно, то, что вы видите, это плавающая сеть, которую вытягивают где-то. Поскольку здесь нет выбора чипа, не имеет значения, куда перемещается эта линия. Он также может стать низким или случайным.

«стереотипный» : подходя к сути вашего вопроса: то, что вы видите один и тот же «стереотипный» шаблон, легко объясняется тем фактом, что шум в цифровой печатной плате не является случайным, а вызван переключением цепей. ЦП каждый раз запускает один и тот же раздел программы, и, таким образом, каждый раз вы получаете один и тот же образец шума.
Вы можете увидеть разницу, если драйвер обрабатывается прерыванием, и в этом случае характер шума зависит от того, где произошло прерывание SPI.
Ваш шум также может быть вызван ведомым устройством SPI, и в этом случае картина шума, скорее всего, всегда будет одинаковой.

Ха! Отлично, прямо по деньгам. Ваш комментарий заставил меня задуматься о том, где генерировался сигнал и откуда я его измерял. Я подключил/заземлил щуп к плате Nucleo, а это значит, что между ним и коммутационной платой была 4-дюймовая перемычка в виде ленточного кабеля. шум ушел, а то, что осталось, вероятно, связано с внутренним переключением устройства SPI Slave. И вы тоже бьете по кругу: первый бит - это как раз сигнал чтения / записи для ведомого устройства. Ура!