Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Измерительное оборудование Осциллографы, мультиметры, анализаторы и другая измерительная техника необходимая каждому разработчику.

 
Опции темы
Непрочитано 03.01.2012, 16:53  
you_go
Гражданин KAZUS.RU
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 903
Сказал спасибо: 90
Сказали Спасибо 1,276 раз(а) в 414 сообщении(ях)
you_go на пути к лучшему
По умолчанию Простой частотомер 0-50 МГц с разрешением 1 Гц

Году в 1997-98, когда появились PIC-процессоры с флэш-памятью (PIC16F83 -84) от Microchip, я стал их изучать (у меня уже был достаточный опыт программирования Z80, ВЕ48-51). Возможности нового процессора приятно удивляли – малое энергопотребление, высокая «скорострельность», все «на борту»,. А когда я понял, что встроенный прескалер (счетчик-делитель на 256), работающий вплоть до 50МГц можно настроить так, чтобы он работал от отдельного входа, так сказать, «stand-alone» и при этом никак не был связан с основным кварцевым тактовым генератором (подобное, кстати, на AVR-ках в принципе невозможно), то у меня «засвербила» мысль, что это очень даже можно использовать .
Тогда у меня и родилась идея – сделать компактный и простой частотомер, обладающий хорошими характеристиками. Итак, встроенный прескалер может независимо от программы считать входные импульсы, и нужно просто задать строб в 1 секунду и считать количества переполнений прескалера – а это вовсе не так часто. Да, скажете, но какая же получится точность измерения, если частота входного сигнала делится на 256? Вроде бы полная ерунда, ведь сам прескалер программно недоступен! Вот тут мне и пришла мысль – а кто нам мешает после основного строба измерения, когда входной сигнал уже заблокирован, быстренько «досчитать» прескалер до переполнения, программно подавая импульсы на его вход? Максимально это будет 256 импульсов. Так что ничего вовсе не теряется, а напротив, элементарно получается разрешающая способность частотомера в 1 Гц во всем диапазоне частот без каких-либо переключений.
И надо сказать, прошло уже лет 12, но, похоже, за это время больше никому такая «бредовая» идея в голову не пришла Так сказать программно-аппаратное решение.
Я пробовал много разных схем входного формирователя и стробирования. В результате получилось то, что получилось. (Возможно, что на современных элементах можно было бы сделать лучше).
Теперь насчет кварца. В те времена кварцы были достаточно дефицитны (по крайней мере в нашем регионе) , а у меня оказалась в наличии целая горстка неплохих кварцев на 5475 КГц (военных). Кстати, когда я занимался этим проектом, то выяснил для себя, что на кварцах пишут частоту последовательного резонанса (по крайней мере, мне попадались такие), а в схемах процессорных осцилляторов используется параллельный резонанс, в результате фактическая частота оказывается на пару килогерц выше (это для 4-6 МГц кварцев). Так для моих 5475 КГц это оказалось 5477 КГц Из-за этого даже мне пришлось переделывать программу, поскольку теоретически невозможно получить ту частоту, что написана на корпусе резонатора. При настройке подстроечным конденсатором можно точно подогнать его частоту при помощи образцового частотомера.
Позже я делал эту схему и на 4 Мгц кварцах. Был также вариант на 7-сегментных светодиодных индикаторах. Но, к сожаленью, тот жесткий диск, что был в моем 486 (или даже 386) компе успешно «почил». Хорошо, что на дискете остался хоть этот вариант. Исходник тоже есть, но убей, не вспомню в какой среде я его писал. Это точно не MPLAB IDE. Помнится, мне тогда понравилась какая-то ДОСовская программа-компилятор, линкер и симулятор, в которой ассемблерная мнемоника PIC была адаптирована почти что к стандартной интеловской, которую я знал как свои пять пальцев, поэтому я так быстро вник и начал писать.
Эх, было бы здорово, если бы кто-нибудь из «пикушников» помог вспомнить что это за прога и поделился бы ею со мной (если она у него сохранилась). Это бы сильно облегчило мне жизнь. Помнится, я вроде бы покупал ее в киоске на радиорынке у некоего М. Шипова. Но столько воды с тех пор утекло. Досовские программы никого больше не интересуют. Я, конечно, постепенно конвертирую все в MPLAB, но, чувствую, на это уйдет время. (Я уже более 10 лет как перешел на AVR-ки).
Поэтому не обессудьте, что я пока выкладываю прошивку для кварца 5475 КГц (переименуйте файл из .txt в .hex). Наверно, его еще можно достать, если у меня их было полно
Понимаю, что со стандартным 4МГц все было бы гораздо удобнее. Постараюсь сделать и выложить и эту версию прошивки. Программа очень компактная, все подпрограммы "самописанные" (давняя привычка все оптимизировать ) - занимает всего четверть памяти программ 16F84. Запросто помещается и в 16F83, (Программируется с опциями device 16f84,xt_osc,wdt_off,protect_off)
Из органов управления у частотомера есть только выключатель питания и кнопка выбора времени измерения - 0,2 или 1 сек (разрешение соответственно получается 5 или 1 Гц). Первый режим удобен, к примеру, для настройки частоты – реакция практически мгновенная, второй более точный. Если возникнут вопросы – задавайте, могу объяснить подробнее что и зачем.
Миниатюры:
Нажмите на изображение для увеличения
Название: Fmeter.gif
Просмотров: 1318
Размер:	10.6 Кб
ID:	29952  
Вложения:
Тип файла: txt fm5475.txt (5.1 Кб, 342 просмотров)
Реклама:

Последний раз редактировалось you_go; 03.01.2012 в 21:27.
you_go вне форума  
Сказали "Спасибо" you_go
giv2 (08.01.2012)
Непрочитано 03.01.2012, 17:12  
you_go
Гражданин KAZUS.RU
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 903
Сказал спасибо: 90
Сказали Спасибо 1,276 раз(а) в 414 сообщении(ях)
you_go на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Несколько фоток готового прибора. Ему уже более 12 лет. В те времена "ЛУТов" в помине не было, к тому же были проведены некоторые "доработки в строю" . Поэтому вид какой есть. На первой фотке - начинка, на второй - включенный без сигнала. На третьей - подан сигнал со своего кварца режиме разрешение "5 Гц"
you_go вне форума  
Непрочитано 03.01.2012, 18:25  
Popeye
Почётный гражданин KAZUS.RU
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Если поискать 'fclg все в одном' , думаю можно найти программку на асемблере.
__________________
Мыслю, следовательно существую
Popeye вне форума  
Непрочитано 03.01.2012, 19:34  
you_go
Гражданин KAZUS.RU
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 903
Сказал спасибо: 90
Сказали Спасибо 1,276 раз(а) в 414 сообщении(ях)
you_go на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Мысль, вообще-то, очевидная - если нет прямого доступа к прескалеру, то нужно досчитать его до переполнения.
К слову, с начала 1998 прошло уже 14 , а не 12 лет (что-то не сумел сразу сосчитать сколько прошло 98-го года - может, опять хочется помоложе стать? Учитывая то, что в те времена у нас интернета и в помине не было, получается, что я пришел к подобному решению параллельно и независимо от Stan D’Souza (Надо учесть то, что до этого я вообще не знал о существовании PIC-ов). Ради интереса посмотрел тот самый апноут AN592 от Microchip, на который мне любезно указал St_1. Программа там сделана довольно прямолинейно, как говорится, "в лоб" - в общем, апноут для начинающих и без конкретной схемной реализации. Да и характеристики весьма "дрековские" получились - разрешение в дипазоне 10-50МГц +- 10 кГц - сомневаюсь, что "такое" всерьез кому-то надо, и вряд ли кто-то это повторял.

Главное преимущество моей программы - она не привязана к разрядности встроенных прескалера и таймера (это, кстати, основное ограничение большинства описанных схем, которые мне встречались).
В моем варианте разрешение 1 или 5 Гц получается ВО ВСЕМ ДИАПАЗОНЕ без разделения на поддиапазоны. То есть, по крайней мере, в 1000 РАЗ ЛУЧШЕ, чем в указанном апноуте. И это не предел. У меня использована 32-битная арифметика (тоже, кстати, "самописная" - наследие наработок на Z80). А посему, если бы позволила аппаратная часть, верхний предел измерения и отображения частоты был бы 4ГГц. Так что есть, к чему стремться
Конечно, результирующая точность измерения зависит от стабильности и точности настройки кварцевого генератора. Если идти далее, то , в конце концов, опорную частоту частоту можно взять извне, хоть с рубидиевого атомного стантдарта частоты-времени 10 МГЦ
А если серьезно, то с помощью этого частотомера я успешно проверял и настраивал SSB-радиостанции вплоть до 35-37 МГц. Виден, как говорится, "каждый герц". Причем на передачу его не надо даже подключать - ловит подавленную несущую даже на короткий "хвостик" на входе.

И, думаю, что моя реализация гораздо лучше, (и не только из-за того, что это "свое вылизанное и выстраданное"

Последний раз редактировалось you_go; 11.01.2012 в 08:57.
you_go вне форума  
Непрочитано 03.01.2012, 21:46  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Цитата:
Эх, было бы здорово, если бы кто-нибудь из «пикушников» помог вспомнить что это за прога и поделился бы ею со мной (если она у него сохранилась).
Похоже на комплект от PARALAX, там как раз были мнемоники очень похожие на интеловские. Но от него у меня остались только смутные воспоминания. Самой большой баго-фичей, которую я там поймал был перевод одной строки ассемблера в две исполняемые команды и условные переходы в некоторых случаях неправильно работали. Навено поэтому от него и отказался. Но общее впечатление осталось хорошее.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 03.01.2012, 22:02  
you_go
Гражданин KAZUS.RU
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 903
Сказал спасибо: 90
Сказали Спасибо 1,276 раз(а) в 414 сообщении(ях)
you_go на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

MisterDi, похоже, что Вы правы! Наверное, это был именно комплект от PARALAX. Вот спасибо - уже полдела, хотя не факт, что я найду этот пакет. Запустил бы его в виртуалке. Вот фрагмент исходника
Код:
Start		clrb GIE
		clr WDT
		mov W,#37h ;11110111b 
		mov !OPTION,W
		mov !RA,#11101111b ;
		mov !RB,#08h ;RB.3 
		mov RB,#11111110b ; 
		snb BUT
		clr PUSH  ;	
		mov _Y,#30
		mov FSR,#0Ch
CLEAN		clr INDF
		inc FSR
		djnz _Y,CLEAN
Он? Очень привычная мнемоника - а тот факт, что к примеру "djnz" образуется из двух команд - на то и листинг, чтобы смотреть. Зато очень удобно для тех кто работал с интеловской мнемоникой.

Кстати, как сделать, чтобы лишние пробелы в сообщении не убирались? А то текст программы нечитаемым получается.

Последний раз редактировалось you_go; 04.01.2012 в 10:26.
you_go вне форума  
Непрочитано 04.01.2012, 00:15  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Цитата:
как сделать, чтобы лишние пробелы в сообщении не убирались?
использовать тег "["code"]" (кавычки убрать)
Код:
        mov      a,b
        add       c
        sta        2000h
что-то я не припомню, как обозначались в паралаксе непосредственные операнды
Вот нарыл что-то похожее: http://www.parallax.com/tabid/460/Default.aspx
__________________
misterdi<@>i.ua

Последний раз редактировалось MisterDi; 04.01.2012 в 00:24.
MisterDi вне форума  
Сказали "Спасибо" MisterDi
you_go (04.01.2012)
Непрочитано 04.01.2012, 05:05  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Сообщение от you_go Посмотреть сообщение
встроенный прескалер (счетчик-делитель на 256), работающий вплоть до 50МГц - 0,2 или 1 сек (разрешение соответственно получается 5 или 1 Гц).
Если время измерения сделать 0,1Сек, 1Сек, 10Сек

0,1 сек - дискретность 10 гц - быстрая смена показаний удобно для цифровых шкал и ВЧ измерений.
1 сек - дискретность 1 гц - обычный режим.
10 сек - дискретность 0,1 гц - для НЧ сигналов.
Хотя ниже 50-100 Гц, лучше измерять через измерение периода.

При правильном построении входного формирователя, практически все экземпляры PIC16F84 работали у меня от 0 до 100 Мгц.
50-60% до 120МГЦ, и некоторые экземпляры до 136МГЦ.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

Последний раз редактировалось picavr; 04.01.2012 в 05:10.
picavr вне форума  
Непрочитано 04.01.2012, 10:57  
you_go
Гражданин KAZUS.RU
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 903
Сказал спасибо: 90
Сказали Спасибо 1,276 раз(а) в 414 сообщении(ях)
you_go на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Сообщение от picavr Посмотреть сообщение
При правильном построении входного формирователя, практически все экземпляры PIC16F84 работали у меня от 0 до 100 Мгц.
50-60% до 120МГЦ, и некоторые экземпляры до 136МГЦ.
Так и я о том же самом говорил в первом посте - все зависит от схемы входного формирователя. Сложно сделать его универсальным на все случаи жизни. К примеру, для сугубо ВЧ-устройств его надо делать с 50-омным входом для лучшего согласования. Естественно, и емкость монтажа играет свою отрицательную роль.

Я же постарался сделать более универсальный вариант с достаточно высоким входным сопротивлением (порядка 0,5 М на НЧ) и хорошей чувствительностью. Считаю, что получилось оптимально для большинства применений. А диапазон 100 МГц не всегда и не всем нужен.
Ксати, я пробовал подключал на вход делитель частоты (на ЭСЛ - в то время других не было) - разрешение 10 Гц на 500МГц - тоже неплохо.
Все зависит от назначения прибора.
На современных SMD-элементах входную часть можно вообще селать в выносном щупе (или даже весь частотомер). А моя программа (я прикидывал) смогла бы работать и до 2ГГц, если бы прескалер позволил.
А стробы измерения можно было бы сделать любые - и 0,1 и 10 сек., но я выбоал 1 и 0,2 сек, так как посчитал их оптимальными.
you_go вне форума  
Непрочитано 04.01.2012, 16:11  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Простой частотомер 0-50МГцс разрешением 1 Гц

Сообщение от you_go Посмотреть сообщение
Я же постарался сделать более универсальный вариант с достаточно высоким входным сопротивлением (порядка 0,5 М на НЧ) и хорошей чувствительностью. Считаю, что получилось оптимально для большинства применений. А диапазон 100 МГц не всегда и не всем нужен.
В моём случае чувствительность от 0,1ГЦ до 50 МГЦ была примерно 10-20мВ, до 100 МГЦ плавно повышалась до 0,1В. 130 мГц примерно 0,25В.

Думаю что встроеный прескалер грничная частота как раз и будет 120-130МГц. Т.К. формирователь обеспечивал размах 4,5В на входе МК.
Выше уже начинались пропуски счёта, и показания снижались. Так что выше только с ИС пределителем. Сейчас валом их на частоты выше 2-3 гиг
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Частотомер ??? II3II Измерительное оборудование 6 18.10.2011 12:05
Частотомер Ч3-51 Grishok Поиск схем. Делимся схемами 0 21.01.2011 08:58
Печатная плата с высоким разрешением 7Fantomas7 Делимся опытом 30 10.04.2009 23:39
Частотомер KLMZ Измерительное оборудование 4 12.01.2007 12:06
Можно ли ставить кварц 4096 Мгц вместо 4 Мгц lisergin Микроконтроллеры, АЦП, память и т.д 8 13.07.2005 14:40


Часовой пояс GMT +4, время: 05:48.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot