Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с AT91SAM9XE256-ES (инженерный образец)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
PuHaT
Всем привет!
Возникла следующая проблема. Может кто-нибудь тоже столкнулся с ней.
Попался в руки инженерный образец AT91SAM9XE256-QU (ревизия А, дата выпуска 0752). Распаял его на самодельной плате, изготовленной по аналогии с платой Olimex SAM9-L9260 (за исключением того, что на моей плате не разведен Ethernet, USB, NAND-flash). Изготовил две платы - на одной распаял AT91SAM9260-QU, а на другой - инженерный образец AT91SAM9XE256-QU.
Работаю в среде IAR_ARM. Для связи использую wiggler-LPT (с доработкой).
С АТ91SAM9260 все пошло сразу гладко - контроллер опознавался, коннектился на максимальной скорости, производилась отладка, в общем работал без сбоев.
С AT91SAM9XE256 возникла обратная ситуация. Напаял на плату все элементы, проверил питание, установил джамперы по аналогии с платой AT91SAM9260. Долго не мог соединиться с платой через wiggler. Прозвонил проводники на плате, проверил на замыкание между соседними проводниками - все в порядке. Вдруг в какой-то момент контроллер опознался и связался с компьютером на максимальной скорости. Запустил отладку в IARe. Поработал два вечера, потом опять перестал опознаваться на высокой скорости.
Скачал и установил программаторы c сайтов segger.com и hjtag.com. Опять же - с AT91SAM9260 опознают и связываются стабильно и на максимальной скорости. А с AT91SAM9XE256 - со скрипом - раз в 10-20 раз может определиться, может считать неверный идентификатор и т.д. и т.п.
Сейчас процессор AT91SAM9XE256 совсем перестал определяться и соединяться на максимальной скорости.
Делаю так - соединяюсь с контроллером AT91SAM9XE256 на минимальной скорости, программирую RAM (т.к. пока работаю только с ней), запускаю программу. Останавливаю выполнение программы. Постепенно увеличиваю скорость (с 8 до 1) - иногда позволяет связываться на максимальной скорости, но если произойдет разрыв, то приходится опять начинать связываться с самой медленной скорости.
Заметил еще одну особенность: вывел наружу тактовый сигнал PCK1 и проконтролировал его осциллографом - вместо периодического сигнала увидел какую-то апериодическую последовательность. После разбирательств выяснил, что при выборе источника тактирования:
Slow Clock is selected - периодический сигнал частотой ~28 кГц,
Main Clock is selected - непериодический сигнал,
PLL A Clock is selected- периодический сигнал частотой ~87 МГц,
PLL B Clock is selected - непериодический сигнал.
Так же в ходе работы обратил внимание, что частота тактирования SDRAM слишком низкая - иногда 33 иногда 47 МГц (тоже непонятно почему). Попытка изменить параметры PLLA или PLLB почему-то ни к чему не приводит - частота тактирования SDRAM не менялась.
Менялась она по своим непонятным мне законам - то 33 МГц, то 47 МГц. Выключал-включал питание, снова заливал RAM - тоже самое.
Похоже PLL не работает, или работает не так как надо. Смотрел в отладчике содержимое регистров PLL - записано то, что надо.
Читал Errata - нашел замечание, что кварц может запускаться слишком долго (вместо 200 мкс аж целых 1200 мс(!) ).
Посмотрел и учел отличия в схемотехнике AT91SAM9XE256 от AT91SAM9260, перепаивал кварцы и конденсаторы, перепаивал PLLRСА-фильтр, установку джамперов провел уже самыми разными способами, вывод NTRST задействовал - не помогает. Процессор перестал соединяться на максимальной скорости.

Извините, что собрал все в кучу. Может кто чего-нибудь подскажет в моей ситуации? Кто-нибудь сталкивался с подобным и как-то решил данную проблему?

Спасибо.
_4afc_
Цитата(PuHaT @ Apr 8 2009, 08:07) *
Читал Errata - нашел замечание, что кварц может запускаться слишком долго (вместо 200 мкс аж целых 1200 мс(!) ).

Конкретно это замечание можно устранить подключив генератор, вместо резонатора. Это справедливо для любого мк.
SavageForest
подобная ситюёвина с AT91SAM9XE512 QU 1120
2 платы из 3-х завелись без проблем, а 3-я не хочет связываться по JTAGу и SAM-Bе... идентификатор читает нормально, но как доходит до шитья J-Link предлагает очистить непустые сектора.. как даю разрешение - то вылазит ошибка записи, мол писал "0xFFFFFFFF FFFFFFFF" а записалось "0xAAAAAAAA AAAAAAAA" или что-то в этом духе. самое интересное то, что имеется наличие плевка в дебаг ">RomBoot".......
все платы с генераторами на 24 МГц и часовым кварцем. питание в норме, подтяжки и утяжки тоже. TST, JTAGSEL и ERASE висят в воздухе. в общем мистика какая-то.
проблема так и не решена
aaarrr
Цитата(SavageForest @ Apr 26 2012, 16:53) *
все платы с генераторами на 24 МГц и часовым кварцем

Генераторы на 1.8V?

Как вариант, не пропаяна какая-нибудь нога VDD.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.