Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключиться к плате с ПЛИС через JTAG
Форум разработчиков электроники ELECTRONIX.ru > Дополнительные разделы - Additional sections > Предлагаю работу
Страницы: 1, 2
KeX
Привет!

Есть карта Nallatech 385N, ограниченной серии, выпущенная для IBM, и не имеющая никакой поддержки со стороны производителя (в т.ч. никакой документации). На плате стоит 24 пиновый FFC разъем. Есть разводочная плата с таким же разъемом, шлейф, и есть программатор USB Blaster со своим шлейфом. Нужно вычислить JTAG-овские пины на плате, и развести их на программатор. Пытался сделать сам по схеме, предоставленной одним добрым человеком на форуме, но то ли руки кривые, то ли схема неправильная, не взлетело. Территориально - Москва, но могу, в принципе, доехать и по области.
misyachniy
Цитата(KeX @ Jan 5 2018, 14:52) *
Есть карта Nallatech 385N...

С этой платой не знаком.
В интернете, есть описание. в котором говориться о встроенном USB Blaster.
На фото явно видно разъем micro-USB.
Может запаять разъем и пару пассивных компонентов и плата поднимется?
KeX
Цитата(misyachniy @ Jan 5 2018, 16:39) *
С этой платой не знаком.
В интернете, есть описание. в котором говориться о встроенном USB Blaster.
На фото явно видно разъем micro-USB.
Может запаять разъем и пару пассивных компонентов и плата поднимется?

Плата редкая - это факт. Я написал всем, чьи контакты смог найти в инете в контексте этого девайса, но никто не смог помочь. Встроенные бластеры пошли уже в следующих поколениях, на этой точно ничего такого нет. А на фото, микро-USB - это отдельный программатор с али.
toshas
А сама плата живая ?

Устройство определяется по pcie ?
iosifk
Цитата(KeX @ Jan 5 2018, 15:52) *
. Нужно вычислить JTAG-овские пины на плате, и развести их на программатор. Пытался сделать сам по схеме, предоставленной одним добрым человеком на форуме, но то ли руки кривые, то ли схема неправильная, не взлетело.

Если есть мнение, что где-то присутствует JTAG, то это значит, что на плате есть хотя бы один компонент, на котором присутствует данный порт. Там на фотке стоит большая микросхема - что это? Думаю, вот у нее есть эти самые "JTAG-овские пины".. Можно найти даташит на эту микросхему и от него начать. Вот от них можно зацепиться и всю цепочку вызвонить...

Далее, для всех компонентов, которые включены в цепь по "JTAG" надо найти BSDL файлы, чтобы можно было их скормить программатору. Тогда он будет понимать адреса регистров микросхемы.
KeX
Цитата(toshas @ Jan 5 2018, 18:25) *
А сама плата живая ?

Устройство определяется по pcie ?

Живее всех живых! Определяется, и работает, правда, гоняется схема, предзаписанная на FPGA IBM-ом, а мне нужно свою накатить. Эту задачу и пытаюсь сейчас решить.

Цитата(iosifk @ Jan 5 2018, 18:25) *
Если есть мнение, что где-то присутствует JTAG, то это значит, что на плате есть хотя бы один компонент, на котором присутствует данный порт. Там на фотке стоит большая микросхема - что это? Думаю, вот у нее есть эти самые "JTAG-овские пины".. Можно найти даташит на эту микросхему и от него начать. Вот от них можно зацепиться и всю цепочку вызвонить...

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

Большой чип - это Stratix V. Но JTAG, на сколько мне удалось выяснить, работает через второй чип, MaxII, к которому подцеплены флешки, и который работает как программатор стратикса. Зацепиться просто не выйдет, плата многослойная. Землю-то я прозвонил, но вот TDO, TDI, TCK и TMS хз как идентифицировать. Ну и плюс VCC через PCIe не прозванивается. Короче, нужна мудрость в области железа, которой у меня, как у прогрера явно не хватает.
VCO
Цитата(KeX @ Jan 5 2018, 18:53) *
Землю-то я прозвонил, но вот TDO, TDI, TCK и TMS хз как идентифицировать. Ну и плюс VCC через PCIe не прозванивается. Короче, нужна мудрость в области железа, которой у меня, как у прогрера явно не хватает.

Так там же посадочное место под стандартный разъём JTAG есть. У него стандартная цоколёвка для программатора Altera.
KeX
Цитата(VCO @ Jan 5 2018, 19:08) *
Так там же посадочное место под стандартный разъём JTAG есть. У него стандартная цоколёвка для программатора Altera.

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

Нажмите для просмотра прикрепленного файла


UPD: Хотя вам выше правильно написали, там же стандартный JTAG-разъем, вполне можно вычислить.
https://www.youtube.com/watch?v=mgGKJweTWSQ
https://i.ytimg.com/vi/mgGKJweTWSQ/maxresdefault.jpg

UPD2: Даже бегло сравнивая вашу фотографию с распайкой и фото платы NX-0557, показанную в ролике на ютубе, сразу бросается в глаза, что вы не то распаяли. JTAG где-то в начале нумерации разъема (справа на фото), а у вас старшие пины распаяны.
_pv
Нажмите для просмотра прикрепленного файла
будем гадать по фотографии,
на правой плате стандартный разъём бластера - справа, его распиновка:
1-TCK, 3- TDO, 5-TMS, 9 - TDI. крайний правый ряд, снизу вверх.
дорожки от разъёма идут в середину шлейфа, соответственно на самой плате JTAG скорее всего это TP13-16 то есть 7,8,9,10 ноги шлейфа. и возможно 11 или 13 - напряжение питания VTARGET.
причем 7 нога, TP13, скорее всего TCK.
на плате TMS и TDI должны быть килоомом к питанию подтянуты.
TCK - тем же килоомом к земле.
TDO - выход.
соответственно надо просто померить напряжения на этих TP13-16, а потом дополнительно нагрузить каждую килоомом на землю/питание и померить ещё раз.
без нагрузки:
TMS/TDI +3В
TCK 0
TDO 0/3
с подтяжкой к земле:
TMS/TDI 1.5
TCK 0
TDO 0/3
с подтяжкой к питанию:
TMS/TDI 3
TCK 1.5
TDO 0/3
после этого останется только два возможных варианта подключения: перепутать TMS/TDI.
KeX
Цитата(x736C @ Jan 5 2018, 19:41) *
JTAG обычно имеет подтяжки. У вас на фото тоже видны несколько характерных резисторов недалеко от разъема. Я бы попробовал с ними.
UPD: Хотя вам выше правильно написали, там же стандартный JTAG-разъем, вполне можно вычислить.
https://www.youtube.com/watch?v=mgGKJweTWSQ
https://i.ytimg.com/vi/mgGKJweTWSQ/maxresdefault.jpg
UPD2: Даже бегло сравнивая вашу фотографию с распайкой и фото платы NX-0557, показанную в ролике на ютубе, сразу бросается в глаза, что вы не то распаяли. JTAG где-то в начале нумерации разъема (справа на фото), а у вас старшие пины распаяны.

Большое спасибо вам за схему и идею с резисторами! Попробую прозвонить. Всю доступную в нете инфу, в т.ч. этот видос (одна из картинок в предыдущем моем сообщении, как раз из него) я перелопатил. Я просто в железе ну совсем-совсем зеленый, азы какие-то знаю, но не более. Подумал, что лучше доверить эту задачу опытному человеку. А то спалю еще карту, не дай бог. Не 6 тыс. баксов, конечно, но все равно обидно будет.
По распаянной мной схеме да, посмотрел уже когда все сделал, не бьется. Но я делал по схеме, которую мне дал один хороший человек здесь на форуме, был небольшой шанс, что взлетит.
KeX
Цитата(_pv @ Jan 5 2018, 19:57) *
после этого останется только два возможных варианта подключения: перепутать TMS/TDI.

Благодарю вас за такой подробный алгоритм! Вы случайно не из Москвы? Боюсь просто своими кривыми руками все испортить.
_pv
Цитата(KeX @ Jan 6 2018, 02:09) *
Вы случайно не из Москвы? Боюсь просто своими кривыми руками все испортить.

случайно нет.
вам нужен лишь обычный вольтметр, чтобы измерить напряжения относительно земли, потом относительно питания на выведенных на плате пятаках. ну и 1кОм параллельно вольтметру. чтобы подтяжку от выхода отличить.
KeX
Цитата(_pv @ Jan 5 2018, 23:31) *
случайно нет.
вам нужен лишь обычный вольтметр, чтобы измерить напряжения относительно земли, потом относительно питания на выведенных на плате пятаках. ну и 1кОм параллельно вольтметру. чтобы подтяжку от выхода отличить.

Понял. Наверное, рискну попробовать. Спасибо еще раз!
x736C
Отпишитесь по результату, пожалуйста. Интересно, чем все закончится. Помню еще старую тему по поиску схемы.
_pv
Цитата(KeX @ Jan 6 2018, 03:34) *
Понял. Наверное, рискну попробовать. Спасибо еще раз!

и измерять с подтяжкой к питанию надо относительно питания JTAGа, (11 скорее всего нога шлейфа, справа)
KeX
Цитата(x736C @ Jan 6 2018, 02:39) *
Отпишитесь по результату, пожалуйста. Интересно, чем все закончится. Помню еще старую тему по поиску схемы.

Обязательно!

Цитата(_pv @ Jan 6 2018, 02:54) *
и измерять с подтяжкой к питанию надо относительно питания JTAGа, (11 скорее всего нога шлейфа, справа)

Ага, спасибо, это я догадался. Сейчас попробую десктопный комп расковырять, а то на серверном 1U не получается на живую замерить, открываешь крышку - питание гасится, а наружу плату вытащить - длины шлейфа не хватает.
К земле/питанию подтягиваем, замыкая исследуемый контакт обычным килоомным резистором на землю/питание соответственно, верно?
_pv
сначала просто напряжения измерьте на 7-11 ногах шлейфа.
минус вольтметра на землю, плюс на соответствующие контакты, потом на вход вольтметра просто килоом (параллельно, между + и -) повесьте и повторите.

и если собрались потом так же измерять от питания (минус на 11ю, скорее всего, ногу на шлейфе), вольтметр должен быть от земли отвязанный, тестер на батарейке.
Timmy
Замечу, что если у вас, судя по фотке, китайский бластер за 5$, то у него минимальное рабочее напряжение JTAG по даташитам на комплектующие будет около 2.5 вольта, что бы там китайцы ни говорили, а на этой плате может оказаться меньше.
KeX
Цитата(_pv @ Jan 6 2018, 16:27) *
сначала просто напряжения измерьте на 7-11 ногах шлейфа.
минус вольтметра на землю, плюс на соответствующие контакты, потом на вход вольтметра просто килоом (параллельно, между + и -) повесьте и повторите.

и если собрались потом так же измерять от питания (минус на 11ю, скорее всего, ногу на шлейфе), вольтметр должен быть от земли отвязанный, тестер на батарейке.

Промерял напряжение на всех контактах шлейфа, результаты следующие:
Код
1  - 2,46       2  - 0    3  - 3,26       4  - 0,19       5  - 3,19   6  - GND   7  - 2,47       8  - 2,46-2,47
9  - 2,46-2,47  10 - 0    11 - 0          12 - GND        13 - 2,46   14 - 0     15 - 0          16 - 0
17 - 0          18 - 0    19 - GND        20 - 2,38-2,39  21 - 2,38   22 - 2,38  23 - 2,38-2,39  24 - 2,38

Дополнительно промерял с килоомным резистором между щупами тестера контакты 7-10, результаты вот такие:
Код
7 - 0,43
8 - 0,56
9 - 0,49
10 - 0

Если я все правильно понял, результат неоднозначный.

Цитата(Timmy @ Jan 6 2018, 18:46) *
Замечу, что если у вас, судя по фотке, китайский бластер за 5$, то у него минимальное рабочее напряжение JTAG по даташитам на комплектующие будет около 2.5 вольта, что бы там китайцы ни говорили, а на этой плате может оказаться меньше.

Да, я взял самый дешевый программатор, ориентировался по отзывам. Там есть чуть подороже девайсы, в районе тысячи-полутра, в принципе, но они чуть побольше, так просто в 1U не залезут.
_pv
ну питание банка с жтагом - судя по всему 2.5В
7,8,9 подтянуты вверх ~5кОмами, соответственно кто-то из них TMS/TDI.
10,11 - показывают 0 -> возможно TCK и TDO.
13 возможно VTARGET.
попробуйте нагрузить килоомом 13 ногу чтобы убедиться что это питание.
а потом с тем же килоомом параллельно вольтметру измерьте напряжение между 13 и 10/11 ногой.
TDO должен быть выход, соответственно его этот килоом никуда не утянет, так 0 и останется, а вот ТСК - вход, но с подтяжкой к земле, соответственно подтяжка к питанию напряжение поменяет.
KeX
Цитата(_pv @ Jan 7 2018, 15:21) *
ну питание банка с жтагом - судя по всему 2.5В
7,8,9 подтянуты вверх ~5кОмами, соответственно кто-то из них TMS/TDI.
10,11 - показывают 0 -> возможно TCK и TDO.
13 возможно VTARGET.
попробуйте нагрузить килоомом 13 ногу чтобы убедиться что это питание.
а потом с тем же килоомом параллельно вольтметру измерьте напряжение между 13 и 10/11 ногой.
TDO должен быть выход, соответственно его этот килоом никуда не утянет, так 0 и останется, а вот ТСК - вход, но с подтяжкой к земле, соответственно подтяжка к питанию напряжение поменяет.

Сделал. 13-я нога, нагруженная килоомом показывает 0,49. Между 13 и 10 также, с килоомом - 0,42, между 13 и 11 - 0.
Zig
Цитата(_pv @ Jan 7 2018, 15:21) *
TDO должен быть выход, соответственно его этот килоом никуда не утянет, так 0 и останется

Не совсем верно. Выходом TDO будет только в некоторых состояниях SM (машины состояний) JTAG. В остальное время он будет в HiZ.
_pv
да, действительно
The TDO pin is tri-stated in all states except in the SHIFT_IR and. SHIFT_DR states
_pv
судя по фотографии платы https://electronix.ru/forum/index.php?s=&am...t&p=1539170
направо на разъём с жтагом точно идут 7, 8, 11 ноги и ещё две из под разъёма (кто-то из 1, 9, 10, остальные либо земли, либо на верхний разъём).
давайте для начала найдём VTARGET (+2.5В), которая под киломом не проседает.
возможно 1я нога
KeX
Цитата(_pv @ Jan 7 2018, 16:38) *
судя по фотографии платы https://electronix.ru/forum/index.php?s=&am...t&p=1539170
направо на разъём с жтагом точно идут 7, 8, 11 ноги и ещё две из под разъёма (кто-то из 1, 9, 10, остальные либо земли, либо на верхний разъём).
давайте для начала найдём VTARGET (+2.5В), которая под киломом не проседает.
возможно 1я нога

Вы оказались правы! Проверил 1-ю ногу, действительно, не проседает под нагрузкой в килоом! Выдает 2,46 и так и сяк. Первая победа, ура!!

Цитата(Zig @ Jan 7 2018, 16:23) *

Спасибо за ссылки, обязательно почитаю.
iosifk
Цитата(KeX @ Jan 7 2018, 16:55) *
Спасибо за ссылки, обязательно почитаю.

Ну а появятся по статьям вопросы, так можно их задать мне в скайпе лично... sm.gif
_pv
Цитата(KeX @ Jan 7 2018, 20:55) *
Вы оказались правы! Проверил 1-ю ногу, действительно, не проседает под нагрузкой в килоом! Выдает 2,46 и так и сяк. Первая победа, ура!!

теперь надо с килоомом относительно 1й ноги измерить 10 и 11 ноги, станет понятно кто из них TCK.
KeX
Цитата(_pv @ Jan 7 2018, 17:10) *
теперь надо с килоомом относительно 1й ноги измерить 10 и 11 ноги, станет понятно кто из них TCK.

Готово. 10-я нога - 1.3, 11-я - 0. Значит, TDO - это скорее всего 11-я нога, верно?

Цитата(iosifk @ Jan 7 2018, 16:59) *
Ну а появятся по статьям вопросы, так можно их задать мне в скайпе лично... sm.gif

Спасибо! sm.gif
_pv
Цитата(KeX @ Jan 7 2018, 21:25) *
Готово. 10-я нога - 1.3, 11-я - 0. Значит, TDO - это скорее всего 11-я нога, верно?

нет, как отметил Zig TDO обычно пребывает в третьем состоянии, и включается на выход только когда действительно данные выдвигает.
так что от TMS/TDI наверное не отличить.
но то что на 10 - половина питания, означает что она подтянута к земле тем же килоомом и это определённо TCK.
KeX
Цитата(_pv @ Jan 7 2018, 18:10) *
нет, как отметил Zig TDO обычно пребывает в третьем состоянии, и включается на выход только когда действительно данные выдвигает.
так что от TMS/TDI наверное не отличить.
но то что на 10 - половина питания, означает что она подтянута к земле тем же килоомом и это определённо TCK.

Вы извините, что я такой тугой. Чувствую себя немного как слон в посудной лавке. Купил бумажную Цифровую схемотехнику Харрисов, думал, тихо-спокойно поковыряю квартус, разберусь потихоньку что к чему, а тут вон как. sm.gif
В общем, осталось 3 конца распределить методом тыка, наверное, да?
UPD: хотя вот, судя по картинке ув. X736C, TDI, в отличие от TCK и TMS, к питанию не подтянут -> это не 7 (судя по дорожкам на карте, там 7 параллельно к 3-м резисторам ведет), т.е. либо 8, либо 9, либо 11. На 8 и на 9 есть напряжение -> TDI - это 11? Или я опять не то говорю?
_pv
Цитата(KeX @ Jan 7 2018, 22:23) *
В общем, осталось 3 конца распределить методом тыка, наверное, да?

ХЗ что там китайцы за буфер поставили в бластере, и просто так наобум подключать два выхода друг на дружку к такой плате (пусть и купленной на ебэе в несколько раз дешевле) немного страшно.

раз известно где GND, TCK и VTRGT можно наверное теперь их подключить, и потом взять только TMS и попробовать поподключать только его на 7,8,9.
при этом смотреть что происходит на оставшихся ногах (плюс ещё непонятно что там за выход на 11, возможно nSTATUS для Passive serial режима).
при правильно подключенных TCK и TMS, при попытке пообщаться с плис из программатора квартуса, jtag рано или поздно в состояние SHIFT_IR или SHIFT_DR должен перейти (iosifk пусть поправит если я не прав), и тогда TDO перестанет быть в hiZ.
только вот смотреть это надо уже осциллографом.

Цитата
TDI - это 11?
да, очень вероятно, только TDO, так как выход не подтянут.
на картинке у X736C jtag видимо ещё куда то подключен и цепь которая называется TDI подключена к TDO у плис.
VCO
Честно признаюсь - до сих пор туплю, почему так и не привязались к стандартному разъёму переходника и не идентифицировали контакты наверняка laughing.gif
_pv
Цитата(VCO @ Jan 7 2018, 23:50) *
Честно признаюсь - до сих пор туплю, почему так и не привязались к стандартному разъёму переходника и не идентифицировали контакты наверняка laughing.gif


видимо потому что его нет.
Цитата
В природе существует оригинальный адаптер (и его изображение прикрепил), но его продавать отказались, выяснив, что карту я купил на ебее в 10 раз дешевле, чем она продается у них.
KeX
Цитата(_pv @ Jan 7 2018, 18:59) *
да, очень вероятно, только TDO, так как выход не подтянут.

My bad, сейчас вынул карту, сфотографировал, чтобы четче было видно - подтянуты все контакты, кроме 10-го.

Адаптера оригинального, к сожалению, нет. И не продают, перестали даже на письма отвечать, как узнали, что карта куплена на ебее. И, кстати, продавец тоже исчез через пару дней, как я им написал с просьбой дать доступ к документации и продать адаптер, видимо, и его прижали. Капитализм в действии. sm.gif
_pv
10й, согласно измерениям подтянут к земле где-то в другом месте, это TCK.
KeX
Цитата(_pv @ Jan 7 2018, 20:14) *
10й, согласно измерениям подтянут к земле где-то в другом месте, это TCK.

Да, это удалось выяснить, спасибо вам огромное, без ваших подсказок я бы точно не справился. 4 из 7 посадили на место, осталось посадить 3, причем 11 (0 и при прямом измерении, и с нагрузкой) - скорее всего TDO.
Zig
TDO на разъёме может быть не HiZ только если на плате между цепочкой JTAG и разъёмом есть буфер.
Если это так - можно попробовать найти этот буфер на плате и по цоколевке перепроверить предположение.
KeX
Попробовал сейчас запустить программер в квартусе (он все так же выдал unable to scan device chain), замерил напряжение на 7, 8, 9, 11, без изменений, 2.46, 2.46, 2.46 и 0 соответственно. Появилось только 1-2 сотых вольта на TCK (10).
А на сколько большой риск что-то подпалить, если наобум потыкать TDI, TDO, TMS?

Цитата(Zig @ Jan 7 2018, 23:48) *
TDO на разъёме может быть не HiZ только если на плате между цепочкой JTAG и разъёмом есть буфер.
Если это так - можно попробовать найти этот буфер на плате и по цоколевке перепроверить предположение.

А буфер, он же может идти в составе чипа? Того же Max2, например? Тогда же его и не найдешь никак.. Или это отдельная микросхема? Вот сама карта:
Zig
Посмотрел внимательнее на фотографии плат и задался вопросом. Зачем нужны контрольные точки TP13-TP16?
Скорее всего для тестирования платы после монтажа на «ложе гвоздей» или с помощью «летающих щупов».

Для тестирования монтажа платы при помощи периферийного/граничного сканирования (boundary scan) нужны все те же TDO,TDI, TCK, TMS. Скорее всего именно они и выведены на TP13-TP16. Контакты разъема 7 - TP13, 8 - TP14, 9 - TP15, 10 - TP16.

Куда подключен контакт 11 - не знаю. Попробуйте поискать и для него контрольную точку.

Если считать что JTAG на TP13-TP16, то попробуйте сделать так:
Подключите TCK например к контакту 10 через последовательный резистор 100 Ом (на случай если мы попали на выход).
Запустите тест целостности JTAG или прочитайте идентификатор микросхемы (никогда не работал с Альтерой).
Проверьте осциллографом, что такты на выходе резистора во время теста есть такты. После этого резистор можно закоротить.

По очереди по подключайте TMS на контакты 7, 8, 9 через последовательный резистор 100 Ом, запуская тест целостности JTAG или читая идентификатор микросхемы. Проверяйте осциллографом, что TMS на выходе резистора есть и контролируйте остальные два сигнала. Если какой-нибудь из них "задергается" - это TDO. Оставшийся - TDI.

Предыдущий абзац основан на предположении, что для тестирования целостности JTAG или чтения идентификатора микросхемы TDI не нужен. Можно проверить этот метод на другой плате, с заведомо известной цоколевкой разъёма.

Если вариант с TCK на контакте 10 не прокатил, переключите его на следующий и повторите все снова.
KeX
Цитата(Zig @ Jan 8 2018, 16:00) *
Посмотрел внимательнее на фотографии плат и задался вопросом. Зачем нужны контрольные точки TP13-TP16?
Скорее всего для тестирования платы после монтажа на «ложе гвоздей» или с помощью «летающих щупов».

Для тестирования монтажа платы при помощи периферийного/граничного сканирования (boundary scan) нужны все те же TDO,TDI, TCK, TMS. Скорее всего именно они и выведены на TP13-TP16. Контакты разъема 7 - TP13, 8 - TP14, 9 - TP15, 10 - TP16.

Куда подключен контакт 11 - не знаю. Попробуйте поискать и для него контрольную точку.

Если считать что JTAG на TP13-TP16, то попробуйте сделать так:
Подключите TCK например к контакту 10 через последовательный резистор 100 Ом (на случай если мы попали на выход).
Запустите тест целостности JTAG или прочитайте идентификатор микросхемы (никогда не работал с Альтерой).
Проверьте осциллографом, что такты на выходе резистора во время теста есть такты. После этого резистор можно закоротить.

По очереди по подключайте TMS на контакты 7, 8, 9 через последовательный резистор 100 Ом, запуская тест целостности JTAG или читая идентификатор микросхемы. Проверяйте осциллографом, что TMS на выходе резистора есть и контролируйте остальные два сигнала. Если какой-нибудь из них "задергается" - это TDO. Оставшийся - TDI.

Предыдущий абзац основан на предположении, что для тестирования целостности JTAG или чтения идентификатора микросхемы TDI не нужен. Можно проверить этот метод на другой плате, с заведомо известной цоколевкой разъёма.

Если вариант с TCK на контакте 10 не прокатил, переключите его на следующий и повторите все снова.

Благодарю вас за алгоритм. По контрольным точкам точно такие же мысли, иначе какой в них смысл. Буду пробовать.
Осцилографом не богат, попробую тоже на али заказать любительский DSO150, наверное.
Inanity
Да, конечно, для начинающего это очень круто. Вам бы DE0-nano на Cyclone IV или DE0-nano-SoC на Cyclone V.

По существу:

1. Сомневаюсь, что вы что-то спалите, если будете наобум перебирать комбинации TDI, TDO, TMS. В крайнем случае, чтобы не перегрузить буферы, можно поставить последовательно резисторы, например в 22 ома. Но можно копнуть глубже...

2. Плата при работе с PCIe должна успевать загружать свою конфигурацию за 100ms. Единственный способ успеть это сделать, это параллельная конфигурация через FPP (Fast Passive Parallel)
Т.е. Stratix не сам тянет свою конфигурацию из флешки, а в данном случае MAXII читает флешки и льёт эти данные в Stratix по параллельной шине. Уверен в этом на 99%.
С JTAG разработчики могли поступить по-всякому. Если они не наркоманы, то скорее всего MAXII c Stratix V сидят последовательно на JTAG цепочке. Но меня смущает большое количество пинов в FPC коннекторе. Может ли быть так, что оба JTAG независимо заведены на разъём, а внешняя плата позволяет либо объединить обе микросхемы в цепочку, либо работать с ними по отдельности?

3. JTAG от MAXII скорее всего выходит через сквозные переходные отверстия. Зная расположение выводов JTAG на MAXII, можно попробовать угадать к какому переходному отверстию подходит вывод и прозвонить его с выводами FPC коннектора. Тоже самое можно проделать для Stratix V. TCK и TMS идут параллельно на обе ПЛИСы, а TDO с TDI сложнее, либо цепочка, либо как я выше писал.
iosifk
Цитата(Inanity @ Jan 8 2018, 16:25) *
3. JTAG от MAXII скорее всего выходит через сквозные переходные отверстия. Зная расположение выводов JTAG на MAXII, можно попробовать угадать к какому переходному отверстию подходит вывод и прозвонить его с выводами FPC коннектора. Тоже самое можно проделать для Stratix V. TCK и TMS идут параллельно на обе ПЛИСы, а TDO с TDI сложнее, либо цепочка, либо как я выше писал.

Да и эти выводы обычно где-то в углу и с краю, так что их удобно искать...
KeX
Цитата(Inanity @ Jan 8 2018, 16:25) *
Да, конечно, для начинающего это очень круто. Вам бы DE0-nano на Cyclone IV или DE0-nano-SoC на Cyclone V.

По существу:

1. Сомневаюсь, что вы что-то спалите, если будете наобум перебирать комбинации TDI, TDO, TMS. В крайнем случае, чтобы не перегрузить буферы, можно поставить последовательно резисторы, например в 22 ома. Но можно копнуть глубже...

2. Плата при работе с PCIe должна успевать загружать свою конфигурацию за 100ms. Единственный способ успеть это сделать, это параллельная конфигурация через FPP (Fast Passive Parallel)
Т.е. Stratix не сам тянет свою конфигурацию из флешки, а в данном случае MAXII читает флешки и льёт эти данные в Stratix по параллельной шине. Уверен в этом на 99%.
С JTAG разработчики могли поступить по-всякому. Если они не наркоманы, то скорее всего MAXII c Stratix V сидят последовательно на JTAG цепочке. Но меня смущает большое количество пинов в FPC коннекторе. Может ли быть так, что оба JTAG независимо заведены на разъём, а внешняя плата позволяет либо объединить обе микросхемы в цепочку, либо работать с ними по отдельности?

3. JTAG от MAXII скорее всего выходит через сквозные переходные отверстия. Зная расположение выводов JTAG на MAXII, можно попробовать угадать к какому переходному отверстию подходит вывод и прозвонить его с выводами FPC коннектора. Тоже самое можно проделать для Stratix V. TCK и TMS идут параллельно на обе ПЛИСы, а TDO с TDI сложнее, либо цепочка, либо как я выше писал.


Цитата(iosifk @ Jan 8 2018, 16:59) *
Да и эти выводы обычно где-то в углу и с краю, так что их удобно искать...

Спасибо вам за мысли!

Из той информации, что мне удалось найти, здесь стандартная цепочка Макс2->Стратикс, как вы и описали, а остальные пины - это serial, и reserved, но судя по такой, на мой взгляд, неадекватной реакции на мою просьбу дать хотя бы какие-то даташиты, или продать адаптер, наркоманы они и есть. sm.gif

Попробовал по вашим советам сейчас потыкаться по напаянным конденсаторам/резисторам/TP по периметру Макса2 сзади, но что-то нигде прямого контакта ни с одним контактом, кроме земли, не нашел. В пустые дырки там не залезешь - залиты лаком, и все такое крохотное, что если ковырять, боюсь, оторву что-нибудь.

Зайду завтра в Чип-и-Дип, куплю тогда 22-омных резистора, напаяю на провода, и буду перебирать, там комбинаций-то не так много, а осцилографа ждать недели 2-3 точно.
iosifk
Цитата(KeX @ Jan 8 2018, 18:08) *
Попробовал по вашим советам сейчас потыкаться по напаянным конденсаторам/резисторам/TP по периметру Макса2 сзади, но что-то нигде прямого контакта ни с одним контактом, кроме земли, не нашел. В пустые дырки там не залезешь - залиты лаком, и все такое крохотное, что если ковырять, боюсь, оторву что-нибудь.

Не надо "тыкаться"... Надо скачать с сайта Альтеры даташиты на эти микросхемы. Или BSDL (или BSD) файлы, в которых тоже расписаны назначения контактов...
И острой иголкой через лак прозванивать...
_pv
Цитата
Сомневаюсь, что вы что - то спалите, если будете наобум перебирать комбинации TDI, TDO, TMS.В крайнем случае, чтобы не перегрузить буферы, можно поставить последовательно резисторы, например в 22 ома.

2.5 В/22 Ом = 115 мА.
я бы на всякий случай 100 - 200 Ом бы поставил, больше уже килоомная подтяжка у TCK не позволит.
Стратикс с максом действительно скорее всего в цепочке, хотя под максом тоже четыре TP6 - 9, с подтягивающими резисторами рядом - скорее всего jtag макса, так что возможно наружу торчит только jtag стратикса.
Правда тогда не понятно как он флэш будет прошивать если нормально с ней общается только макс.Так что должна всё - таки быть цепочка.
А вот разработчики если и не наркоманы, но вот то что зажали документацию, хотя бы распиновку разъёмов - п*******сы те ещё.
Да и ТСу поди без разницы главное хоть как - то jtag подключить, BSP поди есть какой - нибудь, с альтеровским openCL, не голую же плату без схемы он использовать собрался.
Inanity
Цитата(_pv @ Jan 8 2018, 18:29) *
Правда тогда не понятно как он флэш будет прошивать если нормально с ней общается только макс.Так что должна всё - таки быть цепочка.

Насколько я помню, в режиме FPP флешка будет шиться через MAX. Суть в том, что конфигурация MAX одновременно умеет шить стратикс после подачи питания, а так же умеет общаться с Quartus-овским программатором через JTAG для перепрошивки флешки. Пример этого дизайна альтера предоставляет.


Цитата(KeX @ Jan 8 2018, 18:08) *
В пустые дырки там не залезешь - залиты лаком, и все такое крохотное, что если ковырять, боюсь, оторву что-нибудь.

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


KeX
Цитата(iosifk @ Jan 8 2018, 18:27) *
Не надо "тыкаться"... Надо скачать с сайта Альтеры даташиты на эти микросхемы. Или BSDL (или BSD) файлы, в которых тоже расписаны назначения контактов...
И острой иголкой через лак прозванивать...

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

Цитата(_pv @ Jan 8 2018, 18:29) *
2.5 В/22 Ом = 115 мА.
я бы на всякий случай 100 - 200 Ом бы поставил, больше уже килоомная подтяжка у TCK не позволит.
Стратикс с максом действительно скорее всего в цепочке, хотя под максом тоже четыре TP6 - 9, с подтягивающими резисторами рядом - скорее всего jtag макса, так что возможно наружу торчит только jtag стратикса.
Правда тогда не понятно как он флэш будет прошивать если нормально с ней общается только макс.Так что должна всё - таки быть цепочка.
А вот разработчики если и не наркоманы, но вот то что зажали документацию, хотя бы распиновку разъёмов - п*******сы те ещё.
Да и ТСу поди без разницы главное хоть как - то jtag подключить, BSP поди есть какой - нибудь, с альтеровским openCL, не голую же плату без схемы он использовать собрался.

Ок, значит 100-омники, благодарю!
Да, есть квартусовский проект со старым BSP, в нем есть частичная распиновка стратикса (память, PCI-e и светодиоды). Хочу сначала попробовать залить на карту его (сейчас там прошита абсолютно бесполезная IBM-овская схема), ну а дальше потихоньку найти пины для SFP-шек, и собрать кастомную сетевую карту, чтобы впоследствие творить на ней всякие разные штуки интересные.

Цитата(Inanity @ Jan 8 2018, 18:43) *
Если делать с умом, то ничего не оторвёте и не сломаете.

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