STM32 GPIO. Скорость работы портов ввода-вывода.

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ย. 2024
  • STM32 GPIO. Скорость работы портов ввода-вывода.
    ------------------------------------------
    Поддержать автора канала можно перейдя по ссылке:
    yoomoney.ru/to...
    Или просто отправив перевод на Yandex.кошелек:
    4100116547550395
    А также переводом по номеру карты Сбер:
    4279-3000-1033-0561
    ------------------------------------------

ความคิดเห็น • 41

  • @vladislavvladislav6387
    @vladislavvladislav6387 4 ปีที่แล้ว +9

    - смотрю и другие ваши видео, много нового узнал, за что спасибо, но тут вынужден не согласиться с вами.
    - Проверял я тоже STM-ки разные..... Например, у STM32F429, на платке Дискавери, очень хорошо наглядно всё видно. Если выставлять в параметрах - InitD.GPIO_Speed = GPIO_Speed ставить 2MHz или 100MHz, то есть там существенная разница. При 2 МГц фронты десятки ns, при 100МГц уже несколько ns, при условии если смотреть на ВЧ щупе, при соблюдении всех правил ВЧ измерений (GND насажен прямо на кольцо щупа). Проверял на гигагерцовом Тектрониксе..... Так что, всё там хорошо, и можно вытянуть скорости, просто нужно согласовывать нагрузки, не делать больших индуктивностей. У микрух, которые подключаются на выходы МК, тоже есть своя емкость входная. По этой причине, в даташыте указывают емкости нагрузок. Если использовать высокочастотный осцилл, и "правильный" щуп, есть там и прямоугольность, и есть там наносекунды..... Осцилл возьмите пошустрее и всё будет хорошо.

    • @VladimirMedintsev
      @VladimirMedintsev  4 ปีที่แล้ว +2

      Да, вы правы.

    • @ZugDuk
      @ZugDuk ปีที่แล้ว

      Скажи, музыку затащит?
      Музыка высокого качества - это 8 линий ШИМ частотой 2.82 МГц, а максимальная частота возможной позиции центральной палки от крайних - 45.16 МГц, т.е. длительность фронта-спада требуется:
      22.14427ns период / 2 фронта / еще на 3 для качества = 3.68 ns

  • @AxGxP
    @AxGxP 4 ปีที่แล้ว +13

    Это не в STM32 проблема, а в вашем осциллографе, пропускной способности не хватает, чтоб увидеть. Он не отображает реальную картину. Разница между режимами есть и весьма значительная. Изменяется скорость нарастания и соответственно выбросы на выводах при отсутствии необходимой терминации. Не раз сталкивался со случаями когда при установке High устройство вообще не работает, как раз из-за выбросов. Или наоборот, в режиме Low не хватает скорости. Когда-то тоже эту штуку смотрел осциллографом, в режиме High на за 4ns выстреливает, а в режиме low аж 16ns. Какой-то stm32f103 был.

    • @VladimirMedintsev
      @VladimirMedintsev  4 ปีที่แล้ว +2

      Где вы были пару лет назад когда этот ролик снимался. Сейчас это уже архив можно сказать.

    • @AxGxP
      @AxGxP 4 ปีที่แล้ว +6

      @@VladimirMedintsev Учится никогда не поздно)) Надеюсь мой комментарий кому-то поможет.

    • @gennadyz7699
      @gennadyz7699 4 ปีที่แล้ว

      @@AxGxP так какя в итоге разница? Тоже смотрел осцилограффом на 200мгц , разницы между режимами не видна.

    • @user-kg9qk8rt1e
      @user-kg9qk8rt1e 4 ปีที่แล้ว +1

      @@gennadyz7699 я могу гигагерцовым поглядеть.. если интересно

    • @user-ed9px3cz7g
      @user-ed9px3cz7g 3 ปีที่แล้ว

      @@VladimirMedintsev Снимите 2 видео по этой теме. Попросите быстрый ослик у кого и снимите. Так скажем работа над ошибками.

  • @igorgonitsky7790
    @igorgonitsky7790 3 ปีที่แล้ว +1

    Спасибо большое за Ваши старания

  • @YegorievskAndMe
    @YegorievskAndMe 6 ปีที่แล้ว +5

    Что значит "подписывайтесь, пожалуйста"?
    Подписался обязательно!

  • @user-gb6ok4vn4k
    @user-gb6ok4vn4k ปีที่แล้ว

    Аллилуя!!!!
    Все пальцы вверх!
    Пытаюсь освоить данные контроллеры и тоже мучал данный вопрос. Теперь всё понято.

  • @user-fh3we6di4s
    @user-fh3we6di4s ปีที่แล้ว +1

    А какова емкость щупа осциллографа? И что это за осциллогрф? Он может искажать действительность до полной неузнаваемости.

  • @jarohty
    @jarohty 2 ปีที่แล้ว +1

    Терзают меня смутные сомнения: не забыли ли вы переключить щуп на х10?

  • @ЧПУ
    @ЧПУ 4 ปีที่แล้ว +2

    Очень интересный ролик! Спасибо!

  • @sergeyrink3003
    @sergeyrink3003 ปีที่แล้ว

    Смотрю в книгу вижу .... много букв. Увидеть разницу можно только если организовать передачу данных через порт на максимальной возможной скорость при разных значениях параметра SPEED на коротких линиях 10-20см. Попробуйте передавать данные по I2C на скорости 400кгц и удлиняйте провода до 0,5-1,0 метра. Много интересного узнаете. Но всё равно спасибо.

  • @ZugDuk
    @ZugDuk ปีที่แล้ว

    Не, музыку не затащит. Музыка высокого качества - это 8 линий ШИМ частотой 2.82 МГц, а максимальная частота возможной позиции центральной палки от крайних - 45.16 МГц, т.е. длительность фронта-спада требуется:
    22.14427ns период / 2 фронта / еще на 3 для качества = 3.68 ns

  • @user-il1ci1mo8m
    @user-il1ci1mo8m 4 ปีที่แล้ว +1

    Спасибо. У меня вопрос, по близкой теме. Хочу использовать внешнюю АЦП на 80 МГц и stm32h750. Обращаюсь напрямую к регистру IDR ( среда Cube IDE) и по таймеру DWT смотрю сколько тактов занимает считывание порта. И получается унылые 123 такта ( чуть более 3МГц). Тоже самое делал на stm32f103, получил 12 МГц ( все по даташиту). Тактовая частота МК stm32h7 максимальна 480МГц ( проверил в кубеи в программе считал данные). В чем может быть дело???

  • @alexorlovecky8015
    @alexorlovecky8015 4 ปีที่แล้ว

    Интересно через буфер подключить, как он будет без ёмкостной нагрузки работать.. так же желательно на самих щупах попробывать подстройку покрутить...

    • @AxGxP
      @AxGxP 4 ปีที่แล้ว +2

      Похоже у автора с осциллографом какая-то проблема... Может он банально щупы забыл в режим 1:10 переключить, вот мы и видим ограничение на 6MHz))). На самом деле на 10MHz там очень хороший и красивый меандр.

  • @user-cg4ui9ro1x
    @user-cg4ui9ro1x 5 ปีที่แล้ว

    Как я понял это скорость частоты установки или сброса непосредственно регистра ODR. Регистром SRP(точно не помню название, регистр сброса и/или установки). Нужно делать тест именно установкой и сбросом этих регистров программно....

    • @VladimirMedintsev
      @VladimirMedintsev  5 ปีที่แล้ว

      Не совсем так, точнее совсем не так.
      Видео вообще не имеет никакого отношения к регистрам.
      Если внимательно поглядеть то речь идет о способности процессора формировать нормальные фронты это раз и влиянии скорости работы установленной для порта на эти самые фронты это два.

    • @user-cg4ui9ro1x
      @user-cg4ui9ro1x 5 ปีที่แล้ว

      @@VladimirMedintsev так в том то и дело при аппаратной генерации разницы практически и не будет...

    • @VladimirMedintsev
      @VladimirMedintsev  5 ปีที่แล้ว

      А при какой будет?

  • @RAFTURKOT
    @RAFTURKOT 4 ปีที่แล้ว

    Это проверялось только на F303? минимальная ширина импульса 255нс (PWM 50%) На F103, F030 cитуация такая же?

  • @Techn0man1ac
    @Techn0man1ac 4 ปีที่แล้ว

    А почему появляется эта ступенька?

    • @AxGxP
      @AxGxP 4 ปีที่แล้ว +2

      Из-за индуктивности в щупе и дорожке.

  • @ibrag2012
    @ibrag2012 4 ปีที่แล้ว

    А якщо напругу знизити в десять разів то й фронт/спад зменшиться в десять разів?

    • @RAFTURKOT
      @RAFTURKOT 4 ปีที่แล้ว +2

      VCC 0.33V? :) Шо це за контролер? Дайте 2!

  • @AlekseiChip
    @AlekseiChip 6 ปีที่แล้ว

    Я правильно понял менять скорость работы GPIO не имеет смысла?

    • @VladimirMedintsev
      @VladimirMedintsev  6 ปีที่แล้ว

      На скорости до 2 МГц ничего не меняется. Вы же сами это видели. Функция и суть этого изменения скорости почти не описана. Возможно что-то меняется в энергопотреблении чипа, но я описания тоже не нашел.

    • @Sergey_Bobrov
      @Sergey_Bobrov 6 ปีที่แล้ว +6

      Как пишет ST в AN4899 и AN3430, скорость порта влияет на его энергопотребление и его шумы (EMI, SSO).

    • @VladimirMedintsev
      @VladimirMedintsev  6 ปีที่แล้ว +1

      Сергей, спасибо Вам огромное! Щас почитаю.

    • @avi-crakhome2524
      @avi-crakhome2524 5 ปีที่แล้ว +8

      Автор переключал выход с разной частотой, и назвал это скоростью работы портов. В реальности было показана разная частота шима, настройка GPIOx->OSPEEDR не менялась. Хотя именно OSPEEDR влияет на скорость нарастания напряжения - те самые фронт/спад.
      Дополнительно:
      Выход пина имеет несколько параллельных полевых транзисторов, которые включаются с разной задержкой (зависимость от OSPEEDR). Задержка рассчитана на стандартную ёмкость кмоп входов простых микросхем, 2000 пикофарад - это явный перебор.
      Выбор скорости влияет на дребезг и переотражение сигнала в длинной неоднородной линии. В какой-то мере OSPEEDR - это замена терминального резистора.
      Например sdram память откажется работать при низком параметре OSPEEDR, а sd флешка будет уверенно ловить двойные стробы при завышенном параметре OSPEEDR.

    • @VladimirMedintsev
      @VladimirMedintsev  5 ปีที่แล้ว

      Неужели GPIOx->OSPEEDR не менялась? Мне кажется кто-то был не сильно внимательным.
      Кстати а 2000 пикофарад упоминаемых вами это вы откуда такое прифантазировали?

  • @janedoe6182
    @janedoe6182 3 ปีที่แล้ว +4

    Бесполезное видео, из которого можно сделать поверхностный вывод, что настройки тактирования ничего не дают, хотя, на самом деле это не так.
    ЗЫ: Оговорочка, настройки скорости (OSPEEDR), а не тактироватния, конечно же.

    • @VladimirMedintsev
      @VladimirMedintsev  3 ปีที่แล้ว +1

      Очень прикольный комментарий.

    • @janedoe6182
      @janedoe6182 3 ปีที่แล้ว +2

      @@VladimirMedintsev Хотя нет, в комментариях есть дельные замечания о влиянии настройки на режим работы выходного буффера, увеличении бросков тока и помех на переключениях в скоростных режимах, необходимости правильно нагружать вывод и согласовывать измерительный вход осциллографа. Так что видео не совсем бесполезное.