Проблемы с USB на AT90USB646

Я пытался реализовать схему с использованием AT90usb646 примерно четыре раза, но в каждом случае плата подключалась и тут же отключалась. lsusb выводит, что устройство Atmel Corp было подключено, поэтому я знаю, что плата работает, но она отключается, прежде чем я могу что-либо с ней сделать. Обычно я изготавливаю его с помощью Oshpark, и у меня не было никаких проблем, но в этот раз я попытался травить печатную плату дома, так как это хобби, и я хотел попробовать что-то довольно быстро. Платы двухслойные, и я следовал всем рекомендациям по размещению части USB, а именно: следил за небольшими дорожками и близко расположенными компонентами, рассчитывая ширину дорожки с помощью калькуляторов импеданса, не нарушая заливку земли под линиями данных USB и сохраняя заливку VBUS и Ground. подальше от линий передачи данных USB, чтобы предотвратить шум. Это изображение [! [введите описание изображения] [1] [1] В техническом описании Microchip для AT90USB646 предлагается несколько заглушек для VBUS и UCAP, и я разместил их соответствующим образом. Я все перепроверил, а также перепроверил с Teensy ++, который использует AT90USB1286, который похож на AT90USB646, но не могу понять, что я делаю неправильно. Вот схема

[1]: https://i.stack.imgur.com/d0bJe.pngвведите описание изображения здесь

Пожалуйста, предоставьте используемые схемы и крышки, которые используются. ИМХО, линии передачи данных слишком близко - насколько велик зазор между этими проводами? Вы перед сборкой электрически проверяли между цепями мультиметром? Работала ли прошивка с оценочной платой Atmel?
@ Том Кушел, я никак не мог получить дифференциальное сопротивление 90 Ом, не делая линии очень близкими. Я проверил на короткое замыкание и непрерывность с помощью димма до и после сборки, и все читалось правильно, напряжение на линиях передачи данных USB было около 3,56 В, что почти точно соответствует ожидаемому значению, указанному в техническом описании. Я не загружал никакую прошивку, эта серия поставляется с загрузчиком dfu, и я надеялся использовать dfu-util или flip для загрузки прошивки, но, поскольку соединение едва существует в течение нескольких секунд, я не смог этого сделать.
Также пробовали с разными кабелями USB? Однажды у меня были проблемы с простым кабелем.
@Tom Kuschel пытался использовать разные кабели и разные компьютеры, но проблема не устранена. Думаю, я закажу его в Ошпарке и использую те же компоненты, чтобы проверить, работает ли он. Я думаю, что это может иметь какое-то отношение к методу изготовления печатных плат своими руками. Я надеюсь, что кто-то может пролить свет на свой подход к созданию печатной платы с поддержкой USB в домашних условиях.
Пожалуйста, предоставьте схему и компоненты для любой помощи
@Том Кушел сделал
Если вы работаете в Linux, dmesgнам может помочь соответствующий вывод.
@Turbo показывает, что устройство с определенным идентификатором подключено, но это происходит редко, поскольку по большей части плата не обнаруживается. Я попытался очистить dmesg, а затем подключить плату, и dmesg ничего не показывает.
Насколько я вижу, в схеме используется микросхема тактового генератора Y1. Какое энергопотребление у этого чипа? Как вы думаете, достаточно ли 12кОм в сети, чтобы на генератор давали стабильные 3,3В?
@Ali, это первый из четырех дизайнов, которые я пробовал, для третьего я использовал кристалл, и это тоже не помогло.
Используете ли вы кварцевые компоненты и соответствующие колпачки точно так же, как в их эталонном дизайне? Очевидно, что мощность этого текущего кварцевого генератора очень плохая. Кристаллы — еще более деликатные устройства.
@Ali Chen да, колпачки имеют плотность 10 пф и расположены как можно ближе к кристаллу и друг к другу, чтобы уменьшить длину цикла.

Ответы (1)

Этот чип использует полноскоростной режим USB. В этом режиме нет абсолютно никаких причин волноваться о дифференциальном сопротивлении 90 Ом, особенно на дорожках длиной несколько миллиметров. Любая трассировка будет работать нормально. И кабели не будут иметь никакого значения.

Поскольку устройство изначально подключается (возможно, на полпути) и дескрипторы были прочитаны хостом, это, вероятно, означает, что системная частота устройства вышла из строя. Начальная передача управления использует относительно короткие пакеты, поэтому, даже если частота USB отключена на несколько процентов, GET_DESCRIPTOR будет в порядке. Тем не менее, более длинные пакеты могут исчерпать гибкость хост-приемника. Поправьте часы, и все будет хорошо.

Кстати, провод заземления на разъеме неоправданно тонкий.

Проверит часы и сообщит
Схема teensy ++ использовала 10 пф для кристалла, но в даташите указана емкость в диапазоне 12-22 пф, я использовал 18 пф вместо 10 пф и он заработал. Вы были правы, это было связано с кристаллом.
@Aakusti, кварцевые генераторы - вещь тонкая. Ваш дизайн, по-видимому, слишком маргинален, если такая небольшая разница привела к его прохождению или отказу. Частота «подтягивания» обычно не так велика и должна соответствовать допустимому диапазону USB FS (+-2000 ppm) с любым из этих ограничений. Может быть больше скрытых/маргинальных проблем, с которыми вам нужно разобраться. Для некоторых идей и предостережений, пожалуйста, ознакомьтесь со следующими элементами stackexchange, electronics.stackexchange.com/search?q=user%3A117785+crystal
Я использовал новую микросхему, я думаю, что это тоже могло иметь значение. Спасибо, пройдусь по прочитанному