|
|
  |
Не работает цепочка JTAG |
|
|
|
Dec 16 2008, 12:46
|
Группа: Участник
Сообщений: 14
Регистрация: 26-09-07
Пользователь №: 30 863

|
Здравствуйте! Проблема заключается в следующем, есть две одинаковые платы на каждой из них в JTAG цепочку подключены CPLD (XC2C64A), FPGA (XC3S400), FLASH_PROM (XCF02S). Каждая плата по отдельности нормально работает с программатором. Когда соединяю эти две платы в цепочку, ничего не работает. Смотрел осциллографом сигналы, вроде все в норме, звона нет, уровни нормальные. Питание у каждой платы свое, свои стабилизаторы, а всясистема запитана от лабораторных источников. В чем может быть дело? Помогите плиз!
|
|
|
|
|
Dec 16 2008, 14:20
|
Группа: Участник
Сообщений: 14
Регистрация: 26-09-07
Пользователь №: 30 863

|
Цитата(iosifk @ Dec 16 2008, 16:41)  А сигнал управления? TMS? у меня на сайте есть статьи о JTAG и там есть картинки по подключению нескольких микросхем в цепочку... Посмотрите, все ли правильно Вы включили... Все сигналы посмотрел, все ок! Может быть дело в том, что платы имею свои стабилизаторы питания? Устройства соединеные в единую последовательность не должны иметь одни цепи питания?
|
|
|
|
|
Dec 17 2008, 06:22
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Alexander123 @ Dec 16 2008, 17:20)  Все сигналы посмотрел, все ок! Может быть дело в том, что платы имею свои стабилизаторы питания? Устройства соединеные в единую последовательность не должны иметь одни цепи питания? Насколько я помню, автомат JTAG-контроллера после 4 или 5 тиктов синхрочастоты при наличии на TMS = 1 делает сброс. А кто мешает для эксперимента сделать общее питание? Теперь второй сюжет - это плохие фронты на ТСК. Попробуйте уменьшить тактовую частоту на 2 порядка. Если дело в затягивании фронтов, то здесь Вы увидите результат. Попробуйте сделать R или RC фильтры по TCK при переходе с платы на плату, чтобы убрать всплески на фронтах. Может быть это даст эффект. У Ксайлинкса есть режим тестирования порта JTAG. Проверьте еще раз сигналы. Если умеете работать с LPT портом, то можно подать на всю цепочку команду Bypass и изменить уровень данных на входе в цепочку проверить на сколько тактов он задерживается в цепочке. Попробуйте поставить какую нибудь программу для сканирования цепочки, чтобы она Вам показала, что происходит, например UniversalScan. Формально можно взять триггер, встроить в цепочку. Теоретически должно появиться неизвестное устройство... Может еще Ксайлинкс по разному настроен для программирования каждой платы? Больше пока ничего не видно...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 17 2008, 08:53
|
Группа: Участник
Сообщений: 14
Регистрация: 26-09-07
Пользователь №: 30 863

|
Цитата(iosifk @ Dec 17 2008, 09:22)  Насколько я помню, автомат JTAG-контроллера после 4 или 5 тиктов синхрочастоты при наличии на TMS = 1 делает сброс. А кто мешает для эксперимента сделать общее питание? Теперь второй сюжет - это плохие фронты на ТСК. Попробуйте уменьшить тактовую частоту на 2 порядка. Если дело в затягивании фронтов, то здесь Вы увидите результат. Попробуйте сделать R или RC фильтры по TCK при переходе с платы на плату, чтобы убрать всплески на фронтах. Может быть это даст эффект. У Ксайлинкса есть режим тестирования порта JTAG. Проверьте еще раз сигналы. Если умеете работать с LPT портом, то можно подать на всю цепочку команду Bypass и изменить уровень данных на входе в цепочку проверить на сколько тактов он задерживается в цепочке. Попробуйте поставить какую нибудь программу для сканирования цепочки, чтобы она Вам показала, что происходит, например UniversalScan. Формально можно взять триггер, встроить в цепочку. Теоретически должно появиться неизвестное устройство... Может еще Ксайлинкс по разному настроен для программирования каждой платы? Больше пока ничего не видно... спасибо за идеи.  буду разбираться...
|
|
|
|
|
Dec 18 2008, 08:28
|
Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811

|
Цитата(Alexander123 @ Dec 16 2008, 15:46)  Здравствуйте! Проблема заключается в следующем, есть две одинаковые платы на каждой из них в JTAG цепочку подключены CPLD (XC2C64A), FPGA (XC3S400), FLASH_PROM (XCF02S). Каждая плата по отдельности нормально работает с программатором. Когда соединяю эти две платы в цепочку, ничего не работает. Смотрел осциллографом сигналы, вроде все в норме, звона нет, уровни нормальные. Питание у каждой платы свое, свои стабилизаторы, а всясистема запитана от лабораторных источников. В чем может быть дело? Помогите плиз! Было нечто подобное. Плата с плиской питалась от одного компа, а прошивалась плиска с другого компа. Цепочка тоже не обнаруживалась до тех пор, пока у всей этой системы не сделал общую землю.
|
|
|
|
|
Jan 20 2009, 13:42
|
Группа: Участник
Сообщений: 14
Регистрация: 26-09-07
Пользователь №: 30 863

|
Цитата(iosifk @ Dec 17 2008, 09:22)  Насколько я помню, автомат JTAG-контроллера после 4 или 5 тиктов синхрочастоты при наличии на TMS = 1 делает сброс. А кто мешает для эксперимента сделать общее питание? Теперь второй сюжет - это плохие фронты на ТСК. Попробуйте уменьшить тактовую частоту на 2 порядка. Если дело в затягивании фронтов, то здесь Вы увидите результат. Попробуйте сделать R или RC фильтры по TCK при переходе с платы на плату, чтобы убрать всплески на фронтах. Может быть это даст эффект. У Ксайлинкса есть режим тестирования порта JTAG. Проверьте еще раз сигналы. Если умеете работать с LPT портом, то можно подать на всю цепочку команду Bypass и изменить уровень данных на входе в цепочку проверить на сколько тактов он задерживается в цепочке. Попробуйте поставить какую нибудь программу для сканирования цепочки, чтобы она Вам показала, что происходит, например UniversalScan. Формально можно взять триггер, встроить в цепочку. Теоретически должно появиться неизвестное устройство... Может еще Ксайлинкс по разному настроен для программирования каждой платы? Больше пока ничего не видно... Разобрался с проблемой! Подключил обе платы к одним и тем же источникам напряжений +3.3В, +1.2В, +2.5В и все сразу стало работать. Следовательно все устройства сидящие в одной JTAG цепочке должны питаться от одного источника питания (стабилизатора).
|
|
|
|
|
May 6 2009, 04:29
|

Частый гость
 
Группа: Свой
Сообщений: 129
Регистрация: 28-11-06
Пользователь №: 22 854

|
Цитата(dvladim @ May 5 2009, 22:19)  Видел в рекомендациях - на каждые 5 схем ставят буфер. Естественно буфера ставят на TCK и TMS. В вашем случае, видимо, по буферу на плату. Ну и не забывать следить, чтобы по питанию и уровням цепочка была согласована. Спасибо за ответ.Примерно так и думал.А нет ссылки на рекомендацию?Или какие буферы предпочтительней? Был бы очень признателен.
--------------------
Противник, вскрывающий ваши ошибки, гораздо полезнее, чем друг, скрывающий их. /Леонардо да Винчи/
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|