Непонятки с тактированием GPIO
25.05.2017, 14:36
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Непонятки с тактированием GPIO
Есть отладочная плата с stm32f407, к ней на spi2 и spi3 прицеплены одинаковые девайсы. С одним все безукоризненно, со вторым - ошибки при обмене. SPI где-то порядка 5 МГц клок
При всем этом - касание рукой проводочков ошибки убирает. Явно что-то с фронтами? Лезу в настройки и обнаруживаю, что вся разница - у "глючащего" SPI соответствующие GPIO настроены на 10 МГц (01 биты в OSPEEDR), а у нормально работающего - остались 0, тупо забыл.
И вот как понимать? 00 в OSPEEDR значат тактирование GPIO на 2 МГц. Как бы работать не должно как раз тут.
И да, ставил и 01, и 10, и 11 - ошибки. При 00 работает.
Пытался глянуть анализатором - но его подключение, как и касание рукой, приводит к нормальной работе и при 01 в OSPEEDR.
Все проверил... открытый коллектор не включен, подтяжки пофигу, режимы CPOL/CPHA у SPI соответствуют... обмен по SPI тупо с ожиданием флага SPI_SR_RXNE.
Чего я не понял-то, а? И да, модули местами менял, зеркальце поправлял.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
25.05.2017, 14:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Похоже емкость добавляется, и какие-то выбросы (звон земли) фильтруются.
А GPIO на 2 Мгц имеет меньший выходной ток, выбросы тока меньше, недостаточно для звона.
F407 - мастер же, как я понял?
|
|
|
|
25.05.2017, 14:55
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Сообщение от pambaru
|
|
F407 - мастер же, как я понял?
|
Да.
Главная-то непонятка - как вообще SPI на 5 МГц там работает, если тактирование пинов 2 МГц.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
25.05.2017, 14:57
|
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,132
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Сообщение от nml
|
|
как вообще SPI на 5 МГц там работает, если тактирование пинов 2 МГц
|
с чего вы взяли что 2мгц эт тактирование?
это предполагаемый ток, нужный для обеспечения 2, 5, 10 мгц.
это типа как в биосе был раньше spread spectrum))
__________________
кагмаподэ магмаподэ
|
|
|
|
25.05.2017, 15:05
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Сообщение от индюк
|
|
с чего вы взяли что 2мгц эт тактирование?
|
Ну в даташите я про токи не вижу ничего...
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
25.05.2017, 15:34
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
****** !
Вопрос решен... Сам дурак...
Было отключено питание (mini-USB разъемчик). И шло от J-Link-а по отладочному шлейфу. Наверняка или мало или нечисто...
Вот насчет OSPEEDR все же непонятно. Кто в курсе, как оно работает? Про ток, как упомянул индюк - я что-то не нашел нигде.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
25.05.2017, 15:40
|
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,132
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Сообщение от nml
|
|
Про ток,
|
ну а чо? так во многих драйверах сделано, только там резистором внешним скорость регулируется
mcp2551 например
__________________
кагмаподэ магмаподэ
|
|
|
|
25.05.2017, 16:01
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Во многих не значит "во всех"... Хотя такой вариант как-то объясняет прохождение SPI на 5 МГц. И вообще этот OSPEEDR описывается по разному. В некоторых местах читал нечто типа 00-reserved а 2 МГц это 10. Решил все же верить даташиту.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
25.05.2017, 16:45
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Я так понимаю, что понятие GPIO SPEED в STM32 эквивалентно Slew rate.
Т.е. для более высокой частоты ноги уменьшается время нарастания-спада фронта, путем усиления выходного тока при переключении.
Например, запараллеливанием выходных CMOS транзисторов. Для разных slew rate активно разное кол-во выходных транзисторов.
Сама тактовая частота выходной схемы GPIO не меняется.
Типа вот такого:
|
|
|
|
25.05.2017, 16:49
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
|
Re: Непонятки с тактированием GPIO
Отсюда и получается, что более высоких GPIO speed увеличивается выходной ток в момент переключения (быстрее перезаряжаются паразитные емкости, но увеличивается и ground bounce, и могу вылезти разные глюки, если между девайсами "плохая земля".
Очень наглядно за такой глючностью можно понаблюдать, используя разные slew rate в FPGA, когда плата двуслойка и между микросхемам на плате разведено мало GND.
|
|
|
|
Эти 3 пользователя(ей) сказали Спасибо pambaru за это сообщение:
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:39.
|
|