Предварительное программирование интегральных схем для поверхностного монтажа

Я пытаюсь настроить печатную плату с atmega168 и без разъема для программирования. Я намерен использовать последовательный загрузчик (на плате есть ft232) для перепрограммирования, но мне интересно, как лучше всего запрограммировать загрузчик. Кто-нибудь еще пробовал это раньше? У меня возникли проблемы с поиском сокета tqfp-32 zif.

Вы делаете это только один раз?
Я буду делать это для всей партии (> 1)

Ответы (8)

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

погопин

Если плата плотная, вы также можете превратить существующие переходные отверстия в точки программирования. Вам нужно удалить паяльную маску и, возможно, изменить размер контактной площадки и отверстия. Ряд колодок может быть намного проще, если он подходит.
что за погопины... вы говорите о заголовке провайдера 2x3 (см. мой ответ ниже)
Пого штифты представляют собой металлические стержни с подпружиненными наконечниками. Они часто используются в тестовых приспособлениях, когда вам нужно временно подключиться к цепи.
Изображение пого-булавок: flickr.com/photos/pingswept/2280832792

Если вы покупаете их в больших объемах, часто вы можете купить чипы напрямую у поставщика, предварительно запрограммированного вашим загрузчиком. Я не уверен, предлагает ли Atmel эту услугу, но я знаю, что Microchip предлагает, поэтому я предполагаю, что они тоже.

Просто поместите заголовок ISP на свою плату в качестве «альтернативы» последовательному загрузчику. Затем используйте что-то вроде AVRISP MkII для программирования вашего шестнадцатеричного файла и фьюзов с помощью AVRStudio. Возможно, вы используете его только один раз для загрузки загрузчика, но это, безусловно, самое экономичное решение, которое вы найдете.

Если вы не знаете, что я имею в виду под разъемом ISP, это штекер 2x3 со следующей распиновкой:

2x3 pin    connect to AVR pin
1          MISO
2          VCC
3          SCK
4          MOSI
5          RESET
6          GND

Контакты с нечетными номерами находятся в одном ряду, контакты с четными номерами — в другом ряду, а последовательные контакты — смежные. На макете платы, смотрящем вниз на верхний макет, контактные площадки пронумерованы следующим образом (или любым последовательным вращением):

2 4 6
1 3 5

Подключите его таким образом, и вы сможете подключить любой программатор, поддерживающий ISP (например, AVRISP MkII, STK500 и т. д.).

Я вижу много плат, на которых есть место для такого разъема (либо ряды сквозных отверстий, либо ряды контактных площадок SMT), которые нужно припаять к плате, но сам разъем отсутствует. Я предполагаю, что производитель использует пого-контакты, упомянутые Джоби, чтобы временно прикоснуться программатором к этим контактам на плате.

Вам нужен адаптер для поверхностного монтажа . Тогда сокет ZIF легко найти.

QFP довольно дорогие, но вы можете довольно дешево получить кучу большинства следов на Sparkfun или на других сайтах .

eBay также является отличным местом для приобретения сокетов ZIF и подобных принадлежностей.
В этом нет необходимости — обычно гораздо проще выполнять внутрисхемное программирование на плате после того, как деталь установлена.

В производстве мы используем эти адаптеры TQFP32, купленные на ebay .

PS. Мы купили несколько больше, чем нам нужно, поэтому, если они кому-то нужны со счетом-фактурой с НДС в ЕС... ;-)

Я имел огромный успех с этой установкой.

STK600 с TQFP32 Zif . Это позволит вам программировать ваши чипы через USB, прежде чем устанавливать их на плату.

Возможность внутрисистемного программирования — хорошая идея. Это также позволит вам обновить прошивку, если это необходимо. Другие способы, вероятно, включают изготовление игольницы или ее замену.

В качестве компромисса вы можете убедиться, что где-то на нужных цепях (GND, !RST, SCK, MOSI, MISO, +V) есть контрольные точки, и сделать игольницу, соответствующую им. Тогда вам не нужен фактический разъем/разметка интернет-провайдера на борту. Вы также можете расширить это, чтобы провести автоматизированное производственное тестирование.

Вы говорите о партиях> 1, а затем следующее, вероятно, не стоит, но это, безусловно, для больших партий, скажем, 100 и выше.

С помощью внутрисхемного программирования вы программируете устройство после сборки печатной платы, то есть с контроллером, установленным на печатной плате. В нижней части печатной платы у меня есть тестовые площадки, которые выводят наружу необходимые для программирования сигналы. Обычно это JTAG , но это может быть и последовательный порт. Поручите техническому отделу изготовить испытательное приспособление с подпружиненными испытательными штифтами , соответствующими испытательным площадкам.

подпружиненные испытательные штифты

Вам также понадобятся тестовые контакты для подачи питания . Я обычно добавляю несколько дополнительных тестовых контактов, например, для измерения определенных параметров или канала связи, по которому микроконтроллер может идентифицировать себя (например, версию программного обеспечения). У вас не может быть слишком много контрольных точек. Вам не нужен разъем, занимающий много места (который также стоит денег), и вы можете разместить тестовые площадки где угодно. Всегда найдется место для 2 мм колодки.

Тестовое приспособление стоит затрат на материалы и рабочую силу, но оно вам действительно нужно, если у вас большое производство, и тогда вы также можете использовать его для программирования устройства.
После программирования вы можете загрузить устройство на испытательном стенде и выполнить ряд функциональных тестов .