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

 
 
> Использование пинов JTAG, для Циклонов
Tosha
сообщение Feb 28 2006, 12:51
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Кто нибудь пробовал заиспользовать JTAG пины как USER IO после конфигурации?

В новом Квартусе появился компонент cyclone_jtag.
Но при его подключении Квартус говорит "Error: JTAG port tck must connect to I/O pin".
Теоретически долна быть возможность использования пинов.
Ведь работает программатор флеша через JTAG и NIOS тоже через него подключается.

У кого есть какие соображения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
vetal
сообщение Feb 28 2006, 15:52
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
Кто нибудь пробовал заиспользовать JTAG пины как USER IO после конфигурации?

выводы JTAG нельзя использовать как пользовательские.

Цитата
Ведь работает программатор флеша через JTAG и NIOS тоже через него подключается.

Для этих целей обмен ведется через jtag в чистом виде. Для подключения нескольких устройств к контроллеру jtag используется sld_hub. для более подробной информации можно посмотреть в исходники jtag_uart.

Сообщение отредактировал vetal - Feb 28 2006, 15:53
Go to the top of the page
 
+Quote Post
Tosha
сообщение Mar 1 2006, 07:11
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Всетаки можно похоже использовать JTAG пины. Но не все а только TCK и TMS.

См: http://wiki.openchip.org/index.php/Altera:JTAG

Но как входы они конечно не так интересны. Было бы удобно использовать как выходы, для светодиодов например, чтобы нормальные пины не занимать.
Go to the top of the page
 
+Quote Post
vetal
сообщение Mar 1 2006, 16:06
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Вы не правильно поняли.
Это модуль подключения jtag. То, что "TMS(TCK) copy direct connect TMS(TCK)" не говорит о том, что вы можете использовать их как пользовательские. Эти выводы(отводы), в совокупности с прочими, необходимы для организации обмена управляющей машины с внутренностями ПЛИС.
Если, следуя вашей логике, их использовать как пользовательские, то это может привести к !невосстанавливаемым! повреждениям микросхемы и/или платы.
Go to the top of the page
 
+Quote Post
Tosha
сообщение Mar 2 2006, 03:50
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Понятно, что их нельзя просто так использовать. Но я думаю что TMS точно можно как вход, при условии что TCK и TDI притянуты к земле. Скорее всего можно и TCK использовать если TDI притянут к земле, но в этом уже не уверен.
А если JTAG не используется по назначению, что мешает поиметь 1 или 2 свободных пина. Хотя как я уже сказал, мне было бы лучше если бы они были выходами.
Go to the top of the page
 
+Quote Post
dinam
сообщение Mar 2 2006, 05:29
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 415
Регистрация: 10-06-05
Из: Наукоград Кольцово(Новосибирск)
Пользователь №: 5 898



Наиболее удобно посмотреть какие пины можно использовать как пользовательские, а какие нет можно в "Assignment Editor". Там где вы обычно назначаете какому сигналу какую ножку привязать. smile.gif . Можно ещё посмотреть вкладку в Quartuse - Assignments-> Device...->Device & Pin Options...->Dual-Purpose Pins.
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Mar 2 2006, 07:55
Сообщение #7


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Да вы чё, мужики, в натуре?
Вот у меня лежит скачанный ep2c20.pdf, Pin Information for the Cyclone™ II EP2C20 Device. Сказано практически русским языком про все JTAG выводы: Dedicated JTAG input pin или Dedicated JTAG output pin (стр. 21). И в таблице на стр. 2 для них не указано других функций, кроме JTAG. Нельзя их больше ни для чего использовать, только для JTAG. Если он не нужен, то входы заземлить. И всё.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 2 2006, 08:16
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Tosha @ Feb 28 2006, 15:51) *
В новом Квартусе появился компонент cyclone_jtag.
У кого есть какие соображения?


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

Вот такие соображения.
А забивать JTAG под пины, вместо того, чтобы научиться делать автоматическую проверку качества монтажа или зашивки каких-либо флэшей - ну это, в переводе на ... дальше просто не пишу....

Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Tosha
сообщение Mar 3 2006, 04:51
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Ну зачем же сразу так категорично. Никто же не мешает использовать пины DCLK, DATA0, ASDO, nCSO по своему усмотрению. Они тоже Dedicated programming pins. Например удобно можно подключить параллельно несколько последовательных флешей при этом добавляя всего 1 ногу на флеш. Почему нельзя сделать то же самое и с JTAG'ом? Хотя как я уже сказал для меня в таком виде они как User IO не интересны.
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Mar 3 2006, 07:29
Сообщение #10


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Ага, я тоже как-то подключил ASDO по своему усмотрению. Только это была ошибка в datasheet. Через пару потерянных дней я понял, что это никогда не будет работать, и так уж совпало, что поставил новую версию Квартуса. А она мне после первой же компиляции сказала, что на этот вывод сигнал подавать нельзя.
DCLK по своему усмотрению - точно нельзя, я уже разбирался. Остальные не помню, лень смотреть.
Вообще: если настолько не хватает ног, что каждый dedicated на счету, то надо брать следующий корпус. Аппетит приходит во время еды, и потом всё равно ещё что-то понадобится. Эта истина, ИМХО, будет осознана каждым после первого же проекта на ПЛИС.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Tosha
сообщение Mar 3 2006, 08:51
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



А что прикажете делать, если EP1C12F324 забит под завязку так, что выкнуть ничего нельзя. При том что все что можно было вынести - порядка 70 контактов вынесено в дополнительную MAX'ину. Переходить на EP1C20 в корпусе BGA400 или вообще другое семейство?
Кстати подключать те ноги которые я перечислил точно можно (у меня они используются для переконфигурирования на ходу smile.gif ), для этого нужно подключить соответствующий компонент.
Go to the top of the page
 
+Quote Post
vetal
сообщение Mar 3 2006, 09:15
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
Переходить на EP1C20 в корпусе BGA400 или вообще другое семейство?

Так и надо поступить. Или же поставить EP2C20F484(у него до 315 ног свободно).
JTAG в любом случае необходимо оставить и вывести на разъем.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 3 2006, 09:20
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Tosha @ Mar 3 2006, 11:51) *
А что прикажете делать, если EP1C12F324 забит под завязку так, что выкнуть ничего нельзя.


А потом, при отладке "на объекте" понадобится добавить только один триггерок, или захотите простробировать еще одним сигнальчиком...

И вот тогда - весь проект на выброс, а фирме - кранты....
Очень, очень веселый путь для любителей адреналина...
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Tosha
сообщение Mar 3 2006, 10:19
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Цитата(iosifk @ Mar 3 2006, 12:20) *
А потом, при отладке "на объекте" понадобится добавить только один триггерок, или захотите простробировать еще одним сигнальчиком...


Вот как раз такой случай я и имел в виду. Если уже все сделано и вдруг приперло. Не переразводить же всю плату если нужно всего 1 пин добавить cranky.gif Ведь можно придумать такую функцию для пина, которая JTAG'у не мешает и позволяет еще сделать что-нибудь полезное. cheers.gif

В общем пусть каждый останется при своем мнении. Предлагаю тему закрыть.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 3 2006, 11:31
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Tosha @ Mar 3 2006, 13:19) *
Вот как раз такой случай я и имел в виду. Если уже все сделано и вдруг приперло. Не переразводить же всю плату если нужно всего 1 пин добавить cranky.gif Ведь можно придумать такую функцию для пина, которая JTAG'у не мешает и позволяет еще сделать что-нибудь полезное. cheers.gif

В общем пусть каждый останется при своем мнении. Предлагаю тему закрыть.


Тогда сочувствую....
Но все же. Возможно на чипе есть Входы, на которые подаются какие-нибудь сигналы конфигурации работы, типа джамперов, на 1, на 0, или что-то в этом духе.
Тогда можно по старту-сбросу считать эти 0 и 1 во внутренний регистр, а сами эти пины использовать как выходы, конечно если они напрямую не сидят на нуле.

Или промультиплексировать какую-нибудь функцию, типа чтения ОЗУ по шине данных....

Вывод: всегда надо оставлять 4-6 пинов и выводить их на иголки, чтобы было через чего отлаживаться и потом эти сигналы использовать вот в такой ситуации, как у Вас.
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

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

 


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


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