Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование AVR при серийном производстве
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
delamoure
День добрый.
Кому приходилось решать вопросы программирования AVR при серийном производстве?
Что лучше: внутрисхемное программирование при 3 вольтах или высоковольтное программирование во внешней колодке?
Если все-же внутрисхемное программирование: какие типы разъемов вы применяете? Видел варианты с контактами на ПП, но где найти соответствующий миниатюрный разъем просто не представляю.
Сейчас применяю WH-125-6 (HU), но разъем программатора ессно быстро изнашивается...
uriy
6 метализированных отверстий с шагом 2,54 и втыкаем туда линейку PLD (если буквы не напутал) коих навалом. При программировании просто втыкаем и прижимаем небольшим усилием в сторону.
Serj78
Цитата(uriy @ Jul 11 2008, 20:01) *
6 метализированных отверстий с шагом 2,54 и втыкаем туда линейку PLD (если буквы не напутал) коих навалом. При программировании просто втыкаем и прижимаем небольшим усилием в сторону.


на плате 6 квадратиков или кружочков.
плата вставляется в оснастку с подпружиненными контактами. если позволяет топология, то удобно делать их с краю платы и вставлять в разъем с соответствующим шагом, например , isa-шные разъемы.
также еще пробовал делать разъемы , наподобие разъемов для sd карт, тоже работает.

минус дырочек и штырьков pld в том, что их надо держать при программировании
delamoure
Спасибо.
Огурцов
Извините, а зачем при серийном производстве ISP ? Вроде бы гораздо удобнее прошить в цивильном программаторе, да и на плате лишний фарш будет не нужен.
Nanobyte
Заказчики, они разные бывают. Некоторым требуются изменения в программе в момент упаковки приборов. И хотя эти изменения иногда smile.gif оплачиваются, без разъёма ISP никак не обойтись.
Кстати, очень удобно использовать PLS или PLD с мелким шагом. Места на плате почти не занимают.
Aleksandr Baranov
TQFP корпус, например, неудобно без ISP программировать.
defunct
Цитата(Nanobyte @ Jul 11 2008, 22:59) *
без разъёма ISP никак не обойтись.

Бутлодырем.
fmdost
Цитата(defunct @ Jul 12 2008, 01:58) *
Бутлодырем.

Гы. А его чем?
defunct
А его - как удобней. ;> Можно и до пайки
Огурцов
Цитата(Aleksandr Baranov @ Jul 11 2008, 20:01) *
TQFP корпус, например, неудобно без ISP программировать.

Да вроде бы есть панельки, для производства можно позволить. Плюсом контроль _до пайки_.
Stanislav_S
Цитата(Огурцов @ Jul 12 2008, 11:19) *
Да вроде бы есть панельки, для производства можно позволить. Плюсом контроль _до пайки_.

панельки дорого, да и вставлять TQFP в панельку не сильно удобное занятие, особенно когда надо запрограммировать пару тысяч штук за раз, решение с PLD (BH) и IDC на шнурке показали наилутшие результаты.
Огурцов
Цитата(Stanislav_S @ Jul 12 2008, 07:11) *
панельки дорого, да и вставлять TQFP в панельку не сильно удобное занятие, особенно когда надо запрограммировать пару тысяч штук за раз, решение с PLD (BH) и IDC на шнурке показали наилутшие результаты.

Так панелька одна на всю партию, а то и на несколько. А дырки/штырьки/разъемы и кусок печатной платы - на каждое изделие. Вот и считайте.
Stanislav_S
Цитата(Огурцов @ Jul 12 2008, 12:21) *
Так панелька одна на всю партию, а то и на несколько. А дырки/штырьки/разъемы и кусок печатной платы - на каждое изделие. Вот и считайте.

как показует практика в 90% случаев абсолютно несущественно, а вот вставить и извлечь из панельки при этом неперекосив выводы, куда более сложная задача smile.gif
Andreas1
Стараюсь вытащить выводы программирования на существующие разъемы. При подключении платы к стенду сначала запускается программирование. Затраты времени- минимальные, на плате - ничего лишнего. Если такое невозможно- махонькие пятачки или ламели на край платы+самопальный адаптор. Адаптор с удобным надеванием платы стараюсь делать, если разъмов на плате больше одного. Когда регулировщик должен проверить и запрограммировать по сотне плат в день- каждая лишняя секунда стоит денег.
bill_vs
Если производство серьёзное, с нормальной документацией, имеем один нюанс.
Программируя микросхему отдельно, получаем новую сборочную единицу, которая должна быть записана в перечне и спецификации. Желательно, чтобы прошитые микросхемы имели маркировку. Ведь прошивка и пайка разнесены во времени и пространстве. Получив плату в проверку можно долго искать неисправность из-за ошибки комплектовщицы или монтажницы. А перешить на плате нельзя…

Кроме того, могут возникнуть проблемы при upgrade (здесь может помочь bootloader) и ремонте на объекте.
Огурцов
Цитата(bill_vs @ Jul 12 2008, 18:54) *
Если производство серьёзное, с нормальной документацией, имеем один нюанс.

Да, "бумажечки", приклеенные к корпусам, часто встречаются.
А вот если прошиваем, скажем, во время тестирования, то имеем другой нюанс - прошивальщик может зашить не тот код, что приводит к тому же самому - неисправности или краху девайса.

Цитата(bill_vs @ Jul 12 2008, 18:54) *
Кроме того, могут возникнуть проблемы при upgrade (здесь может помочь bootloader) и ремонте на объекте.

Скорее обязан, если уж апдейт предусматривается.
SasaVitebsk
Цитата(Andreas1 @ Jul 12 2008, 15:28) *
Стараюсь вытащить выводы программирования на существующие разъемы.

Пробовали. Приходится иметь большое колличество переходников для разных изделий. Всётаки перешли к стандартному ISP разъёму или ламелькам стандартным там, где нельзя подоткнуться. (Под стандартным разъёмом имею ввиду стандартно расположенные отверствия - далее как уже описано.)
Igor26
На маленьких платах ставлю PLS-6, а на больших IDC-10 со стандарной распайкой. Софт заливают за один присест вместе с лоадером. Лень-матушка:-))
bill_vs
Цитата(Огурцов @ Jul 13 2008, 00:29) *
А вот если прошиваем, скажем, во время тестирования, то имеем другой нюанс - прошивальщик может зашить не тот код, что приводит к тому же самому - неисправности или краху девайса.


Не понял, что такое тестирование? И как оно проходит при прошивке вне платы?
Огурцов
Цитата(bill_vs @ Jul 13 2008, 11:06) *
Не понял, что такое тестирование? И как оно проходит при прошивке вне платы?

Прошиффка и тестирование - после сборки. Ежели это две операции - тем более неэкономно.
А если прошивка вне платы, то тестировщик/прошивальщик не ошибется с прошивкой, поскольку не шьет. Прошивка - отдельная операция, более унифицированная и короткая по времени. А если лениво/глючно, а объем большой - сделайте/поставьте прошивальный станок.
radiofill
Цитата(bill_vs @ Jul 12 2008, 22:54) *
Если производство серьёзное, с нормальной документацией, имеем один нюанс.
Программируя микросхему отдельно, получаем новую сборочную единицу, которая должна быть записана в перечне и спецификации. Желательно, чтобы прошитые микросхемы имели маркировку. Ведь прошивка и пайка разнесены во времени и пространстве. Получив плату в проверку можно долго искать неисправность из-за ошибки комплектовщицы или монтажницы. А перешить на плате нельзя…

Кроме того, могут возникнуть проблемы при upgrade (здесь может помочь bootloader) и ремонте на объекте.



на мой взгляд идеальный вариант это SPI на плате, разъём только поменьше поставить.. и прошивку потом можно обновить если что.
sKWO
Цитата(radiofill @ Jul 13 2008, 16:12) *
на мой взгляд идеальный вариант это SPI на плате, разъём только поменьше поставить.. и прошивку потом можно обновить если что.

Это уже и сказал Igor26. читайте повнимательнее
arttab
если на плате совсем места мало, то можно штыри типа PLS, но на поверхностный монтаж и шаг помельче.
bill_vs
Цитата(Огурцов @ Jul 13 2008, 16:18) *
Прошиффка и тестирование - после сборки. Ежели это две операции - тем более неэкономно.
А если прошивка вне платы, то тестировщик/прошивальщик не ошибется с прошивкой, поскольку не шьет. Прошивка - отдельная операция, более унифицированная и короткая по времени. А если лениво/глючно, а объем большой - сделайте/поставьте прошивальный станок.

У нас регулировщик шьёт и сразу тестирует плату после пайки. Пайка производится на стороне. В некоторых случаях используется специальная тестовая прошивка для упрощения контроля железа. Почему вероятность ошибки регулировщика больше, чем ошибки прошивальщика + комплектовщика + монтажника? Да и исправить ошибку повторной прошивкой много проще чем перепайкой.
Я не утверждаю, что прошивка в плате всегда лучшее решение. Но мы используем его, и я хочу понять плюсы другого решения.
ArtemKAD
Цитата
Сейчас применяю WH-125-6 (HU), но разъем программатора ессно быстро изнашивается...

Как уже сказали - на плате 6 метализированных отверстий. Писать переходником из ширпотребной линейки штырей. Для исключения отрывания проводов от штырей наконечника обычно укрепляю наконечник и провода эпоксидкой или холодной сваркой. Заодно получаю и корпус за который удобно держать при записи. При записи вставляешь наконечник в плату и слегка наклоняешь (хотя если удачно выбрать диаметр отверстий не придется даже держать)...
Цитата
Извините, а зачем при серийном производстве ISP ? Вроде бы гораздо удобнее прошить в цивильном программаторе, да и на плате лишний фарш будет не нужен.

При МАССОВОМ производстве гораздо удобнее заказать прошивку у изготовителя микросхем. Во всех остальных случаях (кроме совсем штучного) прошивка "в цивильном программаторе" - наименее удобный вариант.
Цитата
Плюсом контроль _до пайки_.

Минусом - отсутствие контроля ПОСЛЕ пайки. Да и неисправность микроконтроллера (единственное что может поймать "контроль _до пайки_") сейчас - наименее вероятная неисправность.
Цитата
Так панелька одна на всю партию, а то и на несколько. А дырки/штырьки/разъемы и кусок печатной платы - на каждое изделие. Вот и считайте.

А сколько микросхем при этом останутся не записанными и в последствии их придется выпаивать !?
Цитата
А вот если прошиваем, скажем, во время тестирования, то имеем другой нюанс - прошивальщик может зашить не тот код, что приводит к тому же самому - неисправности или краху девайса.

Если прошиваем во время тестирования, СПЕРВА в чип записывается тестовая программа, затем изделие подключается к "тестовой косичке" через которую девайс с зашитой тестовой программой за несколько секунд тестирует сам себя, а уже затем в изделие записывается окончательная программа прошивки. Ну а для того, что-бы не записать "не тот код" делается автономный программатор который имеет одну кнопку начала записи и светодиод/пищалка говорящих о завершении записи. Сложность такого программатора - до 200 слов кода. Из особых плюсов такого подхода - если на плате больше одного МК, то их можно шить за один подход.

ЗЫ. В общем мое решение - метализированные дырки на прате плюс атономный программатор для прошивки МК (МК-ов).
Огурцов
Цитата(bill_vs @ Jul 13 2008, 15:25) *
Я не утверждаю, что прошивка в плате всегда лучшее решение. Но мы используем его, и я хочу понять плюсы другого решения.

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


Цитата(ArtemKAD @ Jul 13 2008, 18:52) *
При МАССОВОМ производстве гораздо удобнее заказать прошивку у изготовителя микросхем.

Согласен. Но до 2000 штук атмел вряд ли опустится.

Цитата(ArtemKAD @ Jul 13 2008, 18:52) *
Минусом - отсутствие контроля ПОСЛЕ пайки.

Одно вроде бы не отменяет другое.

Цитата(ArtemKAD @ Jul 13 2008, 18:52) *
Да и неисправность микроконтроллера (единственное что может поймать "контроль _до пайки_") сейчас - наименее вероятная неисправность.

Согласен. Но бывает, и что намного хуже - для всей(новой) партии. Достаточно посмотреть последние посты. В этом случае, если шить в плате, вся партия уйдет в ремонт. Или в мусор.

Цитата(ArtemKAD @ Jul 13 2008, 18:52) *
А сколько микросхем при этом останутся не записанными и в последствии их придется выпаивать !?

Нисколько - шить нужно с контролем.

Цитата(ArtemKAD @ Jul 13 2008, 18:52) *
Если прошиваем во время тестирования, СПЕРВА в чип записывается тестовая программа

Тогда вне платы шьется бутлоадер. Иначе, таки да - разъем ISP.
defunct
Цитата(ArtemKAD @ Jul 13 2008, 21:52) *
ЗЫ. В общем мое решение - метализированные дырки на прате плюс атономный программатор для прошивки МК (МК-ов).

Зы, IDC-10/6/5 впаять и шить нормальным обжатым шлейфом дорого? Ращески "на вес" продают.

Цитата(Огурцов @ Jul 13 2008, 22:08) *
Но бывает, и что намного хуже - для всей(новой) партии. Достаточно посмотреть последние посты. В этом случае, если шить в плате, вся партия уйдет в ремонт. Или в мусор.

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

Цитата(Огурцов @ Jul 13 2008, 22:08) *
Тогда вне платы шьется бутлоадер. Иначе, таки да - разъем ISP.

IMHO нет смысла скупиться на разъемы. Если место на плате позволяет, можно и ISP и JTAG разъемы ставить - пользователю приятное сделать. ;>

Вот например, если бы в d-link'овых роутерах где ARM'ы, впаивали бы сразу JTAG разъем, я думаю многие разработчики бы кинулись их покупать и пользовать вместо отладочных плат. wink.gif
Я бы себе точно взял бы такой девайс вместо дерьмеца от Olimex'a.
Огурцов
Цитата(defunct @ Jul 13 2008, 22:32) *
При смене комплектовки что мешает собрать и оттестировать вначале пару экземпляров.

Сборка "на стороне".

Цитата(defunct @ Jul 13 2008, 22:32) *
IMHO нет смысла скупиться на разъемы. Если место на плате позволяет, можно и ISP и JTAG разъемы ставить - пользователю приятное сделать.

Нафига это пользователю ? Пользователь нужен для того, чтобы пользовать, а не для того, чтобы дебажить.

Цитата(defunct @ Jul 13 2008, 22:32) *
Вот например, если бы в d-link'овых роутерах где ARM'ы, впаивали бы сразу JTAG разъем, я думаю многие разработчики бы кинулись их покупать и пользовать вместо отладочных плат. wink.gif

У моего d-link`а - бутлодырь. Если разобраться - отличная база...можно бы все свои поделки выбросить и заменить на него. Был бы какой-то стартап-пример, м.б. так бы и поступил( Даже без JTAG`а.
defunct
Цитата(Огурцов @ Jul 14 2008, 02:26) *
Нафига это пользователю ? Пользователь нужен для того, чтобы пользовать, а не для того, чтобы дебажить.

Ну мало ли. Представим закончился срок эксплуатации вашего девайса. Так из него можно будет хоть мигалку сделать, в школы/ВУЗы передать чтобы дети игрались, вместо того чтобы выбрасывать. ;>

Цитата
У моего d-link`а - бутлодырь. Если разобраться - отличная база...можно бы все свои поделки выбросить и заменить на него. Был бы какой-то стартап-пример, м.б. так бы и поступил( Даже без JTAG`а.

Сложновато без JTAG'а. А база действительно отличная. И думаю им (d-link'у) по барабану, что на их железе будет крутиться, главное чтобы брали по цене роутеров.
То же самое может относиться и к устройствам, разрабатываемым Вами ;>

Цитата(Огурцов @ Jul 14 2008, 02:26) *
Сборка "на стороне".

Прекрасно Вас понимаю, у нас тоже сборка на стороне.
Но при смене комплектовки что мешает спаять 1-2 экземпляра своими силами.
Передать в тестирование - после чего зеленый свет на заказ сборки.
Или лучше превед на всей партии получить?
ArtemKAD
Цитата
Одно вроде бы не отменяет другое.

Отменяет. Если чип записать до пайки окончательной программой, то тестировать плату после пайки придется вручную, что при достаточной сложности изделия - крайне малоэффективно.
Цитата
Но бывает, и что намного хуже - для всей(новой) партии.

Это не брак МК, это разгильдяйство разработчиков. Запись МК до пайки тут не поможет никак.
Цитата
Нисколько - шить нужно с контролем.

А причем тут контроль? Двух человек садить на запись - один шьет, а другой потом проверяет первого?
Цитата
Тогда вне платы шьется бутлоадер. Иначе, таки да - разъем ISP.

Ну какой бутлоадер, скажем в AtTiny26? Там бы прогу поместить, а не то, что прогу с загрузчиком...
Цитата
Зы, IDC-10/6/5 впаять и шить нормальным обжатым шлейфом дорого? Ращески "на вес" продают.

Да нет. У меня просто обычно места на плате в обрез. Часто и дырки программатора под МК приходится засовывать че бы не мешали.
Да и запись автономником идет быстрее "цивильных программаторов с ПК", что уменьшает время которое человеку надо удерживать наконечник в плате.


ЗЫ. Кстати в тему. Не далее как сегодня искал ZIF панельку под SSOP-48 для записи китайского HT48R70 (до ISP они не доросли). Слава Богу, что уту заразу мне не придется писать в объемах больше 5 шт - ножки гнуться от любого чиха.
Ну и как "приятное дополнение" - цена панельки превышает 220$.
Igor26
Цитата
А причем тут контроль? Двух человек садить на запись - один шьет, а другой потом проверяет первого?

Скорее всего, речь идет о верификации после прошивки. Так это может любой программатор.
ArtemKAD
Цитата
Скорее всего, речь идет о верификации после прошивки. Так это может любой программатор.

Но это не помогает.
Мне иногда приходится писать At45DB041 в программаторе. И я сам себя несколько раз ловил на том, что не прошиваю микросхему. Т.е. вставить вставил, отвлекся и не заметил, что клавишу "запись" не нажал. А затем смотришь на экран - запись завершена (еще от предыдущей), в панельке микросхема стоит и автоматом ложишь ее в кучу записанных....
Единственное что хоть как-то спасает - счетчик записанных микросхем который сверяешь по окончании записи пенала. Но искать там не записанную - то еще удовольствие. sad.gif
Огурцов
Цитата(ArtemKAD @ Jul 15 2008, 08:26) *
И я сам себя несколько раз ловил на том, что не прошиваю микросхему. Т.е. вставить вставил, отвлекся и не заметил, что клавишу "запись" не нажал.

Поставить концевик ?
MrYuran
Цитата(Огурцов @ Jul 15 2008, 14:01) *
Поставить концевик ?

Клювом не щёлкать!
Огурцов
Цитата(MrYuran @ Jul 15 2008, 11:12) *
Клювом не щёлкать!

Любая система, построенная на человеческой надежности, ненадежна(с) Даже если по клюву нащелкать.
uriy
Цитата
Мне иногда приходится писать At45DB041 в программаторе. И я сам себя несколько раз ловил на том, что не прошиваю микросхему. Т.е. вставить вставил, отвлекся и не заметил, что клавишу "запись" не нажал. А затем смотришь на экран - запись завершена (еще от предыдущей), в панельке микросхема стоит и автоматом ложишь ее в кучу записанных....
Вот в этом то и минус программатора. Нужен ISP. При настройке изделия наверняка будет ясно что память не зашита. У нас шьют AT45DB161D штук 500 в месяц - не заработала плата зашили еще раз.
kolobok0
Цитата(ArtemKAD @ Jul 15 2008, 12:26) *
...Т.е. вставить вставил, отвлекся и не заметил, что клавишу "запись" не нажал. А затем смотришь на экран - запись завершена (еще от предыдущей), в панельке микросхема стоит и автоматом ложишь ее в кучу записанных....


Дабы на такое не налетать - делаю чтение после выставления защиты. программатор скидывает буффер в нули. хоть и лишние пару нажатий на клаве(перегрузить буффер), но зато хоть какая то фаза окончания - пустой буффер. Хотя опять же, если не нажать перегрузку smile.gif


с уважением
(круглый)
ЗЫ
Сам пришёл к ISAшному разьёму у края.
ЗЫ ЗЫ
Понравилась идея с автономным программатором...Для передачи всего процесса штамповки на лево - удобная вещь..
defunct
Цитата(kolobok0 @ Jul 16 2008, 16:04) *
Дабы на такое не налетать - делаю чтение после выставления защиты.

IMHO проще определить для себя правило:
отвлекся и не помнишь шил или нет, значит не шил и надо шить.

Как говорится, лучше перебдеть чем недобдеть.
Igor26
Цитата
отвлекся и не помнишь шил или нет, значит не шил и надо шить.
Как говорится, лучше перебдеть чем недобдеть.

О! Золотые слова!!! Справедливы даже для случая с однократно программируемыми микросхемами. Шьётся то одна прошивка.
Цитата
При настройке изделия наверняка будет ясно что память не зашита. У нас шьют AT45DB161D штук 500 в месяц - не заработала плата зашили еще раз.

Еще раз +1! Пришла партия плат в наладку. Одна не идет. Причина - не зашита конфигурационная ЕРС1. Выпаяли (делов то, DIP8), зашили - полная гармония:-)
sysel
А ещё, если объём производства грандиозный, можно на Atmel-е заказать уже запрограммированные чипы.
_Ivan_33
а для корпуса SO - есть такие панельки что в программатор ???
и можно фоту разъема и кусочек платы - где кружочками ставится и программируется ... сфоткайте плс
Kriogen
Еще вариант с использованием "гребенки" PLS: В качестве отладочного разъема на плате развести ряд отверстий с шагом 2,54 мм (либо другим - смотря какая гребенка). Но отверстия располагать не чётко в одну линию, а как бы в шахматном порядке, с расстоянием между осями рядов 0.1 ... 0.15 мм. Таким образом, при подсоединении разъема программатора вы получите надежный контакт без необходимости чего-то придерживать и подгибать. Единственный замеченный минус - этот способ только для плат с металлизацией отверстий.
reload
Опыт показывает: программирование МК в программаторе до пайки не исключает потребности в разъеме под внутрисхемное программирование. Или бутлудере (и, опять же, разъеме) wink.gif
Инженер
А какие есть отдельные программы, не в комплекте AVR Studio, для прошивки по ISP DRAGON AVR?, чтобы прошивать можно было, не запуская AVR Studio.

А какие есть отдельные программы, не в комплекте AVR Studio, для прошивки по ISP DRAGON AVR?, чтобы прошивать можно было, не запуская AVR Studio.
ae_
Цитата(Инженер @ May 21 2010, 15:12) *
А какие есть отдельные программы, не в комплекте AVR Studio, для прошивки по ISP DRAGON AVR?, чтобы прошивать можно было, не запуская AVR Studio.

Есть консольная программа [INSTALL PATH]\Atmel\AVR Tools\AvrDragon\avrdragon.exe
Правда она идёт в составе AVR Studio, и скорее всего не работает без установленной AVR Studio, но для прошивки запускать студию не придётся.
Ключи запуска посмотреть в хелпе или avrdragon.exe -h
demiurg_spb
Цитата(Инженер @ May 21 2010, 10:12) *
А какие есть отдельные программы, не в комплекте AVR Studio, для прошивки по ISP DRAGON AVR?, чтобы прошивать можно было, не запуская AVR Studio.
Может AVRDUDE?
smk
Чтобы не изобретать велосипед подскажите кто знает ссылочку на автономный программатор (схема, прошивка). Желательно чтоб и фузы тоже прописывал. Спасибо.
Инженер
Цитата(ae_ @ May 21 2010, 16:06) *
Есть консольная программа [INSTALL PATH]\Atmel\AVR Tools\AvrDragon\avrdragon.exe
Правда она идёт в составе AVR Studio, и скорее всего не работает без установленной AVR Studio, но для прошивки запускать студию не придётся.
Ключи запуска посмотреть в хелпе или avrdragon.exe -h

А чего-нибудь не консольного, можно стороннего разработчика, нету?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.