Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-июн-04 10:50

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 4 сообщения ] 
Автор Сообщение
СообщениеДобавлено: 2014-ноя-12 09:34 
Не в сети

Зарегистрирован: 2014-ноя-11 13:18
Сообщения: 2
Здравствуйте,
Возникли затруднения с записью в память 5576РС1У через JTAG. По команде ISC_READ память всегда возвращает 0xFFFF независимо от того, что ранее в нее писалось командой ISC_PROGRAM. При этом такие команды как BYPASS и IDCODE работают верно.
Процесс записи и чтения описан ниже:
1) Проверка IDCODE. На осциллограмме 1_GetID_Request.png приведена команда запроса ID, а на 2_GetID.png приведен ответ в верным ID = 0x0100A0DD.
1_GetID_Request.png:
Открыть
Вложение:
[ attachment ]
1_GetID_Request.png [ 4.13 КБ | 4218 просмотров ]
Закрыть
2_GetID.png:
Открыть
Вложение:
[ attachment ]
2_GetID.png [ 4.19 КБ | 4218 просмотров ]
Закрыть
2)Подается последовательность из шести '1' по TMS, которые переводят нас в 'test logic reset', а затем '01', для перехода в 'select DR scan' (Осциллограмма 3_Reset.png).
3_Reset.png:
Открыть
Вложение:
[ attachment ]
3_Reset.png [ 3.87 КБ | 4218 просмотров ]
Закрыть
3)Подается FLOW_ENABLE, которая определена в bsd файле как:
"FLOW_ENABLE " &
"INITIALIZE " &
"(ISC_ENABLE WAIT 1.0e-3)" &
"(ISC_ADDRESS_SHIFT 23:400000 WAIT TCK 1)," &
На осциллограммах 4_Enable-1.PNG и 5_Enable-2.PNG приведена команда ISC_ENABLE. Пауза между 1 и 2 частью команды составляет примерно 2 млс, во время которой машина состояний находится в 'run test idle'.
На осциллограммах 6_Address_Shift-1.PNG и 7_Address_Shift-2.PNG приведена команда ISC_ADDRESS_SHIFT.
4_Enable-1.PNG:
Открыть
Вложение:
[ attachment ]
4_Enable-1.PNG [ 4.27 КБ | 4218 просмотров ]
Закрыть
5_Enable-2.PNG:
Открыть
Вложение:
[ attachment ]
5_Enable-2.PNG [ 3.52 КБ | 4218 просмотров ]
Закрыть
6_Address_Shift-1.PNG:
Открыть
Вложение:
[ attachment ]
6_Address_Shift-1.PNG [ 4.31 КБ | 4218 просмотров ]
Закрыть
7_Address_Shift-2.PNG:
Открыть
Вложение:
[ attachment ]
7_Address_Shift-2.PNG [ 4.26 КБ | 4218 просмотров ]
Закрыть
4)Подается укороченная команда FLOW_PROGRAM, команда ISC_PROGRAM внутри нее подается 2 раза:
"FLOW_PROGRAM (array) " &
"INITIALIZE " &
"(ISC_ADDRESS_SHIFT 23:000000 WAIT TCK 1)" &
"(ISC_PROGRAM 16:? WAIT 3.0e-4 )" &
"(ISC_PROGRAM 16:? WAIT 3.0e-4 )";
Этой последовательности команд соответствуют осциллограммы 8_Address_Shift-1.PNG, 9_Address_Shift-2.PNG, 10_Prog-1.PNG, 11_Prog-2.PNG, 12_Prog-1.PNG. 13_Prog-2.PNG.
8_Address_Shift-1.PNG:
Открыть
Вложение:
[ attachment ]
8_Address_Shift-1.PNG [ 4.18 КБ | 4218 просмотров ]
Закрыть
9_Address_Shift-2.PNG:
Открыть
Вложение:
[ attachment ]
9_Address_Shift-2.PNG [ 4.12 КБ | 4218 просмотров ]
Закрыть
10_Prog-1.PNG:
Открыть
Вложение:
[ attachment ]
10_Prog-1.PNG [ 4.4 КБ | 4218 просмотров ]
Закрыть
11_Prog-2.PNG:
Открыть
Вложение:
[ attachment ]
11_Prog-2.PNG [ 3.59 КБ | 4218 просмотров ]
Закрыть
12_Prog-1.PNG:
Открыть
Вложение:
[ attachment ]
12_Prog-1.PNG [ 4.4 КБ | 4218 просмотров ]
Закрыть
13_Prog-2.PNG:
Открыть
Вложение:
[ attachment ]
13_Prog-2.PNG [ 3.6 КБ | 4218 просмотров ]
Закрыть
5)Производится чтение согласно началу команды FLOW_VERIFY:
"FLOW_VERIFY (array) " &
"INITIALIZE" &
"(ISC_READ WAIT TCK 1 16:DFFF*0000, 2:2*0) "&
"(ISC_ADDRESS_SHIFT 23:000000 WAIT TCK 1)" &
"(ISC_READ WAIT TCK 1 16:?*FFFF, 2:2*3:CRC)" &
"(ISC_READ WAIT TCK 1 16:?*FFFF, 2:2*3:CRC)" &
Этой последовательности команд соответствуют осциллограммы 14_Read-1.PNG, 15_Read-2.PNG, 16_Address_Shift-1.PNG, 17_Address_Shift-2.PNG, 18_Read-1.PNG, 19_Read-2.PNG, 20_Read-1.PNG, 21_Read-2.PNG.
После установки в 0 регистра адреса командой ISC_ADDRESS_SHIFT, ожидалось получить командами ISC_READ данные, записанные в 4 пункте командами ISC_PROGRAM, однако на осциллограммах 19_Read-2.PNG и 21_Read-2.PNG по TDO мы получаем 0xFFFF.
14_Read-1.PNG:
Открыть
Вложение:
[ attachment ]
14_Read-1.PNG [ 4.16 КБ | 4218 просмотров ]
Закрыть
15_Read-2.PNG:
Открыть
Вложение:
[ attachment ]
15_Read-2.PNG [ 3.94 КБ | 4218 просмотров ]
Закрыть
16_Address_Shift-1.PNG:
Открыть
Вложение:
[ attachment ]
16_Address_Shift-1.PNG [ 4.18 КБ | 4218 просмотров ]
Закрыть
17_Address_Shift-2.PNG:
Открыть
Вложение:
[ attachment ]
17_Address_Shift-2.PNG [ 4.13 КБ | 4218 просмотров ]
Закрыть
18_Read-1.PNG:
Открыть
Вложение:
[ attachment ]
18_Read-1.PNG [ 4.09 КБ | 4218 просмотров ]
Закрыть
19_Read-2.PNG:
Открыть
Вложение:
[ attachment ]
19_Read-2.PNG [ 3.97 КБ | 4218 просмотров ]
Закрыть
20_Read-1.PNG:
Открыть
Вложение:
[ attachment ]
20_Read-1.PNG [ 4.08 КБ | 4218 просмотров ]
Закрыть
21_Read-2.PNG:
Открыть
Вложение:
[ attachment ]
21_Read-2.PNG [ 3.99 КБ | 4218 просмотров ]
Закрыть


Последний раз редактировалось Elisey 2014-ноя-24 15:44, всего редактировалось 2 раза.

Вернуться к началу
СообщениеДобавлено: 2014-ноя-12 09:39 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1300
Откуда: АО "ПКК Миландр"
Перезалейте фотки на наш форум. А то не кажет.


Вернуться к началу
СообщениеДобавлено: 2014-ноя-12 12:01 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Можете посмотреть файл svf созданный Quartus с алгоритмом загрузки и верификации флеш, по FLOW из bsd и всему остальному лучше спрашивать у Altera. Диаграммы можно снять с программатора ByteBlaster при прошивке из Quartus и сравнить со своими, это самый надёжный способ. Свой программатор мы не делали, так что ориентиром может служить только стандартный альтеровский.
И ещё все команды подаются через IR регистр в цепочке 'select IR scan', у Вас не совсем понял что это так.


Вложения:
test_epc.zip [17.83 КБ]
264 скачивания
Вернуться к началу
СообщениеДобавлено: 2014-ноя-21 15:12 
Не в сети

Зарегистрирован: 2014-ноя-11 13:18
Сообщения: 2
Спасибо за совет,
Проблема решилась за счет корректировки переходов по машине состояний:
Было: Exit 1->Update
Стало: Exit 1->Pause->Exit 2->Update

Возник следующий вопрос:
В документации упоминается бит ISC_Done по адресу 0x8000. Подскажите пожалуйста, где можно посмотреть описание остальных конфигурационных битов в адресах с 0x8000 по 0x8020.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 4 сообщения ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB