схема выбора напряжения для программирования микроконтроллеров

У меня есть микроконтроллер с выводом VPP, которому требуется 12 вольт для включения режима программирования, 5 вольт для нормального режима и 0 вольт для сброса, и я хочу добиться всех этих режимов без ручного подключения вывода к каждому из источников напряжения.

Пока что я могу контролировать, получает ли он 0 вольт или другой источник напряжения, просто подключив VCC к резистору и к коллектору NPN. Эмиттер того же НПН заземлен, и если я подам 5 вольт на базу, то выход на коллекторе будет на нуле. В противном случае его на VCC.

Могу ли я каким-то образом добиться аналогичного эффекта с двумя транзисторами NPN, когда они оба управляют одним и тем же выводом VPP на микроконтроллере, ничего не взрывая?

Ответы (2)

Насколько я понимаю из вашего текущего решения, VPP (при включении) подается через резистор. Я не думаю, что это хорошая идея. Если этот резистор имеет слишком высокое значение, и MCU потребляет значительный ток от VPP, падение напряжения будет слишком большим, и MCU может перезагрузиться. Но если вы уменьшите значение резистора, ток, потерянный впустую, когда VPP равен 0 В, станет слишком большим. Вместо этого вы должны подавать VPP через транзистор PNP.

Во всяком случае, вот базовое решение, просто используя простые компоненты:

введите описание изображения здесь

Вы можете выбрать любое напряжение для питания VPP (12 В, 5 В или GND), установив высокий уровень соответствующей входной линии управления. В этой схеме нет ничего особенного: как для 12-вольтовых, так и для 5-вольтовых трактов есть пара NPN + PNP, которые действуют как регулятор уровня. Затем для пути GND просто NPN, как вы делали изначально. Единственный трюк - диод D1 для предотвращения обратной подачи 12 В к источнику питания 5 В и обратного смещения эмиттера 5 В PNP, когда VPP составляет 12 В. Используйте диод Шоттки для меньшего падения.

Примечание: не устанавливайте оба SET_xV и SET_GND на высокий уровень одновременно!

поместите 3 переключающих элемента на пути контакта VPP к 3 источникам напряжения, подключите их выходы друг к другу к VPP, затем проводные переключатели активируют контакты к демультиплексору 2-> 4. Подключите вход декодеров к вашему контроллеру и выберите одно из напряжений. источников каждый раз, выбираявведите описание изображения здесь

Итак, я мог бы получить мультиплексор 3-к-одной линии и подать 5 вольт в качестве входа и 12 вольт в качестве другого входа? Я предполагаю, что мне понадобятся чипы серии cmos 4000? но я не хочу ничего взрывать. Если есть ответ, связанный с NPN-транзисторами, то я пойду на это больше.