alex7577 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Есть плата обработки внешних сигналов на 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в Единственная пока идея: может контроллеры бракованные??? Но мне кажется это маловероятно. Кто-нибудь сталкивался с подобным? Прошу помощи, проект горит, заказчик топает, а мы подвисли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
richie 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба 1) А паршивка за это время не протухла, в смысле, не менялась? 2) Ревизия чипа отличается от остальных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба 1) А паршивка за это время не протухла, в смысле, не менялась? 2) Ревизия чипа отличается от остальных? Прошивка не менялась. Ревизия отличается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
richie 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Если прошивка точно не менялась, тогда курить ревизию из даташита. Если не поможет, искать непропай, бракованную деталь. P.S. А как вы платы перепрошиваете если это понадобится? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало. Черт, похоже Вы правы! В другом форуме человек такое же сделал предположение. Однако мы не можем быстро разобраться с прошивкой, сейчас такого специалиста в штате нет. Можете посоветовать, что тут можно предпринять? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Можете посоветовать, что тут можно предпринять?Повесьте резистор 1.5 кОм не на 91 ногу, а сразу на питание. Ваше устройство не сможет по собственной инициативе (без выдергивания USB-шнурка) переподключаться к компу, на остальном вроде не должно сказаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Если прошивка точно не менялась, тогда курить ревизию из даташита. Если не поможет, искать непропай, бракованную деталь. P.S. А как вы платы перепрошиваете если это понадобится? Прошивка точно не менялась, а если даже дело в ревизии, то мы не можем быстро изменить прошивку. Тут все уже перепробовали, 4 платы с одним и тем же дефектом, явно дело в не случайном непропае или детали. Программатором JTAG. Повесьте резистор 1.5 кОм не на 91 ногу, а сразу на питание. Ваше устройство не сможет по собственной инициативе (без выдергивания USB-шнурка) переподключаться к компу, на остальном вроде не должно сказаться. Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 11 сентября, 2017 Опубликовано 11 сентября, 2017 (изменено) · Жалоба Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы. А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге ) Изменено 11 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге ) Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке. Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 11 сентября, 2017 Опубликовано 11 сентября, 2017 (изменено) · Жалоба Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке. Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь. Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли? Изменено 11 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex7577 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли? Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 11 сентября, 2017 Опубликовано 11 сентября, 2017 (изменено) · Жалоба Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут правильный уровень 2.8 В. Вот, посмотрите для быстрого понимания http://usb.fober.net/teoriya/Fizicheskij-interfejs/ ПС, судя по вашей схеме, ножка 91 должна в программе быть определена на выход . Она сейчас у вас на вход с верхней подтяжкой (килоом в 50). Думаю, если она (91 нога) используется в программе и далее (для ре-енумерации), то проблема с подбором 1.5К до конца не решится. Изменено 11 сентября, 2017 пользователем 0men Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы. Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс. Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
richie 0 11 сентября, 2017 Опубликовано 11 сентября, 2017 · Жалоба 1) Ага, всё-таки существует вероятность, что файл прошивки сейчас может отличаться от того что был ранее. 2) Ревизия скорее всего отпадает. 3) Перепрошивка. Это был наводящий вопрос. Почему при проектировании платы нельзя добавить джампер, при наличии которого плата предназначена для прошивки с гарантированным состоянием условий работы контроллера, не зависящих от "прошит", "не прошит", "прошит неправильной прошивкой"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться