Jump to content

    

Recommended Posts

Здравствуйте!

 

Есть у меня один вопрос. На моей плате стоят процессор IDT7RC64474, плис XILINX со своими загрузочными ПЗУ. Все эти элементы, кроме процессора, соединены в цепочку JTAG. Хочу в эту же цепочку подключить так же и процессор. Загвоздка в организации управления входом TRST* процессора. Согласно даташиту, во время нормальной работы процессора на этом входе должен быть низкий логический уровень; при этом выход TDO процессора переводится в третье состояние. Это все понятно. Непонятно другое: Для нормального функционирования JTAG надо на вход TRST* процессора подать высокий логический уровень напряжения; будет ли при этом процессор нормально функционировать?

В принципе, решение вопроса уже есть: утянуть на плате TRST* через 1кОм на землю, вывести TRST* на JTAG-разъем платы, а в подключаемом к этому разъему жгуте замкнуть TRST* на +3В. Но по ряду нетехнических причин на это решение идти не очень хочется. Поэтому меня интересует: будет ли нормально работать процессор, если на вход TRST* подать +3В напрямую или через сопротивление подтянуть этот вход к +3В? Посоветуйте, как быть, плиз. Заранее спсибо за ответы.

Share this post


Link to post
Share on other sites

Единственное, что делает TRST - асинхронно полностью сбрасывает JTAG-интерфейс, переводя его автомат в состояние Test-Logic-Reset. Ни на что другое этот сигнал никакого влияния не оказывает.

Share this post


Link to post
Share on other sites
Единственное, что делает TRST - асинхронно полностью сбрасывает JTAG-интерфейс, переводя его автомат в состояние Test-Logic-Reset.

 

Скажи, Обязательно ли перед использованием jtag сбрасывать его автомат переводом TRST* в низкий уровень?

Share this post


Link to post
Share on other sites
Скажи, Обязательно ли перед использованием jtag сбрасывать его автомат переводом TRST* в низкий уровень?

Сигнал TRST* - асинхронный сигнал для сброса автомата состояния TAP контроллера. Есть другой способ сброса, согласно спецификации, - это удержание сигнала TMS в единице не менее чем на 5 тактов TCK. Сброс TAP контроллера обязателен всегда.

Edited by semonoff

Share this post


Link to post
Share on other sites
Скажи, Обязательно ли перед использованием jtag сбрасывать его автомат переводом TRST* в низкий уровень?

 

На самом деле сбросом должен заниматься контроллер, который работает на шине JTAG - т.е. программатор.

А по спецификации IEEE1149 во время перевода процессора в режим Boundary Scan (если вы его, конечно, используете) внутреннее логическое ядро процессора отключается, поэтому ни о какой нормальной работе микросхемы говорить нельзя. Но, естественно, производители любят вносить свои коррективы в этот процесс (например, TI), поэтому обращаемся к даташиту или к разработчикам напрямую.

Share this post


Link to post
Share on other sites
На самом деле сбросом должен заниматься контроллер, который работает на шине JTAG - т.е. программатор.

А по спецификации IEEE1149 во время перевода процессора в режим Boundary Scan (если вы его, конечно, используете) внутреннее логическое ядро процессора отключается, поэтому ни о какой нормальной работе микросхемы говорить нельзя. Но, естественно, производители любят вносить свои коррективы в этот процесс (например, TI), поэтому обращаемся к даташиту или к разработчикам напрямую.

 

Сделал все по даташиту. Сброс сделал от кнопки (замыкает TRST на ноль). Процессор перевел в reset mode (VCCOK, RESET, COLDRESET утянул через 1кОм в ноль). Цепочка программой Impact ("программатор" XILINX) определяется, но состоит она из 9 unknown devices вместо трех загрузочных ПЗУ, одной ПЛИС и одного процессора. Почему так может происходить? Сигналы TDO-TDI проходят всю цепочку без искажений формы. Остальные сигналы распаяны правильно.

Share this post


Link to post
Share on other sites

Скорее всего Impact плючит. Попробуйте другие средства, если все сигналы проходят нормально, и TCK не звенит. А TRST - он опциональный - если жтаг-контроллер его не поддерживает, то подтянуть на плюс и забыть навечно.

Share this post


Link to post
Share on other sites
Скорее всего Impact плючит.

 

Спасибо за мысль. Допускаю такую возможность. Но есть еще один момент. В даташите на IDT написано: "The JTAG boundary scan should only be used when the RC64474/RC64475 is in the reset mode". Но нигде толком не написано, что это за "reset mode". Другими словами, непонятно, на какие входы сброса из трех (VCCOK, Reset, ColdReset) необходимо подать лог. "0" для переключения процессора в режим boundary scan?

Share this post


Link to post
Share on other sites

А Вы рекомендации из BSDL-файла выполнили?

 

http://www.idt.com/products/getDoc.cfm?docID=5252

 

-------------------------------

-- 2. MASTERCLOCK needs to be running during JTAG operation.

-- 3. VCCOK* has to be asserted (LOW) during JTAG operation.

-------------------------------

 

А вообще - у этого проца JTAG-отладка-то наверное есть? Если да, то не в резете все равно JTAG должен работать как положено, просто не в boundary scan, а для доступа к отладке.

Share this post


Link to post
Share on other sites
А Вы рекомендации из BSDL-файла выполнили?

 

-------------------------------

-- 2. MASTERCLOCK needs to be running during JTAG operation.

-- 3. VCCOK* has to be asserted (LOW) during JTAG operation.

-------------------------------

 

Да, эти условия выполняются. Но JTAG32 оставлен неподсоединенным. Понадеялся на встроенный пулл-даун.

Share this post


Link to post
Share on other sites
А вообще - у этого проца JTAG-отладка-то наверное есть? Если да, то не в резете все равно JTAG должен работать как положено, просто не в boundary scan, а для доступа к отладке.

 

Вот и я так думаю. Что хотя бы количество микросхем в цепочке должно определяться правильно. Но этого не происходит.

Share this post


Link to post
Share on other sites
Вот и я так думаю. Что хотя бы количество микросхем в цепочке должно определяться правильно. Но этого не происходит.

 

Попробуйте альтерским IDCODE ридером на байтбластере. Если уж и он не возьмет - то что-то в консерватории, скорее звон на TCK.

Share this post


Link to post
Share on other sites

Посятил некоторое время алгоритму определения количества и состава микросхем в JTAG-цепочке. JTAG-контроллеры всех микросхем в цепочке переводятся в состояние "TEST LOGIC RESET". В этом состоянии к TDI-TDO микросхемы подключаются регистры, содержащие ID-код микросхемы. Эти коды по цепочке передаются через все микросхемы в компьютер. И вот возникли у меня новые вопросы:

 

1. Какой регистр подключается к TDI-TDO микросхемы IDT в состоянии "TEST LOGIC RESET"?

2. Может ли этот регистр работать в режиме сдвигового регистра как на передачу, так и на прием? Или он может работать ТОЛЬКО на передачу?

 

Поможете мне это прояснить?

Share this post


Link to post
Share on other sites
1. Какой регистр подключается к TDI-TDO микросхемы IDT в состоянии "TEST LOGIC RESET"?

2. Может ли этот регистр работать в режиме сдвигового регистра как на передачу, так и на прием? Или он может работать ТОЛЬКО на передачу?

 

1. Это может прояснить лишь BSDL-файл на эту микросхему. Вариантов два - байпас или IDCODE.

3. Не то, что может на прием работать, а обязан. Иначе это будет не JTAG, а х.з. что. Любой регистр в JTAG цепочке всегда обязан передавать через себя все то, что пришло ему на TDI.

Share this post


Link to post
Share on other sites
JTAG-контроллеры всех микросхем в цепочке переводятся в состояние "TEST LOGIC RESET". В этом состоянии к TDI-TDO микросхемы подключаются регистры, содержащие ID-код микросхемы.

1. Какой регистр подключается к TDI-TDO микросхемы IDT в состоянии "TEST LOGIC RESET"?

Странный вопрос. При этом Вы на него еще и сами ответили двумя строками выше...

 

У меня была подобная проблема с процессором Freescale. Там оказалось нужно правильно проинициализировать контроллер TAP. Это можно было сделать только в процессе подачи питания. При этом нужно было вначале поднять TRST в 1, потом опустить в 0, подождать минимальное время, указанное с спецификации, и потом снова вернутьTRST в 1.

Лругие варианты не работали. Пять раз TMS=1 тоже. Долго препирались с техподдержкой, ничего не добились.

Попробуйте так же, должно поучиться.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this