Мяу всем! Начал писать программу для цифровой шкалы (по сути просто частотомер, никаких ЦАПЧ и подобного), есть пара запарок. Для начала алгоритм: использую два таймера (Timer0, Timer1), Т0 считает 0.5сек, а Т1 считает кол-во импульсов (за эти 0.5 сек) внешнего сигнала. Собственно и весь алгоритм , ну потом еще индикация. Мерять надо до 30МГц, тактовую взял 20МГц, т.е. на входе делитель на 3 будет. Это вроде понятно. Не понятно вот что: таймеру надо подавать цифровой сигнал? Т.е. если я ему на вход запихну сигнал с ГПД, он ничего не посчитает ( прям стыдно даже, вроде так просто, но нигде не написано про это, где я читал)? И еще (тоже вроде просто должно быть, а я мозг поломал весь): в конечном итоге получается страшное число (частоту-то я меряю в герцах, но наверно буду делить на 1000, потому-что 30МГц не влазит даже в 24бита), которое надо запихнуть на индикацию. Тут я вообще не могу ниче придумать, с декодированием этого страшного числа для семисегментника. Подскажите пожалуйста пример на асме (все что нашел, на С) такой индикации. Спасибо за помощь и не пинаться сильно!
_________________ Ко мне можно на "ты", так даже лучше!
На вход таймера, естессно, нужно подавать "цифровой сигнал". На предварительный делитель тоже ( я бы его поставил с коэффициентом 10). Дальше можно посмотреть здесь.
Хм, да, судя по вашему результату измерений лучше поставить делитель на больше, чем 3. В программе не разобрался, не получается как-то сообразить алгоритм по коду, да и я хотел использовать семисегментник. Я думаю так: в массиве прописать значения для каждой цифры для индикатора, но как контроллеру объяснить, что например число 156 нужно по трем цифрам выводить, или прописывать значения до 256? Блин, этоож.... И тогда подскажите пожалуйста схемку АЦП на вход.
_________________ Ко мне можно на "ты", так даже лучше!
Работа приведенного частотомера реализована на алгоритме подсчета целого числа периодов Nx измеряемой частоты Fx за принятое время измерения с одновременным счетом периодов nox опорной частоты Fo. Далее следует расчет Fx=Fo*Nx/nox. Алгоритм имеет множество названий - "вычислительный метод", "постоянного измерительного интервала", "обратного счета". Вывод на семисегментный индикатор можно посмотреть здесь
Брррр, не могу я по коду сообразить. Если вам не трудно, черкните в двух словах алгоритм вывода "страшного числа" на индикацию. И какой АЦП можно воткнуть?
_________________ Ко мне можно на "ты", так даже лучше!
Здравствуйте. За основу можно взять схему входного формирователя частотомераЛеонида Ивановича. Алгоритм преобразования "страшного числа" на индикацию очень простой -из полученного результата измерения вычитается 10'000'000 и определяется десятичное число 10*МГЦ -из остатка вычитается 1'000'000 и определяется десятичное число 1*МГЦ и т.д. до получения единиц Гц Полученные десятичные числа преобразовываете в коды индикатора, запоминаете в массиве индикации.
Все еще не определился с АЦП У Леонида Ивановича схема конечно хорошая, но слишком для моего устройства, да и печатка мелкая для меня. Толкового ниче не нашел, только вот:
Что то не могу понять зачем вам нужен АЦП??? Для чего он там нужен???
А на выходе ГПД аналогового трансивера что? Цифра? Или я чего не понимаю, и там должно быть что-то другое? (вместо АЦП) Мне же нужно помярять частоту син. сигнала.
_________________ Ко мне можно на "ты", так даже лучше!
Вот, это уже больше мне подходит. Т. е. сначала каскад показанный на FORM, а потом уже каскад на FORM1? Так я понимаю? Делитель частоты там получается на 3? Тогда его можно заменить. Например http://lib.qrz.ru/node/5149 ?
_________________ Ко мне можно на "ты", так даже лучше!
Т. е. сначала каскад показанный на FORM, а потом уже каскад на FORM1? Так я понимаю?
Да.
sergeys писал(а):
Делитель частоты там получается на 3?
Нет. Делитель на 4, который при входной частоте 30МГц даст на выходе 7,5МГц и может быть измерена AVR-кой, тактируемой от 20МГц. По предложенному делителю - очень некрасивая схема. Лучше поставить ИЕ6 или ИЕ7.
Последний раз редактировалось akl Сб май 12, 2012 07:45:25, всего редактировалось 1 раз.
О, тогда все хорошо. Еще раз большое спасибо за помощь, эта схемка хоть попроще и нет мелочи, которая у меня паяльником что-то не очень хочет нормально паяться.
_________________ Ко мне можно на "ты", так даже лучше!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения