Программирование AVR Как прошить трансивер SDR-трансивер Quark Sun, May 05 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Как прошить трансивер 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
LFUSE = FF
EFUSE = FD
LOCK  = FF

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:

Quark SDR transceiver TXD RXD RST fig01

Подключите USB-UART переходник к этим контактам следующим образом:

USB-UART RX  --------<------- TXD Quark
         TX  --------->------ RXD
         DTR ---||---->---x-- RST
              0.1 мкФ     |
                          |
                        -----
                         \ /
                        -----
                          |
                          |
                       VCC (+5V)

Quark SDR transceiver TXD RXD RST fig02

Конденсатор 0.1 мкФ между сигналами DTR и RST нужен для формирования сигнала сброса микроконтроллера. Диод нужен для быстрого разряда конденсатора, когда на выходе DTR возникает положительный импульс.

5. Прошейте скетч Quark [5] в среде программирования Arduino IDE. Для этого выберите в меню Tools настройки Board: "Arduino Nano"и Processor: ATmega328P (Old Bootloader). В таком варианте данные будут передаваться в загрузчик на скорости 57600 бод.

Quark SDR transceiver Arduino IDE menu Tools

[Ссылки]

1. uSDX: микро-трансивер SDR на AVR.
2. Утилиты для программатора USBasp с графическим интерфейсом.
3. EXtreme Burner: добавление микроконтроллеров AVR.
4. 231009AdaBoot.zip - загрузчики Arduino.
5. Трансивер uSDX Quark site:swling.ru.
6. 230928Quark.zip - скетч трансивера Quark, схема, даташиты.
7. Arduino bootloader.

 

Добавить комментарий


Защитный код
Обновить

Top of Page