Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 1 из 5 1234 ... ПоследняяПоследняя
Показано с 1 по 10 из 49

Тема: Программа простейшего частотомера на С

  1. #1

    Программа простейшего частотомера на С

    Здравствуйте всем.
    Требуется простой частотометр с параметрами:
    - диапазон частот измерения 0.1 - 100 МГц (или, хотя бы, до 80 МГц)
    - автоопределение диапазона (без каких-либо переключателей)
    - точность измерения +- 1 Гц
    - возможность вывода значения частоты на экран по SPI или I2C // желательно
    - возможность вывода значения частоты в последовательный порт // желательно

    Задача: измерение частоты сигнала передатчика мощностью 1-1000 Вт

    Перелистал множество тем на этом и форуме и на многих других....
    существует много решений, однако:
    решения без исходного кода (в hex) - не интересно вообще
    решения на ассемблере - сильно привязаны к железу и потому мне не нравятся (я не владею ассемблером)
    решения на Си - не встречал простой схемы (без предделителей) до 100 МГц, в отличие , например, от проекта RA4NAL, который работает (по отзывам) до 100 МГц

    Таким образом, конкретизирую:
    Существуют ли возможности:
    1) Создать простой частотомер по типу RA4NAL на ардуино?
    2) Перевести код ASM в Си для частотомера RA4NAL (на крайняк даже для PIC)
    3) Создать проект частотомера для Ардуино 0.1-100 МГц "с нуля"?


    Нюансы:
    Я кое-как разбираюсь в Си и совсем никак в Ассемблере.
    Имею опыт с Ардуино, но никогда не работал с PIC/
    В частотоизмерении - я только начал разьираться, т.е. почти "нуль"

    Надеюсь на понимание, спасибо!


  2. #2
    Без внешней микросхемы прескалера - PICам нет альтернативы (в принципе).

    На языке высокого уровня что-то сочинить можно, конечно, но основная проблема в том, что формирование измерительного интервала типично организуется примитивным подсчетом тактов и выравниванием ветвлений, и тут все равно придется как минимум анализировать ассемблерный листинг. Задействовав дополнительные аппаратные ресурсы (таймеры), можно упростить расчет интервалов, но скорее всего это не избавит от необходимости низкоуровневой писанины.

    Отсюда:

    1. Изучайте ассемблер PIC16 (при желании вникнуть можно за пару-тройку свободных вечеров, ничего сложного там нет);
    2. Почитайте аппликуху AN592, это прародитель основной массы частотомеров на PIC.

  3. #3
    "Без внешней микросхемы прескалера - PICам нет альтернативы (в принципе)."

    Не могли бы Вы пояснить "на пальцах" почему так? (для чайника)

    Добавлено через 5 минут(ы):

    to RX3APF:
    У меня были смутные сомнения... И вопрос: почему в основном авторы используют PIC16F628A...? а не AVR?

    в смысле - не ATMEL? )))
    Последний раз редактировалось UA1OM; 13.05.2019 в 19:38.

  4. #4
    Из нынепроизводящихся микроконтроллеров не припомню больше ни одного с асинхронным прескалером таймера (а это необходимое условие для построения частотомера с входной частотой, превышающей тактовую самого микроконтроллера). Именно по этой причине они (PIC младших семейств) и стали столь популярны для реализации простых частотомеров. Правда, формально ограничение там 50 MHz (для меандра), но на практике 90+ MHz успешно переваривает. И, в конце концов, можно добавить 1-2 триггера из высокоскоростных серий, и получить до 200...400 MHz, причем "статических".

    Для AVR же потребуется внешний прескалер, обеспечивающий на выходе частоту, которая не должна превышать половину от тактовой микроконтроллера. Т.е. для 16 MHz тактирования нужен хотя бы внешний делитель на 16 (что даст верхнюю границу счета <128 MHz). Зато, правда, у AVR есть удобные особенности, позволяющие достаточно просто увеличить разрешающую способность по частоте (для PIC и других семейств, впрочем, решается примерно с одинаковыми затратами, не сильно сложнее).

  5. #5
    Аватар для Tadas
    Регистрация
    12.06.2002
    Адрес
    KO24AV
    Сообщений
    2,504
    Позывной
    LY1CE
    Цитата Сообщение от UA1OM Посмотреть сообщение
    И вопрос: почему в основном авторы используют PIC16F628A...?
    Потому, что в PIC имеется асинхронный прескалер, который работает до десятков МГц. В AVR такого нет.
    AVR может считать импульсы с частотой не выше половины тактовой частоты, поэтому нужен внешний прескалер.
    Хороша теория, но что ты с ней будешь делать ?
    73 de LY1CE

  6. #6
    RX3APF, Tadas,

    Огромное Вам Спасибо! cориентировали и конкретизировали в какую сторону подумать! )))))

    И, поскольку мне пока терять нечего (ничего еще я не начал)
    еще один дилетантский вопрос:
    А если посмотреть в сторону STM32F103C8 (Blue Pill)? Насколько лучше (или хуже) можно было бы реализовать идею частотомера до 100 МГц по сравнению с PIC или ATMEL?

    Р.S. Мне, очевидно, все равно, видимо придется начинать с нуля.... что PIC. что STM, так может STM32 чем-то может быть лучше, чем PIC?

    Добавлено через 12 минут(ы):

    в смысле частотомера )
    Последний раз редактировалось UA1OM; 13.05.2019 в 20:40.

  7. #7
    Для реализации простого частотомера STM32 ничуть не лучше простых 8-битных микроконтроллеров (вычислительная мощность там не нужна, а асинхронного прескалера точно так же нет, как и в большинстве других платформ). С точки зрения писанины на ЯВУ - свободы много. Аппаратных ресурсов - тоже много. Но выгоды - нет. Может быть, имело бы смысл, если бы требовалось "красиво", с выводом на графический дисплей и прочее украшательство. Поскольку сам я STM32 не использую и на ЯВУ не пишу, то воздержусь что-то в этом плане советовать...

    Но если вернуться к озвученной задаче - PIC и ассемблер, как уже говорил. При наличии стимула за неделю что-то начнет "трепыхаться" (четверть века назад я так в PICи и "въезжал", без стимула так бы и валялись в коробочке, а как появилась реальная интересная задача - через неделю уже начало работать).

    Еще (но с осторожностью) могу для младших семейств PIC16 посоветовать очень удобный ассемблер cvasm16 (http://www.tech-tools.com/CVASM16.htm). Простой и понятный синтаксис a la i51. Но (потому и "с осторожностью") про новые кристаллы с расширенной системой команд ничего не знает и никаких шансов на развитие нет, и удобство вхождения обернется проблемами с переносом на другие кристаллы.

  8. #8
    to RX3APF
    1) Во-первых, спасибо, что отклинулись!
    2) Простите, Но Ваши советы с Ассемблером - мне не очень помогают... Ибо я - не программист в Асме... (совсем, ни разу), но в Си еще кое-что могу...
    3) Еще раз - мне бы частотомер до 100 МГц... И смысл в том - чтобы частоту можно было бы иметь в какой-то переменной.... а там бы..... в Си.... я уж бы справился.....

  9. #9
    Цитата Сообщение от UA1OM Посмотреть сообщение
    простейший частотометр на микроконтроллере 0.1 - 100 Мгц с программой на Си
    Название темы никак не соответствует ее содержимому. Люди заходят в тему увидеть разработку, а читают "я ничего не умею, но может кто-нибудь предложит готовое?"

    Цитата Сообщение от UA1OM Посмотреть сообщение
    Простите, Но Ваши советы с Ассемблером - мне не очень помогают... Ибо я - не программист в Асме... (совсем, ни разу), но в Си еще кое-что могу...
    У всех частотомеров, неважно, программный он, или "железный" принцип примерно одинаков. Если вы и впрямь вообще далеки от всего этого, то разработать, тем более на С (я бы еще понял на С++) который вы "кое-как знаете" вы вряд ли что сможете. Учитывая крайнюю капризность этого языка к работе с память, указателями, переполнением и прочими вещами.


  10. #10
    to UN7RX

    Да, Вы, бесконечно, правы! Я много читал Ваших комментариев, и , кажется, Вы специалист!!!! Мой Вам респект! Однако, я, как профан в ЭТОМ вопросе, прошу ВАшего совета - как сделать так, чтобы получить в цифровом виде значения частоты с минимумом компонентов?

Страница 1 из 5 1234 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ремонт частотомера Ч3-63/1
    от Alex Stene в разделе Технический кабинет
    Ответов: 29
    Последнее сообщение: 07.09.2019, 18:56
  2. Усилитель для частотомера
    от михаил демидов в разделе Измерения
    Ответов: 862
    Последнее сообщение: 05.02.2019, 13:31
  3. Прошивка частотомера
    от R0JF в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 8
    Последнее сообщение: 23.07.2017, 10:17
  4. Усилитель 0,1-1,1 гГц от частотомера
    от Edik в разделе Для начинающих
    Ответов: 20
    Последнее сообщение: 03.08.2014, 22:23
  5. Подскажите (формирователь для частотомера)
    от nick_push в разделе Технический кабинет
    Ответов: 2
    Последнее сообщение: 17.09.2008, 13:09

Ваши права

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