Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер ObjDev на 20МГц
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Rst7
На основе последнего драйвера (который поддерживает 12/16/16.5 МГц) в свободное время сделал драйвер для 20МГц. При 20 МГц удалось засунуть следующие фичи:

Код
1. PLL - теперь длинна пакета при приеме не ограничена точностью кварца.
2. Расчет CRC5 и CRC16 пакетов налету - теперь при приеме точно известно, что пакет цел, следовательно, отвечает только на правильные пакеты и нет необходимости уносить контроль в протокол более высокого уровня.


Вообщем, теперь мы почти полностью эмулируем USB 1111493779.gif

Все это я написал, не проверяя в железе, надо доводить до ума. Может кто возьмется?


Оригиналы - тут
GDI
на оригинальном сайте есть проект чего_то_там на тини45 и внутреннем генераторе на 18МГц
Rst7
Цитата(GDI @ Nov 8 2007, 11:23) *
на оригинальном сайте есть проект чего_то_там на тини45 и внутреннем кварце на 18МГц


Ну есть. Только не внутренний кварц - а внутренний RC c PLL на 16.5МГц (чуть выше сдвинут, чтобы 11 тактов на бит получалось). Там есть PLL. Только вот CRC во всех оригинальных драйверах нет.
GDI
Конечно же внутренний генератор, я выше исправил.. smile.gif

А как ваш драйвер прикручивать? просто заменить вашим файлом оригинальный и запустить МК от 20 МГц?
Rst7
Цитата(GDI @ Nov 8 2007, 11:35) *
Конечно же внутренний генератор, я выше исправил.. smile.gif


Можете исправлять дальше, не 18, а 16.5 МГц.
Только я не пойму смысла Ваших постов. Ссылку на оригинал я привел, указал из чего делал. И вопрос я народу задавал совсем другой.

Цитата
А как ваш драйвер прикручивать? просто заменить вашим файлом оригинальный и запустить МК от 20 МГц?


Да. Собирать IAR'ом.
prottoss
Цитата(Rst7 @ Nov 8 2007, 15:37) *
На основе последнего драйвера (который поддерживает 12/16/16.5 МГц) в свободное время сделал драйвер для 20МГц. При 20 МГц удалось засунуть следующие фичи:
Прикольно! Большой респект. Сам пытался как то запихнуть подобное в 12МГц-драйвер - не получилось 07.gif .

По поводу доводки - может Вам стоит связаться с авторами оригинала?
Rst7
Цитата(prottoss @ Nov 8 2007, 12:38) *
Прикольно! Большой респект. Сам пытался как то запихнуть подобное в 12МГц-драйвер - не получилось 07.gif .


В 12 - без шансов. А вот в двадцаточку легло. Даже еще и осталось

Цитата
По поводу доводки - может Вам стоит связаться с авторами оригинала?


Тоже вариант. Есть еще один. Если я не ошибаюсь, кто-то из наших делал порт под IAR, может его и попросить списаться с буржуями, все-таки уже раз сотрудничали, второй раз проще пойдет, видимо они общий язык нашли, ну и т.д...
prottoss
Цитата(Rst7 @ Nov 8 2007, 17:44) *
В 12 - без шансов. А вот в двадцаточку легло. Даже еще и осталось

Тоже вариант. Есть еще один. Если я не ошибаюсь, кто-то из наших делал порт под IAR, может его и попросить списаться с буржуями, все-таки уже раз сотрудничали, второй раз проще пойдет, видимо они общий язык нашли, ну и т.д...
По моему, этот парень - osnwt
Rst7
Цитата(prottoss @ Nov 8 2007, 13:09) *
По моему, этот парень - osnwt


Ага, вроде он. Ну ладно. Подождем, пока кто-нибудь зальет в железяку и скажет - "не работает!" Тогда и будем списываться wink.gif
aleksey_g
Цитата(Rst7 @ Nov 8 2007, 14:22) *
Ага, вроде он. Ну ладно. Подождем, пока кто-нибудь зальет в железяку и скажет - "не работает!" Тогда и будем списываться wink.gif


20MHZ это хорошо, но у меня есть мега48-24MHZ. Сейчас, вроде уже отказались от
24. Но они могут работать на таких частотах! Сделаете?
Rst7
Цитата(aleksey_g @ Nov 9 2007, 10:26) *
20MHZ это хорошо, но у меня есть мега48-24MHZ. Сейчас, вроде уже отказались от
24. Но они могут работать на таких частотах! Сделаете?


Зачем? Ведь по DS не может она на 24 работать. Атмел урезал своего осетра smile.gif))
aleksey_g
Цитата(Rst7 @ Nov 9 2007, 11:29) *
Зачем? Ведь по DS не может она на 24 работать. Атмел урезал своего осетра smile.gif))


Я об этом и говорил, но по старым DS могла! И мои экземпляры трудятся на ура на 24 без глюков. Но мы ведь не делаем систем управления космическими ракетами. Для единичных поделок "для себя" с предварительным отбором кристалов, почему бы и нет? Тем более, что 24=12х2, реализация должна быть не очень напряжной. И на отобранных кристалах да еще с ЦРС! Просто песня!
Rst7
Цитата(aleksey_g @ Nov 9 2007, 10:42) *
Тем более, что 24=12х2, реализация должна быть не очень напряжной.


Так уже на 20 сделал. Надо только проверить.


Цитата
И на отобранных кристалах да еще с ЦРС! Просто песня!


Зачем отбирать? Если на штатных будет жить? На 20, без превышения параметров.
dimka76
Цитата(Rst7 @ Nov 9 2007, 11:48) *
Так уже на 20 сделал. Надо только проверить.
Зачем отбирать? Если на штатных будет жить? На 20, без превышения параметров.


Как раз с превышением!
В этой конструкции контроллер работает при питании 3,3 В, а по DS при таком напряжении питания F_CPU ниже чем 20 МГц, где-то порядка 15 МГц.
Rst7
Цитата(dimka76 @ Nov 9 2007, 11:23) *
Как раз с превышением!
В этой конструкции контроллер работает при питании 3,3 В, а по DS при таком напряжении питания F_CPU ниже чем 20 МГц, где-то порядка 15 МГц.


Что за вопрос, конечно проц надо заводить от 5-ти вольт. Тут и обсуждать нечего.
dimka76
Цитата(Rst7 @ Nov 9 2007, 12:34) *
Что за вопрос, конечно проц надо заводить от 5-ти вольт. Тут и обсуждать нечего.


тогда придется согласовывать лог.уровни smile.gif
Rst7
Цитата(dimka76 @ Nov 9 2007, 11:39) *
тогда придется согласовывать лог.уровни smile.gif


Ну можно и без этого ("Можно ли есть камни?" - "Можно, если потом не боитесь разбить унитаз!"), но лучше тогда уже защитить от перенапряжения сторону хоста. Я бы делал на обоих линиях вот такой клампер:
Нажмите для просмотра прикрепленного файла

Полевичок тут надо с минимальным напряжением открывания и с минимальной емкостью. Хотя в модели даже КП505 стреляет, правда заваливает фронты.

Конечно, по напряжению лог. 1 на проце будет тугенько, порог порядка 2.5В а уровень 3.3, но жить будет. Кроме того, теперь то мы считаем CRC, так что все намного лучше.
GDI
Зачем такой нАворот? У обждева есть девайсы с питанием от 5в и обходятся как то простыми делителями на резюках. Да и новые меги(48, 88 и т.д.) вроде как стандартно уже от 3,3В работают, а низковольтовые так вообще от 1,8В. Не знаю как там у них с частотой на 3,3В, но многоуважаемый prottos в своем небезизвестном программаторе запускал низковольтовую мегу8 от 3,6В и работал на повышенной частоте.
Rst7
Цитата(GDI @ Nov 9 2007, 14:40) *
Зачем такой нАворот? У обждева есть девайсы с питанием от 5в и обходятся как то простыми делителями на резюках.


Тут ограничитель активный. Уровни все-таки дальше от порогов получаются. Да и потребление меньше. Кроме того, он не пустит напряжение выше Uстаб+Uбэ (~3.6В) в USB. Чем вполне защитит от статики, например.

Цитата
Да и новые меги(48, 88 и т.д.) вроде как стандартно уже от 3,3В работают, а низковольтовые так вообще от 1,8В. Не знаю как там у них с частотой на 3,3В, но многоуважаемый prottos в своем небезизвестном программаторе запускал низковольтовую мегу8 от 3,6В и работал на повышенной частоте.


Нет. В даташите на 48/88/168 график достигает 20МГц при 4.5 вольтах. рис 28-2.
GDI
Да не, я понимаю и не спорю, что схема хорошая и сделает всем счастье, но имхо, чем такой огород городить, да еще на каждую линию, так лучше уж тогда готовый контроллер с юсб купить, тот же сам7s32 - по цене то на то и выйдет а по габаритам еще и выигрышнее. Опять же имхо, вся эта возня с программным юсб имеет смысл пока используются дешевые контроллеры с минимумом внешних компонентов, т.е. пока дешево и просто, а то что предлагается уже не просто и как следствие не дешево.

Цитата
В даташите на 48/88/168 график достигает 20МГц при 4.5 вольтах. рис 28-2.

У mega8L он вообще выше 8Мгц и не предполагается, однако на 12МГц вполне работает.... но я не настаиваю, просто предложил обратить внимание...
Rst7
Цитата(GDI @ Nov 9 2007, 15:15) *
Да не, я понимаю и не спорю, что схема хорошая и сделает всем счастье, но имхо, чем такой огород городить, да еще на каждую линию, так лучше уж тогда готовый контроллер с юсб купить, тот же сам7s32 - по цене то на то и выйдет а по габаритам еще и выигрышнее. Опять же имхо, вся эта возня с программным юсб имеет смысл пока используются дешевые контроллеры с минимумом внешних компонентов, т.е. пока дешево и просто, а то что предлагается уже не просто и как следствие не дешево.


Да тогда уж 100 ом между юсб и процом и 3V6 стабилитрон в землю от юсб в каждой линии. В принципе, это будет +10-15мА в передаче. Не смертельно. Даже, наверное, лучше, чем этот огород городить.

А 7S32 все равно пока дороже M88 больше чем в три раза. А для помигать светодиодом (грубо говоря), вполне пойдет M88.

Цитата
У mega8L он вообще выше 8Мгц и не предполагается, однако на 12МГц вполне работает.... но я не настаиваю, просто предложил обратить внимание...


Ну а я лучше 20МГц на 5В сделаю smile.gif
yarunt
Подскажите пожалуйста пример КС5 с полиномом 0х14 или 0х05 чтоб после проверки двух байт 0х00,0х00 (эндпоинт 0) был результат кс 0х08.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.