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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Кварц не на 12 Мгц в проэктах c USB, Можно ли заменить этот злополучный кварц....
GDaniloff
сообщение Mar 11 2007, 17:11
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



Цитата(aleksey_g @ Mar 7 2007, 10:48) *
12 это, конечно, хорошо.
А нету ли экстремалов, имеющих опыт на 48 меге это добро запустить на 24MHZ?


Как-то задался проблемой замерить частоту кварцев, вынутых из старых винчестеров. Наваял такую программу (tiny2313), снимал меандр в звуковую карту и определял частоту в SoundForge (за отсутствием частотомера). Ради интереса воткнул кварц на 24М - работал! smile.gif
Код
;**********************************
; Тестовая программа переключает выход pinD6 с частотой CLK/20000 (20 MHz->1kHz)
    .include "tn2313def.inc"
    .equ    wire    =6
    .cseg
    .org    0

    cli
    ldi    r16,RAMEND
    out    SPL,r16        ; инициализация стека
    ldi    r16,$80
    out    ACSR,r16    ; AC off
    in    r16, MCUSR    ; Clear WDRF in MCUSR
    andi    r16,~(1<<WDRF)
    out    MCUSR, r16
    in    r16, WDTCSR
    ori    r16, (1<<WDCE)|(1<<WDE)
    out    WDTCSR, r16    ; set wdce & wde
    andi    r16,~(1<<WDE)    ; Turn off WDT
    out    WDTCSR, r16
    ldi    r17,1<<wire
    mov    r16,r17
    out    DDRD,r16

set1:    eor    r16,r17    ;1
     ldi    r18,30    ;1
pl2:    ldi    r19,110    ;1
pl1:    dec    r19    ;1
     brne    pl1    ;2    17 20 23
    dec    r18    ;1
    brne    pl2    ;2

    out    PORTD,r16;1
    lpm
        lpm
ok:    rjmp    set1    ;2

    .exit
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Mar 11 2007, 18:51
Сообщение #17


За битами по регистрам гоняюсь
***

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



Цитата(=GM= @ Mar 7 2007, 01:40) *
... Кварц на 14.5 МГц не подойдёт. Частота кварца должна быть кратна 1.5 МГц (частота USB), чтобы было целое число тактов процессора на бит. Это центральная идея, иначе ничего не получится.

Тут вот мне принесли для проверки устройство IRLink, для управления всякими там WinAMP и др. программами от пульта ДУ. Там стоит Tiny2313 и кварц на 20 МГЦ ! Судя по схеме, какой-то клон IgorPlug или Obdev. А вы говорите не получится smile.gif .


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 12 2007, 03:45
Сообщение #18


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. А вы говорите не получится smile.gif .

Если оно работает, то зачем его вам принесли(:-)? Возможно, они этой ветки не читали(:-).

Ну а если серьёзно, то конечно есть некий допуск на несовпадение частот приемника и передатчика. Давайте посчитаем. Лоуспид передает синхро+пид+адрес+8 байт данных+2 байта цкс + конец пакета. Вгрубе это будет 14 байт или 112 бит. Предположим наилучший случай, что начало приема совпало с серединой первого бита. На 112 бит мы можем допустить ошибку в ±длительность полбита, т.е. относительная ошибка составляет ±1/224=4.46е-3. В жизни будет ещё хуже, частота передатчика тоже не идеальна, и на середину первого бита рассчитывать особо не приходится.

Для вашего прибора относительная ошибка составляет (20-19.5)/20=25е-3. ВЫВОД: ошибка выходит за границу допустимого допуска, полные пакеты приняты быть не могут. Короткие возможно, да и то через раз. Чистое радиолюбительство(:-).

Как вы не поймёте, в программном USB нет никакой синхронизации, зацепились за первый бит и всё, дальше куда кривая выведет. Это как в рс-232, только битов не 10, а на порядок побольше и частота передачи не 115 кбод, а на порядок побольше.

Вообще, интересно было бы взглянуть на код, если он есть...


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Mar 12 2007, 11:26
Сообщение #19


За битами по регистрам гоняюсь
***

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



Цитата(=GM= @ Mar 12 2007, 03:45) *
... Если оно работает, то зачем его вам принесли(:-)? Возможно, они этой ветки не читали(:-).

Дык работает не на всех ПК, у человека, который его купил, не хочет.
Цитата
... Для вашего прибора относительная ошибка составляет (20-19.5)/20=25е-3. ВЫВОД: ошибка выходит за границу допустимого допуска, полные пакеты приняты быть не могут. Короткие возможно, да и то через раз. Чистое радиолюбительство(:-).

Как вы не поймёте, в программном USB нет никакой синхронизации, зацепились за первый бит и всё, дальше куда кривая выведет. Это как в рс-232, только битов не 10, а на порядок побольше и частота передачи не 115 кбод, а на порядок побольше.

Вообще, интересно было бы взглянуть на код, если он есть...

Кода нет, это устройство делают и продают на http://www.irlink.ru , так что претензии и поучения не ко мне smile.gif У меня IgorPlug трудится.


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 12 2007, 15:20
Сообщение #20


Ambidexter
*****

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



Цитата(Nanobyte @ Mar 12 2007, 08:26) *
Кода нет, это устройство делают и продают на http://www.irlink.ru , так что претензии и поучения не ко мне smile.gif У меня IgorPlug трудится.

Та-ак, приплыли. Что-то у меня создаётся впечатление, что вы неадекватно воспринимаете сказанное мной.

Вам принесли пульт (не работающий), а ВЫ претензию предъявляете МНЕ (а не я вам), "что я говорил, что не получится". Странно-нечёткая логика у вас. Я сказал - не получится, и вот результат - неработающий пульт. (Наверняка не работает потому, что частоты приемника и передатчика юэсби сильно разъехались.)

Далее, никого я не поучал, зачем словами бросаться? Наоборот, сам готов поучиться, давайте обсудим, как принять бит за 6 тактов в программном USB, с удовольствием поучусь. К слову, удалось довести время приёма бита до 4 тактов (хотя и с опредёленными трюками), так что можно ставить 6 МГц кварц в IgorPlug устройство.

В целом, задумка irlink имеет право на жизнь, хотя считаю, что управлять с помощью компьютера всеми приборами не всегда неудобно. Я использую обучаемый дистанционный пульт восемь в одном, который управляет обычным ТВ, спутниковым рисивером, двд-плейером, видеомагнитофоном, приёмником цифрового ТВ и музыкальным центром, не надо никакого компьютера. И стоит 6 квидов.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 12 2007, 16:26
Сообщение #21


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Nanobyte @ Mar 11 2007, 18:51) *
Цитата(=GM= @ Mar 7 2007, 01:40) *
... Кварц на 14.5 МГц не подойдёт. Частота кварца должна быть кратна 1.5 МГц (частота USB), чтобы было целое число тактов процессора на бит. Это центральная идея, иначе ничего не получится.

Тут вот мне принесли для проверки устройство IRLink, для управления всякими там WinAMP и др. программами от пульта ДУ. Там стоит Tiny2313 и кварц на 20 МГЦ ! Судя по схеме, какой-то клон IgorPlug или Obdev. А вы говорите не получится smile.gif .

А в чем собственно сложность то ?
Берем 20МГц
делим на 1,5МГц получаем 13,(3) такта на бит
Итого на каждые 3 бита тратим 13 13 и 14 тактов, то есть в среднем (13+13+14)/3=13,(3)
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Mar 12 2007, 16:54
Сообщение #22


За битами по регистрам гоняюсь
***

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



Цитата(=GM= @ Mar 12 2007, 15:20) *
...Я сказал - не получится, и вот результат - неработающий пульт....

Irlink серийно штампует и продаёт эти девайсы, значит получается и работает, не так-ли?

Цитата
...Далее, никого я не поучал, зачем словами бросаться? ...

Может я и не прав, но ваши слова...
Цитата
Как вы не поймёте, в программном USB нет никакой синхронизации, зацепились за первый бит и всё, дальше куда кривая выведет. Это как в рс-232, только битов не 10, а на порядок побольше и частота передачи не 115 кбод, а на порядок побольше.
я воспринял именно так. А ведь я смайл smile.gif в этой фразе поставил.
Ладно, предлагаю обойтись без обид cheers.gif . Девайс не работает на некоторых ПК, и изготовители об этом знают. Он обнаруживается системой но просмотр программой USBview показывает, что все байты нулевые. Есть подозрения, что непорядок с уровнями сигнала или линии данных перепутаны (было и такое).


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 12 2007, 17:09
Сообщение #23


Ambidexter
*****

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



Цитата(singlskv @ Mar 12 2007, 13:26) *
Цитата(Nanobyte @ Mar 11 2007, 18:51) *

Цитата(=GM= @ Mar 7 2007, 01:40) *
... Кварц на 14.5 МГц не подойдёт. Частота кварца должна быть кратна 1.5 МГц (частота USB), чтобы было целое число тактов процессора на бит. Это центральная идея, иначе ничего не получится.

Тут вот мне принесли для проверки устройство IRLink, для управления всякими там WinAMP и др. программами от пульта ДУ. Там стоит Tiny2313 и кварц на 20 МГЦ ! Судя по схеме, какой-то клон IgorPlug или Obdev. А вы говорите не получится smile.gif .

А в чем собственно сложность-то ?
Берем 20МГц, делим на 1,5МГц получаем 13,(3) такта на бит
Итого на каждые 3 бита тратим 13 13 и 14 тактов, то есть в среднем (13+13+14)/3=13,(3)

На первых 3-х битах засинхронизируетесь, на вторых 3-х тоже, как быть с последними двумя?
Как принимать следующие байты?

Это и ежу понятно (пьяному)(:-), что можно расписать линейный приём всех 112 битов пакета, корректируя рассинхронизацию каждые три бита, но это будет совсем другая программа. Хотите головную боль, делайте, а если взять кварц, кратный 1.5 МГц, то проблемы с рассинхронизацией просто не возникнут, значит, можно сконцентрироваться на более насущных вещах.

Насколько я понял, автор топика хотел использовать готовую программу для программатора оbdev, но у него не было кварца 12 МГц. Вот в таком аспекте и был ответ.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 12 2007, 17:48
Сообщение #24


Ambidexter
*****

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



Цитата(Nanobyte @ Mar 12 2007, 13:54) *
Irlink серийно штампует и продаёт эти девайсы, значит получается и работает, не так-ли?

Ну, значит, работают, иногда(:-). Вон шаттл взовался, говорят, от одной неправильно поставленной запятой. Вроде тоже летают, э? Или нет(:-)?
Цитата(Nanobyte @ Mar 12 2007, 13:54) *
Может я и не прав, но ваши слова...
Цитата
Как вы не поймёте, в программном USB нет никакой синхронизации, зацепились за первый бит и всё, дальше куда кривая выведет. Это как в рс-232, только битов не 10, а на порядок побольше и частота передачи не 115 кбод, а на порядок побольше.
я воспринял именно так. А ведь я смайл smile.gif в этой фразе поставил.
Еще раз, я говорил применительно в драйверу obdev или igorUsb в соответствии с вопросом автора топика. Похоже авторы Irlink или вообще не переделывали программу, или не до конца переделали. Но их есть за что уважать, они сделали устройство и выпускают его, а баги всегда будут, тут ничего не поделать. Как говорится, в любой сколь угодно малой программе всегда отыщется по крайней мере одна ошибка(:-).

Цитата(Nanobyte @ Mar 12 2007, 13:54) *
Ладно, предлагаю обойтись без обид cheers.gif . Девайс не работает на некоторых ПК, и изготовители об этом знают. Он обнаруживается системой но просмотр программой USBview показывает, что все байты нулевые. Есть подозрения, что непорядок с уровнями сигнала или линии данных перепутаны (было и такое).

Никаких обид, обычное недопонимание.

По вашему устройству. Передача в юсб ведётся с относительным кодированием nrzi, так что если принимаются нули, то значит, на линии идёт 1-0-1-0.., т.е. уровни как бы различаются. Если линии перепутаны, то устройство должно определяться не как лоуспид... Попробуйте подобрать кварц или хотя бы переменный кондёр в цепь кварца...


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
GDaniloff
сообщение Mar 12 2007, 22:52
Сообщение #25


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 10-03-07
Пользователь №: 26 032



Сколько плат, столько usb-хостов smile.gif
Постоянно сталкиваюсь с проблемами опознавания различных устройств, то напряжение не то, то току маловато, то скорость хуже некуда. Похоже, производителям материнок тоже начхать на стандарты smile.gif

Сообщение отредактировал GDaniloff - Mar 12 2007, 22:53
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 13 2007, 01:29
Сообщение #26


Ambidexter
*****

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



Цитата(GDaniloff @ Mar 12 2007, 19:52) *
Сколько плат, столько usb-хостов smile.gif
Постоянно сталкиваюсь с проблемами опознавания различных устройств, то напряжение не то, то току маловато, то скорость хуже некуда. Похоже, производителям материнок тоже начхать на стандарты smile.gif

Что-то мне сомнительно, сразу в трубу можно вылететь...

Цитата(GDaniloff @ Mar 11 2007, 14:11) *
Как-то задался проблемой замерить частоту кварцев, вынутых из старых винчестеров. Наваял такую программу (tiny2313), снимал меандр в звуковую карту и определял частоту в SoundForge (за отсутствием частотомера)
Код
;**********************************
; Тестовая программа переключает выход pinD6 с частотой CLK/20000 (20 MHz->1kHz)
    
    ldi    r17,1<<wire
    mov    r16,r17
    out    DDRD,r16
set1:    eor    r16,r17;1
    ldi    r18,30;1
pl2:    ldi    r19,110;1
pl1:    dec    r19;1
    brne    pl1;2    17 20 23
    dec    r18;1
    brne    pl2;2
    out    PORTD,r16;1
    lpm
    lpm
ok:    rjmp    set1;2

Ещё хотел подправить ваш код, не бойтесь применять подходящие команды, код должен быть красивым...
Код
      ldi   r16,1<<wire        ;
      out   DDRD,r16           ;
set1: ldi   r30,low(const)     ;1
      ldi   r31,high(const)    ;1
set2: sbiw  r30,1              ;2 software delay
      brne  set2               ;2
      out   PIND,r16           ;1 toggle the pin
      rjmp  set1               ;2


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
sKWO
сообщение Apr 19 2007, 23:51
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(Kuzmi4 @ Mar 7 2007, 10:56) *
2 aleksey_g - когда то ради интереса таки задался вопросм сколько может выдержать мега , правда под рукой была только 16-я(16пи)..
Самое выше что поставил было 22 с копейками - чтоб усарт работал..В общем через пол часа работы она загнулась и не хотела через пару раз ресетов вообще запускаться, Хотя мен удивил сам факт запуска.....

ATmega 88 у меня работает в нескольких различных устройствах с кварцем на 22.1184 мегагерца уже более двух лет. Проверено!!


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 20 2007, 01:29
Сообщение #28


Ambidexter
*****

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



Цитата(sKWO @ Apr 19 2007, 20:51) *
ATmega 88 у меня работает в нескольких различных устройствах с кварцем на 22.1184 мегагерца уже более двух лет. Проверено!!

Да уж! Нормоконтроля на вас нет! Могу сказать только одно, скорее всего, ваше устройство сделано на основе чисто радиолюбительского подхода, видно, не работали вы в ответственных приложениях(:-(.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 20 2007, 02:16
Сообщение #29


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Если с кварцем не судьба - рассчитайте RC цепочку для 12Mhz... в даташите формулы есть.
Go to the top of the page
 
+Quote Post
sseett
сообщение Apr 20 2007, 07:48
Сообщение #30


Частый гость
**

Группа: Участник
Сообщений: 165
Регистрация: 14-01-05
Из: РФ Приморский край (рег.25)
Пользователь №: 1 939



Тогда уж лучше LC цепочку. Намотайте катушку с натягом посеребренным проводом на специальной керамике. Подберите конденсаторы с нужным ТКЕ. Или лучше поместите все это дело в термостат, и управляете этим термостатом другим контроллером, который тактируйте от прецизионного генератора....

Если серьезно, то стабильности пьезо-резонатора не хватает, не то, что RC цепочки.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th August 2025 - 15:15
Рейтинг@Mail.ru


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