|
|
  |
Нужна помощь, сломал голову! (Atmel AT91SAM7х256), после прошивки контроллера, компьютер не видит плату |
|
|
|
Sep 11 2017, 12:21
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030

|
Есть плата обработки внешних сигналов на ATMEL AT91SAM7х256 Плата проверена годами, выпустили сотни штук и никогда не было такой проблемы, как сейчас. Проблема в том, что до прошивки контроллера, плата при подключении к компу по USB определяется в диспетчере устройств.  После прошивки, не определяется, потому что на контакте 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в Единственная пока идея: может контроллеры бракованные??? Но мне кажется это маловероятно. Кто-нибудь сталкивался с подобным? Прошу помощи, проект горит, заказчик топает, а мы подвисли. 
|
|
|
|
|
Sep 11 2017, 13:27
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030

|
Цитата(richie @ Sep 11 2017, 16:25)  1) А паршивка за это время не протухла, в смысле, не менялась?
2) Ревизия чипа отличается от остальных? Прошивка не менялась. Ревизия отличается.
|
|
|
|
|
Sep 11 2017, 13:37
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030

|
Цитата(Сергей Борщ @ Sep 11 2017, 16:12)  Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало. Черт, похоже Вы правы! В другом форуме человек такое же сделал предположение. Однако мы не можем быстро разобраться с прошивкой, сейчас такого специалиста в штате нет. Можете посоветовать, что тут можно предпринять?
|
|
|
|
|
Sep 11 2017, 14:12
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030

|
Цитата(richie @ Sep 11 2017, 16:35)  Если прошивка точно не менялась, тогда курить ревизию из даташита. Если не поможет, искать непропай, бракованную деталь.
P.S. А как вы платы перепрошиваете если это понадобится? Прошивка точно не менялась, а если даже дело в ревизии, то мы не можем быстро изменить прошивку. Тут все уже перепробовали, 4 платы с одним и тем же дефектом, явно дело в не случайном непропае или детали. Программатором JTAG. Цитата(Сергей Борщ @ Sep 11 2017, 16:46)  Повесьте резистор 1.5 кОм не на 91 ногу, а сразу на питание. Ваше устройство не сможет по собственной инициативе (без выдергивания USB-шнурка) переподключаться к компу, на остальном вроде не должно сказаться. Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.
|
|
|
|
|
Sep 11 2017, 14:20
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819

|
Цитата(alex7577 @ Sep 11 2017, 17:12)  Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы. А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге )
Сообщение отредактировал 0men - Sep 11 2017, 14:21
|
|
|
|
|
Sep 11 2017, 14:26
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030

|
Цитата(0men @ Sep 11 2017, 17:20)  А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге ) Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке. Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь.
|
|
|
|
|
Sep 11 2017, 14:29
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819

|
Цитата(alex7577 @ Sep 11 2017, 17:26)  Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке. Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь. Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли?
Сообщение отредактировал 0men - Sep 11 2017, 14:32
|
|
|
|
|
Sep 11 2017, 14:34
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030

|
Цитата(0men @ Sep 11 2017, 17:29)  Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли? Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут
|
|
|
|
|
Sep 11 2017, 14:37
|
Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819

|
Цитата(alex7577 @ Sep 11 2017, 17:34)  Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут правильный уровень 2.8 В. Вот, посмотрите для быстрого понимания http://usb.fober.net/teoriya/Fizicheskij-interfejs/ПС, судя по вашей схеме, ножка 91 должна в программе быть определена на выход . Она сейчас у вас на вход с верхней подтяжкой (килоом в 50). Думаю, если она (91 нога) используется в программе и далее (для ре-енумерации), то проблема с подбором 1.5К до конца не решится.
Сообщение отредактировал 0men - Sep 11 2017, 14:51
|
|
|
|
|
Sep 11 2017, 15:00
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 25-12-09
Из: Минск
Пользователь №: 54 460

|
Цитата(alex7577 @ Sep 11 2017, 17:12)  Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы. Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс. Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|