Перейти к содержанию
    

Для чего в Jtag разъеме столько земель?

4 часа назад, Xenia сказал:

Так о том и речь, зачем Segger сделал для JTAG такой огромный разъем?!

Это ARM  CoreSight Connectors . А еще есть на 38 контактов  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Harbinger сказал:

Случается, что слишком высокий. Один из выходов - площадки на плате и вот такая штука - только SWD:

J-Link-6-Pin-Adapter_500x.jpg

Это, кажись, не Segger, а сами ARM ещё, на заре. Ну и пошло-поехало, как стандарт.

Классная вещь! Спасибо за инфу!  :smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, Xenia сказал:

...они просто вынуждены ставить такую большую колодку на плату ради совместимости со "штатным сеггеровским кабелем".

А зачем подстраиваться под какие-то надуманные стандарты?
Я, например, в свои девайсы закладываю любой понравившийся мне разъем.
Тут скорее определяющим фактором в первую очередь будет эстетика и внешний вид.
А в некоторых случаях и вовсе разъем специализированный для программирования закладывать нельзя/не возможно.
Тогда: имею один экземпляр девайса под отладку на столе (чтобы можно было подключить отладчик), на нем обкатываю прошивки.
А в непосредственно изделия закладываю бутлоадер. Изначальную прошивку делаю штатными средствами самого МК (как правило, в них есть заводской бут).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 минуты назад, Arlleex сказал:

Я, например, в свои девайсы закладываю любой понравившийся мне разъем.

Трудно будет в поддержке/ремонте, когда через N лет принесут такой девайс и нужно будет вспомнить и найти - какой хвост из полусотни вариантов для всего зоопарка выпускаемых серийно устройств совместим с данным девайсом данной ревизии платы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

39 минут назад, jcxz сказал:

Трудно будет в поддержке/ремонте, когда через N лет принесут такой девайс и нужно будет вспомнить и найти - какой хвост из полусотни вариантов совместим с данным девайсом данной ревизии платы?

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

А так - у меня в большинстве случаев обычная PLS-ка (штырьковая гребенка 2.54мм) на 5 контактов - SWDIO, SWCLK, RST, VCC, GND.

А вот тут вообще нет разъема для программирования - заливается бут и прошивается через него.
Но все штыри торчат наружу, так что при сильном желании подцепиться отладчиком, все-таки, можно...image.thumb.png.102aa66f9ac5dbe2a76dffa418033c07.png
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jcxz said:

Классная вещь! Спасибо за инфу!  :smile:

У меня такой. Сначала относился с подозрением, а потом привык.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал когда-то себе такой переходник (JTAG+PDI/TPI) to BH2-10 и теперь

во всех изделиях ставлю такой разъём, даже если в изделии только один интерфейс нужен.

Всего одно втыкивание и всё скопом прошить можно. У меня просто везде и/или AVR+CPLD+FPGA. :biggrin:

123.thumb.jpg.b9bc9f7a92d28c42d137a0f6a016145c.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 11/11/2020 at 4:59 PM, MementoMori said:

Это какая-то особенность именно JTAG?

10 пиновый разъем не влазит. А вот 8 пиновый влез бы.

Можно ли обойтись одним земельным проводом? Если нет то тот факт, что на вышеприведенной картинке земли не сплошняком, а вклиниваются в сигнальные линии, имеет какое-то значение?

Как уже и сказали, такое кол-во земель нужно для обеспечения хорошего качества сигналов, что особенно важно на высоких скоростях передачи данных. Эти разъемы предназначены для подключения через плоский кабель, и в нем сигнальные линии при соответствующем pin-out'е будут чередоваться с линиями общего провода. Это улучшает качество сигналов в нескольких смыслах:

  • делает линии передачи однородными (уменьшается головная боль в связи с отражениями фронтов сигналов - хотя бы канал передачи теперь не вносит их, остается только рассогласование в источнике/приемнике, но тут уж извольте согласовывать, хотя бы последовательно в источнике)
  • кратно снижает взаимные емкостные наводки между сигнальными линиями.

Последний фактор очень важен, т.к. сильно снижает взаимное влияние TCK и TMS в JTAG, например. Напомню, что в JTAG переключение машины состояний происходит как раз в зависимости от значения TMS по фронтам TCK. Если фронт TCK из-за наводки исказит значение TMS, машина состояний пойдет совсем не туда, куда хотелось бы, со всеми вытекающими последствиями в виде дальнейшего необъяснимого поведения подключенной debug-подсистемы (которое быстро заканчивается такой же непонятной ошибкой, как правило).

 

Кстати говоря, поскольку тут речь идет о фронтах сигналов, то эти наводки будут приводить к подобным сбоям и на совсем низких скоростях передачи (50-100 kHz, например - и это наблюдалось на практике). Просто их проявления придется ждать дольше (меньше действий/событий в единицу времени). Частота тактового сигнала в этом диапазоне частот (0 - 5 MHz) не важна, значение имеет степень емкостной наводки. Потому важно контролировать скорость нарастания фронтов, с одной стороны, и как-то экранировать сигнальные линии друг от друга - с другой.

 

А при дальнейшем росте частоты тактового сигнала начнет помогать и первый фактор - однородность линий.

 

Все это касается, конечно, и остальных сигналов, хотя и в значительно меньшей степени (не так критично, хотя бы для 0-5MHz диапазона).

 

Обратите внимание на приведенную вами распиновку. Тот, кто ее создавал, явно был в курсе вышеописанной проблемы - TCK и TMS разделены аж 2-мя землями!

 

Какие можно дать рекомендации? Варианты такие:

1) Ваша распиновка годится, если перевести ее на мЕньший разъем (с шагом 0.05" вместо 0.1" - это как раз тот, на который приводили ссылку - шаг 1.27 mm).

2) Сделать разъем CoreSight 10 pin с комбинацией SWD/JTAG сигналов (это все тот же разъем с 1.27мм шагом, только распиновка другая). Изоляция TCK/TMS (или SWCLK/SWDIO) похуже (но подтверждено - рабочая), зато разъем стандартный.

3) Сделать свой разъем с меньшим кол-вом контактов, уделив при этом особое внимание экранировке линии TCK (SWCLK) и созданию для нее наилучших условий распространения сигнала (лучше всего применить витую пару с отдельным проводом земли). Т.е., земель надо оставить хотя бы 2: одна для TCK twisted pair, и вторая - общая для всех остальных.

 

P.S. И все же рекомендую вывести на разъем все JTAG сигналы (можно без nTRST - он опциональный). SWD - получите автоматически (использует подмножество пинов JTAG). Не исключено, что еще придется воспользоваться и Boundary Scan'ом - если будут проблемы с неконтактами на плате и т.п.

On 11/11/2020 at 7:31 PM, jcxz said:

PS: Да - он многоядерный или нет? Если многоядерный, тогда нужно проверить - работает ли SWD с несколькими ядрами одновременно. Если не работает - лучше JTAG.

Многоядерность в этих чипах не играет рояля в данном случае - доступ ко всем ядрам внутри чипа обеспечивается через общий входной SWJ-DP (в том числе - и через SWD), и далее через систему дебаг-шин (см. референс-мануал, секция 64, DBG block diagram). Вот если бы у вас на плате было несколько чипов с JTAG, да еще с неоходимостью оркестрировать их отладку из одного программного средства - тогда другое дело.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 часа назад, Obam сказал:

Напомнило: "...на экзамене курсантам выдавали соединение "вилка-вилка", в результате выяснилось, что одна половина личного состава непроходимо тупа, а вторая характеризуется огромной физической силой..." :-)

В авиации говорят "если техник достаточно силен, то цвет разъема значения не имеет". :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, Aleksandr Baranov сказал:

У меня такой. Сначала относился с подозрением, а потом привык.

А как он в работе? Удобен? Не вызывает трудностей такое подключение? Или может какие другие минусы имеются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

JTAG_small.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...