Pull to refresh

Comments 36

Отлично! Вдогонку хотелось бы кинуть всем интересующимся ссылкой со статьями по обозначенной в статье тематике. elart.narod.ru/
В последнее время среди программистов все больше стала набирать популярность цифровая электроника


Увлечение электроникой среди программистов было всегда. Просто вы только сейчас это стали замечать.
не всегда, просто сейчас более доступно стало обучение
Зря вы его заминусовали, по факту он написал всё верно.
Немного глобально написал но всё-же верно — увлечение электроникой не зависит от профессии.

Автору просто не стоило так конкретизировать проф принадлежность.
Программист не знающий как работает цифровая электроника должен вызывать подозрение.
Вот сейчас армия фортраннеров, которые в вузах учили уравнения и физику начнет возмущаться…
А чего нам возмущаться? Во-первым, мы уже лет 20 как на C/C++ перешли. Во-вторых, физика еще никому не мешала, в том числе не мешает она и пониманию цифровой электроники. Но электроника аналоговая, как по мне, так на порядок интереснее цифровой.
Толпы пхпшников как-то странно на тебя смотрят
А вот поясните еще про запрещенные уровни (в Вашем примере между 0,6 и 1,8В), который так опасны. Ведь время перехода из одного уровня в другой тоже не нулевое и существует фронт сигнала, который не строго вертикальный. Т.е. получается эти промежуточные положения штатная ситуация, возникающая дважды за каждый входной сигнал.
У транзисторов тоже не бесконечное быстродействие. Да и в микросхемах обычно используются push-pull выводы. Там еще компаратор ставится, чтобы фронты не затягивались.
действительно — вопрос времени, которое находится в этом состоянии
В современных микросхемах на всех входах используются Триггеры Шмитта, обеспечивающие нужный гистерезис, так что опасность этого явления в статье преувеличена.

Однако, оставлять висящие выводы всё же не стоит, т.к. хаотично переключающиеся части кристалла просто потребляют лишнюю энергию.
И еще пример про входы болтающиеся в воздухе. На днях подключал самодельный модуль с 7-сегментным индикатором к ардуине. Сначала залил в ардуину прошивку. На модуле был сдвиговый регистр 74HC164. Его вход строб подключался в самом конце. У меня челюсть отпала, когда я увидел, что индикация побежала еще до подключения, че за глюк. Потом увидел, что индикация меняется просто когда я руку к проводу подношу, который одним концом на модуле и на строб вход регистра идет, а другим еще в воздухе висит. Т.е. он как антенна работает и даже 5 см куска висящего провода достаточно, чтобы уровень на входе поменять и сдвинуть содержимое регистра на 1 бит.
ага — было у самого нечто подобное — весело было — подносишь руку — лампочка загорается — магия) при этом если стоять на проводе сетевом каком то 50Гц
Подскажите, пожалуйста: если в программе для микроконтроллера (STM32VLDiscovery, если конкретно) я выставляю режим входа с подтяжкой к ± (IPU/IPD), контроллер сам подтягивает или он рассчитывает, что резистор подключу я?
Сам подтянет. См. подробнее figure 11 в reference manual для stm32f100rb
Сам. Иначе он ничем не будет отличаться от обычного, с триггером Шмитта (Floating назывался, если не ошибаюсь).
Там и такой режим есть. Правда я не знаю, зачем он нужен — не для любителей самостоятельно вставлять резисторы, наверное.
Нет, он используется, если непосредственно подключить вход к выходу с устойчивыми логическими уровнями. Это обычный цифровой вход, например, как на большинстве микросхем стандартной логики.

А подтягивающие резисторы появились только в микроконтроллерах, для удобства, при этом стало доступным собрать схему практически из одной детали.
Стоит различать weak pull или stong pull. Если вам надо например на этой ноге 1-wire жарить, то weak pull-а может не хватить. Так что не надо так категорично про любителей :)
Жаль автор мало написал про цифровую и аналоговую земли. Интересно было бы почитать, как они разводятся, формируются и почему так делается.
это лучше на примере показывать — по сути это то же самое, что и явление, описанное в пункте про срабатывание на удвоенной частоте — импульсные помехи цифровой земли вносят шум в потенциал аналоговой — если для цифровой части схемы — максимум это чревато срабатыванием на удвоенной частоте, да и то в худшем случае, то для ЦАП, АЦП это чревато увеличением уровня шумов входного/выходного сигнала — суть та же — обратные токи цифровой земли не должны протекать через обратные токи аналоговой — таким образом минимизируется взаимная индуктивность этих токов, кроме того земли могут быть связаны через емкость полигонов — поэтому стоит делать полигоны сеточкой. Желательно использовать для аналоговых частей отдельные источники питания — опять же, чтобы обратные токи цифровой земли протекали через свой источник питания, а аналоговой — через свой, все же земли должны иметь одинаковый потенциал и быть где то соединены — желательно это делать в одной точке через дроссель — чтобы высокочастотный ток с цифровой земли не просачивался в аналоговую, то же самое касается полигонов питания. Основное правило тут — следите — как будут идти обратные токи
А для чего некоторые производители цифро-аналоговых микросхем советуют соединять выводы аналоговой и цифровой земель как можно ближе к корпусу микросхемы?
Например если мы имеем схему с чипом декодера, у которого есть как ЦАП так и АЦП. Перед ЦАП и после АЦП стоят простейшие аналоговые усилители на ОУ. Производитель декодера советует соединять ноги аналоговой и цифровой земель как можно ближе к чипу. А что в этом случае делать с землями усилителей? Получается, что у декодера своя аналоговая земля внутри, а у усилителей будет своя и все они должны в одной точке присоедениться к цифровой земле?
Я бы еще обозначил проблему возникновения паразитной ООС на эмиттерах транзисторов в подобной схеме. Хоть это нынче уже почти не актуально.
Есть вопрос по поводу земель и «так вы убиваете всю задумку!».
1. Означает ли это что при тактовой частоте в 1khz я могу соеденить с землей только одну ногу? При это у меня точно нет сильно-точных нагрузок.
2. Нужно но ли мне на плате размером 3х3см делать раздельные подоводы к земле, если от этой платы до источника питания у меня идет провод длиной 25см. Какая длина дорожки до земли какой тактовой частоте должна соответствовать? (при чисто CMOS-овских нагрузках).
Важна не тактовая частота, а крутизна фронтов.
Если у вас цифровой сигнал с фронтами 2нс — то не важно, с какой частотой он будет повторятся, все равно развязка нужна, как будто мы 500Мгц сигнал передаем.

Именно поэтому в FPGA и некоторых микроконтроллерах есть возможность управлять «крутизной» IO пинов. Более медленные фронты уменьшают требования к развязке.
Амплитуда импульсного броска определяется производной, то есть — как заметили — важна крутизна фронта. Почему не стоит объединять ноги — потому что вы объединяете пути обратных токов — им просто ничего не остается кроме как идти по тому месту, которое вы им оставили — в итоге возрастает взаимоиндукция этих токов и импульсный скачок, вызванный одним из них тут же отзывается на других — в итоге пользы от разделения почти никакой — формально мы разделили индуктивности, но так же еще должны разделить обратные токи, чтобы они не связывались между собой как в трансформаторе. Кроме того цель разделения — распределить токи по кристаллу, если вам не позволяет место на плате и схема не особо скоростная — можно и пожертвовать помехоустойчивостью и объединить ноги. Чтобы подводящие линии не играли роли — ставят электролитические и керамические конденсаторы на плате.
Спасибо, отличная статья, натолкнула на еще две ваших, не менее интересных!
Тут кроется, на первый взгляд незаметная вещь — а что будет, если транзисторы будут открыты одновременно?
Правильно — короткое замыкание между питанием и землей — и тут уж что быстрее выйдет из строя — канал одного из транзисторов или питающая схема, которая не сможет обеспечить такой ток.

не всегда
кое-кто специально загоняет инвертирующий елемент в состояние метастабилити (когда оба транзистора полуоткрыты), и использует уровень переключения + шум в благих целях, например для генерации случайных чисел
вот тут в паблик доступе статья www.iacr.org/archive/ches2008/51540162/51540162.pdf
+ оно релаьно работает и используется
UFO just landed and posted this here
Так это уже «второй уровень», для начинающего полезнее просто будет знать, что такую ситуацию следует избегать. Представляете во что превратилась бы статья, если для каждого указанного правила приводить всевозможные исключения?

Это как оголенные провода — все знаю что их трогать нельзя, все, кроме электриков, которые знаю когда и как их трогать можно.
Спасибо за статью! В целом со всем вышеизложенным я знаком, но не хватает наглядных примеров в формате, как стоит делать, а как нет и описания почему именно так в конкретном случае, у вас как раз приближенный к этом формат повествования!

В общем, я с радостью еще почитал бы, если бы вы написали продолжение!)
интересна нотация iwC для импеданса, нас учили использовать j для мнимой единицы т.к. i это ток )
книга high speed digital design a handbook of black magic рекомендуется к прочтению

Sign up to leave a comment.

Articles