Pull to refresh

Comments 23

А по USB оно умеет загружаться? Мы с am335x от TI пробовали такой вариант: встроенный загрузчик грузит по USB специально собранный uboot, uboot грузится и создаёт поверх USB сетевой интерфейс и запускает TFTP-сервер, а потом ПК на этот сервер шлёт прошивку, которая записывается uboot-ом во флэш. Всё по одному интерфейсу. Правда, фьюзы мы не прожигали

Перебирали разные варианты, в том числе, загрузку по usb в recovery режиме. Видимо, с jtag я дружу больше, чем с usb)

И не забыть предусмотреть направляющие или рамку для позиционирования SoM на стенде.

От такого форм-фактора вообще решили отказаться. Переходим на разъемы. Из тех же самых соображений о технологичности.

Зачем мучения с пружинными контактами и сложной приспособой к ним, когда проще для программирования и отладки добавить один дешевый коннектор (1.27mm double row pin header) который может быть подключен вручную (это проще...) На который вывести:

  • сигналы для программирования (JTAG, SWD, etc...);

  • питание от внешнего источника;

  • контрольные точки (измерение напряжений вторичных источников питания размещённых на плате, частоты опорного генератора и т.п.);

  • последовательный порт, USB или сеть (настройка, вывод диагностической информации от процедуры самотестирования).

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

Причём это может быть даже не разъём, а контакты с краю печатной платы наподобии PCI-ex ламелей и включаться может в какой-либо подходящий ламельный разъём. Соответственно можно сделать "материнскую плату" для программирования и тестирования разом десятка дочерних плат.

Или что-то вроде tag-connect, который может быть как в виде отверстий и контактов на плате (занимает площадь), так и в виде краевых контактов (плата сложней).

Разумеется нужна минимальная защита от дурака, вроде того, что коннектор должен быть или симметричным, или не позволять неправильное включение. И контакты "земли" должны быть продублированы со всех возможных сторон, чтоб питание не осуществлялось через сигнальные цели и защитные диоды при включении "на горячую".

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

проще для программирования и отладки добавить один дешевый коннектор (1.27mm double row pin header)

Предлагаете тестируемое устройство габаритами 42 х 43 х 3 мм превратить в устройство габаритами 42 х 49 х 7 мм ?

Если речь о тестировании, то проще реализовать самотестирование путём прошивки отдельной программы или чем-то вроде, а не путём подключения к исключительно сложному внешнему стенду

Каким образом прошивка протестирует работу аудио, видео, LoRaWAN, 2 езернета, 2 юсб и пр без стенда, к которому подключена вся эта периферия?

а контакты с краю печатной платы наподобии PCI-ex ламелей

http://suddendocs.samtec.com/catalog_english/pcie.pdf

PCI Express разъем на 98 пинов (количество пинов в нашем SoM-модуле) имеет длину 56 мм. Предлагаете устройство габаритами 42 х 43 х 3 мм превратить в устройство габаритами 42 х 56 х 3 мм?

Соответственно можно сделать "материнскую плату" для программирования и тестирования разом десятка дочерних плат

десяток JTAG программаторов, десяток USB-UART адаптеров, два десятка USB-портов на ПК, десяток подключенных аудио-модулей, десяток подключенных видео-модулей, ....

А вариант вывести MicroSD и пару boot битов на контакты SoM-а не рассматривали? Тогда на стенде, за счёт переподтяжки boot битов, можно было бы грузиться с MicroSD и прошивать без программатора. А через нескольких GPIO контролировать результат.

Опять же все в габариты упирается. Размеры SoM-модуля 42 х 43 мм. Разместить на нем разъем для microSD карты не представляется возможным. Плюс, если посмотрите на SoM-модули таких известных производителей, как variscite, например, то SD-карту все-таки выносят на платы расширения.

то SD-карту все-таки выносят на платы расширения.

Так я об этом и говорю.

Аа, понял)

Даже не думали. JTAG нас в принципе устраивает. Видимо, у любой задачи может быть несколько решений.

Есть ещё вот такой способ подключения разъема программирования и тестирования (https://www.amazon.de/-/en/Tag-Connect-TC2050-IDC-NL-Cable/dp/B018H0UAXQ). Он более компактный  чем 1.27mm double row pin header, но нужны дополнительные сквоздные отверстия для направляющих разъема. Разъем на плате не нужен. Контакты у кабеля подпружинены. Используем такой в LCC модуле.
Есть ещё вот такой способ подключения разъема программирования и тестирования (https://www.amazon.de/-/en/Tag-Connect-TC2050-IDC-NL-Cable/dp/B018H0UAXQ). Он более компактный чем 1.27mm double row pin header, но нужны дополнительные сквоздные отверстия для направляющих разъема. Разъем на плате не нужен. Контакты у кабеля подпружинены. Используем такой в LCC модуле.

Доводилось работать с похожим. Если я правильно понял, то его нужно удерживать руками во время обновления прошивки и тестирования? Автоматизация тут не светит.

Да, все верно, держать руками нужно, вопрос лишь только в том , сколько времени занимает весь процес программирования и тестирования , если в течении 1 минуты , то вполне рабочий вариант, если дольше , то тут уже все будет зависеть от выносливости работника, который подготавливает оборудование =) . Но в вашем случае, тоже ведь нужно , чтобы кто-то менял модуль после программирования и тестирования ? =) а могу ещё поинтересоваться , где вы достали подпружиненные контакты ?

Извиняюсь, нашел ссылку на контакты в статье

Да, модуль сменил, запустил скрипт и 5 минут (время работы скрипта) я свободен)

А сидеть неподвижно, затаив дыхание, в течении 5 минут, - нет спасибо)

Пружинные контакты

Согласне , что этим Ваш вариант лучше, что можно раслабляться во время тестирования =)

Вот поэтому я и предлагал материнскую плату на N изделий разом. Логика в том, чтобы экономить время человека. Так получается эти самые 5 минут всё равно человек нужен и за рабочую смену не выпустить более 96 изделий, реально раза в два меньше, и не может работник ничем заниматься ещё.

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

Иметь 96 программаторов для этого не нужно. Нужен какой-то коммутатор, мультиплексор, переключающий единственный программатор и всё прочее ко всем приборам по-очереди. Я понимаю, что в случае USB это уже не просто... И в данном случае может быть практически не применимо (много слишком разнотипных сигналов). Но в общем случае такая идея может быть стоящая.

Конечно это зависит от объёмов, зарплат и всего прочего... Если, условно, лишняя сотня рублей в себестоимости производства важна. Или если тест не дай бог не пять минут, а все два часа (с прожаркой в духовке для куры гриль).

PS: честно говоря пост прочитал по диагонали в первый раз и подумалось, что ваш стенд и есть ваше изделие, потому такой странный на ваш взгляд комментарий и написал изначально. Да, в в случае мелкого модуля ваш вариант вполне оптимален...

Наверное я еще по объемам не дорос - 8-ми часовой полноценно загруженной смены нет и в помине.

Наверное, в ближайшее время придем к подобному стенду - на miniPCIe разъемы переходим прямо сейчас. Не соображу пока, как 5-6 пинов JTAG мультиплексировать на N модулей, - но и это решаемо наверное.

А производительность можно ускорить и без распараллеливания. Достаточно скрипт довести до ума, - заменить JTAG на ethernet при обновлении прошивки. В этом случае вполне реально снизить время работы скрипта с 5-ти до 2-х минут.

Бывают ещё "летающие контакты".

Мы вот поджимаем "иголками" при тестировании и прошивки ( используем VAR Som Solo).

Да, SD карточка на материнской плате, да с тестированием одновременным и её и usb. Да, сотнями приборов.

Считается хорошим тоном всё таки посмотреть после прошивки, по Ethernet версию того, что зашилось. Мы так вообще ставим в usb на стенде прошички и тестирования wifi и отдельно проверяем трафик с него в эзернет порт.

А зачем тестировать/прошивать готовый SoM-модуль? Он же почти наверняка тестировался производителем и к вам приходят заведомо исправные модули с уже прожжеными фьюзами и прошитой прошивкой, которую можно обновить стандартными средствами (sysupgrade, например)?

Вопрос:

"А зачем тестировать/прошивать готовый SoM-модуль? Он же почти наверняка тестировался производителем и к вам приходят заведомо исправные модули с уже прожжеными фьюзами и прошитой прошивкой, которую можно обновить стандартными средствами (sysupgrade, например)? "

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

Вторая часть Вопроса "Он же почти наверняка тестировался производителем и к вам приходят заведомо исправные модули с уже прожжеными фьюзами и прошитой прошивкой, которую можно обновить стандартными средствами (sysupgrade, например)? "

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

Вторая часть ответа на этот вопрос заключается в том, что до этого я работал в компании Овен. и мы делали похожие SOM модули, только на ситаре. Они до сих пор используются в плк110[m02]. И как бы маштаб производства достаточно большой, и при этом мы накушались Внезапных проблемм на SOM модулях. И предпочитаю надёжность в тестировании и прошивке проблемам по возврату дорогих модулей от Потребителя.

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

Sign up to leave a comment.

Articles