|
Кварц не на 12 Мгц в проэктах c USB, Можно ли заменить этот злополучный кварц.... |
|
|
|
Mar 6 2007, 19:22
|
Участник

Группа: Новичок
Сообщений: 27
Регистрация: 24-02-07
Пользователь №: 25 639

|
У меня вот такой вопрос можно ли заменить кварц 12 Мгц на какой либо другой ? Разумеется что используется AVRUSB драйвер от oт obdev.at. Весь сыр бор приходится затевать, ибо у нас в городе ненайдеш кварца с подходящей частотой.  Есть ли народ который пробовал использовать кварцы с меньшей частотой ?
|
|
|
|
|
 |
Ответов
|
Mar 6 2007, 19:39
|
Участник

Группа: Новичок
Сообщений: 27
Регистрация: 24-02-07
Пользователь №: 25 639

|
Понятно, спасибо за быстрый ответ. Видимо прийдется искать данный кварц, пока не представляю где  .
|
|
|
|
|
Mar 6 2007, 20:14
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(prottoss @ Mar 6 2007, 16:31)  Нет, потому как ассемблерный код драйвера практически просчитан до единой команды МК именно для этой частоты (12 МГц), к тому же она кратна "несущей" частоте USB Low Speed - 1,5 МГц Года три назад интересовался данной темой, там автор, Игорь Чешко, поставил AT90S2313-10 с кварцем на 12 МГц, ну я ради интереса переписал драйвер для 10.5 МГц и 9 МГц, т.е. по 7 циклов на бит и по 6 циклов, чтобы не было оверклокинга. Ну Игорь тогда особого интереса не проявил, он как раз работу менял, у меня тоже подвижки произошли, а потом появились дешёвые 16-мегагерцовые чипы, так что вопрос отпал сам собой. Но опыт есть(:-). Цитата(neonix @ Mar 6 2007, 16:39)  Видимо прийдется искать данный кварц, пока не представляю где  . Кварцы можно и другие использовать. Идея заключается в том, что время приема/передачи одного бита составляет ровно 8 клоков. Если увеличить частоту кварца, надо увеличить количество клоков на 1, 2, 3, 4,... Для этого возьмите любой кварц, выше 12 МГц, но кратный 1.5 МГц, это важно для USB. Подойдёт 13.5, 15, 16.5, 18 МГц и т.д. Конечно, процессор должен быть рассчитан на работу на выбранной вами частоте. В драйвере, который "вылизан" добавьте по 1, 2, 3, 4,...nop в прием/передачу каждого бита, и будет вам щастье! Может быть кому-то ещё поможет. Но я глазам своим не верю, сам советую замедлить работу МК, непостижимо!
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Mar 6 2007, 20:23
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(=GM= @ Mar 7 2007, 00:14)  Для этого возьмите любой кварц, выше 12 МГц, но кратный 1.5 МГц, это важно для USB. Подойдёт 13.5, 15, 16.5, 18 МГц и т.д. Конечно, процессор должен быть рассчитан на работу на выбранной вами частоте. В драйвере, который "вылизан" добавьте по 1, 2, 3, 4,...nop в прием/передачу каждого бита, и будет вам щастье! Не думаю, что так все просто.Лучше всего хрошенько изучить статью про работу драйвера http://www.obdev.at/developers/articles/00003.html
--------------------
|
|
|
|
|
Mar 7 2007, 01:40
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(prottoss @ Mar 6 2007, 17:23)  Цитата(=GM= @ Mar 7 2007, 00:14)  Для этого возьмите любой кварц, выше 12 МГц, но кратный 1.5 МГц, это важно для USB. Подойдёт 13.5, 15, 16.5, 18 МГц и т.д. Конечно, процессор должен быть рассчитан на работу на выбранной вами частоте. В драйвере, который "вылизан" добавьте по 1, 2, 3, 4,...nop в прием/передачу каждого бита, и будет вам щастье! Не думаю, что так все просто.Лучше всего хорошенько изучить статью про работу драйвера http://www.obdev.at/developers/articles/00003.htmlНе, ну никто не говорит, что всё будет просто(:-). Просто установить штатное время приёма каждого бита, путём замедления соответствующих фрагментов программы (вставляя один-два-три нопа) не бог весть какая сложная задача. По сравнению, например, с программированием фрагмента, где время приёма одного бита доведено до 6 тактов (правда, без удаления битстаффинга), вот это по-настоящему сложно. Попробуйте на досуге, потруднее, чем игра в шахматы с мастером спорта(:-). Статью посмотрел. Для работы на 13.5 МГц, т.е. по 9 клоков на бит (вместо 8) надо в каждый фрагмент rxbit0, do_unstuff0, rxbit1, do_unstuff1,...добавить один ноп. Ну и что тут не просто? Формула простая Tusb=8/(12e6)=9/(13.5e6)=10/(15e6)=1/(1.5e6). Цитата(neonix @ Mar 6 2007, 18:51)  Хм проблема тут как раз в том, что я хотел поставить на 10 Мгц, ибо с кварцами у нас в городе вообще напряги (хотя не только с кварцами  ) а так за наводку спасибо может гденить на платке и есть 14,5 МГЦ Нашел таки я кварц на 14,5 Мгц думаю к концу недели попробую спаять на базе этого кварца.... Кварц на 14.5 МГц не подойдёт. Частота кварца должна быть кратна 1.5 МГц (частота USB), чтобы было целое число тактов процессора на бит. Это центральная идея, иначе ничего не получится. Вообще, вы в каком городе живёте?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Mar 11 2007, 18:51
|

За битами по регистрам гоняюсь
  
Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446

|
Цитата(=GM= @ Mar 7 2007, 01:40)  ... Кварц на 14.5 МГц не подойдёт. Частота кварца должна быть кратна 1.5 МГц (частота USB), чтобы было целое число тактов процессора на бит. Это центральная идея, иначе ничего не получится. Тут вот мне принесли для проверки устройство IRLink, для управления всякими там WinAMP и др. программами от пульта ДУ. Там стоит Tiny2313 и кварц на 20 МГЦ ! Судя по схеме, какой-то клон IgorPlug или Obdev. А вы говорите не получится  .
--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
|
|
|
|
|
Mar 12 2007, 03:45
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Nanobyte @ Mar 11 2007, 15:51)  Цитата(=GM= @ Mar 7 2007, 01:40)  ... Кварц на 14.5 МГц не подойдёт. Частота кварца должна быть кратна 1.5 МГц (частота USB), чтобы было целое число тактов процессора на бит. Это центральная идея, иначе ничего не получится. Тут вот мне принесли для проверки устройство IRLink, для управления всякими там WinAMP и др. программами от пульта ДУ. Там стоит Tiny2313 и кварц на 20 МГЦ ! Судя по схеме, какой-то клон IgorPlug или Obdev. А вы говорите не получится  . Если оно работает, то зачем его вам принесли(:-)? Возможно, они этой ветки не читали(:-). Ну а если серьёзно, то конечно есть некий допуск на несовпадение частот приемника и передатчика. Давайте посчитаем. Лоуспид передает синхро+пид+адрес+8 байт данных+2 байта цкс + конец пакета. Вгрубе это будет 14 байт или 112 бит. Предположим наилучший случай, что начало приема совпало с серединой первого бита. На 112 бит мы можем допустить ошибку в ±длительность полбита, т.е. относительная ошибка составляет ±1/224=4.46е-3. В жизни будет ещё хуже, частота передатчика тоже не идеальна, и на середину первого бита рассчитывать особо не приходится. Для вашего прибора относительная ошибка составляет (20-19.5)/20=25е-3. ВЫВОД: ошибка выходит за границу допустимого допуска, полные пакеты приняты быть не могут. Короткие возможно, да и то через раз. Чистое радиолюбительство(:-). Как вы не поймёте, в программном USB нет никакой синхронизации, зацепились за первый бит и всё, дальше куда кривая выведет. Это как в рс-232, только битов не 10, а на порядок побольше и частота передачи не 115 кбод, а на порядок побольше. Вообще, интересно было бы взглянуть на код, если он есть...
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
neonix Кварц не на 12 Мгц в проэктах c USB Mar 6 2007, 19:22 prottoss Нет, потому как ассемблерный код драйвера практиче... Mar 6 2007, 19:31      Nanobyte Цитата(=GM= @ Mar 12 2007, 03:45) ... Есл... Mar 12 2007, 11:26       =GM= Цитата(Nanobyte @ Mar 12 2007, 08:26) Код... Mar 12 2007, 15:20        Nanobyte Цитата(=GM= @ Mar 12 2007, 15:20) ...Я ск... Mar 12 2007, 16:54         =GM= Цитата(Nanobyte @ Mar 12 2007, 13:54) Irl... Mar 12 2007, 17:48     singlskv Цитата(Nanobyte @ Mar 11 2007, 18:51) Цит... Mar 12 2007, 16:26      =GM= Цитата(singlskv @ Mar 12 2007, 13:26) Цит... Mar 12 2007, 17:09 neonix Хм проблема тут какраз в том что я хотел поставить... Mar 6 2007, 21:51 Pyku_He_oTTyda Мож найти что нибудь, что можно поделить? В смысли... Mar 6 2007, 22:55 neonix Тьфу чтот ступил я про 14,5 Мгц , думаю смогу под... Mar 7 2007, 02:49 GDI В махровые советские времена радиолюбители подстра... Mar 7 2007, 10:40 sseett Цитата(GDI @ Mar 7 2007, 17:40) В махровы... Mar 7 2007, 12:09 aleksey_g 12 это, конечно, хорошо.
А нету ли экстремалов, им... Mar 7 2007, 10:48 GDaniloff Цитата(aleksey_g @ Mar 7 2007, 10:48) 12 ... Mar 11 2007, 17:11 Kuzmi4 2 aleksey_g - когда то ради интереса таки задался ... Mar 7 2007, 10:56 sKWO Цитата(Kuzmi4 @ Mar 7 2007, 10:56) 2 alek... Apr 19 2007, 23:51  =GM= Цитата(sKWO @ Apr 19 2007, 20:51) ATmega ... Apr 20 2007, 01:29  cebotor Цитата(sKWO @ Apr 20 2007, 00:51) ATmega ... Apr 23 2007, 12:22   =GM= Цитата(cebotor @ Apr 23 2007, 08:22) а чт... Apr 23 2007, 14:50 neonix Видимо мне прийдется ждать следующей поездки в Вор... Mar 7 2007, 13:36 TamTam Цитата(neonix @ Mar 7 2007, 13:36) Видимо... Mar 11 2007, 02:42 GDaniloff Сколько плат, столько usb-хостов
Постоянно сталки... Mar 12 2007, 22:52 =GM= Цитата(GDaniloff @ Mar 12 2007, 19:52) Ск... Mar 13 2007, 01:29 defunct Если с кварцем не судьба - рассчитайте RC цепочку ... Apr 20 2007, 02:16 sseett Тогда уж лучше LC цепочку. Намотайте катушку с нат... Apr 20 2007, 07:48 defunct Цитата(sseett @ Apr 20 2007, 06:48) Если ... Apr 20 2007, 13:15 Nanobyte Тут я раньше писал об устройстве IRLink, в который... Apr 20 2007, 14:16 =GM= Цитата(Nanobyte @ Apr 20 2007, 10:16) Тут... Apr 20 2007, 15:29  Nanobyte Цитата(=GM= @ Apr 20 2007, 16:29)
Ну во... Apr 20 2007, 18:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|