Quasar ARM — обновление прошивки
Quasar ARM — это один из самых популярных металлодетекторов, схема и прошивка которого находятся в свободном доступе на сайте автора, за что ему отдельное спасибо. Возможности этого прибора выносят его на один уровень со многими коммерческими и дорогостоящими моделями. Автор постоянно совершенствует своё творение и время от времени выпускает новые прошивки, каждая из которых даёт прибору новые возможности, повышает его стабильность и точность в определении типа металла. В данной статье я расскажу как обновить прошивку металлоискателя на примере своего прибора.
Итак, если вы счастливый обладатель Quasar ARM и хотите освежить его с помощью новой прошивки, внимательно читайте инструкции, приведённые ниже.
Как вам известно (или неизвестно), мозгом квазара служит микропроцессор STM32F100C. И как бы не хотелось свести сложность его прошивки к минимуму, нам всё равно понадобится специальный USB-TO-TTL программатор. Его конечно можно собрать самостоятельно, но лучше всего купить или взять у товарища во временное пользование. Продаются такие программаторы в магазинах радиотоваров. Лично я брал свой на Aliexpress. Для конкретики привожу фото №1 и №2, на которых нужный программатор показан с двух сторон.
Фото №1 — программатор — вид сверху
Фото №2 — программатор — вид снизу
После того, как программатор у вас на руках, необходимо правильно подружить его с операционной системой. У меня на компьютере установлена Windows 10 и признаюсь, мне пришлось немного поломать голову, чтобы добиться в этом направлении положительного результата. Итак, если вы тоже не накопили на MAC и пользуетесь стандартной виндой, делаем следующее: вставляем программатор в любой порт USB компьютера и заходим в диспетчер задач, чтобы посмотреть как он определился в системе. Скорее всего вы получите примерно следующую картину (фото №3).
Фото №3 — проблема при определении программатора
Из вышеприведенного фото видно, что Windows определила программатор и присвоила ему виртуальный порт COM9. Однако маленький восклицательный знак возле названия устройства говорит о проблеме с драйвером и как следствие текущую неработоспособность программатора. Исправить это можно с помощью установки специального драйвера, который мне удалось найти в интернете далеко не с первого раза. Итак, качаем драйвер по этой ссылке:
pl2303-prolific-driverinstaller-v1_5_0.zip
[3 Mb] (скачиваний: 0)
Далее распаковываем архив и получаем несколько файлов, как на фото №4.
Фото №4 — распакованный архив с драйверами для программатора
Запускаем исполнительный файл из архива и дожидаемся конца установки. После чего, возвращаемся в «Диспетчер устройств«, находим строку с названием программатора (Фото №3), наводим на неё курсор мыши, жмём правую клавишу и в выпадающем меню выбираем «Обновить драйвер«. Система предложит установить драйвер автоматически, или из указанного места на компьютере — склоняемся ко второму варианту, не забывая указать папку с распакованным архивом, как на фото №5.
Фото №5 — выбор папки с драйверами
Скорее всего, что после нажатия кнопки «ОК«, вам будет предложено установку одного из 2-х драйверов на выбор. Необходимо выбрать тот, у которого более старая версия, как показано на фото №6.
Фото №6 — установка более ранней версии драйвера
Жмем «Далее» и ожидаем окончания процесса. Теперь программатор должен корректно определяться в системе. Для проверки этого факта, заново откройте «Диспетчер устройств» и обратите внимание на строку, где был восклицательный знак. Если всё прошло успешно — он должен исчезнуть, как показано на фото №7.
Фото №7 — корректное определение программатора (нет восклицательного знака)
Итак, программатор установлен, осталось его правильно настроить. Жмём правой кнопкой мыши на названии программатора в «Диспетчере устройств» (фото №7), в выпадающем меню выбираем пункт «Свойства» и в открывшемся окне переходим на вкладку «Параметры порта«. Здесь настраивается скорость порта и алгоритм общения с программой, через которую в будущем мы будем прошивать наш процессор. Установите значения в соответствии с приведённым ниже фото №8.
Фото №8 — правильные настройки порта программатора
С этого момента первый и самый неприятный этап завершён. Плюс только в том, что его необходимо выполнить один раз. При последующих прошивках настройка программатора не требуется. Теперь определимся со способом подключения программатора к вашему металлодетектору. В большинстве случаев на печатных платах разведены и подписаны специальные штырьки для подключения программатора. В моём случае штырьки были распаяны, но не подписаны. Выглядело это примерно так (фото №9).
Фото №9 — безымянный разъём для программирования
Если у вас подобная ситуация, то следует взять в руки тестер и вызвонить всё согласно приведённой ниже схеме (фото №10).
Фото №10 — схема подключения программатора
На этой схеме я изобразил способ подключения программатора к микропроцессору, независимо от разновидности печатной платы, на базе которой выполнен ваш Quasar ARM. Это классический способ программирования по UART-интерфейсу. Немного пояснений по схеме. В 99% случаев микропроцессор у вас будет в корпусе LQFP48. Нумерация его контактов начитается с небольшого круглого значка и идёт против часовой стрелки. На схеме для ясности подписаны все необходимые контакты с указанием их номеров в скобках. Пины RX, TX и VSS микропроцессора подключаются непосредственно к программатору. Вывод BOOT0, служит для перевода STM32 в режим программирования. Для входа в этот режим необходимо замкнуть BOOT0 с выводом питания VBAT, иначе процессор просто запустится и будет работать в штатном режиме. Позже я дам конкретную последовательность действий, чтобы у вас в голове не было путаницы.
С подключением разобрались — можно качать софт для программирования. Как правило микропроцессоры STM32 программируются с помощью специальной фирменной программы Flash Loader Demonstrator. Она бесплатна и есть на официальном сайте компании. Установка не должна вызвать трудностей, поэтому оставлю этот момент без внимания. Далее идём на сайт автора и качаем последнюю версию прошивки. На момент написания этой статьи самая свежая версия 2.3.3, о чём свидетельствует фото №11 но мне больше по душе более стабильная версия 2.2.18.
Фото №11 — прошивка, выбранная мною для записи в МД
Скачанный архив необходимо распаковать и извлечь из него файл с расширением .hex. Это и есть бинарный файл прошивки. Теперь можно переходить к заключительному и самому ответственному этапу.
Прежде всего подключаем программатор и замыкаем с помощью перемычки выход BOOT0 и VBAT микропроцессора. Вставляем программатор в порт USB и подаём питание на металлодетектор. Если на экране ничего нет, значит мы на верном пути и микропроцессор перешёл в режим программирования. На текущий момент у вас должна быть приблизительно такая картина, как на фото №12
Фото №12 — перемычка замкнута, программатор подключен, питание подано
Далее запускаем Flash Loader Demonstrator. Перед вами должно появится окно, показанное на фото №13.
Фото №13 — настройки соединения
Это настройки соединения по UART-протоколу. Указанные цифры должны в точности соответствовать тем, что мы задали в окне настройки порта программатора (фото №8). Параметр Port Name — имя виртуального порта, которое присвоил Windows программатору. У вас оно наверняка будет отличаться. Это имя можно подсмотреть в «Диспетчере устройств» на примере фото №7. Когда все настройки выставлены — жмём «Next» для перехода к следующему этапу (фото №14)
Фото №14 — программа увидела микропроцессор
Как видно из вышеприведенного фото, программа определила процессор и размер его flash-памяти (64 KB). Это говорит о том, что мы на верном пути и можно идти дальше — жмём «Next«, после чего видим следующее окно (фото №15).
Фото №15 — карта памяти микропроцессора
Это окно не представляет для нас ценности и просто отображает внутреннюю структуру памяти STM32. Жмём «Next» для перехода к следующему пункту (фото №16)
Фото №16 — заключительные настройки
В этом окне устанавливаем галочку на пункте Glabal Erase, чтобы перед программированием с микропроцессора был удалён весь ненужный мусор. Далее нажимаем на кнопку с тремя точками для добавления файла прошивки, после чего открывается диалоговое окно, показанное на фото №17.
Фото №17 — добавление файла прошивки
Здесь необходимо перейти в папку, куда была скачана и распакована прошивка с сайта автора. Обратите внимание, чтобы файл был виден, необходимо выставить тип файлов *.hex (изначально будет другое значение). Открываем указанный файл и шьем микропроцессор. Данный процесс продемонстрирован на фото №18.
Фото №18 — процесс прошивки
В целом, запись программы занимает несколько секунд, по прошествии которых получаем сообщение об успешном завершении дел (фото №19).
Фото №19 — прошивка успешно завершена
Теперь можно закрыть программу, разобрать схему (не забыв снять перемычку с BOOT0) и выполнить пробный запуск. На фото №20 показан результат моих стараний до и после обновления прошивки.
Фото №20 — итоговый результат
Надеюсь мне удалось доступным языком выразить свои мысли и данный материал поможет самоделкиным обновить свои приборы без лишних телодвижений. Всем творческих успехов!!!
Источник: