Комментарии 33
Еще одна фишка есть в новых атмеловских контроллерах: если порт настроен как выход (DDRxn = 1), то запись единицы в разряд PINxn инвертирует соответствующий бит PORTxn и переключает ногу (0→1, 1→0).
Ой как нехорошо получается. easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html И зовем сюда автора изначального текста dihalt
Чета ржу :)
О, тогда я прямо вам и задам вопрос. Точнее, предложу подправить исходный текст.
«Впрочем, диоды там хилые и защита эта помогает только от микроскопических импульсов от помех. Если же ты по ошибке вкачаешь в ножку микроконтроллера вольт 6-7 при 5 вольтах питания, то никакой диод его не спасет».
Диоды там достаточного размера, только это защита не от дурака, повесившего на вход то, что туда вешать нельзя, а от электростатического разряда, возникающего, например, когда дурак хватается за ножки контроллера руками — там быстро, зато может быть пара килоВольт в пике. И с этой функцией защитные диоды справляются обычно хорошо, а вот стравить постоянное перенапряжение больше 0.7 В никакой диод по физике своей не способен.
«Впрочем, диоды там хилые и защита эта помогает только от микроскопических импульсов от помех. Если же ты по ошибке вкачаешь в ножку микроконтроллера вольт 6-7 при 5 вольтах питания, то никакой диод его не спасет».
Диоды там достаточного размера, только это защита не от дурака, повесившего на вход то, что туда вешать нельзя, а от электростатического разряда, возникающего, например, когда дурак хватается за ножки контроллера руками — там быстро, зато может быть пара килоВольт в пике. И с этой функцией защитные диоды справляются обычно хорошо, а вот стравить постоянное перенапряжение больше 0.7 В никакой диод по физике своей не способен.
Ну 0.7 обычно редко является критичным перенапряжением для всей схемы МК. Те же AVR вполне переживают 6 вольт и даже на них работают приличное время. Без гарантий естественно.
(А STM32 не дохнут от 5 вольт, но работать перестают). А ток этих диодов реально какой то мизерный. Не помню сколько, что то около 1-2мА. Так что и от небольших перенапряжений по входу спасает.
(А STM32 не дохнут от 5 вольт, но работать перестают). А ток этих диодов реально какой то мизерный. Не помню сколько, что то около 1-2мА. Так что и от небольших перенапряжений по входу спасает.
А почему, простите, тот, кто хватает процессор за ножки — дурак?
Его левитацией, что-ли перемещать из магазина в панельку на плате?
Его левитацией, что-ли перемещать из магазина в панельку на плате?
Избаловали нас современными детальками. Раньше только пинцетом и в антистатическом браслете :)
Потому что при электростатическом разряде от человеческого тела напряжение может быть несколько киловольт, а пробивное напряжение подзатворного оксида входных полевых транзисторов — это единицы вольт, в лучшем случае — полтора десятка.
И если диод не успеет быстро стравить лишний заряд, то вход пробьется, и все.
В современных микросхемах обычно хорошая ESD защита, но злоупотреблять ей все равно не стоит, особенно если речь идёт о дорогих микросхемах, или о специализированных, где нормальную защиту по каким-то причинам поставить нельзя.
И если диод не успеет быстро стравить лишний заряд, то вход пробьется, и все.
В современных микросхемах обычно хорошая ESD защита, но злоупотреблять ей все равно не стоит, особенно если речь идёт о дорогих микросхемах, или о специализированных, где нормальную защиту по каким-то причинам поставить нельзя.
Ох, еще одна статья про светодиод на AVR…
Не, я привык что мои статьи передирают и рерайтят все кому ни лень, но чтобы на хабр. Это что то новенькое :)
Без упячко-мэн-а это не то :)
Но зато тут картинки цветные, не то что у тебя :D
Но зато тут картинки цветные, не то что у тебя :D
Я ретроград.
Мне особенно понравилось оригинальное решение в виде красных волнистых линий под надписями. Он это в PowerPoint что ли рисовал?..
А подскажите, пожалуйста, в PIC'ах устройство портов аналогичное?
В том смысле, что если в PIC установлен, скажем TRIS = 1, то:
PORT = 0 переведёт порт в режим Hi-Z, а
PORT = 1 подтянет вход к питанию через резистор?
В том смысле, что если в PIC установлен, скажем TRIS = 1, то:
PORT = 0 переведёт порт в режим Hi-Z, а
PORT = 1 подтянет вход к питанию через резистор?
А что будет если вход висит в воздухе? А в этом случае напряжение будет на нем скакать в зависимости от внешних наводок, электромагнитных помех и вообще от фазы луны и погоды на Марсе (идеальный способ нарубить случайных чисел!). Очень часто на порту в этом случае нестабильный синус 50Гц — наводка от сети 220В, а в регистре PINn будет меняться 0 и 1 с частотой около 50Гц
Если это и правда так (1 и 0 чередуются с частотой 50гц), то качество такого генератора случайных чисел крайне низкое. Пожалуйста, не пишите что это «идеальный способ нарубить случайных чисел». Вдруг кому-то придет в голову использовать это свойство для генерации паролей или еще чего-нибудь.
Не все же оттуда брать. Несколько байт, для затравки, потом еще через что нибудь пропустить. Ну и чередование там не строго 50 герц, наводок же много, они пересекаются и смешиваются. Ничего другого более случайного вы в контроллере все равно не найдете.
Ничего другого более случайного вы в контроллере все равно не найдете
Шум АЦП
Там та же шняга так то.
В старших битах, а в младших будет нормальный такой шум, с 50Гц не коррелирующий.
Правда на практике при слабых наводках его входная ёмкость может зарядиться (не знаю из-за чего, может утечки какие), и он уплывёт в единицу.
Правда на практике при слабых наводках его входная ёмкость может зарядиться (не знаю из-за чего, может утечки какие), и он уплывёт в единицу.
Кроме наводок 50Гц там еще есть шум от работы внутренних узлов контроллера. Но этот шум в широком смысле обладает слишком большой корреляцией чтобы считаться случайным. Вот шум pn-перехода германиевого транзистора при стабильной температуре и напряжении питания в принципе еще можно считать более-менее случайным. Но собрать такой узел чтобы на него не действовали посторонние наводки задача не такая простая как может показаться с первого взгляда.
Спасибо всем за ваши комментарии!!!
Содержание статьи, в видеоформате:
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 1