Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Програмирывание 4-х ATmega162 в цепочке.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
cpl
Здравствуйте.
Есть 4 ATmega162 объединенных в цепочку по JTAG по следующей схеме

JTAG Разъем
TCK - на все 4 контролера
TMS - на все 4 контролера

TDI - на TDI 1 контролера, TDO1 на - TDI2, TDO2 на - TDI3, TDO3 на - TDI4
TDO - на TDO 4 контролера

Все сигналы(TDO, TDI, TMS, TCK, + TDO-TDI между контролерами) подтянуты к пинанию.

Пытаюсь прочитать сигнатуру контролера следующей командой:
jtagiceii.exe -mj -d ATmega162 -D 3,0,4,8 -s
в результате читается: 0x3f 0x3f 0x3f.

Что я делаю не так ?
Нужно ли подтягивать к питанию сигналы TDO-TDI между контролерами ?
Правильно ли задаю параметр -D 3,0,4,8 для последнего контролера в цепочке
так понимаю первая цифра задает сколько устройств в цепочке до нужного контролера ?
вторая задает число контролеров в цепочке после нужного контролера ?
Какие значение должны быть для последних двух цифр ?
zltigo
Ну и наворотили sad.gif. Думаю,что тут редко кто так делал.
Ищите на сайте Atmel дополнительную информацию. Одно могу точно сказать, что очень многие Atmega принципиально могут стоять в цепочке только первыми sad.gif. Относятся-ли 162 к таким, я не знаю, но 16 и 128 точно "дефектные" - проектировалось в свое время устройство с CPLD, но соломки подстелили. Хотя в свое время натыкался на рекламу английской фирмочки, которая рекламировала некий софт и алгоритм решающий эту проблему.

P.S.
Посмотрел - у 162 такая-же errata:
CODE
IDCODE masks data from TDI input
The public but optional JTAG instruction IDCODE is not implemented correctly according to
IEEE1149.1; a logic one is scanned into the shift register instead of the TDI input while shift-
ing the Device ID Register. Hence, captured data from the preceding devices in the
boundary scan chain are lost and replaced by all-ones, and data to succeeding devices are
replaced by all-ones during Update-DR.
If ATmega162 is the only device in the scan chain, the problem is not visible.
Problem Fix / Workaround
Select the Device ID Register of the ATmega162 (Either by issuing the IDCODE instruction
or by entering the Test-Logic-Reset state of the TAP controller) to read out the contents of
its Device ID Register and possibly data from succeeding devices of the scan chain. Note
that data to succeeding devices cannot be entered during this scan, but data to preceding
devices can. Issue the BYPASS instruction to the ATmega162 to select its Bypass Register
while reading the Device ID Registers of preceding devices of the boundary scan chain.
Never read data from succeeding devices in the boundary scan chain or upload data to the
succeeding devices while the Device ID Register is selected for the ATmega162. Note that
the IDCODE instruction is the default instruction selected by the Test-Logic-Reset state of
the TAP-controller.
Alternative Problem Fix / Workaround
If the Device IDs of all devices in the boundary scan chain must be captured simultaneously
(for instance if blind interrogation is used), the boundary scan chain can be connected in
such way that the ATmega162 is the first device in the chain. Update-DR will still not work
for the succeeding devices in the boundary scan chain as long as IDCODE is present in the
JTAG Instruction Register, but the Device ID registered cannot be uploaded in any case.
request.
cpl
мда, в общем действительно не работает !
сигнатуру, фюзы, читает пишет без проблем,
а вот память программ читает - пишет только на первом контролере в цепочке,
на всех последующих прошитые данные и близко не соответствуют действительности !
пробовал в цепочке работать с 2,3,4 результат один, может быть прошит только первый контролер.
1111493779.gif
Dikoy
Цитата(cpl @ Jun 24 2010, 14:43) *
мда, в общем действительно не работает !
сигнатуру, фюзы, читает пишет без проблем,
а вот память программ читает - пишет только на первом контролере в цепочке,
на всех последующих прошитые данные и близко не соответствуют действительности !
пробовал в цепочке работать с 2,3,4 результат один, может быть прошит только первый контролер.
1111493779.gif

А каким программатором шили?
Какие вообще поддерживают программирование цепочек? Кроме фирменного айса конечно.

640-я относится к "битым"? Поискал у неё эту эррату, вроде не нашёл.
Dikoy
Из сапорта атмела ответили:

Цитата
I tried to connect two ATmega640 in daisy chain configuration and I could program both the targets using a JTAGICEmkII without any issues.
Yes you can connect four ATmega640 in daisy chain configuration. Please refer AVR Studio 5.1 -> Help -> View help -> JTAGICEmkII user guide -> On-chip debugging -> Physical interfaces. This section provides you the procedures on how to connect several AVRs in daisy chain mode.
You can use several AVR programmers like JTAGICEmkII, JTAGICE3, AVR Dragon and AVRONE for JTAG programming. Please refer the AVR Studio help section for more details on all the AVR programming tools.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.