Как выбрать подходящие диоды для сдвигового регистра 74HC595 с проводным соединением ИЛИ?
Я хочу использовать проводное соединение ИЛИ для подключения некоторых контактов сдвигового регистра 74HC595 к Arduino Digital. Входной контакт. Как выбрать подходящие диоды для этой ситуации?
- Максимальный номинальный прямой ток должен быть выше любого тока, вырабатываемого одним выводом 74HC595.
- Прямое падение напряжения
V_F
должно быть как можно меньше, чтобы убедиться, что ВЫСОКИЙ уровень от регистра сдвига все еще имеет достаточно высокое напряжение, чтобы привести к ВЫСОКИМ уровням на выводе Arduino после прохождения через него. диод. - Время переключения должно быть достаточно низким, чтобы соответствовать частоте сдвигового регистра.
Пока все хорошо? Что я пропустил?
Кстати, я еще не определился с напряжением для VCC
. Скорее всего, либо 5 В
, либо 3,3 В
.
@Liam, 👍1
Обсуждение1 ответ
Лучший ответ:
Для этого подойдет почти любой диод. При поиске выясняется, что 1N4148 является популярным и распространенным выбором. Но не лезьте из кожи вон, чтобы получить именно этот диод.
Максимальный номинальный прямой ток должен быть выше любого тока один контакт 74HC595 производит.
Вы должны изменить свое мышление. Учтите номинальное высокое напряжение 74HC595, вычтите падение напряжения на диоде прямого смещения (обычно 0,7 В для кремниевого диода) и разделите полученное значение на выбранный вами резистор. Это будет ток, проходящий через 74HC595 через диод и резистор. В Arduino будет проходить только небольшое количество тока. Для большинства приложений им можно пренебречь. Вы должны выбрать резистор достаточной мощности, чтобы через эту цепь проходил только миллиамперный ток.
Прямое падение напряжения V_F должно быть как можно меньше, чтобы что HIGH из сдвигового регистра имеет достаточно высокое напряжение, чтобы приводит к высокому уровню на выводе Arduino после прохождения через диод.
Убедитесь, что запас напряжения позволяет подавать на Arduino (процессор Atmel) высокий логический уровень. Я думаю, что 3 В - 0,7 В = 2,3 В все еще считается логическим максимумом. Однако, если вы считаете, что это слишком близко, переключитесь на 5-вольтовую Arduino, где падение на 0,7 В будет иметь меньшее значение.
Время переключения должно быть достаточно низким, чтобы соответствовать частота.
Сомневаюсь, что это будет проблемой. То есть я сомневаюсь, что КМОП-логика превзойдет скорость, с которой диод может включаться/выключаться.
Разве не существует очень короткого периода времени, когда диод перед бывшим ВЫСОКИМ выводом (теперь НИЗКИЙ) все еще проводит ток и теперь допускает короткое замыкание на этот теперь НИЗКИЙ вывод?, @Liam
Там может быть. Но я считаю, что это не будет заметно по сравнению со временем, которое требуется устройству CMOS, чтобы зарядиться и начать проводить ток или разрядиться и прекратить проводить ток. В наши дни почти все логические микросхемы используют технологию CMOS., @st2000
Ааа, возможно, я сейчас куда-нибудь доберусь. Вы говорите, что сдвиговому регистру также нужно некоторое время, чтобы переключиться с НИЗКОГО на ВЫСОКИЙ уровень - и этого времени достаточно, чтобы диод переключился в обратное смещение?, @Liam
Это почти верно. Разработчика компьютеров интересует так называемая задержка распространения. Каждый «затвор» (состоящий из транзисторов и в некоторых случаях диодов) вносит свой вклад в общую задержку распространения. В сдвиговом регистре десятки вентилей. Таким образом, существует значительная задержка между изменением тактового входа сдвигового регистра и изменением выходных сигналов сдвигового регистра. Программное обеспечение, которое вы пишете для Arduino, и проектируемое вами аппаратное обеспечение должны работать согласованно, чтобы справиться с этой задачей. Добавление диодов, как вы это сделали, добавит незначительную задержку распространения., @st2000
После прочтения о задержке распространения кажется важным объяснить, что дополнительный диод не будет «влиять на сигнал». (Так что большое спасибо за то, что познакомили меня с этим техническим термином!) Однако мне ужасно жаль предлагать это, потому что ваш ответ уже мне очень помог - возможно ли, что вы неправильно поняли мой дополнительный вопрос? Существует короткий период времени, в течение которого диод должен переключиться с прямого смещения на обратное. Разве не возможно, что ток течет через этот все еще смещенный в прямом направлении диод (во время его переключения) на выходной контакт (теперь НИЗКИЙ) и вредит микросхеме?, @Liam
Теперь вы задаете вопросы, которые рассматриваются на вводных занятиях по логике в колледже. Я не представляю, как включение Wired Or Gate с использованием диодов и правильно подобранного резистора может привести к повреждению. Я также не могу представить, насколько существенна задержка смещения переключения диодов по отношению к зарядке емкостной нагрузки, естественно возникающей на входе логических микросхем и процессоров на основе КМОП. Таким образом, вы можете спросить, почему добавленная вами схема не является более распространенной. Потребляемая мощность. Когда на любом из выходов сдвигового регистра высокий уровень, через резистор течет ток, и эта мощность тратится в виде тепла., @st2000
«В Arduino будет проходить лишь небольшое количество тока». Да, согласно таблице данных, максимум 1 мкА., @CrossRoads
Это не ток, который тратит энергию. Ток, приводящий к потере мощности, возникает, когда на любом из выходных контактов сдвигового регистра устанавливается высокий уровень. Затем ток течет через диод, подключенный к этому выводу, и через резистор на землю. Тем не менее, вы можете уменьшить потери мощности, выбрав большее сопротивление. Но большее сопротивление приведет к увеличению шума, который может неожиданным образом повлиять на входной сигнал Arduino., @st2000
Я должен добавить, что величина тока (вероятно, пара мА), о котором мы здесь говорим, не имеет большого значения в проекте подключаемого модуля. Но это начинает влиять на время автономной работы в портативном проекте., @st2000
- Выход arduino mega buzzer
- Сколько датчиков может поддерживать один модуль Arduino?
- Чтение из Serial
- Помогите с идентификацией деталей стартового комплекта Arduino с aliexpress.
- if(Serial.available()>0) VS while(Serial.available()>0)
- Какие компоненты мне нужны маленького GPS-трекера
- 74HC595 к 4 значному 7 сегменту с использованием библиотеки SevSegShift
- Параллельное чтение нескольких выводов DI как одного байта/слова
**Почему??** Ваши "требования" противоречивы; RTL вышел из моды в начале 1960-х именно потому, что он был медленным (помимо других проблем). Вы не указали частоту, но вряд ли она настолько высока, чтобы волноваться. Это тоже не вопрос Arduino?, @Milliways
@Milliways Спасибо за ваш комментарий. :-) Вы, кажется, действительно озадачены моим вопросом. Я только начинаю знакомиться с электроникой и Arduino, поэтому вполне вероятно, что я подхожу к чему-то совершенно неправильно. Под RTL вы имеете в виду Register-transfer_level? У меня проблемы с пониманием корреляции. Не могли бы вы уточнить, пожалуйста?, @Liam
Что касается отношения к Arduino, я подумал, что микроконтроллер под рукой играет роль в выборе правильного диода. Несмотря на падение напряжения на диоде, мне еще нужно достичь ВЫСОКОГО логического уровня именно для этого микроконтроллера. Разве это не зависит от того, какой микроконтроллер используется?, @Liam