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

Ғылым және технология

STM32 GPIO. Скорость работы портов ввода-вывода.
------------------------------------------
Поддержать автора канала можно перейдя по ссылке:
yoomoney.ru/to/4100116547550395
Или просто отправив перевод на Yandex.кошелек:
4100116547550395
А также переводом по номеру карты Сбер:
4279-3000-1033-0561
------------------------------------------

Пікірлер: 41

  • @AxGxP
    @AxGxP3 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    3 жыл бұрын

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

  • @AxGxP

    @AxGxP

    3 жыл бұрын

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

  • @gennadyz7699

    @gennadyz7699

    3 жыл бұрын

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

  • @user-kg9qk8rt1e

    @user-kg9qk8rt1e

    3 жыл бұрын

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

  • @user-ed9px3cz7g

    @user-ed9px3cz7g

    3 жыл бұрын

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

  • @igorgonitsky7790
    @igorgonitsky77903 жыл бұрын

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

  • @vladislavvladislav6387
    @vladislavvladislav63873 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    3 жыл бұрын

    Да, вы правы.

  • @ZugDuk

    @ZugDuk

    Жыл бұрын

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

  • @user-gb6ok4vn4k
    @user-gb6ok4vn4k Жыл бұрын

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

  • @YegorievskAndMe
    @YegorievskAndMe5 жыл бұрын

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

  • @Roman4D
    @Roman4D4 жыл бұрын

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

  • @jarohty
    @jarohty2 жыл бұрын

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

  • @user-il1ci1mo8m
    @user-il1ci1mo8m4 жыл бұрын

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

  • @RAFTURKOT
    @RAFTURKOT4 жыл бұрын

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

  • @user-fh3we6di4s
    @user-fh3we6di4s Жыл бұрын

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

  • @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

  • @alexorlovecky8015
    @alexorlovecky80154 жыл бұрын

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

  • @AxGxP

    @AxGxP

    3 жыл бұрын

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

  • @Techn0man1ac
    @Techn0man1ac4 жыл бұрын

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

  • @AxGxP

    @AxGxP

    3 жыл бұрын

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

  • @user-cg4ui9ro1x
    @user-cg4ui9ro1x5 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    5 жыл бұрын

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

  • @user-cg4ui9ro1x

    @user-cg4ui9ro1x

    5 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    5 жыл бұрын

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

  • @ibrag2012
    @ibrag20124 жыл бұрын

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

  • @RAFTURKOT

    @RAFTURKOT

    4 жыл бұрын

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

  • @AlekseiChip
    @AlekseiChip5 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    5 жыл бұрын

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

  • @Sergey_Bobrov

    @Sergey_Bobrov

    5 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    5 жыл бұрын

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

  • @avi-crakhome2524

    @avi-crakhome2524

    5 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    5 жыл бұрын

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

  • @janedoe6182
    @janedoe61823 жыл бұрын

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

  • @VladimirMedintsev

    @VladimirMedintsev

    3 жыл бұрын

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

  • @janedoe6182

    @janedoe6182

    3 жыл бұрын

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

Келесі