Перейти к содержанию
    

AT91SAM7S256 проблемы с SAM-BA USB

Доброго времени суток. Собрал я на макетке схему для микроконтроллера at91sam7s256. Хотел прошить через загрузчик sam-ba по usb, но винда определяет плату как неопознанное устройство. Прочитал что необходимо этот загрузчик при помощи манипуляций с выводами загрузить в память.

Пробовал различные способы манипуляций:

 

Включить плату к USB 
Потянуть ERASE к +3.3v на доли секунды (нажать на кнопку)  при этом стирается прошивка записанная в МК
Отпустить кнопку
Выключить плату
Потянуть TST к +3.3v (замкнуть ключ) 
Включить плату к USB, выждать 20сек (при етом загружается bootloader.)
Выключить плату
10. ыключить ключ на TST.

 

TST,PA0,PA1,PA2 к питанию вкл-15сек-выкл-15сек отпускаем TST,PA0,PA1,PA2

 

Так же пробовал просто:

TST на 3.3 вольта в течении 10 секунд.

 

Вообще какой из этих способов верный? :biggrin:

 

Версия самбы 2.10

Windows 7

 

Но не один из способов не давал результата, но потом в одно удачное утро, плата определилась как устройство и поставились дрова. Я решил зайти в самбу и приконектится, но при нажатии на кнопку "Connect" окно самбы просто закрылось и все. Передернул плату, и сново определилось как неизвестное устройство. В течении того же дня плата нормально определилась 3 раза (пробовал различные способы восстановления загрузчика), на последний раз, при попытке соединиться самбой вылезла ошибка, тогда я скрин не сделал :).

 

Но вот где то час назад я опять решил проверить плату, и она с первого раза нормально определилось, только попытка соединится в самбе привела к ошибке (той самой что было раньше, на этот раз я сделал скрин ;) ). Передернул кабель, все определяется, решил удалить драйвер, т.к у меня в диспетчере устройств контроллер находился в узле "Порты (COM и LPT)", а на одном скрине в инете контроллер был в узле "Контроллеры USB". Отключил, подключил, устройство не опознано. Несколько раз подряд включал и выключал, но все без толку. Оставил плату на минут 15 в покое :) Опят включил, устройство опознало, поставились драйвера, но при коннекте самбой опять возникает ошибка.

 

В аттаче:

  • Схема, которой я руководствовался при сборки (красными крестиками отвечены элементы которые отсутствуют).
  • Скрин диспетчера устройств.
  • Скрин ошибки в самбе.

 

Собственно где я мог ошибиться? Заранее спасибо! :rolleyes:

 

ЗЫ JTAG'а под рукой нету, на выходных планирую спаять.

post-66345-1311269057_thumb.png

post-66345-1311269076_thumb.png

post-66345-1311269084_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще какой из этих способов верный? :biggrin:

Верный способ:

- подключить TST к 3.3

- включить плату

- выждать более 15 секунд

- выключить плату, отключить TST

Линии PA0-PA2 при этом должны быть подтянуты к питанию или оставлены в воздухе.

 

Если этот способ не работает, то сначала стираем процессор при помощи ERASE. Его нужно подключать к 3.3 на время более 200мс. Питание в момент подключения должно быть уже подано.

 

Схема, которой я руководствовался при сборки (красными крестиками отвечены элементы которые отсутствуют).

Есть несколько моментов:

- обеспечивается ли нарастание питания ядра со скоростью 6V/ms или более?

- не брошены ли в воздухе пины JTAG?

- для серии SAM7S желательно предусматривать управление pull-up резистором на D+ от PA16

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

aaarrr, спасибо за верный способ, теперь хоть буду знать как точно восстановить загрузчик :) И все таки я не пойму, зачем тогда использовать PA0-PA2 (в даташите сказано) если это необязательно?

 

обеспечивается ли нарастание питания ядра со скоростью 6V/ms или более?

Это к сожалению я определить не могу. Хотя мне что то подсказывает, что в этом скорее всего дело.

не брошены ли в воздухе пины JTAG?

Пока нет JTAG разъема - висят в воздухе.

для серии SAM7S желательно предусматривать управление pull-up резистором на D+ от PA16

Еще не пробовал.

 

Нашел похожую тему на этом форуме http://electronix.ru/forum/index.php?showtopic=64941 . Там _4afc_ советовал повесить "4.7мкФ на 3.3В и 2.2мкФ на 1.8В.", попробовал и я так сделать: на 3.3В выпаял 2.2μF и повесил 4.7μF, а на 1.8В оставил без изменения, так как там висит 2.2μF, но похоже что это не изменило ситуации.

 

Может быть дело в том, что у меня VDDIN, VDDFLASH, VDDIO1, VDDIO2, VDDIO3 объедены между собой и все это кинуто одним проводником на параллельно соединенные 100nF, 100nF, 100nF, 100nF (пробовал добавлять еще 100nF) и 2.2μF (пробовал менять на 4.7μF), в свою очередь выводы VDDOUT, VDDPLL, VDDCORE1, VDDCORE2, VDDCORE3 объедены и кинуты (тоже одним проводником) на параллельно соединенные 100nF, 100nF, 100nF, 100nF и 2.2μF. Может это не совсем корректное соединение и поэтому я хочу попробовать развести питание по схеме Wolfgang Wieser (прикреплено в аттаче).

 

Еще интересует вопрос относительно определяемого устройства, оно должно находится в разделе "Порты (COM и LPT)" или же в "Контроллеры USB"?

post-66345-1311354902_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все таки я не пойму, зачем тогда использовать PA0-PA2 (в даташите сказано) если это необязательно?

На них обязательно должен быть высокий уровень. Для этого достаточно не тянуть их вниз снаружи.

 

Это к сожалению я определить не могу. Хотя мне что то подсказывает, что в этом скорее всего дело.

Очень часто бывает именно в этом.

 

Пока нет JTAG разъема - висят в воздухе.

Это плохо: встроенных подтяжек на них нет, а наводки могут привести к чему угодно.

 

Может быть дело в том, что у меня VDDIN, VDDFLASH, VDDIO1, VDDIO2, VDDIO3 объедены между собой и все это кинуто одним проводником на параллельно соединенные 100nF, 100nF, 100nF, 100nF (пробовал добавлять еще 100nF) и 2.2μF (пробовал менять на 4.7μF), в свою очередь выводы VDDOUT, VDDPLL, VDDCORE1, VDDCORE2, VDDCORE3 объедены и кинуты (тоже одним проводником) на параллельно соединенные 100nF, 100nF, 100nF, 100nF и 2.2μF. Может это не совсем корректное соединение и поэтому я хочу попробовать развести питание по схеме Wolfgang Wieser (прикреплено в аттаче).

Если плата выполнена таким образом, то это не "не совсем корректное соединение", а совсем некорректное :(

 

Еще интересует вопрос относительно определяемого устройства, оно должно находится в разделе "Порты (COM и LPT)" или же в "Контроллеры USB"?

Не знаю, где именно должно быть в семерке, но если хоть один раз самба подключалась, значит с драйвером все в порядке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Теперь собрал простейший отладчик Wiggler для LPT порта и горя не знаю !!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока нет JTAG разъема - висят в воздухе.

 

Посадите временно TDI и TCK на землю.

 

 

 

Нашел похожую тему на этом форуме http://electronix.ru/forum/index.php?showtopic=64941 . Там _4afc_ советовал повесить "4.7мкФ на 3.3В и 2.2мкФ на 1.8В.", попробовал и я так сделать: на 3.3В выпаял 2.2μF и повесил 4.7μF, а на 1.8В оставил без изменения, так как там висит 2.2μF, но похоже что это не изменило ситуации.

 

Там _4afc_ в первую очередь советовал поставить генератор!

 

PS: Я кстати давно уже отказался от USB SAMBA, вместо этого использую COM SAMBA.

Во-первых - генератор можно любой брать,

во-вторых USB не на всех процах есть да и подтягивающий резистор иногда удобнее скоммутировать не PA16,

в третьих - мне удобнее сконтактироваться на 6 ламелек (3.3, GND, DTXD, DRXD, TST, ERS), чем втыкать в мелкую платку miniUSB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если плата выполнена таким образом, то это не "не совсем корректное соединение", а совсем некорректное :(

Переделал питание по схеме Wolfgang Wieser, нечего не изменилось, все так же, бывает определяет, бывает нет.

 

kumle, я тоже планирую собрать Wiggler, может через него прошить удастся :)

 

Посадите временно TDI и TCK на землю.

Посадил, но еще не определяется, хотя сегодня оно что то весь день так...

 

_4afc_, спасибо за идею с ком портом, жаль что под рукой нету MAX3232, а только MAX232, с 3.3В наверно работать не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Переделал питание по схеме Wolfgang Wieser, нечего не изменилось, все так же, бывает определяет, бывает нет.

А если сначала подать питание, а затем включить шнурок USB?

 

kumle, я тоже планирую собрать Wiggler, может через него прошить удастся :)

Лучше соберите или купите какой-нибудь из многочисленных клонов J-Link'а.

 

жаль что под рукой нету MAX3232, а только MAX232, с 3.3В наверно работать не будет.

Скорее всего будет, кстати. Только SAM-BA через RS-232 работает уж очень тоскливо :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если сначала подать питание, а затем включить шнурок USB?

Нечего. Сейчас он что то вообще перестал определятся :(

 

Лучше соберите или купите какой-нибудь из многочисленных клонов J-Link'а.

Для начала думаю Wiggler собрать, так как, если собирать J-Link, то опять могут возникнуть проблемы с самбой :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня отладочная плата от OLIMEX, посмотрите как у них сделано подключение

http://olimex.com/dev/pdf/ARM/ATMEL/SAM7-P256-SCH-REV-F.pdf

 

A Wiggler собирал вот по этой схеме post-54280-1311687140_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kumle, у меня изначально питание было разведено по этой схеме http://olimex.com/dev/pdf/ARM/ATMEL/SAM7-H...C-schematic.pdf , от вашей схемы SAM7-P256-SCH-REV-F.pdf несильно отличается :)

А вигглер хочу собрать вот по этой post-66345-1311755780_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kumle, у меня изначально питание было разведено по этой схеме http://olimex.com/dev/pdf/ARM/ATMEL/SAM7-H...C-schematic.pdf , от вашей схемы SAM7-P256-SCH-REV-F.pdf несильно отличается :)

А вигглер хочу собрать вот по этой post-66345-1311755780_thumb.png

 

 

8-й и 15 выводы на LPT должны быть соединены, иначе работать не будет ! (это если работаете с ним в ИАРе)

Изменено пользователем kumle

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такс, собрал я вигглер (пока что без транзистора для сброса, и резисторы вместо 51 Ом, поставил 100 Ом). Камень в H-JTAG определяется как ARM7TDMI 0x3F0F0F0F. При попытке что то считать/записать в H-Flasher возникает ошибка "Error: Can't halt target and make it enter DEBUG...". В IAR тоже самое. В чем это может быть проблема? :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такс, собрал я вигглер (пока что без транзистора для сброса, и резисторы вместо 51 Ом, поставил 100 Ом). Камень в H-JTAG определяется как ARM7TDMI 0x3F0F0F0F. При попытке что то считать/записать в H-Flasher возникает ошибка "Error: Can't halt target and make it enter DEBUG...". В IAR тоже самое. В чем это может быть проблема? :(

 

Вообще, раз видите ARM7TDMI 0x3F0F0F0F - всё уже нормально.

Теперь сотрите процессор подачей сигнала на вход erase и припаяв кварц попробуйте ещё раз.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...