Как запрограммировать чип ATmega328 au tqfp32 (SMD)?

У меня есть некоторый опыт работы с Arduino UNO, Nano, mega и т. д. Но сегодня я хочу повысить свои навыки и знания до следующего уровня. Итак, я собираюсь спроектировать свою собственную печатную плату для ATmega328 au (SMD), но на этот раз я хочу использовать программатор tqfp32, чтобы выполнить работу. Я искал в Интернете и обнаружил, что люди используют универсальные программаторы (ISP), такие как как универсальный программатор Top2013 или TL86ii, но я понятия не имею, как их использовать, и я даже не знаю, какое программное обеспечение используют ютуберы ... Они на самом деле загружают некоторые *.hex файлы, кажется, я не уверен, но это не так. не используя Arduino IDE. Насколько мне известно, они используют модуль программирования tqfp32 to dip28 (я прикрепил картинку). Затем модуль монтируется поверх ISP. Затем они загрузили код, используя какое-то неизвестное программное обеспечение. И мало кто использует USBasp, может ли кто-нибудь объяснить мне сценарий и что они сделали.. https://youtu.be/GFyr9tVEHzQ Ссылка является справочным видео.

, 👍1

Обсуждение

Пожалуйста, добавьте больше информации к вашему вопросу о том, как это будет использоваться в отношении Arduino. Спасибо., @sa_leinad

Ссылка на видео в вашем вопросе носит "рекламный" характер (преобразователь TQFP32 в DIP 28 Zif socket). Если вы хотите узнать больше об их продукте, нажмите на ссылку «ПОКАЗАТЬ БОЛЬШЕ». Эта сеть предназначена для вопросов по Arduino, а не по TQFP32., @VE7JRO


2 ответа


2

Чтобы загрузить скомпилированный код (.hex) на голый atmega, на котором не установлен загрузчик, вы можете использовать ISP. Поскольку это означает in-sсистемное-pпрограммирование, вам не нужно прошивать чип перед сборкой, но вы можете прошить его в системе, поэтому, когда он уже припаян к вашей печатной плате. На самом деле нет необходимости в тех адаптерах, которые показаны на вашей первой картинке, которые часто немного дороже. Кроме того, обе картинки противоречат идее ISP, они как бы показывают загрузку прошивки через последовательное соединение, которое, насколько я знаю, работает только с уже установленным загрузчиком...Программатор основан на SPI (последовательном периферийном интерфейсе), и вам необходимо разорвать соответствующие контакты, чтобы они подходили к этому разъему. Это, очевидно, имеет то преимущество, что впоследствии можно обновить прошивку без необходимости использования загрузчика.

Atmel предоставляет инструмент для прошивки прошивки через ISP, который называется avrdude (учебное пособие) или вы можете использовать студию atmel. Чтобы скомпилировать свой код, вы можете использовать avr-gcc.

,

1

Я использую Atmel AVR ISP MKii, который является специальным программатором — он подключается через USB к ПК и к контактам Power/Gnd/Reset/SCK/MOSI/MISO устройства SMD (т. е. контактам, которые подключаются к заголовок ICSP, если он был установлен). Затем в IDE вы можете выбрать «Загрузить с помощью программатора», и он загрузит в чип файл .hex, созданный как часть процесса компиляции IDE. Это уничтожает любой существующий загрузчик.

Arduino как ISP делает то же самое, запуская скетч, например, на Uno, который затем взаимодействует с ПК и целевым устройством для программирования через соединение ICSP.

Если контакты не выведены на разъем, но доступны через краевые разъемы, можно использовать адаптер программатора для подключения программатора к нужным контактам. Представьте, что на этой плате был корпус SMD вместо DIP — тогда 6 проводов подключаются к нужным контактам, в данном случае через свободные провода, и можно выполнять программирование. Модуль FTDI подключается к другим контактам (5V, Gnd, DTR, Tx, Rx) только для подачи питания на плату. AVR ISP MKii контролирует только используемый уровень мощности (обычно 3,3 В или 5 В) и соответствующим образом регулирует выходные уровни.

Сокет TQFP, который вы показываете, обычно используется для предварительного программирования микросхем в производственной среде перед их установкой на платы или дистрибьютором, например Digikey, если вы заказываете большое количество деталей.

Каким-то образом сделать контакты ICSP доступными на плате часто несложно, и это может быть полезно для внесения изменений.

Вот пример того же чипа в пакете TQFP, и вы можете увидеть выделенные заголовки ICSP и FTDI, позволяющие выполнять встроенную загрузку, а затем последовательную загрузку разрабатываемого кода.

Я нахожу выделенное оборудование очень удобным, поскольку я загружаю и/или программирую множество плат и чипов SMD на платах.

Также у меня есть этот переходник для чипов Atmega328P, которые устанавливаются на плату. Есть 6 маленьких подпружиненных контактов, которые прижимаются к контактам ICSP чипа сверху, чтобы обеспечить возможность программирования, когда заголовок ICSP не предоставляется или сигналы не выводятся на доступные контакты. К сожалению, хоббикинг.com их больше не продает, иногда это выручало меня из затруднительного положения.

,

У вас есть название того последнего предмета с подпружиненными штифтами?, @Ben Crowhurst

Я получил это от хоббикинга.com. Я не вижу его там сейчас, и я не нашел его нигде в Интернете. Что очень плохо, это хороший инструмент., @CrossRoads

Это самое близкое, что я мог найти http://www.diagnosys.com/DTI/41-0191.PDF от 2014 года CLIP 41-0191 Я не вижу возможности купить его., @CrossRoads