|
Сгорел JTAG на Cyclone IV |
|
|
|
Jan 15 2015, 13:04
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Всем доброго времени суток!
Имею проект систему управления. Коротко ПЛИС Cyclone IV EP4CE40F23I7. Проект NIOS, SDRAM, TFT 640x480, кнопки, светодиоды. Все прекрасно работало до сегодняшнего дня, корректировали программу ниоса прошивали заходили в дебаг все работало отлично и в один прекрасный момент все перестало программироваться, проект в ПЛИС продолжает работать, все грузиться из EPCS128 и апаратная часть и программная, ниос запускается выводиться изображение на экран все органы управления работают, но теперь не прошивается нужно дальше доробатовать программу, а прошить новую версию не можем. Все разобрал прозвонил все выводы JTAG интерфейса, обнаружил что между TDI и корпусом 100 Ом. Кажеться спалил во время подключения Terasic Blaster-a. Програмировал через NIOS II->Flash Programmer в Eclipse IDE Version: Indigo Service Release 2. Можно ли этот пин другим заменить или это все железно зашито в ПЛИС и тут ни чем кроме как ее замены не вылечить.
Сообщение отредактировал en-valb - Jan 15 2015, 13:43
|
|
|
|
|
Jan 15 2015, 13:37
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Грусно!!!
|
|
|
|
|
Jan 15 2015, 17:43
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(en-valb @ Jan 15 2015, 17:04)  Всем доброго времени суток!
Имею проект систему управления. Коротко ПЛИС Cyclone IV EP4CE40F23I7. Проект NIOS, SDRAM, TFT 640x480, кнопки, светодиоды. Все прекрасно работало до сегодняшнего дня, корректировали программу ниоса прошивали заходили в дебаг все работало отлично и в один прекрасный момент все перестало программироваться, проект в ПЛИС продолжает работать, все грузиться из EPCS128 и апаратная часть и программная, ниос запускается выводиться изображение на экран все органы управления работают, но теперь не прошивается нужно дальше доробатовать программу, а прошить новую версию не можем. Все разобрал прозвонил все выводы JTAG интерфейса, обнаружил что между TDI и корпусом 100 Ом. Кажеться спалил во время подключения Terasic Blaster-a. Програмировал через NIOS II->Flash Programmer в Eclipse IDE Version: Indigo Service Release 2. Можно ли этот пин другим заменить или это все железно зашито в ПЛИС и тут ни чем кроме как ее замены не вылечить. Был у меня г**нный флюс консистенцией как вазелин, спаяли - все работало, через месяц - замыкание между ногами через 50 ом. Прогреваешь плату (флюс испаряется), правда сильно греть надо, все замыкания уходят и все работает.
|
|
|
|
|
Jan 16 2015, 04:43
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Скомплектовали подборку еще на одну плату благо есть еще одна плисина. Цитата Прогреваешь плату (флюс испаряется), правда сильно греть надо... над этой платой эксперементировать не хочу, пока вторая плата не готова, а сейчас займусь проработкой варианта Цитата Или поставьте защиту. TPD4E05U06 + пара резисторных сборок по 22 ома до и после. В идеале хотелось бы сделать JTAG через USB как на отладках. Есть у марсохода проект "USB JTAG программатор MBFTDI", но не знаю как он с ниосом будет работать.
|
|
|
|
|
Jan 16 2015, 04:49
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 17-05-07
Пользователь №: 27 775

|
Цитата(alexPec @ Jan 15 2015, 23:43)  Был у меня г**нный флюс консистенцией как вазелин, спаяли - все работало, через месяц - замыкание между ногами через 50 ом. Прогреваешь плату (флюс испаряется), правда сильно греть надо, все замыкания уходят и все работает. Знакомые грабли  Случайно не красного цвета? И пальцы пощипывает, если испачкать  И называется безотмывочным. А все потому, что все нужно делать по технологии. Он безотмывочный, если в печке паять, при нагреве нейтрализуется.
|
|
|
|
|
Jan 16 2015, 05:22
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
У нас в промэлектронике есть только TPD6E001RSER возьму ее для пробы. На счет Цитата 22 ома до и после не совсем понял, там же диоды в паралель с пинами JTAG соединяются. Имеется в виду со стороны разъема JTAG одни резисторы, а со стороны плисины другие, и того по цепи будет 44 Ома, я правильно понял? Цитата можно выпять EPCS и грузить ПЛИС бластером прямо через Passive serial но боюсь что из-за наличия Nios - не вариант Хочу попробовать, возможно получиться, но здесь для EPCS нужно правильно файл сварганить.
|
|
|
|
|
Jan 16 2015, 07:39
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-05
Из: Великий Новгород
Пользователь №: 2 314

|
Мы делаем простенькую защиту - JTAG пропускаем через буфер SN74ALVC125DGVR (корпус маленький - TVSOP-14). Место занимает мало, себя уже несколько раз оправдал, когда заказчик самостоятельно перепрограммировал блоки и спалил этот буфер вследствие отсутствия заземления и разных потенциалов на земле блока и корпусе компьютера. А так без него бы пострадала ПЛИС.
|
|
|
|
|
Jan 16 2015, 08:54
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Сделаю и SN74ALVC125DGVR и TPD6E001RSER.
А что за Lattice ни когда не слышал?
|
|
|
|
|
Jan 16 2015, 10:31
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Цитата возьмите защиту USBLC6-4SC6 Есть в наличии USBLC6-2SC6 для пробы тогда 2 шт. впаяю а в документацию заложу USBLC6-4SC6.
|
|
|
|
|
Jan 17 2015, 13:16
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Цитата JTAG пропускаем через буфер SN74ALVC125DGVR А как землю JTAG и устройства разъвязываете?
|
|
|
|
|
Jan 19 2015, 08:16
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 31-01-05
Из: Великий Новгород
Пользователь №: 2 314

|
Именно так - корпус компьютера толстым проводом соединён с корпусом блока питания и общим проводом устройства. И всё это заземлено. Надеяться на заземление через контакт в розетки питания тоже не очень стоит, не очень он надёжен, лучше проводом отдельным - чтобы уж наверняка
Сообщение отредактировал VG2903 - Jan 19 2015, 08:19
|
|
|
|
|
Jan 19 2015, 13:49
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(VG2903 @ Jan 19 2015, 11:16)  Именно так - корпус компьютера толстым проводом соединён с корпусом блока питания и общим проводом устройства. И всё это заземлено. Надеяться на заземление через контакт в розетки питания тоже не очень стоит, не очень он надёжен, лучше проводом отдельным - чтобы уж наверняка +100500 PS: не удержался от коментария. Суровая правда жизни.
|
|
|
|
|
Jan 20 2015, 11:20
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Думаю сейчас над гальванической развязкой, возник вопрос: зачем на 4 pin JTAG подавать VCCA, по сути на USB-Blaster? На Cyclone IV VCCA равен 2,5 В. Есть предположения, но сначала хочу услышать мнение окружающих. Подтвердил свои предположения практически, 2,5 В на 4 pin JTAG подается для обеспечения совместимости програматора с разными семействами ПЛИС. Раскрутил Terasic Blaster, на выходе стоит микросхема P13VT3245LE, погуглил ни чего по этой микросхеме не нашел кроме фразы что это транслятор уровней сигналов, Цитата PI3VT3245LE PERICOM[Pericom Semiconductor Corporation] 8-Bit, 2-Port, Voltage Translator SWITCH а к 4 pin JTAG подключен вывод питания выходного канала этой микросхемы. Следовательно если я подам 3,3 В или 5 В то соответственно сигналы JTAG будут соответствовать этим уровням?!
Сообщение отредактировал en-valb - Jan 20 2015, 10:36
|
|
|
|
|
Jan 20 2015, 18:18
|

Частый гость
 
Группа: Свой
Сообщений: 122
Регистрация: 22-02-10
Из: Москва
Пользователь №: 55 617

|
Цитата(SM @ Jan 20 2015, 14:57)  Чего над ней думать? Берете Si8441, одну сторону запитываете от того, от чего у Вас банк с JTAG-ом запитан, другую - от 3.3 (добыв их из недр бластера, и заведя на его VCCA). И вуаля. Разбирал Terasic USB Blaster, видел там что-то похожее на оптопары, а вот оно как на самом деле. Был твердо уверен, что он с опторазвязкой. Спасибо, буду закладывать опторазвязку в платы.
|
|
|
|
|
Jan 22 2015, 06:44
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Цитата Только вот все, что Вы написали, с гальванической развязкой ничего общего не имеет. Нет связь имеется. Идея состоит в том что мне нужно было выяснить могули я подать на вывод 4 USB Blasterа напряжение не 2,5 В как у Cyclone IV, а 3,3 В или 5,0 В так как микросхема ADUM1401BRWZ имеет по VCC от 2,7...5,5 В, тоже самое и у Si8441. Предпологалось между ADUM и USB Blasterом ставить еще один буфер для согласования уровня 2,7...5,5 (зависило от того какой гальванически развязаный DC-DC самый дешевый смогу найти) с 2,5 В и еще один стабилизатор который преобразует выход DC-DC 3,3 В или 5,0 В в 2,5 В. Но теперь имея возможность влиять на уровни сигналов USB Blastera через pin 4 дополнительный буфер и стабилизатор на 2,5 В не нужны, схема упрощается. Цитата Спасибо, буду закладывать опторазвязку в платы. На следующих платах я буду делать так. Компоненты для схемы: 1 AM1D-0505SH30Z - DC-DC цена - 254.02 р. 2 ADUM1401BRWZ - гальваническая развязка сигналов JTAG - 289.58р. 3 SN74LVC8T245DGVR - согласования сигналов JTAG ПЛИС и ADUM (в наличии есть на 16 бит SN74LVCH16T245) - 150...200 р. 4 USBLC6-4SC6 - дополнительная защита выводов ADUM со стороны USB Blastera - 11.41р. Итого цена вопроса 755.01 р. дороговато, но в полне приемлемо. Единственное, что еще это резисторы по 1 кОм на выводах TCK, TMS и TDI ПЛИС наверное на входы буфера ...8T245... перенисти надо.
Сообщение отредактировал en-valb - Jan 22 2015, 06:33
|
|
|
|
|
Jan 22 2015, 10:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(alevnew @ Jan 16 2015, 08:49)  Знакомые грабли  Случайно не красного цвета? И пальцы пощипывает, если испачкать  И называется безотмывочным. А все потому, что все нужно делать по технологии. Он безотмывочный, если в печке паять, при нагреве нейтрализуется. Да да, он самый, будь он неладен. Паял кстати в печке, но что-то не нейтрализовался он. Кстати, прогреваешь его, он через некоторое время снова замыкать начинает, лечится повторным прогреванием и так много раз. Собрали другую плату, эта только на эксперименты...
|
|
|
|
|
Jan 22 2015, 16:04
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(SM @ Jan 22 2015, 20:52)  Эти задержки никого не волнует до частот в 10-15 мегагерц на TCK. Так что, любой бластер будет с ними работать. Но я сразу говорил - ставить Si8441, он с меньшей задержкой автор пишет про ADUM1401BRWZ, тут http://www.analog.com/en/interface-isolati...ucts/index.html указана задержка в одну сторону 32нс, итого туда и обратно 64нс или 15.625 МГц. Это без учета задержек tco модулей JTAG чипов на плате, tco/tdelay CPLD внутри бластера и tdelay преобразователей уровней внутри бластера и т.д. В итоге стабильная частота работы будет порядка 8-10МГц. Насколько я помню возможности изменять частоту работы USB Blaster в софте нет, она появилась только в USB Blaster II (от 10КГц до 24МГц). А так есть USB Blaster-ы работающие на частотах 4/6/8/10/12/16/24 МГц. Поэтому не любой бластер будет работать. Да и разница работы на 24 и 6МГц на толстых чипах/сигналтапе видна не вооруженным глазом. Поэтому и советую самодельный 24МГц USB Blaster с гальванической развязкой по USB. Или USB-Blaster II со штатным, покупным USB кабелем с гальванической развязкой. ЗЫ. У меня есть 2 самодельных бластера, сделал лет 6 назад. Один без развязки, второй с развязкой как раз на адумах. Первый штатно работает на 24МГц, но при опытах разгонял его ЕМНИП до 30МГц на коротком шнурке. Второй пришлось угробить до 6МГц. В столе лежит подарок от одного из пользователей форума : усб кабель с гальваноразвязкой USB2.0 Full speed, правда он с USB-B вилкой, а мне нужен с mini-USB, всё руки не доходят заменить вилку и использовать для работы. Поэтому заземляюсь
--------------------
|
|
|
|
|
Jan 22 2015, 16:10
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(des00 @ Jan 22 2015, 19:04)  указана задержка в одну сторону 32нс, Упс. Я, конечно, знал, что ADUM тормозные, но, чтобы на столько... Si8641 - typ. 8 нс, max 13 ns, а старая, добрая Si8441 - typ. 6 нс, макс. 9.5 нс, исходя из этих порядков и писал... Чтобы убыстрить тайминги, надо поправить байтбластер, чтобы он выдавал TMS и TDO не по спаду, как положено по IEEE1149.1, а по фронту. PS А что это за такие "разные бластеры" - у меня обычный альтеровский, который шел когда-то с китом на стратиксе каком-то, там 6 МГц. С виду они все одинаковые. Там партнамберы что ли у них разные с разными частотами?
|
|
|
|
|
Jan 22 2015, 18:39
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(des00 @ Jan 22 2015, 19:04)  Первый штатно работает на 24МГц, но при опытах разгонял его ЕМНИП до 30МГц на коротком шнурке. Второй пришлось угробить до 6МГц. Кстати, о TCK. Тут еще зависит от того, с каким семейством работать. Бластер с TCK = 24МГц c MAX7000S договориться вряд ли сможет. Цитата(des00 @ Jan 22 2015, 19:04)  В столе лежит подарок от одного из пользователей форума : усб кабель с гальваноразвязкой USB2.0 Full speed, правда он с USB-B вилкой, а мне нужен с mini-USB, всё руки не доходят заменить вилку и использовать для работы. Поэтому заземляюсь  "Предупреждать надо" (с)  Попробую с ближайшей оказией отправить miniB.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Jan 23 2015, 05:21
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Stewart Little @ Jan 23 2015, 01:39)  Кстати, о TCK. Тут еще зависит от того, с каким семейством работать. Бластер с TCK = 24МГц c MAX7000S договориться вряд ли сможет. С такими чипами я давно уже не работаю. Меня давно удивляло почему разработчики не предусмотрели на бластере банальный 2-3-х клавишный микропереключатель, 24/12/6/3/1.5/0.75 МГц свободно делаются на 48МГц генераторе (который нужен FTDI). Цитата "Предупреждать надо" (с)  Попробую с ближайшей оказией отправить miniB. Спасибо
--------------------
|
|
|
|
|
Jan 23 2015, 09:30
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(des00 @ Jan 23 2015, 08:21)  Меня давно удивляло почему разработчики не предусмотрели Это как раз просто и понятно. На USB Full Speed тактовая выше 6 МГц не имеет смысла, так как скорость уже ограничена 12 Мбит/с совместно с транспортной задержкой (короткие пакеты в среднем упополамливают пропускную, а задержка передача - прием - анализ принятого - передача чуть ли не в восемь раз ее убивает). То есть, высшие частоты на Full Speed - чисто маркетинговый ход бы был, причем, учитывая, что потребитель этого продукта считать умеет хорошо, неудачный. А меньшие частоты в принципе не нужны, так как нет таких ПЛИС, которые бы не работали на 6 (теоретически, может быть, полезны для каких нибудь ultra low power, но это, скорее только теоретически).
|
|
|
|
|
Jan 23 2015, 10:30
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(SM @ Jan 23 2015, 17:30)  Это как раз просто и понятно. На USB Full Speed тактовая выше 6 МГц не имеет смысла, так как скорость уже ограничена 12 Мбит/с совместно с транспортной задержкой (короткие пакеты в среднем упополамливают пропускную, а задержка передача - прием - анализ принятого - передача чуть ли не в восемь раз ее убивает). То есть, высшие частоты на Full Speed - чисто маркетинговый ход бы был, причем, учитывая, что потребитель этого продукта считать умеет хорошо, неудачный. Я бы с вами согласился, если бы в свое время не реверсил прошивку усб бластера и выкладывал описание протокола и код бластера (где то в дебрях форума). Если бы он работал потоково, то ваши аргументы абсолютно правильные, но работает он пакетно. Размер пакета переменный от 1 до 64 байт. ПК плюет запрос на запись с данным/запрос на чтение и ждет подтверждения записи/данных чтения. Пока оно получено не будет, новый запрос не отправляется. Поэтому, даже на FullSpeed 24МГц и 6МГц сильно заметно. Цитата А меньшие частоты в принципе не нужны, так как нет таких ПЛИС, которые бы не работали на 6 (теоретически, может быть, полезны для каких нибудь ultra low power, но это, скорее только теоретически). усб бластер 2 может поставить скорость вплоть до 10кГц, значит кому это нужгл. Бластерами можно не только с житагом работать, но и например конфигурационную память шить, а понизив скорость можно и длину шлейфа увеличить (в свое время был у меня байт бластер, так работал на шлейфе специальной конструкции длиной 5метров).
--------------------
|
|
|
|
|
Jan 23 2015, 10:49
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(des00 @ Jan 23 2015, 13:30)  Если бы он работал потоково, то ваши аргументы абсолютно правильные, но работает он пакетно. Размер пакета переменный от 1 до 64 байт. ПК плюет запрос на запись/чтение и ждет подтверждения/данных чтения. Вот именно. Если бы он работал потоково, то смысл был бы в частотах примерно до 10 МГц. А так как он работает пакетно, причем с мелкими пакетами, то из-за того, что время после окончания передачи OUT токена с соотв. ему данными, и до возможности отправки ответа на IN токен, проходит много времени (именно на FULL speed, да и даже на High Speed, если он реализован не в рамках USB 3.0 ) - это время, практически, на большинстве хост-контроллеров и драйверов, около 125 мкс. Учитывая то, что максимальный пакет 64 байта - то частоты выше 1/(125/64/8) совершенно не актуальны - за эти 125 мкс 64 байта на 6 МГц физически успеют отправиться и принятся с запасом. Это все было не только теоретически вычислено, а и проверено на сотнях JTAG-ов для TI в самых разных портах. В общем, альтера считать умеет, а копиисты просто не думают. Фактически, повышение частоты актуально только на High Speed, да и то, если девайс воткнут в 3.0 порт. Цитата(des00 @ Jan 23 2015, 13:30)  усб бластер 2 может поставить скорость вплоть до 10кГц, И тут я с альтерой согласен - если делать High Speed, то есть смысл в программировании частоты вверх. А если есть смысл вверх, то почему бы и не сделать вниз, чтобы было.
|
|
|
|
|
Jan 23 2015, 10:55
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(SM @ Jan 23 2015, 17:49)  В общем, альтера считать умеет, а копиисты просто не думают. Фактически, повышение частоты актуально только на High Speed, да и то, если девайс воткнут в 3.0 порт. вам конечно виднее, но у меня стратикс 2 180 ка на одной из бордов на 24МГц усб бластере грузиться в ~3 раза быстрее чем на 6МГц. сигнал тап тоже бегает шустрее. Стоящая там FTDI 245BM выше FullSpeed не умеет, система вин хп сп2, ква 9.1сп2.
--------------------
|
|
|
|
|
Jan 26 2015, 07:43
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 18-04-14
Из: Екатеринбург
Пользователь №: 81 446

|
Возьму пока ADUM1401BRWZ так как в промке есть в наличии. И еще закажу Si8441. За одно будет возможность посравнивать как оно работает.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|