|
|
  |
Каскадирование JTAG, Cyclone3 + TI Stellaris |
|
|
|
Jan 9 2013, 01:55
|
Группа: Новичок
Сообщений: 4
Регистрация: 4-11-11
Пользователь №: 68 128

|
Разрабатывается схема с ПЛИС серии Cyclone 3 и контроллер Stellaris Cortex-M3 от TI. И вот по предложению коллеги я решил сократить кол-во разъемов для программирования/отладки до одного. Конфигурировать ПЛИС намереваюсь через in-system programming , так как указано в даташите или тут: http://kit-e.ru/articles/memory/2005_2_126.phpИ при этом составить каскадную цепь JTAG для программирования контроллера. Подскажите, если у кого-то есть опыт, заработают ли они вместе. И чем это чревато, например, отсутствием универсального программатора для такого случая, несовместимостью ПО или чем-либо еще
|
|
|
|
|
Jan 9 2013, 07:18
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Могу точно сказать, что проблем ни с циклоном, ни со стелларисом не будет, по крайней мере если использовать для стеллариса среду TI Code Composer Studio. В ней можно создавать JTAG-цепочки с байпасами. Тоже касается и квартуса - мультидевайс жтаг чейн в нем поддержан, и даже автодетектируется. И, более того, с некоторыми эмуляторами можно будет и отлаживать TI ARM, и конфигурировать циклон при помощи SVF-плеера, если такой имеется у эмулятора, не перетыкая другой эмулятор - есть положительный опыт в этом деле.
Единственный важный совет - разводите линию TCK аккуратно - от сигнала TCK с разъема TI JTAG к первому девайсу в цепочке, далее от первого девайса к второму, и далее обратно на разъем на TCK_RET, следя за тем, чтобы от этой линии не было длинных отводов в сторону, разводка шла по цепочке от пина к пину.
|
|
|
|
|
Jan 9 2013, 07:21
|
Знающий
   
Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353

|
Насколько я помню, возможность "каскадирования" микросхем разных производителей по JTAG-цепочке оговаривается в стандарте IEEE 1532. То есть все микросхемы в Вашей цепочке должны соответствовать требованиям этого стандарта. Если упоминания о нем в документации нет, то можно даже не пробовать. Если в описаниях ссылки есть, то может быть и можно, но фирменные программаторы не всегда конкретно могут их "понять". То есть лично я бы поставил два разъема. Если места мало, то с малым шагом. А если все-таки возникнет необходимость поэкспериментировать, установил соответствующие джампера. P.S.: TI в свое время выступал чуть ли не инициатором JTAG-стандарта. Altera тоже по идее должна понимать. Но я могу и ошибаться  Может быть у кого-то есть побольше опыта в данном вопросе.
--------------------
Правильно сформулированый вопрос содержит в себе половину ответа. P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
|
|
|
|
|
Jan 9 2013, 07:33
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(eugen_pcad_ru @ Jan 9 2013, 11:21)  Насколько я помню, возможность "каскадирования" микросхем разных производителей по JTAG-цепочке оговаривается в стандарте IEEE 1532. IEEE 1149.1 (или .7) 1532 - это ISP-программирование с использованием JTAG. И не важно, поддерживает ли микросхема 1532 или нет, на каскадировании это не сказывается. Можно спокойно каскадировать ПЛИСы, выпущенные еще до принятия 1532, с теми, которые соответствуют 1532 и с любыми другими девайсами, поддерживающими 1149.1/.7
|
|
|
|
|
Jan 10 2013, 18:51
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(dvladim @ Jan 10 2013, 21:18)  А с чего вдруг такие тонкости? По TCK не должно быть иголок, а задержки до разных схем безразличны ибо TDO формируется по заднему фронту, а TDI захватывается по переднему. А чтобы иголок небыло достаточно последовательное терминирование сделать - т.е. сопротивление около источника TCK поставить. Или же я что-то упускаю? Потому, что JTAG эмуляторы для процессоров TI работают по сигналу TCK_RET (TCKR/RTCK), при этом только генерируя сигнал TCK, но ничего по нему не делая. Это делается для компенсации задержки в кабеле JTAG и буферах, а также для возможности работы с источником TCK, расположенном на плате устройства (использование выхода TCK эмулятора в качестве источника TCK - это опция) Эти эмуляторы имеют небольшое последовательное терминирование на выходе TCK (33 Ом) и подключаемое параллельное терминирование на входе TCK_RET (120 Ом). Таким образом, если соблюсти разводку по цепочке (а у нас две "длинные линии" - TCK->устройство и устройство->TCK_RET ), как я рассказывал, и не вводить дополнительных терминаторов в схеме, получится оптимальный вариант разводки линии TCK для работы с TI JTAG эмуляторами, гарантирующий устойчивую работу на максимально допустимых частотах TCK - а следовательно и максимальную скорость передачи данных по JTAG. Если же сделать достаточно длинные отводы от данной цепи - то можно получить звон, достаточный для ложных срабатываний JTAG-ов у микросхем (у эмулятора все будет ОК из-за параллельного терминирования). Но, все равно, это приведет к нестабильности сессии эмуляции в лучшем случае, и к полному отсутствию соединения в худшем. А для байтбластера альтеры этот нюанс значения не имеет, там скорости никакие, и TCK_RET не используется
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|