реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Каскадирование JTAG, Cyclone3 + TI Stellaris
Podrezov
сообщение Jan 9 2013, 01:55
Сообщение #1





Группа: Новичок
Сообщений: 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 для программирования контроллера.

Подскажите, если у кого-то есть опыт, заработают ли они вместе. И чем это чревато, например, отсутствием универсального программатора для такого случая, несовместимостью ПО или чем-либо еще
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 9 2013, 07:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Могу точно сказать, что проблем ни с циклоном, ни со стелларисом не будет, по крайней мере если использовать для стеллариса среду TI Code Composer Studio. В ней можно создавать JTAG-цепочки с байпасами. Тоже касается и квартуса - мультидевайс жтаг чейн в нем поддержан, и даже автодетектируется. И, более того, с некоторыми эмуляторами можно будет и отлаживать TI ARM, и конфигурировать циклон при помощи SVF-плеера, если такой имеется у эмулятора, не перетыкая другой эмулятор - есть положительный опыт в этом деле.

Единственный важный совет - разводите линию TCK аккуратно - от сигнала TCK с разъема TI JTAG к первому девайсу в цепочке, далее от первого девайса к второму, и далее обратно на разъем на TCK_RET, следя за тем, чтобы от этой линии не было длинных отводов в сторону, разводка шла по цепочке от пина к пину.
Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Jan 9 2013, 07:21
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



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

P.S.: TI в свое время выступал чуть ли не инициатором JTAG-стандарта. Altera тоже по идее должна понимать. Но я могу и ошибатьсяsm.gif Может быть у кого-то есть побольше опыта в данном вопросе.


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 9 2013, 07:33
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jan 10 2013, 17:18
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(SM @ Jan 9 2013, 11:18) *
Единственный важный совет - разводите линию TCK аккуратно - от сигнала TCK с разъема TI JTAG к первому девайсу в цепочке, далее от первого девайса к второму, и далее обратно на разъем на TCK_RET, следя за тем, чтобы от этой линии не было длинных отводов в сторону, разводка шла по цепочке от пина к пину.

А с чего вдруг такие тонкости? По TCK не должно быть иголок, а задержки до разных схем безразличны ибо TDO формируется по заднему фронту, а TDI захватывается по переднему. А чтобы иголок небыло достаточно последовательное терминирование сделать - т.е. сопротивление около источника TCK поставить. Или же я что-то упускаю?
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 10 2013, 18:51
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 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 не используется
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016