Страница 1 из 1
ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Вт май 01, 2012 16:48:38
sergeys
Мяу всем!

Начал писать программу для цифровой шкалы (по сути просто частотомер, никаких ЦАПЧ и подобного), есть пара запарок.
Для начала алгоритм: использую два таймера (Timer0, Timer1), Т0 считает 0.5сек, а Т1 считает кол-во импульсов (за эти 0.5 сек) внешнего сигнала. Собственно и весь алгоритм

, ну потом еще индикация.
Мерять надо до 30МГц, тактовую взял 20МГц, т.е. на входе делитель на 3 будет. Это вроде понятно.
Не понятно вот что: таймеру надо подавать цифровой сигнал? Т.е. если я ему на вход запихну сигнал с ГПД, он ничего не посчитает (

прям стыдно даже, вроде так просто, но нигде не написано про это, где я читал)?
И еще (тоже вроде просто должно быть, а я мозг поломал весь): в конечном итоге получается страшное число (частоту-то я меряю в герцах, но наверно буду делить на 1000, потому-что 30МГц не влазит даже в 24бита), которое надо запихнуть на индикацию. Тут я вообще не могу ниче придумать, с декодированием этого страшного числа для семисегментника. Подскажите пожалуйста пример на асме (все что нашел, на С) такой индикации.
Спасибо за помощь и не пинаться сильно!

Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Вт май 01, 2012 17:19:52
akl
На вход таймера, естессно, нужно подавать "цифровой сигнал". На предварительный делитель тоже ( я бы его поставил с коэффициентом 10). Дальше можно посмотреть
здесь.
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Вт май 01, 2012 17:49:58
sergeys
Хм, да, судя по вашему результату измерений лучше поставить делитель на больше, чем 3.
В программе не разобрался, не получается как-то сообразить алгоритм по коду, да и я хотел использовать семисегментник.
Я думаю так: в массиве прописать значения для каждой цифры для индикатора, но как контроллеру объяснить, что например число 156 нужно по трем цифрам выводить, или прописывать значения до 256? Блин, этоож....
И тогда подскажите пожалуйста схемку АЦП на вход.
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Вт май 01, 2012 18:55:47
akl
Работа приведенного частотомера реализована на алгоритме подсчета целого числа периодов Nx измеряемой частоты Fx за принятое время измерения с одновременным счетом периодов nox опорной частоты Fo. Далее следует расчет Fx=Fo*Nx/nox. Алгоритм имеет множество названий - "вычислительный метод", "постоянного измерительного интервала", "обратного счета". Вывод на семисегментный индикатор можно посмотреть
здесь
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Вт май 01, 2012 19:27:15
sergeys
Брррр, не могу я по коду сообразить. Если вам не трудно, черкните в двух словах алгоритм вывода "страшного числа" на индикацию.
И какой АЦП можно воткнуть?
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Ср май 02, 2012 04:20:52
akl
Здравствуйте. За основу можно взять схему входного формирователя
частотомера Леонида Ивановича.
Алгоритм преобразования "страшного числа" на индикацию очень простой
-из полученного результата измерения вычитается 10'000'000 и определяется десятичное число 10*МГЦ
-из остатка вычитается 1'000'000 и определяется десятичное число 1*МГЦ
и т.д. до получения единиц Гц
Полученные десятичные числа преобразовываете в коды индикатора, запоминаете в массиве индикации.
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Ср май 02, 2012 16:54:36
sergeys
akl, спасибо большое за помощь, теперь наверно допишу.

Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Ср май 02, 2012 19:12:13
sergeys
Хм, чего-то я недопонял: у Леонида Ивановича в формирователе частота не делится? Я вроде там делителя не вижу
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Пт май 11, 2012 19:20:49
sergeys
Все еще не определился с АЦП У Леонида Ивановича схема конечно хорошая, но слишком для моего устройства, да и печатка мелкая для меня.
Толкового ниче не нашел, только вот:
Радиоконструктор за 2000 год, номер 8
Подойдет?
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Пт май 11, 2012 19:47:36
radiokot__
Что то не могу понять зачем вам нужен АЦП???
Для чего он там нужен???
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Сб май 12, 2012 05:41:40
sergeys
radiokot__ писал(а):Что то не могу понять зачем вам нужен АЦП???
Для чего он там нужен???
А на выходе ГПД аналогового трансивера что? Цифра?
Или я чего не понимаю, и там должно быть что-то другое? (вместо АЦП)
Мне же нужно помярять частоту син. сигнала.
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Сб май 12, 2012 06:52:34
akl
Может возьмете за основу?
FORM1.GIF
FOPM.GIF
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Сб май 12, 2012 07:23:54
sergeys
akl писал(а):Может возьмете за основу?
FORM1.GIF
FOPM.GIF
Вот, это уже больше мне подходит.
Т. е. сначала каскад показанный на FORM, а потом уже каскад на FORM1? Так я понимаю?
Делитель частоты там получается на 3? Тогда его можно заменить. Например
http://lib.qrz.ru/node/5149 ?
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Сб май 12, 2012 07:34:54
akl
sergeys писал(а):Т. е. сначала каскад показанный на FORM, а потом уже каскад на FORM1? Так я понимаю?
Да.
sergeys писал(а):Делитель частоты там получается на 3?
Нет. Делитель на 4, который при входной частоте 30МГц даст на выходе 7,5МГц и может быть измерена AVR-кой, тактируемой от 20МГц.
По предложенному делителю - очень некрасивая схема. Лучше поставить ИЕ6 или ИЕ7.
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Сб май 12, 2012 07:43:07
sergeys
О, тогда все хорошо. Еще раз большое спасибо за помощь, эта схемка хоть попроще и нет мелочи, которая у меня паяльником что-то не очень хочет нормально паяться.
Re: ЦШ для КВ трансивера на ATmega88, пара вопросов.
Добавлено: Сб май 12, 2012 15:00:31
WolfTheGrey
Чтоб не плясать с бубном около транзистора, можно использовать ОПЕР в качестве Компаратора.