Всем привет! Интересная задача. В составе Arduino есть бридж UART2USB (Atmega16U2) или CP2103 и микроконтроллер, например ATMega328. И есть конденсатор, который обеспечивает Reset микроконтроллера при загрузке скетчей (управляемый через DTR). На схеме http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf конденсатор С5 Задача состоит в том, чтобы вставить в разрыв между конденсатором и RESET MCU "нечто", что будет разрывать цепь, если на пине RstEn (см. схему ниже) логическая "1". А если на Rst En логический "Ноль", то цепь С5 - RESET MCU замкнута. (или же наоборот "0" - цепь замкнута, "1" - разомкнута)
На выбор: 1) любой маломощный сигнальный диод 1шт. 2) транзистор соответствующей полярности 1шт. 3) логическое "ИЛИ" - SN74AHC1G32 1 шт. Кто будет генерировать RST_EN ?
Спасибо за варианты. Генерить RstEn будет внешнее по отношению к ардуине устройство. Соответственно, сигнал RstEn не будет иметь Z-состояния. По-моему, в ваших вариантах 2 и 3 одна из ног (транзистора или логики) будет "висеть" в воздухе бОльшую часть времени. Поскольку DTR все таки единичный импульс. Значит схема будет нестабильна.
Ммм... да, в 2,3 вариантах нужно будет добавить маленькую подтяжку DTR после емкости к Vcc, скажем 100k ~ 200k. В первом варианте не нужно, он же и самый простой.
RST_EN o---|>|---o RESET o---| |---o DTR Ну может еще резистор стоит добавить последовательно с диодом...
RST_EN - выход с низким сопротивлением, RESET - вход с высоким сопротивлением. Когда RST_EN в "1", RESET тоже в "1" и DTR не может продавить RESET до "0", когда RST_EN в "0", от RESET к RST_EN ток не течет, RESET остается на своей слабой подтяжке, DTR может придавить RESET к "0".