PDA

Просмотр полной версии : Частотомер 2.5ГГц



alex_us
18.11.2006, 20:57
На днях собрал прибор :super:

http://hem.passagen.se/communication/frcpll.html

Вещь просто замечательная ! При высокой
чувствительности имеет полосу 2.5 ГГц !
Возможно вычитание пч 10.7 и 455

Кто-то еще повторял прибор ? Как ваши впечатления?

US5CAA
19.11.2006, 00:15
А прескаллер у Вас, как у автора LMX2322 или его можно заменить каким то другим?

DX_man
19.11.2006, 00:33
http://vrtp.ru/index.php?showtopic= 3148&st=0

Genadi Zawidowski
19.11.2006, 01:31
Странное совпадение... буквально на днях сделал прескалер 1/100 на LMX2306 (лего перепрогаммировать для 1/1000 (LMX2326)... Исходники и прошивку для ATMega8 могу выложить здесь.

Genadi Zawidowski
20.11.2006, 16:02
Проектик...
ATMega8:
PORTC: D0 - CLK, D1: DATA, D2: LE (chip select) of LMX2306.
Выходной сигнад - Fo/LD, Вход - как RFIN (с 51 ом впаралель).
~RFIN к земле через 470 пф и 82 кОм впаралель (резистор уменьшать до отсутствия самовозбуждения на частотах около 500 МГц).
Вход REFCLK на земле накоротко.

alex_us
20.11.2006, 17:58
А можно для чегонить более высокочастотного?

LMX 2306 только до 550МГц
например LMX2316, 2326
или LMX2364TM

alex_us
20.11.2006, 18:01
Да, забыл сказать детальки оригинальные,
покупал у автора: http://www.rfcandy.com/

Genadi Zawidowski
20.11.2006, 18:05
А можно для чегонить более высокочастотного?

LMX 2306 только до 550МГц
например LMX2316, 2326
или LMX2364TM
Можно... Пара строчек меняется. LMX2326 есть где-то у меня, но проверить пока не смогу... Просто когда делал прескалер, нужно было меньше гигагерца.
Если над, доделаю...

BeoWulf
29.11.2006, 17:00
Уважаемый alex_us.

Можете ли Вы выложить свой вариант печатной платы?

Заранее благодарен.

rx3apf
29.11.2006, 17:29
Проектик...
ATMega8:
PORTC: D0 - CLK, D1: DATA, D2: LE (chip select) of LMX2306.
Выходной сигнад - Fo/LD, Вход - как RFIN (с 51 ом впаралель).
~RFIN к земле через 470 пф и 82 кОм впаралель (резистор уменьшать до отсутствия самовозбуждения на частотах около 500 МГц).
Вход REFCLK на земле накоротко.
А можно было бы усилитель-генератор опорника использовать как второй (низкочастотный) вход. Правда, у 2306 чувствительность по нему так себе, и верхняя граница не очень. А у 2322 получалось где-то от единиц MHz до далеко за сотню (по опорнику), причем с делителем 2. И, кстати, по прескалеру 2322 работала и с коэффициентом 64 (что выгодно для улучшения разрешения, против 100 и тем более 1000).

Genadi Zawidowski
29.11.2006, 17:58
Я знаю про минимальный коэф. деления по сигналу (56), но делитель делался как приставка к готовому частотомеру - а переставить десятичную запятую проще, чем на 64 в уме множить. Точность не интересовала - сам прибор был показометром.
Генератора опорника в 2306 нет. Чувствительность, по моим наблюдениям, порядка 200 мВ по сигналу опорника. Верхняя граница 100 МГц по паспорту, выше того, что частотомер умеет. Я делал просто коробочку, которая перед частотомером лежит!

Genadi Zawidowski
29.11.2006, 18:04
LMX2322 - что это такое? У нэшионала нет такой...
Прескалер-то он в 2306 на 8, но минимальный коэф. деления 56 (по известной формуле получается).

rx3apf
29.11.2006, 18:30
LMX2322 - что это такое? У нэшионала нет такой...
Прескалер-то он в 2306 на 8, но минимальный коэф. деления 56 (по известной формуле получается).
Есть такая, но ихний сайт в том не признается (где-то там упоминание есть, но даташита нет). Ставились они в Ericsson-овских GSMных трубках (я ковырял из потрошков R320, насколько помню).

В 2306 прескалер 8/9, делитель "B" - не меньше 3, т.е. коэффициент 24 формально должен получаться. В 2322 прескалер 32/33, делитель "B" - тоже не меньше трех, но у меня в тест-моде он работал при загрузки двойки. Т.е. вход делился на 64.

Genadi Zawidowski
29.11.2006, 18:52
Попробую сегодня на практике проверить... что-о меня мучают сомнения...
Как должно выглядеть слово для загрузки коэф. деления 50?
A=50/8
B=50%8 ?

rx3apf
29.11.2006, 18:58
Попробую сегодня на практике проверить... что-о меня мучают сомнения...
Как должно выглядеть слово для загрузки коэф. деления 50?
A=50/8
B=50%8 ?
Для 50 - не знаю (кстати, не знаю, и как для 100) - в тест-моде ведь делится на прескалер и на "B".

Genadi Zawidowski
29.11.2006, 19:21
В swallow counter (A) грузится то, что остаток после деления на коэф. деления прескалера (который у меня 8, в других 8/16/32/64). Частное - в главный делитель (B). Столько тактов в цикле, сколько остаток - прескалер делит на N+1, остальное на N.
А! Понял!
С учетом условия - (B>=A) можем получить коэф. 3*3=9, 4*4=16, 5*5=25, 6*6 = 36, 7*7 = 49. Начиная с 56 - без дырок. Так?
Проверю такие значения.
Да, что такое тест-моде?

rx3apf
29.11.2006, 19:32
В swallow counter (A) грузится то, что остаток после деления на коэф. деления прескалера (который у меня 8, в других 8/16/32/64). Частное - в главный делитель (B). Столько тактов в цикле, сколько остаток - прескалер делит на N+1, остальное на N.
А! Понял!
С учетом условия - (B>=A) можем получить коэф. 3*3=9, 4*4=16, 5*5=25, 6*6 = 36, 7*7 = 49. Начиная с 56 - без дырок. Так?
Проверю такие значения.
Да, что такое тест-моде?
Тест-мода - это когда входной сигнал делится на прескалер и на счетчик "B" и результат выводится на какую-то ногу кристалла (CP, LD - у разных по-разному), без использования фазового детектора (именно так используют синтезаторы TSA55xx в качестве прескалеров). Там уже не получится использовать дробный коэффициент, переключение коэффициентов прескалера не происходит. Ну, в смысле я не заморачивался программированием "A", поскольку результирующие коэффициенты для синтезаторов с "большими" прескалерами получаются слишком уж велики, и использовал A=0, B=3 (а получилось и с B=2). А так на тест-ногу выходит сигнал с N-делителя (по желанию - можно с R). А, теперь я понял, как у 2306 сделать 100 ;)

Genadi Zawidowski
29.11.2006, 19:49
А... У LMX2306 просто коммутируется выход счетчика (по выбору) на ногу кристала. Я этим и пользуюсь.

rx3apf
29.11.2006, 19:56
А... У LMX2306 просто коммутируется выход счетчика (по выбору) на ногу кристала. Я этим и пользуюсь.
Ну так это обычно и называется "тест-режим". Просто у 2306 этим можно воспользоваться без ущерба основному режиму (вместо LD), а в 2322 - только посредством ноги CP.

Genadi Zawidowski
30.11.2006, 12:28
Протестировал LMX2306.
Действительно, работает в соответствии с даташитом! Кто бы мог подумать!
Коэф. 24-25-26-27 получаются. Вроде и 16 получалось, но это "запредельный" режим - зная внутреннюю структуру, могу предположить, что на 3.3 вольта и на 550 МГц может и не потянуть.

Кукин Николай Николаевич
05.12.2006, 19:07
Здравствуйте уважаемый Геннадий! (Genadi Zawidowski)
Хочу задать Вам 2 вопроса, которые меня интересуют.
Добиться внятного ответа на один из них я ни у кого не смог получить, думаю Вы можете мне объяснить, т.к. Ваш проект содержит то о чем я давно ломаю голову.Начало этой темы происходит с PICa, у Вас Мега. Все говорят, что пики считают большую частоту(больше),чем авр/меги при одной и той же тактовой, а мне это объяснение непонятно - в пиках тактовая делится на 4, т.е. он в 4 раза тормознее, чем атмелка при той же частоте кварца. Счет импульсов у атмелки тактируется тактовой(инт0,1),то есть гарантия счета каждого импульса - меньше Ф/2 (половина тактовой). Все частотомеры на атмелках, которые я читал в популярной лит-ре, мурзилке и здесь на сайте считают меньше Ф/2, это понятно. Знакомые контрольщики говорят «Шеннон-Шеннон», я и сам знаю , что Шеннон. А почему описанное на пиках считает выше тактовой?(имеется в виду каждый импульс).
Вопрос 2.
Ваш исходник написан для GCC.Схему не смог прочитать, нужен вьюер, на том компе за кот. я щас бацаю его нет, но это неважно , вопрос в другом. В тексте есть asm вставки.
Я недавно купил хор. книгу по программированию на С для авр и пик, капитальный труд.Там тоже описан GCC.Когда я читал программу Алехина по бортовому компютеру на автомобиль, напечатанную в мурзилке, там С, но для 51 контролёров.Вставки asm в том С выглядят очень удобно.Весь текст написан на С, а сами функции, драйвера всей периферии - на асме.Очень удобно- переписал для другого контролёра асмовскую часть и все, можно заряжать!, лишь бы был соответствующий С. Из всех исходников авр, какие я смог найти на этом сайте, Ваш мне показался наиболее осмысляемым. В GCC асмовские вставки выглядят очень неуклюже на мой взгляд – неудобно много надо писать( мне так кажется). Последний раз серьезно я программировал на ТС для дос, там вставки на асм были очень простые: просто сказал компилятору «дальше у нас асм» и все.Знаете ли Вы подобные компиляторы С для авр?Пока изучаю Баранова и две вышедшие книги авр и мега/тайни.Есть еще вопросы, но будет зависеть от Вас - захотите ответить или нет.
С уважением, Кукин Николай.

Genadi Zawidowski
05.12.2006, 19:33
А почему описанное на пиках считает выше тактовой?(имеется в виду каждый импульс).

Я не знаю архитектуры периферии PIC, могу предположить - что вход счетчика асинхронен по отношению к тактовой частоте микроконтроллера.

Я говорил про отдельный делитель! У меня атмега не считает! Считает частотомер, который не я делал! (для информации - его делал Миша Голубев, сделано на каком-то 52-м контроллере и считают внутренние его счетчики + внешняя декада на ТТЛ). Можно подключить Ч3-54.


Вопрос 2.
Ваш исходник написан для GCC.Схему не смог прочитать, нужен вьюер, на том компе за кот. я щас бацаю его нет, но это неважно , вопрос в другом. В тексте есть asm вставки.

Схему я разве выкладывал? Я сказал только -


PORTC: D0 - CLK, D1: DATA, D2: LE (chip select) of LMX2306.
Выходной сигнад - Fo/LD, Вход - как RFIN (с 51 ом впаралель).
~RFIN к земле через 470 пф и 82 кОм впаралель (резистор уменьшать до отсутствия самовозбуждения на частотах около 500 МГц).
Вход REFCLK на земле накоротко.

Ассемблерные вставки в моем тексте есть только в таком виде -

/* make pulse on ioreset line */
void prog_pulse_ioreset(v oid)
{
lpt_set_d6(1);

#if F_CPU > 4000000UL
_delay_us(0.5); /* guarantee 500 ns high */
#elif F_CPU > 2000000UL
__asm__ volatile("nop");
#endif

lpt_set_d6(0);
}


/* make pulse on ioupdate line */
void prog_pulse_ioupdate( void)
{
lpt_set_d7(1);

#if F_CPU > 4000000UL
_delay_us(0.5); /* guarantee 500 ns high */
#elif F_CPU > 2000000UL
__asm__ volatile("nop");
#endif

lpt_set_d7(0);
}

Можете этот кусочек кода стереть совсем. Для справки - здесь применен машинно- и компилятор- зависимый способ формирования импульсов (с некритичной длительностью). Осталось от программы управления синтезатором.

Вся программа написана относительно переносимо (с некоторыми упрощениями и допущениями - относительно порядка байтов в целых числах - появилось как результат упрощения библиотеки работы с числами произвольной длинны).

В моем случае ассемблерные вставки вовсе не нужны.
Даже "примитивы" типа lpt_set_d7(int state) используют компилятор- и машинно- зависимые способы.

Если вопросы не по теме делителя, а вообще по программированию - предлагаю в отдельную тему удалиться...

Кукин Николай Николаевич
05.12.2006, 19:46
Да Геннадий именно эти вставки я имел ввиду. Просто по описанию GCC офрмлять нужно каждую строчку самовского тектса, а это уже не очень удобно. Если конечно неудобно разговаривать и мешать здесь, давайте так сделаем, я только не знаю как - новичок ведь! а 52 контролер это по моему тоже 51 архитектуры.

Кукин Николай Николаевич
05.12.2006, 19:55
Щас сходил , посмотрел Ваш архив, чего я не смог прочитать, оказалось щелкнул мышью не туда , оно и не открылось, думал, что там схема. В принципе то как Вы написали по ножкам понятно, так что схема и не нужна.

ve3ivm
06.12.2006, 03:12
Все говорят, что пики считают большую частоту(больше),чем авр/меги при одной и той же тактовой, а мне это объяснение непонятно - в пиках тактовая делится на 4, т.е. он в 4 раза тормознее, чем атмелка при той же частоте кварца.

Частотомеры на PIC используют prescaler и timer0 и не считают импульсы в лоб. Вместо этого генерируются временные ворота и пока они открыты, прескэйлер передает разделенные импульсы на тамер0. Потом ворота закрываются и старшие 8 разрядов читаются из таймер0. Затем производится исуственное тактирование входа прескэйлера до тех пор пока таймер0 не изменит состояние. Количество таких тактов подсчитывается программой и таким образом непрямо оределяются младшие 8 бит частотомера в прескэлере. Соответственно верхняя граница такого частотомера будет определяться граничной частотой прескэйлера, которая существенно выше тактовой частоты PICa. Вы это имели в виду в вашем вопросе?

er1mf
06.12.2006, 04:28
Да, забыл сказать детальки оригинальные,
покупал у автора: http://www.rfcandy.com/
Блин, ну и цены у него... Запредельные...

Кукин Николай Николаевич
06.12.2006, 17:45
Здравствуйте Иван! Спасибо большое за ответ!Я почти ничего не понял из Вашего ответа, т.к. про пики мало читал. Ваше сообщение я понял (если ориентироваться на то как работают авр) так:
- прескэйлеру (я понимаю как предварительный делитель) задается коэффициент деления тактовой частоты и таким образом определяется время работы таймера для генерации прерывания по таймеру-0 или таймеру1 (для установки точного значения требуемого периода срабатывания таймера еще как правило необходимо установить определенное число в таймерном регистре- думаю, что это Вы имели в виду под термином «ворота»);
-запускается таймер, разрешается счет по по счетному входу INT0,или INT1, т.к. он не тактируется тактовым генератором, то его быстродействие и скорость счета ограничена граничной частотой логических элементов, входящих в состав контроллера. В момент переполнения счетного регистра счетчика генерируется аппаратное прерывание переполнения счетчика , которое надо обработать.Пока не сгенерировано прерывание по таймеру, ведется подсчет количества сгенерированных прерываний переполнения счетчика INT0 или INT1.В момент генерации прерывания по таймеру имеем количество прерываний переполнения счетчика+ количество насчитанных импульсов в счетчике,которое меньше граничного значения.Умножаем кол. перереполнений на на максимальную способность счетчика (обычно 256 или 256*256) + остаток в счетчике=получили количество импульсов.Делим его на период срабатывания таймера-получаем частоту.Разница между пиком и атмелкой в том, что счетчик у атмел тактируется
тактовым генератором, и пика –нет. Таким образом граничная частота для авр и меги-половина тактовой частоты, для пика-граничная частота логических элементов на которых построен микроконтроллер, т.е гдето в 5-10 раз выше тактовой частоты контроллера, т.е. при тактовой скажем 16 мгц авр выше 8 мгц в принципе не способен правильно считать, а пик , хотя и работает на 16/4= 4 мгц (кол. операций) способен считать частоту 16*(5-10=80-160 мгц. Другой вопрос, что обработать его процессор это все может не успеть.Если учесть скорострельность процессора, то пик при тактовой 16 мгц спокойно сможет посчитать частоту скажем 30 мгц.
Правильно ли я все это понял?
Я это послал Вам еще в личную почту, но не знаю, дошло ли, поэтому продублировал здесь еще.
С уважение, Кукин Николай

Veka
06.12.2006, 18:27
2 Кукин Николай Николаевич
Например, частотомер по схеме http://www.cqham.ru/scllcd.htm при тактовой частоте PIC16F84 равной 4МГц показывает частоты до 100МГц, причем на верхнюю границу очень сильно влияет качество фронтов сигнала.
100МГц подавались с TTL генератора в корпусе DIL14 (блестящая жестяная коробочка) короткими проводами ~3см прямо на нижний по схеме вывод R7 (каскад на транзисторе VT1 - отключен). Было испытано 3 генератора 100МГц разных прозводителей, из них нормально считался только один. Среди генераторов на 66/66.666 и 80 МГц нормально считались все из имеющихся в наличии ~ 10 шт. !
Таким образом, счетчик прескалера PIC - вещь!!!
С входным формирователем на КТ368 потолок измеряемой частоты скромнее: ~40МГц. От заявленной частоты PIC (4 или 20 МГц) потолок не зависит.

ve3ivm
07.12.2006, 03:41
Николай,
да нет, все по-другому. Посмотрите схему линк на которую предыдущий товарищ дал, или оригинальный Application Note AN592 от Microchip. Видите там вход timer0 соединен с одним из портов, и в точку соединения подается измеряемый сигнал через резистор. Смысл в том что ножка порта переводится либо на ввод (высокий импеданс), и тогда измеряемый сигнал проходит на прескэйлер таймера0, либо на вывод (постоянка), и тогда вход прескэйлера запирается. Так формируются временные ворота. Временной интервал формируется программно. Таким образом за время пока ворота открыты, на вход прескэйлера пройдет конечное количество импульсов. Теперь задача их посчитать. Первый стоИт прескэйлер, который делит входную высокую частоту переводя снижая ее до величины которую способен обработать таймер0 ( работающий в режиме счетчика, не таймера). После закрытия ворот некоторое число подсчитанных импульсов находится в таймер0 ( 8 старших разрядов от количества импульсов поступивших на вход PIC ), и некоторое число будет находиться в счетчике прескэйлера (это просто многоразрядный счетчик, он будет содержать 8 младших разрядов) . Проблема в том что число находящееся в прескэйлере нельзя прочитать напрямую ( с таймер0 такой проблемы нет, его регистр доступен программно). Тогда, чтобы извлечь число записанное в прескэйлер, поступают просто - искуственно тактируют вход прескэйлера (подсчитывая) до тех пор пока не произойдет очередное пополнение таймера0 ( пока не возникнет перенос из прескэйлера). После этого просто вычитают количество искуственных тактов из величины на которую был запрограммирован прескэйлер. Полученная разница и будет числом которое сидело в прескэйлере в момент закрытия ворот. Надеюсь идея понятна. Искуственное тактирование производится либо аппаратно на входе прескэйлера, либо программно через один из флагов в регистре таймера0.

Кукин Николай Николаевич
07.12.2006, 17:54
Здравствуйте Иван VE3IVM! Огромное спасибо за ответ! Все очень понятно объяснили. Вчера купил книгу по пикам, там в главе про таймер0 прочитал, что счетчик таймера тактируется тактовым генератором, а прескэйлер нет, поэтому длительность импульсов обрабатываемых счетчиком при подаче напрямую должна быть не менее 2Тosc+20нс, а через прескэйлер-всего 10 нс!.У меня оставался неясным только один вопрос, но Вы упредили и его – как посчитать количество импульсов оставшихся в прескэйлере. То есть пиком можно посчитать в идеале 100 мгц с точностью до импульса, что на практике уже успел замерить и сообщить Veka, thanks! Когда я еще раз прочитал книгу, то не нашел там информации о том, что оперируя флагами можно досчитать счетчик прескэйлера до 255, значит пойдем проверенным путем – заставим процессор одной ногой дергать другую. Вот только на обозначенной ссылке на схеме частотомера непонятно, как осуществляется на этот период отключение счетного входа от основного источника сигналов. В программе, насколько я поверностно не зная пиковского асма и системы команд, понял, что там ногой А3 дергают вход прескэйлера в цикле “Prescaler analyse”, пока не дойдет счет до 0.Все как Вы и описали, только не понятен механизм прекращения подачи на этот период измеряемых импульсов, т.к. на мой взляд их поступление на счетный вход должно мешать ноге А3. Ладно эту проблему попытаюсь решить сам, буду изучать схемы других счетчиков на пиках. ТКС!
С уважением Кукин Николай.

Genadi Zawidowski
07.12.2006, 18:04
Может, поможет...

Кукин Николай Николаевич
07.12.2006, 18:11
Геннадий, здравствуйте! Большое спасибо за инфо, сейчас скачаю, распечатаю и дома ночью буду изучать.
С уважением, Кукин Николай.

ve3ivm
07.12.2006, 23:55
Николай,
посмотрите здесь

http://forum.microchip.com/tm.aspx?m=191082

Тактирование прескейлера предлагается производить перебрасывая
Timer 0 edge select бит. Одна поправка навскидку по поводу моего предыдущего постинга - наверное это бит в регистре OPTION, не в регистре таймера.

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

Даже упоминалось что внешнее соединение с портом и резистор вообще не нужны, так как запирающий эффект можно создать переводом ножки таймера 0 на вывод. В сочетании с перебрасыванием бита T0SE задача решается без внешних соединений. Сам не пробовал, только видел сообщение.

Кукин Николай Николаевич
08.12.2006, 15:53
Здравствуйте Иван! Огромное спасибо за поправку и ссылки. Прочитал AN592, там описано все как Вы сказали. Вопрос про то мешают ли ноги друг другу там тоже не освещен.Вы пояснили, что если сформировать ногу как вывод то она запрет вводную. В аврках портовая нога даже если «сформулирована» как вывод , все равно может чувствовать перепады по входу, поэтому этот вопрос мне покоя и не давал. По указанной Вами ссылке я вырезал это…

K8LH
Super Member

You're not entirely correct( Вы не полностью правы ‘или по-русски неточны’). You can easily increment the Timer 0 prescaler(Вы можете легко увеличивать значение счетчика таймер0) without (т.е. без использования!) using an external pin (внешней ноги) (unlike the MC freq' counter examples)( в противовес МикроЧипным фирменным примерам счетчиков) . Simply setup Timer 0 for external clock source(просто установить внешнее тактирование таймера0), leave the T0CKI input pin set as an output(оставить T0CKI ногу настроенную как выход), and toggle the Timer 0 edge select bit in the OPTION register(и передергивать TIMER0 ‘ ‘edge select’ - посмотрю в описании чего он делает какие вариации получаются из таймер0- ’ бит в регистре OPTION) to 'clock' the prescaler (для тактирования прескэйлера) and watch for an overflow into TMR0( попутно отслеживая переполнение счетчика таймер0). Setting the T0CKI pin to an ouput (установка ноги T0CKI на «вывод»)is also a simple way to 'gate' Timer 0 (также является простым способом управлять «воротами» таймер0) without using an external pin when it's being used as a Frequency Counter (не прибегая к использованию внешней ноги когда он ‘таймер’ используется как счетчик частоты ‘импульсов’).
Что взято в ‘ ’ – это мои домыслы. Конечно все можно причесать в литературный технический перевод, но под руками как всегда нет словаря , чтоб перевести понятие latch, edge select, дома разберусь.

; the counter input is gated off after 200-msecs, now finalize
; our 32-bit count accumulator
;
; ACCA+0, Most significant byte (TMR0 overflows)
; ACCA+1, Next significant byte (TMR0 overflows)
; ACCA+2, copy of TMR0 register
; ACCA+3, prescaler, Least significant byte
;
movf TMR0,W ; get TMR0 value |B0
movwf ACCA+2 ; |B0
;
; empty the 1:256 prescaler by toggling the TMR0 edge select
; bit and decrementing ACCA+3 (initially 00) until detecting
; the prescaler overflow into TMR0.
;
FLUSH bsf STATUS,RP0 ; select Bank 1 |B1
bcf OPTION_REG,T0SE ; clock on rising edge |B1 Вот здесь мы и передергиваем «туда»
bsf OPTION_REG,T0SE ; clock on falling edge |B1 а здесь «сюда»
bcf STATUS,RP0 ; select Bank 0 |B0
decf ACCA+3,f ; decrement counter LSB |B0
movf TMR0,W ; compare TMR0 to saved value |B0
xorwf ACCA+2,W ; prescaler overflow? |B0
bz FLUSH ; no, clock it again |B0


< Message edited by K8LH -- Sep. 24, 2006 3:59:24 PM >
…………………………………………………… ………

If you're referring to the XOR input tied to the T0CKI pin, I think it's being held high or low by the port pin output latch
…………………………………………………
There are several block diagrams for that multi-function pin. Have you looked at the one in the I/O port section of the data sheet? For example, Figure 4.3 in the 12F683 Data Sheet?

Mike

< Message edited by K8LH -- Sep. 29, 2006 7:54:20 PM >


’поищу этот даташит, где описаны ноги с несколькими функциями, может где-нибудь у меня на пластине есть, нет, схожу на вышеуказанный Вами сайт’. Просто до этого я изучал аврки и пиками вообще не интересовался по некоторым важным для меня вещам.( соотношение возможности/цена). К примеру PIC16F84 в моей деревне с миллионным населением стоит
почти в два раза дороже, чем Atmel Mega8-16! А сравнивать их возможности просто смешно.

Всем большое спасибо за оказанную помощь, де Кукин Николай.

Кукин Николай Николаевич
08.12.2006, 16:00
You can easily increment the Timer 0 prescaler(Вы можете легко увеличивать значение счетчика прескэйлера таймер0). Здесь важная ошибка в переводе ( как обычно послал не перечитав, торопился побыстрей отправить

RZ3AIR
08.12.2006, 17:09
Для Pic

#define RFIN PORTA,4 ; вход частотомера через резистор 470 Ом
#define RFEN PORTA,5 ; соединить с RFIN

bsf RFIN
bcf RFEN
banksel TRISA
bsf RFEN ;Начало отсчета
banksel PORTA
.................... .................... ..
bcf RFEN
bsf RFIN
banksel TRISA
bsf RFIN
bcf RFEN ;остановить отсчет
banksel PORTA

alex_us
24.12.2006, 17:23
На днях получил набор от автора:
maxit91@hotmail.com
http://hem.passagen.se/communication/fcntlcd.html

Посылка шла из Швеции около 3 недель.

Остался очень доволен комплектацией и работой прибора!
Вещь просто суперская!

Семён
07.06.2009, 17:06
Подниму тему.
Вопрос к Genadi Zawidowski
Решил поиграться с lmx2326, для начала собрал делитель.
Но вот беда - возбуждается с открытым входом.
Тут http://forum.cqham.ru/viewtopic.php?p=1012 76#101276 Вы писали о мерах предотвращения возбуждения. Вот что-то не помогает..

В статье у Нечаева (Радио 9/2005 стр.24) написано, что мол синтезатор при отсутствии сигнала возбуждается и тут ничего не поделать, поэтому у него на входе стоял ВЧ детектор и компаратор, при отсутствии сигнала выход просто отключался.

Интересно - реально добиться отсутствия возбуждения? Максимум, чего смог добиться - стабилизации частоты возбуждения в районе 3ггц.

Genadi Zawidowski
07.06.2009, 18:29
я до сих пор использую тот самый делитель - с самовозбуждением на примерно 450 МГц ничего не удалось сделать. возможно, этого не произошло бы при применении чего-либо вроде adf4112, но как-то не до этого.

Семён
07.06.2009, 19:36
возможно, этого не произошло бы при применении чего-либо вроде adf4112
А почему так? чем он лучше?

Genadi Zawidowski
07.06.2009, 19:45
Это я к тому, что у них, возможно, самовозбуждения нет.

доцент2
24.05.2019, 17:19
Подскажите как правильно сделать входной контур для LMX2306.
На данный момент собрал делитель в виде выносного щупа. Сигналы с амплитудой менее 1,6-2В не хочет видеть. На выходе просто шум.
Более 2В все нормально.
При наличие диодов на входе вообще практически ни чего не хочет определять. Лучший вариант если сигнал подавать через 100 Ом на C2.
Сигнал подавал с кварцевых генераторов от 25 до 125МГц.