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

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

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

 

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

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

20170911_124644.jpg

 

После прошивки, не определяется, потому что на контакте D+ USB-разъема напряжение слишко мало, 1.7в, а нужно хотя бы 2.4в. До прошивки напряжение присутствует, поэтому и нормально определяется.

 

Требуемое напряжение на D+USB задается ножкой 91 через резистор 1.5к (см. схему). Если резистор отпаять, то на ножке 91 присутствует 3.3в, как и должно быть. Если припаять резистор обратно, то напряжение падает на ножке 91 до 2.3в, а на D+USB до 2.2в и это при отключенном кабеле USB, т.е. без нагрузки. Если подключить компьютер (через кабель USB), то на D+USB падает до 1.7в и соответственно плата не видна в диспетчере устройств. Если обнулить прошивку (3.3в на ножку 92), все восстанавливается, плата определяется.

Все элементы заменял, проверял, прозванивал, ошибки нет. Запаял 4 такие платы, у всех одни и те же симптомы. При этом старая рабочая плата прекрасно работает, у нее напряжение на на D+USB 3.3в без подключения кабеля и 2.4в при подключении.

Получается, что после прошивки падает входное сопротивление на ножке 94 и просаживается напряжение на ножке 91. Но как такое может быть в зависимости от наличия прошивки?

Прошивки не менялись лет 5, сотни раз использовались, и их много, какую не залей, тот же эффект.

Питание контроллера не просаживается, стабильно 3.3в

Единственная пока идея: может контроллеры бракованные??? Но мне кажется это маловероятно.

Кто-нибудь сталкивался с подобным? Прошу помощи, проект горит, заказчик топает, а мы подвисли.

 

 

20170910_124650.jpg

IMG_2750.jpg

 

 

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


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

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

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


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

1) А паршивка за это время не протухла, в смысле, не менялась?

 

2) Ревизия чипа отличается от остальных?

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


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

1) А паршивка за это время не протухла, в смысле, не менялась?

 

2) Ревизия чипа отличается от остальных?

 

Прошивка не менялась. Ревизия отличается.

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


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

Если прошивка точно не менялась, тогда курить ревизию из даташита.

 

Если не поможет, искать непропай, бракованную деталь.

 

P.S. А как вы платы перепрошиваете если это понадобится?

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


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

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

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

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


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

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

 

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


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

Если прошивка точно не менялась, тогда курить ревизию из даташита.

Если не поможет, искать непропай, бракованную деталь.

 

P.S. А как вы платы перепрошиваете если это понадобится?

 

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

Тут все уже перепробовали, 4 платы с одним и тем же дефектом, явно дело в не случайном непропае или детали.

Программатором JTAG.

 

 

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

 

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

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


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

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

 

А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге )

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

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


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

А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге )

Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке.

Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь.

 

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


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

Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке.

Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь.

 

Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли?

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

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


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

Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли?

Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут

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


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

Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут

 

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

 

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

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

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


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

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

 

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

 

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

 

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


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

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

 

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

 

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

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


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

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

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

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

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

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

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

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

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

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