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

 
 
> Делаем AVR USB (software) правильно, уровень схемы
MAXvaLL
сообщение Nov 28 2008, 13:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639



При реализации софтварного USB на AVR возникают вопросы. Как сделать правильно?

Видел варианты:

1. МК питается 5В от шины. D+ и D- напрямую к МК через резисторы ~ 200 Ом. D- подтянута на +5В через резистор ~10кОм.
Проблемы: по спецификации USB макс. допустимый уровень сигнала относительно земли 4.6В (или даже меньше) Смотрим USB2.0 Spec. Figure 7-2. Maximum Input Waveforms for USB Signaling
Можно спалить порт.

2. То же что и 1. , но дополнительно на D+ и D- поставлены стабилитроны на 3.6В (на землю), а вместо резисторов на 200 Ом стоят по 68 Ом.
Проблема: емкость стабилитронов - искажение формы сигнала. И всеравно будут выбросы.

3. МК питается от 3.3-3.6В от шины через стабилизатор или 2 диода. Подтяжка D- 1.5 кОм. На D+ и D- стоят резисторы по 68 Ом или вообще без резисторов.
Проблема: Минимальная необходимая частота 12 Мгц, а при использовании внутреннего генератора 16.5 Мгц. Насколько корректно гонять МК на такихз частотах при таком питании? В даташите как-то туманно про это написано: на титульной странице одно, на графиках другое, и ничего конкретного я так и не нашел.


Лично я использовал вариант 3. МК ATmega8 при кварце 12МГц. Работает.
Интересует заведется ли Tiny25 на 16.5 Мгц при питании 3.5-3.6В ?

Еще: атмел советует не гонять встроенный ацп быстрее 1 МГц (тактирование)
Я запустил при 3х Мгц. Работает. Насколько это корректно? (Полученная точность устраивает)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Jun 21 2009, 00:35
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Кто знает, отчего берутся USB-запросы (CDC Class Requests):
SEND_ENCAPSULATED_COMMAND
GET_ENCAPSULATED_RESPONSE

?
Обычно их не обрабатывают, но любопытно, для чего они нужны. Короче говоря, мой вопрос формулируется так: "Какую команду из Windows-API должно подать приложение, чтобы моя AVRка получила один из этих реквайстов?" И в частности, если у меня на USB организован виртуальный COM-порт. Как вызвать все остальные реквайсты я знаю, остались непонятными только эти. В книгах и исходниках эти два реквайста всегда упоминаются, однако ни слова не нашла про то, в связи с каким событием такие запросы посылаются. Драйвер, конечно, может послать любой реквайст, но остается неясным, как побудить драйвер к этому (я использую стандартный драйвер виртуального порта usbser.sys, встроенный в Windows).

Сообщение отредактировал Xenia - Jun 21 2009, 00:45
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 21 2009, 07:47
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(Xenia @ Jun 21 2009, 04:35) *
Кто знает, отчего берутся USB-запросы (CDC Class Requests):
SEND_ENCAPSULATED_COMMAND
GET_ENCAPSULATED_RESPONSE

?
Обычно их не обрабатывают, но любопытно, для чего они нужны. Короче говоря, мой вопрос формулируется так: "Какую команду из Windows-API должно подать приложение, чтобы моя AVRка получила один из этих реквайстов?" И в частности, если у меня на USB организован виртуальный COM-порт. Как вызвать все остальные реквайсты я знаю, остались непонятными только эти. В книгах и исходниках эти два реквайста всегда упоминаются, однако ни слова не нашла про то, в связи с каким событием такие запросы посылаются. Драйвер, конечно, может послать любой реквайст, но остается неясным, как побудить драйвер к этому (я использую стандартный драйвер виртуального порта usbser.sys, встроенный в Windows).


Попробуйте применить TransmitCommChar - может, оно вызовет SEND_ENCAPSULATED_COMMAND ?

хотя, почитал первый попавшийся даташит - и показалось, что это - рлддержка для DeviceIoControl

Сообщение отредактировал Genadi Zawidowski - Jun 21 2009, 07:47
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jun 21 2009, 14:10
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Genadi Zawidowski @ Jun 21 2009, 11:47) *
Попробуйте применить TransmitCommChar - может, оно вызовет SEND_ENCAPSULATED_COMMAND ?


Уже думала про это, но лениво было проверять smile.gif.

Цитата(Genadi Zawidowski @ Jun 21 2009, 11:47) *
хотя, почитал первый попавшийся даташит - и показалось, что это - поддержка для DeviceIoControl


А вот это как раз меня больше всего интересует! К сожалению, константы DeviceIoControl для СОМ-порта не описаны.
Любопытно, что функция

BOOL EscapeCommFunction(
HANDLE hFile, // handle to communications device
DWORD dwFunc // extended function to perform
);

очень похожа на DeviceIoControl, поскольку значение dwFunc очень похожа по смыслу на констанды DeviceIoControl:
dwFunc value:
CLRDTR Clears the DTR (data-terminal-ready) signal.
CLRRTS Clears the RTS (request-to-send) signal.
SETDTR Sends the DTR (data-terminal-ready) signal.
SETRTS Sends the RTS (request-to-send) signal.
SETXOFF Causes transmission to act as if an XOFF character has been received.
SETXON Causes transmission to act as if an XON character has been received.
SETBREAK Suspends character transmission and places the transmission line in a break state until the ClearCommBreak function is called.
CLRBREAK Restores character transmission and places the transmission line in a nonbreak state.

К сожалению, нмчего похожего на SEND_ENCAPSULATED_COMMAND и GET_ENCAPSULATED_RESPONSE тут нет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MAXvaLL   Делаем AVR USB (software) правильно   Nov 28 2008, 13:26
- - Dimonira   Имхо самое правильное, это использовать то, что сп...   Nov 28 2008, 13:38
- - ukpyr   ЦитатаМинимальная необходимая частота 12 Мгц, а пр...   Nov 28 2008, 13:47
- - MAXvaLL   Цитата(Dimonira @ Nov 28 2008, 16:38) Имх...   Nov 28 2008, 13:56
|- - acorn   Цитата(MAXvaLL @ Nov 28 2008, 15:56) Кто ...   Nov 28 2008, 21:19
- - ukpyr   ЦитатаКто уточнит, какой вольтаж жрет USB? имхо лу...   Nov 28 2008, 14:54
|- - MAXvaLL   Цитата(ukpyr @ Nov 28 2008, 17:54) имхо л...   Nov 28 2008, 16:03
|- - QuickWitted   Цитата(MAXvaLL @ Nov 28 2008, 21:03) Кста...   Dec 2 2008, 14:18
|- - MAXvaLL   Цитата(QuickWitted @ Dec 2 2008, 17:18) И...   Dec 2 2008, 17:42
|- - QuickWitted   Цитата(MAXvaLL @ Dec 2 2008, 22:42) Вопро...   Dec 2 2008, 18:07
|- - MAXvaLL   Цитата(QuickWitted @ Dec 2 2008, 21:07) т...   Dec 2 2008, 19:18
|- - QuickWitted   Цитата(MAXvaLL @ Dec 3 2008, 00:18) Хоть ...   Dec 3 2008, 02:35
|- - QuickWitted   Вопрос к АЛЛ как до HID достучаться с Дэльфи? Как...   Dec 3 2008, 16:31
|- - QuickWitted   Что то тема заглохла... Вопрос к АЛЛ как до HID д...   Dec 6 2008, 03:57
|- - Marian   Цитата(QuickWitted @ Dec 3 2008, 19:31) к...   Jun 22 2009, 16:29
- - Jhohn   Цитата(MAXvaLL @ Nov 28 2008, 19:03) Все ...   Nov 28 2008, 20:27
- - Petka   Цитата(MAXvaLL @ Nov 28 2008, 16:26) При ...   Nov 28 2008, 20:38
|- - MAXvaLL   Цитата(Petka @ Nov 28 2008, 23:38) для на...   Nov 29 2008, 07:25
|- - Petka   Цитата(MAXvaLL @ Nov 29 2008, 10:25) Мне ...   Nov 29 2008, 14:12
- - Jhohn   Цитата(Petka @ Nov 28 2008, 23:38) для на...   Nov 28 2008, 20:44
- - ukpyr   ЦитатаЭто почему? По отношению к МК стабилитроны с...   Nov 29 2008, 08:44
|- - MAXvaLL   Цитата(ukpyr @ Nov 29 2008, 11:44) не пол...   Nov 29 2008, 09:13
- - ukpyr   вроде АВР выдает АСК независимо от правильности по...   Nov 29 2008, 12:17
- - Rst7   Цитатавроде АВР выдает АСК независимо от правильно...   Nov 29 2008, 13:30
- - ukpyr   ЦитатаОверклокинг. для 2.7В - да, для 3.6В - нет (...   Nov 29 2008, 14:28
- - Rst7   ЦитатаСтавить ФТДИ просто смешно для данного проек...   Nov 29 2008, 14:52
- - MAXvaLL   Цитата(ukpyr @ Nov 29 2008, 15:17) вроде ...   Nov 29 2008, 18:10
|- - Rst7   Цитата(MAXvaLL @ Nov 29 2008, 20:10) Не м...   Nov 29 2008, 18:23
|- - MAXvaLL   Цитата(Rst7 @ Nov 29 2008, 21:23) Функция...   Nov 29 2008, 18:29
- - vvvvv   У меня вопрос немного в сторону, но может кто знае...   Nov 30 2008, 12:34
- - Jhohn   Цитата(MAXvaLL @ Nov 29 2008, 21:29) Но у...   Nov 30 2008, 19:00
- - MAXvaLL   Цитата(vvvvv @ Nov 30 2008, 15:34) У меня...   Nov 30 2008, 20:13
- - MAXvaLL   Знатоки AVR USB, отзовитесь!   Dec 1 2008, 18:51
- - Br.Misha   Здраствуйте! Я понимаю что тема уже старая но ...   Aug 24 2009, 19:07


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 09:05
Рейтинг@Mail.ru


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