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

 
 
> Делаем 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
Ответов
MAXvaLL
сообщение Nov 29 2008, 18:10
Сообщение #2


Местный
***

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



Цитата(ukpyr @ Nov 29 2008, 15:17) *
вроде АВР выдает АСК независимо от правильности полученных данных (на проверку нет времени)


Не могу так просто с вами согласиться.
Вот функция вычисления crc16. Она что, для мебели просто?!
Кстати, о чем речь собственно? Лично я про http://www.obdev.at/products/avrusb/index.html
И кстати драйвер не стоит на месте, а развивается.

Код
; extern unsigned usbCrc16(unsigned char *data, unsigned char len);
; data: r24/25
; len: r22
; temp variables:
;   r18: data byte
;   r19: bit counter
;   r20/21: polynomial
;   r23: scratch
;   r24/25: crc-sum
;   r26/27=X: ptr
usbCrc16:
    mov     ptrL, argPtrL
    mov     ptrH, argPtrH
    ldi     resCrcL, 0
    ldi     resCrcH, 0
    ldi     polyL, lo8(0xa001)
    ldi     polyH, hi8(0xa001)
    com     argLen; argLen = -argLen - 1
crcByteLoop:
    subi    argLen, -1
    brcc    crcReady ; modified loop to ensure that carry is set below
    ld      byte, ptr+
    ldi     bitCnt, -8; strange loop counter to ensure that carry is set where we need it
    eor     resCrcL, byte
crcBitLoop:
    ror     resCrcH; carry is always set here
    ror     resCrcL
    brcs    crcNoXor
    eor     resCrcL, polyL
    eor     resCrcH, polyH
crcNoXor:
    subi    bitCnt, -1
    brcs    crcBitLoop
    rjmp    crcByteLoop
crcReady:
    ret


Цитата(Petka @ Nov 29 2008, 17:12) *
Вот как раз для 2х устройств FTDI ставить и оправданно.
+ Просто + надёжно.

1) Оверклокинг.
2) Не полное соответствие спецификации USB. Как физический протокол, так и реализация стэка.


Ну это кому как. Физически фтди сложнее поставить ( tqfp с шагом 0.5 против dip8 smile.gif )
Мне и это просто, хотя немного менее надежно - да.
Я не против НОРМАЛЬНОГО юсб, просто это решение тоже имеет право на жизнь.

1) Нет.
Цитата(ukpyr @ Nov 29 2008, 17:28) *
для 2.7В - да, для 3.6В - нет (12МГц)

+1

2) Поясните поподробнее, что имеется ввиду. (про стек)
А физика в чем не та? Ну вместо дифф. передатчика 2 обычных, ну и что?
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
|- - 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
- - Xenia   Кто знает, отчего берутся USB-запросы (CDC Class R...   Jun 21 2009, 00:35
|- - Genadi Zawidowski   Цитата(Xenia @ Jun 21 2009, 04:35) Кто зн...   Jun 21 2009, 07:47
|- - Xenia   Цитата(Genadi Zawidowski @ Jun 21 2009, 11...   Jun 21 2009, 14:10
- - Br.Misha   Здраствуйте! Я понимаю что тема уже старая но ...   Aug 24 2009, 19:07


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:26
Рейтинг@Mail.ru


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