LINUX.ORG.RU

История изменений

Исправление Stack77, (текущая версия) :

Третий вариант со стабилитронами. Сколько раз собирал, по данной принципиальной схеме HID low-speed устройства, ни разу не сталкивался (хотя не отрицаю, что такое возможно), чтобы оно не завелось или отвалилось. Кварц 12 или 16 МГц, а лучше 18 (если кристалл позволяет). Точно так же устроены все китайские копеечные программаторы а-ля USBasp.

Прямо сейчас по такой же схеме работают часы/индикатор температуры CPU (и прочих данных) подключенный к домашнему мини-серверу, который выключался последний раз более полугода назад. Кстати, используется ATmega8L - прекрасно работает на 16 МГц (по сути в «эльках» тот же кристалл не прошедший «тест качества»).

При большой длине провода и возможных высокочастотных наводках можно параллельно D+/D- ставить по кондеру на 100пф (лучше, конечно, разъем USB прям на плате, если возможно).

Как по мне, ничего там дорабатывать не нужно - схема и так прекрасно работает (проверено на десятках, если не сотне, устройств). Сталкивался с кривым кодом, когда прерывание устанавливают с приоритетом выше, чем внешнее прерывание для нужд V-USB. Естественно, тогда устройство отваливается или вообще не подключается. В остальных случаях (лично у меня), всё заводилось с первой попытки.

Исходная версия Stack77, :

Третий вариант со стабилитронами. Сколько раз собирал, по данной принципиальной схеме HID low-speed устройства, ни разу не сталкивался (хотя не отрицаю, что такое возможно), чтобы оно не завелось или отвалилось. Кварц 12 или 16 МГц, а лучше 18 (если кристалл позволяет). Точно так же устроены все китайские копеечные программаторы а-ля USBasp.

Прямо сейчас по такой же схеме работают часы/индикатор температуры CPU (и прочих данных) подключенный к домашнему мини-серверу, который выключался последний раз более полугода назад.

При большой длине провода и возможных высокочастотных наводках можно параллельно D+/D- ставить по кондеру на 100пф (лучше, конечно, разъем USB прям на плате, если возможно).

Как по мне, ничего там дорабатывать не нужно - схема и так прекрасно работает (проверено на десятках, если не сотне, устройств). Сталкивался с кривым кодом, когда прерывание устанавливают с приоритетом выше, чем внешнее прерывание для нужд V-USB. Естественно, тогда устройство отваливается или вообще не подключается. В остальных случаях (лично у меня), всё заводилось с первой попытки.