Я только начинаю работать с EE, так что терпите меня. У меня есть голый STM32G474RE, который обменивается данными через SPI (~ 5 МГц) с LSM9DS1. У меня подключен зонд, который фиксирует связь, и, кажется, он работает хорошо. Я отправляю 0x8F и получаю обратно 0x68 из регистра WHO_AM_I:
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.
Измерять сферой — это искусство. Дело не столько в том, заземлены ли ваши датчики, сколько в том, где они заземлены.
Шум также сильно зависит от разводки печатной платы и мощности накопителя. Подумайте, если это как два человека рядом: вы слышите одного лучше, чем другого, если он кричит громче.
Вернемся к вашим сигналам:
Круг : Это совпадает с первым битом данных. Может ли быть так, что первый бит данных говорит ведомому устройству читать или писать? Если это так, то именно здесь линия MISO переходит от плавающей к управляемой. Этот тип поведения часто наблюдается с интерфейсами, которые предлагают одну двунаправленную линию данных для ввода и вывода.
Rect : Да, ваш сигнал зашумлен, но, как уже говорилось, это часто вызвано плохим заземлением датчика. Я также проверил бы, правильно ли у вас развязаны все микросхемы.
Стрелка : В тот момент, когда выбор микросхемы исчезает, ваш выход MISO переходит в три состояния. Действительно, то, что вы видите, это плавающая сеть, которую вытягивают где-то. Поскольку здесь нет выбора чипа, не имеет значения, куда перемещается эта линия. Он также может стать низким или случайным.
«стереотипный» : подходя к сути вашего вопроса: то, что вы видите один и тот же «стереотипный» шаблон, легко объясняется тем фактом, что шум в цифровой печатной плате не является случайным, а вызван переключением цепей. ЦП каждый раз запускает один и тот же раздел программы, и, таким образом, каждый раз вы получаете один и тот же образец шума.
Вы можете увидеть разницу, если драйвер обрабатывается прерыванием, и в этом случае характер шума зависит от того, где произошло прерывание SPI.
Ваш шум также может быть вызван ведомым устройством SPI, и в этом случае картина шума, скорее всего, всегда будет одинаковой.
нанофарад
мкейт
Мэттман944
Тим
Мэттман944