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

Нужна помощь, сломал голову! (Atmel AT91SAM7х256)

Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс.

 

Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?

 

Затянули то туда, но неправильно )) "когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство" Нужно Vcc на D+ через 1.5К

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


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

Попробуйте снять эту гроздь из конденсаторов на цепях USB. Могу предположить что SAMBA loader откатывается на USB 1, а прошивка не умеет. Изменились скорее всего электрические параметры хоста.

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


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

Попробуйте снять эту гроздь из конденсаторов на цепях USB. Могу предположить что SAMBA loader откатывается на USB 1, а прошивка не умеет. Изменились скорее всего электрические параметры хоста.

 

не думаю, с кондерами там все ок (если стоят те, что на схеме)

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


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

Можете не думать, я не настаиваю.

Есть опыт борьбы с FT232RL, на которую навесили именно так как у Вас. Пока не сняли, опознавалось один из десяти раз.

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

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


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

Можете не думать, я не настаиваю.

Есть опыт борьбы с FT232RL, на которую навесили именно так как у Вас. Пока не сняли, опознавалось один из десяти раз.

 

у меня сотни плат с такой схемой и на FTDI и на AT91SAM7S. И если вы внимательно почитаете топик сначала, то поймете, что уровни напряжения совсем не связаны с конденсаторами

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


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

у меня сотни плат с такой схемой

 

Схема-то штатная. Но могли и неправильные номиналы запаять. Я бы не зацикливался на напряжении вывода, а сначала упростил до минимума. D+ через резистор 1,5к к +3V3, резистор от 91-й ножки отпаять. А то может помимо напряжения на выводе ещё и кварц шалит ;)

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


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

правильный уровень 2.8 В. Вот, посмотрите для быстрого понимания http://usb.fober.net/teoriya/Fizicheskij-interfejs/

 

ПС, судя по вашей схеме, ножка 91 должна в программе быть определена на выход . Она сейчас у вас на вход с верхней подтяжкой (килоом в 50). Думаю, если она (91 нога) используется в программе и далее (для ре-енумерации), то проблема с подбором 1.5К до конца не решится.

 

Да, не решилось (( непрошитая определяется, прошитая нет. При этом после прошивки падает напряжение на D+ до 1.5 (с 2.8 до прошивки) и подбор перемещением результатов не даёт, определяется как неизвестное устройство

 

 

 

 

Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс.

 

Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?

 

Отъехал пока, вернусь, попробую. Проверить работу прошивки не могу, она работает с софтом на PC, т.е. пока usb не заработает, нельзя проверить работу платы

 

1) Ага, всё-таки существует вероятность, что файл прошивки сейчас может отличаться от того что был ранее.

 

2) Ревизия скорее всего отпадает.

 

3) Перепрошивка. Это был наводящий вопрос. Почему при проектировании платы нельзя добавить джампер, при наличии которого плата предназначена для прошивки с гарантированным состоянием условий работы контроллера, не зависящих от "прошит", "не прошит", "прошит неправильной прошивкой"?

 

Не, не, откуда вы взяли? Прошивка последний раз менялась в 2013г., с тех пор - нет. А плат за это время сделали сотни и всегда все ок.

 

 

Попробуйте снять эту гроздь из конденсаторов на цепях USB. Могу предположить что SAMBA loader откатывается на USB 1, а прошивка не умеет. Изменились скорее всего электрические параметры хоста.

Пробовал. Ни на что не влияет.

 

Затянули то туда, но неправильно )) "когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство" Нужно Vcc на D+ через 1.5К

 

Это имелось ввиду, конечно через 1.5к. А напрямую - это смысле "не через 91 ногу"

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


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

Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.

Так НЕ ДОЛЖНО быть. Проверьте еще раз.

 

Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало.

Я бы думал, что все с точностью до наоборот: загрузчик ничего не знает о 91 ноге, поэтому подключение хост видит через включенный pull-up, благо на AT91SAM они зверские. А вот что происходит в основной программе - науке неведомо.

 

alex7577, снимите резистор, и посмотрите поведение 91 ноги в режиме загрузчика и в боевом - куда и в каком объеме она тянет/отдает ток.

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


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

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

Для быстрого выявления "программной природы" бага, можно найти готовый пример какого-либо USB-устройства для отладочной платы с Вашим МК и с аналогичной распиновкой USB-интерфейса.

Скомпилить, прошить, проверить.

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


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

Есть плата обработки внешних сигналов на ATMEL AT91SAM7х256

 

Плата проверена годами, выпустили сотни штук и никогда не было такой проблемы, как сейчас.

Проблема в том, что до прошивки контроллера, плата при подключении к компу по USB определяется в диспетчере устройств.

А есть старые платы? Они с этим компом на этом виндоус с этим разъёмом работают?

 

Был случай, пришлось на другую реализацию стека USB уходить....

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


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

Всем спасибо за помощь! Проблема пока не решена, но хотя бы понятно куда копать.

Нашли пару МК с более старой ревизией, запаяли, все сразу заработало, т.о. понятно что дело только в новой ревизии.

Блин! Такой удар со стороны классика )) 5 лет все было нормально и вдруг на тебе! Самое главное вовремя )

 

Для быстрого выявления "программной природы" бага, можно найти готовый пример какого-либо USB-устройства для отладочной платы с Вашим МК и с аналогичной распиновкой USB-интерфейса.

Скомпилить, прошить, проверить.

Боюсь это не быстро для нас ( Нам бы "костыль" влепить, лишь бы работало, отправить заказ, а потом уже посидим, покумекаем.

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


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

Блин! Такой удар со стороны классика )) 5 лет все было нормально и вдруг на тебе! Самое главное вовремя )

 

Ребят, ну вы же сами себе злобные буратины (ССЗБ). Даташит что гласит?

post-4140-1505219208_thumb.png

 

Если не нужна принудительная енумерация, то можно 1.5 кОм намертво к +3.3В подцепить.

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


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

Ребят, ну вы же сами себе злобные буратины (ССЗБ). Даташит что гласит?

post-4140-1505219208_thumb.png

 

Если не нужна принудительная енумерация, то можно 1.5 кОм намертво к +3.3В подцепить.

 

Подцепил.

Непрошитый МК определяется нормально, как на скрине в начале темы.

Прошитый как неизвестное устройство. На D+ при этом 2,9в.

 

Это однозначно говорит о том, что принудительная енумерация присутствует?

 

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


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

Если не нужна принудительная енумерация, то можно 1.5 кОм намертво к +3.3В подцепить.

 

Самое странное, что ТС пытался 1.5 кОм намертво к +3.3В подцепить (по его словам), ничего не помогло.

 

Подцепил.

Непрошитый МК определяется нормально, как на скрине в начале темы.

Прошитый как неизвестное устройство. На D+ при этом 2,9в.

 

Это однозначно говорит о том, что принудительная енумерация присутствует?

 

очень похоже на это. Уровень напряжения нормальный

Может вы кусок проекта сюда скините с инициализацией периферии?

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


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

А есть старые платы? Они с этим компом на этом виндоус с этим разъёмом работают?

 

Был случай, пришлось на другую реализацию стека USB уходить....

 

Да написал выше, старая плата работает на этом компе стабильно.

Более того, перепаяли МК на новую, тоже работает.

 

Самое странное, что ТС пытался 1.5 кОм намертво к +3.3В подцепить (по его словам), ничего не помогло.

 

очень похоже на это. Уровень напряжения нормальный

Может вы кусок проекта сюда скините с инициализацией периферии?

 

 

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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