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

 
 
> Проблемы с программированием JTAG цепочки
Kattani
сообщение Nov 10 2015, 21:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 30-08-07
Пользователь №: 30 171



Здравствуйте.
Имеется устройство содержащее несколько плат с плисами соединённые в цепочку следующим порядком: EPM1270 - EP1C6 - EP3C25 - EP3C25 - EP3C25.
Прикрепленное изображение

У каждого циклона своя EPCS16, на выводах MSEL выставлен режим AS. Выводы эти подключены непосредственно к уровням, без резисторов.
Всё это дело нормально определялось квартусом. А потом стали вылезать неприятности.
Сначала был обнаружен интересный момент: если залит в EP1C6 прошивку, то все последующие попытки будь то автоопределение, либо прошивка других кристаллов оказывались бесполезными - цепочка не обнаруживалась. Хотя отладчик jtag её через раз видит. Если же сначала шить другие кристаллы, то никаких проблем, пока очередь не дойдёт до первого циклона. Приходится заливать *.sof, в противном случае замена соотвествующей EPCS-ки на чистую, т.к. возможность программирования теряется напрочь. При этом запрограммированный (неважно *.sof или *.jic) кристал EP1C6 вполне себе выполняет загруженный в него проект.
Второй случай с другим экземпляром данного устройства произошёл такой. Цепочка перестала определятся, отладчик изредка обнаруживал один из треьих циклонов. Виновником оказалась предпоследния плата с кристаллом EP3C25. У него все выводы (кроме питания и тех что имели внешнюю подвязку) находились, видимо, в 3-ей состоянии. На них было примерно от 0,5 до 1,5В. CONF_DONE - 0, nSTATUS - 0. Принудительный перевод nCONFIG в ноль ничего не давал. Всё питание на месте, не просажено и потребление в норме.
В чём может быть проблема?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shivers
сообщение Nov 12 2015, 09:34
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



У вас каждая альтера на отдельном модуле? Это плохо, тогда лучше ставить буферы сразу после разъемов JTAG, поскольку каждый разъем вносит высокое сопротивление в линию.
Сверьте с документацией, что использовали правильные номиналы подтяжек JTAG. Возможно, имеет смысл подтянуть TDO между альтерами (поскольку это открытый коллектор, если память не изменяет). Подтяжки внутри ПЛИС использовать не стоит - они слишком слабые.
Ну и имеет смысл взять конкретно третий модуль и подключить его к JTAG напрямую. Проследите осциллографом, что все сигналы доходят. Убедитесь, что житаговские выводы пропаяны. Если все хорошо, то смотрите на осциллографе диаграмму загрузки ПЛИС по житагу, сравнивайте с мануалом, и ищите разницу.
Go to the top of the page
 
+Quote Post
Kattani
сообщение Nov 12 2015, 14:18
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 30-08-07
Пользователь №: 30 171



Цитата(Shivers @ Nov 12 2015, 13:34) *
У вас каждая альтера на отдельном модуле? Это плохо, тогда лучше ставить буферы сразу после разъемов JTAG, поскольку каждый разъем вносит высокое сопротивление в линию.

Каждая альтера на отдельном модуле. Разъём только один - на корпусе прибора. Межплатные соединения паянные, длинная переходов между платами линии TDO-TDI не более 5-6 см. С буферами согласен, по всей видимости будет учтено в следующей версии.
Цитата(Shivers @ Nov 12 2015, 13:34) *
Сверьте с документацией, что использовали правильные номиналы подтяжек JTAG. Возможно, имеет смысл подтянуть TDO между альтерами (поскольку это открытый коллектор, если память не изменяет). Подтяжки внутри ПЛИС использовать не стоит - они слишком слабые.

Подтяжки по выводам TDO внешние, 1кОм. И, раз уж речь зашла про их номиналы, то на что они влияют? А то встречаются варианты с разбросом номиналов от 1 до 10 кОм.



Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 02:54
Рейтинг@Mail.ru


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