Как прошить трансивер SDR-трансивер Quark |
![]() |
Добавил(а) microsin |
Мне пришлось восстанавливать прошивку трансиверов Quark версий v1.7 и v2.0, в которых не был прошит UART-загрузчик, с помощью программатора USBasp [2]. Для этой цели придется тонкими проводками припаяться к выводам микроконтроллера ATmega328P (корпус QFN32). Процесс восстановления загрузчика и прошивки трансивера Quark по шагам: 1. Подключите ISP SPI интерфейс программатора USBasp к выводам микроконтроллера ATmega328P. Схема соединений с коннектором программатора USBasp: вывод 15 (PB3) --<-- MOSI 1 [] [] 2 +VCC 3 [] [] 4 вывод 29 (RESET) -<- RST 5 [] [] 6 вывод 17 (PB5) --<-- SCK 7 [] [] 8 GND ----- к общему проводу трансивера вывод 16 (PB4) -->-- MISO 9 [] [] 10 GND 2. С помощью программатора USBasp прошейте фьюзы ATmega328P: HFUSE = DA 3. Прошейте Arduino-загрузчик. Традиционный UART-загрузчик [7] не подойдет, потому что он обычно рассчитан на частоту кварца плат Arduino 16 МГц. Поскольку в трансивере Quark применен кварц на 20 МГц, нужна модифицированная версия Arduino-загрузчика, рассчитанная на эту частоту. Я использовал загрузчик AdaBoot, который скомпилировал на частоту кварца 20 МГц и скорость UART 57600 [4]. С помощью программатора USBasp прошейте файл bin/ATmegaBOOT_xx8_adaboot328-UART57600-20MHz.hex из архива [4]. 4. Теперь можно прошивать firmware трансивера Quark традиционным способом, как скетч Arduino [5]. Для подключения USB-UART переходничка на плате трансивера Quark есть 3 контактные площадки, промаркированные как TXD, RXD, RST: Подключите USB-UART переходник к этим контактам следующим образом: USB-UART RX --------<------- TXD Quark TX --------->------ RXD DTR ---||---->---x-- RST 0.1 мкФ | | ----- \ / ----- | | VCC (+5V) Конденсатор 0.1 мкФ между сигналами DTR и RST нужен для формирования сигнала сброса микроконтроллера. Диод нужен для быстрого разряда конденсатора, когда на выходе DTR возникает положительный импульс. 5. Прошейте скетч Quark [5] в среде программирования Arduino IDE. Для этого выберите в меню Tools настройки Board: "Arduino Nano"и Processor: ATmega328P (Old Bootloader). В таком варианте данные будут передаваться в загрузчик на скорости 57600 бод. [Ссылки] 1. uSDX: микро-трансивер SDR на AVR. |