Перейти к содержанию

Скорость пинов GPIO


maksimdag0

Рекомендуемые сообщения

Всем привет! Есть вопрос на который я знаю ответ, но не уверен. Подскажите пожалуйста. Вопрос в следующем: что такое скорость пинов gpio (фото)?
Я понял это так: скорость пина - это скорость при которой бит, поданный на этот пин, будет успевать записываться в регистр и считываться с него, пока сигнал на данном пине изменится на другой бит. Правильно ли я понимаю?

1.png

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

1 час назад, korsaj сказал:

Нет, это ток который будет течь через пин, от этого тока зависит скорость переключения состояние пина.

не совсем понял. То есть если течет большой ток, то скорость переключения будет маленькой? 

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Ток переключения пина. Чем он меньше тем меньше скорость работы пина. У каждого элемента схемы (включая внутреннюю часть мк) есть паразитная емкость и чем она больше, тем больше нужно времени/тока чтобы изменить логическое состояние вывода. Вы бы даташит на мк почитали..

Ссылка на комментарий
Поделиться на другие сайты

ток переключения логических элементов входных/выходных триггеров один и тот же, меняется частота тактирования/опроса входных/выходных триггеров. Чем выше частота тактирования, тем больше средний потребляемый ток.

2 часа назад, maksimdag0 сказал:

Правильно ли я понимаю?

не совсем. пины порта читаются/обновляются с заданной частотой
если  пин настроен на вход на 2МГц , а на нем присутствует меандр с частотой 10..20МГц , то в регистр попадет то значение которое было на момент опроса защелки.

Ссылка на комментарий
Поделиться на другие сайты

7.2 Adapt GPIO speed
The rise time, fall time and maximum frequency are configurable using the
GPIOx_OSPEEDR configuration register. Such adjustment has an impact on the EMI
(electromagnetic interferences) and SSO ( simultaneous switching output) due to higher
switching current peak. A compromise has to be done between GPIO performance versus
noise. The rise time and fall time of each GPIO signal must be adapted to the minimal value
compatible with the associated signal frequency and board capacitive load.
In order to help users to control the signal integrity in their applications, the IBIS model of
the selected STM32 GPIO pin is available and can be downloaded from STMicroelectronics
web site

О частоте тактирования ни слова

Ссылка на комментарий
Поделиться на другие сайты

так точно. скорость пина это ток через него при переключениях. На запись данных и появление их на пине никак не влияет. Я всегда ставлю минимальную и всегда хватает

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

очень просто - переключением резисторов затворов ВК пина

впрочем мне ее представлять даже не обязательно. Не я ее придумал

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Есть книга  Новиелло Кармин. - Освоение STM32.В ней есть описание работы GPIO.

Понятие скорости GPIO
Одним из наиболее часто вводящих в заблуждение параметров в микроконтроллерах STM32 является параметр GPIO_InitTypeDef.Speed. Это поле может принимать значения, представленные в таблице 4, и оно действует только тогда, когда GPIO сконфигуриро-ван в режиме выхода. К сожалению, ST не подобрала более подходящего имени для этих констант в различных CubeHAL.
Таблица 4: Доступные режимы скорости для GPIO
CubeF0/1/3/L0/L1
CubeF4/L4
GPIO_SPEED_LOW
GPIO_SPEED_FREQ_LOW
GPIO_SPEED_MEDIUM
GPIO_SPEED_FREQ_MEDIUM
GPIO_SPEED_FAST
GPIO_SPEED_FREQ_HIGH
GPIO_SPEED_HIGH8
GPIO_SPEED_FREQ_VERY_HIGH
Скорость. Такое манящее слово для всех, кто любит производительность. Но что именно она означает, когда мы говорим о GPIO? Здесь скорость GPIO не связана с частотой переключения, то есть сколько раз вывод переключается из состояния ВКЛ в состояние ВЫКЛ в единицу времени. Параметр GPIO_InitTypeDef.Speed, напротив, определяет скорость нарастания (slew rate) напряжения на GPIO, то есть скорость, с которой он переходит с уровня 0 В на уровень VDD, и наоборот.

Ссылка на комментарий
Поделиться на другие сайты

Нашел еще такое, не совсем то, но те пины что могут выдать лишь 3 мА могут работать только на частоте 2 МГц.
The GPIOs (general purpose input/outputs) can sink or source up to 8 mA, and sink or source up to 20 mA (with a relaxed VOL/VOH) except PC13, PC14 and PC15 which can sink or source up to 3mA. When using the PC13 to PC15 GPIOs in output mode, the speed should not exceed 2 MHz with a maximum load of 30 pF.

А вот тут https://www.st.com/content/ccc/resource/technical/document/datasheet/65/cb/75/50/53/d6/48/24/DM00141306.pdf/files/DM00141306.pdf/jcr:content/translations/en.DM00141306.pdf
на странице 95 есть таблица токов переключения вывода.

Ссылка на комментарий
Поделиться на другие сайты

А в видосике точно используется пин который может 20 мА вытянуть. А то так получается что у меня не один бы экран не заработал (хотя я точно избегаю низкотоковых пинов)!
Статья вдогонку (не оф документ).
http://fastbitlab.com/gpio-output-speed-register-applicability/

У меня к сожалению нет осцила чтобы проверить скорость нарастания.

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

ХЗ настройки для PA6  делает.
видел эту статью,  но больше всего смущает, что в ДШ на всех значениях времени фронта/спада стоит пометка "не тестировалось в железе" ,
 

Ссылка на комментарий
Поделиться на другие сайты

Влекомый чувством здорового недоверия, после просмотра видео, достал первую попавшуюся плату с STM32L011 и тут же проверил этот самый GPIO SPEED.

Установил скорости для выходов PB4 = LOW, PB5 = MEDIUM, PA11 =  HIGH и PA8 = VERY HIGH SPEED. Эти ноги просто рядом на плате выведены. Ну, и в цикле просто устанавливаю/сбрасываю эти пины вручную. На ноги повесил конденсаторы  27 пФ нагрузки, плюс 14 пФ ёмкость кабеля осциллографа по паспорту.

Потыкал осциллографом и получил вот такие скорости нарастания напряжения на выходах. Соответственно желтая линия = LOW SPEED, затем голубая, фиолетовая и, наконец,зелёная = VERY HIGH. По оси времени 10 нс на деление. Ну, и, у осцилла с кабелем собственное время нарастания, типа,  три-четыре нс, думаю, надо отнять от результата.

 

stm32_speed.png

Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

Частота тактирования входных/выходных регистров порта равна HCLK, если посмотреть в окне Clock Configuration в кубе, по сути это просто частота ядра процессора.

То есть порты всегда шарашат на максимальной частоте тактирования, от GPIO SPEED не зависит. Если вход, то при любом GPIO SPEED всегда поймаем максимально быстрое изменение на входе.

А, вот, скорость нарастания выходного напряжения задаётся GPIO SPEED параметром. Поэтому, если управляете медленной периферией, типа, светодиодом поморгать, и не хотите загрязнять окружающее пространство электро-магнитным шумом от вашего изделия, то всегда выбирайте GPIO SPEED = LOW. На общий ток потребления этот параметр мало влияет. Я так думаю.

Как процессоры STM изменяют выходное нарастание точного описания я найти не смог, видимо, "секрет фирмы". Кто говорит, что подключаются более мощные широкие МОСФЕТы на выход для ускорения, другие объясняют, типа, сток-затворные ёмкостя переключаются ... Хрен его знает, короче.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Yurkin2015 сказал:

Как процессоры STM изменяют выходное нарастание точного описания я найти не смог

ну если провести аналогию с ключами блоков питания, то там можно подобрать такой затворный резистор, который позволит ключу работать без звона но с бОльшими потерями на переключении (терпимыми конечно). Мне кажется тут тоже сильно не заморачивались. Просто резюки в затворах меняют ячейкой И и все

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Всем большое спасибо! 

В 26.06.2022 в 03:14, Yurkin2015 сказал:

Частота тактирования входных/выходных регистров порта равна HCLK, если посмотреть в окне Clock Configuration в кубе, по сути это просто частота ядра процессора.

То есть порты всегда шарашат на максимальной частоте тактирования, от GPIO SPEED не зависит. Если вход, то при любом GPIO SPEED всегда поймаем максимально быстрое изменение на входе.

А, вот, скорость нарастания выходного напряжения задаётся GPIO SPEED параметром. Поэтому, если управляете медленной периферией, типа, светодиодом поморгать, и не хотите загрязнять окружающее пространство электро-магнитным шумом от вашего изделия, то всегда выбирайте GPIO SPEED = LOW. На общий ток потребления этот параметр мало влияет. Я так думаю.

Как процессоры STM изменяют выходное нарастание точного описания я найти не смог, видимо, "секрет фирмы". Кто говорит, что подключаются более мощные широкие МОСФЕТы на выход для ускорения, другие объясняют, типа, сток-затворные ёмкостя переключаются ... Хрен его знает, короче.

В одном сообщении сразу все описано, довольно доступно. Спасибо

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • У меня больше всего вопросов вызвала необычная схема обеспечения отрицательного питания. Автор этой обстоятельной заметки пишет: For this supply to work correctly, the transformer must have a secondary voltage of at least 18V RMS.  Почему? Что будет не так с отрицательным питанием, если напряжение на трансформаторе будет меньше 18В?   https://tinyurl.com/23mlwxtt - я в простейшей эмуляции ставлю 12В пикового напряжения для трансформатора и на стабилитроне все как положено: -5.6В.
    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 5 вольт в клетке, тайминг по моему 10 МС. Третья фотография это сигнал на катодах уровень земли ровно по центру экрана. Но все линии по итогу в порядке 3.3 в, 5, в, 12 в и -12 в. Нагрузить все линии не могу сразу ,так как тут же выгорают транзисторы (имеется нагрузка 250 ватт по 10 ампер на каждую линию за исключением-12в), поэтому нагружаю 3.3 вольтовую линию на 10 ампер,  подключаю переменный резистор 50 ватт на 15 ом на 5 вольтовую линию и постепенно довожу до той той картины с перекосом (это гдето  50 ватт общее). По поводу микросхемы, вверху имеется скрин где между импульсами проскакивает мини импульс, если так можно сказать, он проскакивает и на одной  и на второй ноге (7,8). Микросхема не tl 494, а lw4933/abx942.1/c9421646. Далее они приходят на базы транзисторов 945g  коллекторы этих транзисторов соединены с  выводами трансформатора. Просто схема типовая, легче мне кажется просто привести фото самого блока, для тех кто разбирается будет гораздо информативне.  Диод шотки по 12 вольтовой линии был подгоревший, заменил на донора. Приводить скрины не буду что бы не захламлять тему. В итоге, пока все так же, при достижении определенной нагрузки суммарно где-то 50 ватт, появляется этот "выброс и перекос". По этому имеются мысли на два варианта, это микросхема , этот мини импульс между периодами, на низкой нагрузке особо не влияет, но при достижении определенной приводит с самовозбуждению входной цепи и непроизвольному открытию транзистора нижнего плеча. Либо дело в "горячей части", плавающий дефект в обвязке силовых ключей.  Спасибо за ответ.
    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
×
×
  • Создать...