реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Нужна помощь, сломал голову! (Atmel AT91SAM7х256), после прошивки контроллера, компьютер не видит плату
alex7577
сообщение Sep 11 2017, 12:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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в
Единственная пока идея: может контроллеры бракованные??? Но мне кажется это маловероятно.
Кто-нибудь сталкивался с подобным? Прошу помощи, проект горит, заказчик топает, а мы подвисли.





Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 11 2017, 13:12
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 039
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 11 2017, 13:25
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



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

2) Ревизия чипа отличается от остальных?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 13:27
Сообщение #4


Участник
*

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



Цитата(richie @ Sep 11 2017, 16:25) *
1) А паршивка за это время не протухла, в смысле, не менялась?

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


Прошивка не менялась. Ревизия отличается.
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 11 2017, 13:35
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



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

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

P.S. А как вы платы перепрошиваете если это понадобится?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 13:37
Сообщение #6


Участник
*

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



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

Черт, похоже Вы правы! В другом форуме человек такое же сделал предположение. Однако мы не можем быстро разобраться с прошивкой, сейчас такого специалиста в штате нет. Можете посоветовать, что тут можно предпринять?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 11 2017, 13:46
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 039
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 14:12
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 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-шнурка) переподключаться к компу, на остальном вроде не должно сказаться.


Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 14:20
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 11 2017, 17:12) *
Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.


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

Сообщение отредактировал 0men - Sep 11 2017, 14:21
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 14:26
Сообщение #10


Участник
*

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



Цитата(0men @ Sep 11 2017, 17:20) *
А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге )

Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке.
Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 14:29
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 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
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 14:34
Сообщение #12


Участник
*

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



Цитата(0men @ Sep 11 2017, 17:29) *
Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли?

Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 14:37
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 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
Go to the top of the page
 
+Quote Post
Integro
сообщение Sep 11 2017, 15:00
Сообщение #14


Частый гость
**

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



Цитата(alex7577 @ Sep 11 2017, 17:12) *
Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.


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

Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 11 2017, 15:03
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



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

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

3) Перепрошивка. Это был наводящий вопрос. Почему при проектировании платы нельзя добавить джампер, при наличии которого плата предназначена для прошивки с гарантированным состоянием условий работы контроллера, не зависящих от "прошит", "не прошит", "прошит неправильной прошивкой"?
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th September 2017 - 03:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.15643 секунд с 7
ELECTRONIX ©2004-2016