Хочу использовать CH340G не только как uart мост для обычной работы, но и через USB менять прошивку в устройстве. Плюс подружить с SPI чипом на шине.
datasheet CH340G
https://static.efetividade.net/img/ch34 ... -34852.pdf Заморочка стала в недостатке выходов для ногодрыга.
Необходимо три ноги на выход (RESET, CLK, MOSI) и лишь одна на вход. В чипе наоборот избыток входящих линий. Приходится забирать все три выходные линии. В том числе и TXD.
2 TXD Output UART Data Transmit output.3 RXD Input UART Data Receive input.
9 CTS# Input UART flow control signal Clear to Send.
10 DSR# Input UART flow control signal Data Set Ready.
11 RI# Input UART flow control signal Ring In.
12 DCD# Input UART flow control signal Data Carrier Detect.
13 DTR# Output UART flow control signal Data Terminal Ready.
14 RTS# Output UART flow control signal Request to Send.
В сети найти получилось лишь пару вариантов и оба они юзают TXD. И никакой развязки SPI:
https://www.instructables.com/Serial-TTL-AVR-ISP/ http://nerdralph.blogspot.com/2014/05/p ... ammer.html1. Можно сделать отдельный переключатель "перпрошивка", который зажимает reset МК.
Так мы обойдемся лишь двумя линиями DTR# RTS#, avrdude остается лишь зашить кристалл.
Не знаю, как дудка отнесется к "неуправляемому" reset.
Вроде как простой вариант, но наличие переключателя кумарит и нет развязки SPI
2. Еще вариант добавить буфер 74HC244. Скрестить STK200, CH340G и avrdude: RTS# подцепить на reset МК и включение буфера, TXD использовать для сигнала CLK через буфер. Так и развязка SPI будет и TXD освобождается.
Имеем, пусть и неспешный, внутренний программатор. Не занимаем память бутлоадером.
Как вам вариант? Буду рад вашим мыслям, идеям, уточнениям.