МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus II для платы Марсоход

Частотомер

Частотомер из платы Марсоход

Давно хотел начать разговор про цифро-аналоговое и аналого-цифровое
преобразование, но данная статья не об этом. В кратце только скажу, что одним из самых доступных для нас методов построения АЦП - промежуточное преобразование измеряемого параметра в частоту. Таким методом мы уже пытались измерять емкость конденсатора в статье "Генератор".  Для облегчения подобных экспериментов, было решено сделать специальный прибор, позволяющий измерять  частоту.

Для отображения результатов измерений , для платы Марсоход был сделан дисплейчик:

Дисплей частотомера из платы Марсоход, вид сверху

и вот он же, снизу:

Дисплей частотомера из платы Марсоход, вид снизу

Он сделан из трех сдвоенных семисегментных индикаторов.
Кроме того, для тактирования схемы и как эталон времени,
был использован кварцевый генератор на 100 MHZ.

Тип индикатора Тип генератора

Принципиальная схема этого шилда:
Дисплей частотомера из платы Марсоход, схема
Пришлось доработать и саму плату, допаять штыречки для pt_left и pt_right, дополнительные штыречки к моторным пинам и разрезать дорожки, чтобы разделить моторные группы на две части.

Модифицированная плата Марсоход Модифицированная плата Марсоход

Принцип работы девайса поясню на фрагменте проекта:
Фрагмент схемы
Поступающий на пин DP входной сигнал сразу выводится на два светодиода led[7] и led[6] в прямом и инверсном виде. Это может понадобиться для оценки сигнала, поступившего внутрь чипа. Если яркость свечения светодиодов одинаковая, то измеряемый сигнал симметричный (меандр), если нет, то возможны два варианта - либо сигнал  не симметричный, либо сигнал  пересекает пороговое значение входного элемента не по оси симметрии тоесть не согласован по уровню.
Кроме того сигнал с DP поступает на три последовательно включенных делителя на 2,  и из поделенного в итоге на 8 сигнала, выделяется положительный перепад.

Поскольку наша схема работает от 100MHZ, максимальная частота, которую она может обнаруживать - 50MHZ , таким образом, максимальная частота, которую можно подавать на вход нашего прибора - 400MHZ.

Проект полностью можно посмотреть здесь

Частотомер ( 89985 bytes )

Далее в проекте, количество перепадов подсчитывается шестью декадными счетчиками в течении 8 миллисекунд, таким образом, выводимая на индикатор частота получается в килогерцах.

Для тестов прибора подобрал коллекцию генераторов:

Кварцевые генераторы

Поскольку максимальная частота в этом наборе 125MHZ, а испытать наш приборчик хотелось на максимальной частоте, пришлось запрограммировать для этой цели отдельный девайс на Cyclone II. Имеющуюся на нем частоту 80MHZ c помощью PLL умножили на 14 и разделили на 3 - получилось 373.(3)MHZ.

Итак, приступаем к испытаниям и первым устанавливаем генератор на 14.318MHZ

Тестирование частотомера на плате Марсоход

Далее по порядку - 24.576MHZ, 33MHZ, 66MHZ , 125.MHZ и от внешнего девайса 373MHZ:

Все эти эксперименты выполнялись при напряжении питания -4В.
Затем мы все повторили при напряжении 2.5В - результат получился аналогичный.

??c???????
header.jpg
????? ????? ?????? ???????? ??? ?????-?????????? ? ???????-????????
??????????????, ?? ?????? ?????? ?? ?? ????. ? ?????? ?????? ?????,
??? ????? ?? ????? ????????? ??? ??? ??????? ?????????? ??? - ?????????????
?????????????? ??????????? ????????? ? ???????. ????? ??????? ?? ??? ????????
???????? ??????? ???????????? ? ?????? "?????????".  ??? ?????????? ????????
?????????????, ???? ?????? ??????? ??????????? ??????, ???????????
????????  ???????.

??? ??????????? ??????????? ????????? , ??? ????? ???????? ??? ?????? ??????????
display_top.jpg display_bot.jpg
?? ???? ????????? ?????????????? ???????????
????? ????, ??? ???????????? ????? ? ??? ?????? ???????,
??? ??????????? ????????? ????????? ?? 100 MHZ.
led_type.jpg osc_type.jpg
?????????????? ????? ????? ?????
led_display.bmp
???????? ?????????? ? ???? ?????, ??????? ???????? ??? pt_left ? pt_right,
?????????????? ???????? ? ???????? ????? ? ????????? ???????,
????? ????????? ???????? ?????? ?? ??? ?????.
board.jpg board_bot.jpg
??????? ?????? ??????? ?????? ?? ????????? ???????
fragment.bmp
??????????? ?? ??? DP ??????? ?????? ????? ????????? ?? ??? ??????????
led[7] ? led[6] ? ?????? ? ????????? ????. ??? ????? ???????????? ???
?????? ???????, ???????????? ?????? ????. ???? ??????? ???????? ???????????
??????????, ?? ?????????? ?????? ???????????? (??????), ???? ???,
?? ???????? ??? ???????? - ???? ??????  ?? ????????????, ???? ?????  ??????????
????????? ???????? ???????? ???????? ?? ?? ??? ????????? ?.?. ?? ?????????? ?? ??????.
????? ???? ?????? ? DP ????????? ?? ??? ??????????????? ?????????? ???????? ?? 2,  ?
?? ??????????? ? ????? ?? 8 ???????, ?????????? ????????????? ???????.
????????? ???? ????? ???????? ?? 100MHZ , ???????????? ???????, ??????? ???
????? ???????????? - 50MHZ , ????? ???????, ???????????? ???????, ??????? ?????
???????? ?? ???? ?????? ??????? - 400MHZ.
?????? ????????? ????? ?????????? ????? fmeter.zip
????? ? ???????, ?????????? ????????? ?????????????? ?????? ????????? ??????????
? ??????? 8 ??????????, ????? ??????? ????????? ?? ????????? ??????? ??????????
? ??????????.
??? ?????? ??????? ???????? ????????? ???????????
oscilators.jpg
????????? ???????????? ??????? ? ???? ?????? 125MHZ , ? ???????? ??? ?????????
???????? ?? ???????????? ???????, ???????? ????????????????? ??? ???? ????
????????? ?????? ?? CycloneII. ????????? ?? ??? ??????? 80MHZ c ??????? PLL
???????? ?? 14 ? ????????? ?? 3 - ?????????? 373.(3)MHZ.
????, ?????????? ? ?????????? ? ?????? ????????????? ????????? ?? 14.318MHZ
testing.jpg
????? ?? ??????? - 24.576MHZ, 33MHZ, 66MHZ , 125.MHZ ? ?? ???????? ??????? 373MHZ
video.mov
??? ??? ???????????? ??????????? ??? ?????????? ??????? -4?.
????? ?? ??? ????????? ??? ?????????? 2.5? - ????????? ????????? ???????????.









 




Комментарии  

0 #28 KIV 12.01.2016 15:38
Еще раз спасибо, за ответ, Юрий.
Но местные гуру наверняка назовут такое решение не кошерным. :)
Думаю, что мне придется переходить с 240-го на 570-й чип. Иначе просто не уместить индикацию - места уже осталось менее 80 ЛЭ, а частотомеру нужно порядка 120 ЛЭ. Как ни экономь на мелочах, столько не выкроить.
0 #27 Ю р и й 11.01.2016 10:38
Если вы хотите, чтобы все красивее выглядело, вместо "cnt_en" используйте "cin". Тогда логики не будет совсем,
"cout" предыдущего счетчика на "cin" следующего.
0 #26 KIV 05.01.2016 17:35
Опять неудача... Видимо, то, что я пытаюсь написать, воспринимается редактором как какой-то тэг.
Короче, можно ли подавать на вход cnt_en сигнал фронт&(выход cout предыдущего счетчика), без добавления туда сигналов cout от всех предыдущих счетчиков?
Мне нужно измерить частоту внутреннего сигнала системы, который является частным от деления клоковой частоты, т.е. он заведомо синхронизирован с клоком.
0 #25 KIV 05.01.2016 17:29
Упс... Сообщение не поместилось. Продолжу.
По схеме cnt_en[n]
0 #24 KIV 05.01.2016 17:23
Юрий, спасибо за ответ.
Значит, первый декадник можно построить так же по схеме всех последующих, без использования входов sload и data?
Что касается логики & между счетчиками - предполагаю, что там хватило бы 2&, без "наращивания" перед старшими счетчиками. По схеме cnt_en[n]
0 #23 Ю р и й 04.01.2016 06:55
То, что первый счетчик начинает считать с "1", сделано исключительно для красоты. Дело в том, что метод
измерения частоты, используемый в проекте , с вероятностью 50% недосчитывает последний импульс.
А, поскольку, для демонстрации использовались генераторы с круглыми частотами, то цифры на дисплее
без этой "фичи" прыгали, 099999 - 100000 от генератора 100Мгц, а так - 100000-100001.
0 #22 KIV 02.01.2016 20:52
Понимаю, что тема уснула почти 4 года назад, но попробую задать вопрос:
Для чего у первого счетчика по модулю 10 сделан вход загрузки, и почему по сигналу sload обнуляются только 3 старших разряда счетчика, а младший бит шины "висит" в воздухе?
И еще - в чем фишка использования логики & между этими счетчиками, если они синхронизируютс я по входам "с" сигналом клока 100 МГц? Какой смысл "собирать" все предыдущие импульсы по каждому следующему разрешающему входу?
Вопросы вызваны желанием использовать индикаторную часть проекта в своей разработке. Для этого хочется досконально разобраться в исходном проекте.
+1 #21 Игорь 16.04.2012 18:03
При попытке запрограммирова ть ножку Глобальных клоков на прием тактовой частоты, сигнал подаваемый на ножку сильно просел по амплитуде, такое ощущение, что выход попал на выход. Посмотрел в Вашем частотометре, там все 4 ножки глобальных клоков запрограммирова ны на вход глобальных клоков. Сделал также, схема заработала! Кто откроет " сермяжную" правду?
+1 #20 egorovaa201112 15.03.2012 06:31
Спасибо за быстрый ответ, теперь все стало понятно - из статьи мне было не совсем очевидно это.
+1 #19 Ю р и й 15.03.2012 06:29
Цитирую egorovaa201112:
А разве 8 мс, за которое вы измеряете число импульсов, не дают разрешающую способность десятых КГц?

На входе стоит предделитель на 8, поэтому частота получается именно в килогерцах.
0 #18 egorovaa201112 15.03.2012 06:24
А разве 8 мс, за которое вы измеряете число импульсов, не дают разрешающую способность десятых КГц?
0 #17 fifan 13.01.2011 17:35
Ну что 10 прошло, посмотрел?
0 #16 Ю р ий 06.01.2011 16:26
Максимальная частота будет 64/2*8=256МГЦ.
Что нужно исправить в проекте, чтобы правильно
показывало, сказать не могу, нет проекта перед глазами.
Посмотрю 10 числа.
0 #15 fifan 06.01.2011 16:04
В качестве о[censored]й частоты могу поставить максимум кварцевый генератор на 64 МГц. Какую максимальную частоту при этом можно измерить и что нужно поменять в проекте?
0 #14 fifan 18.12.2010 16:32
Хотя уже снизил. Спасибо за проект.
0 #13 fifan 18.12.2010 16:14
Пошло. Проект занимает 131 ячейку. Как снизить до 128 чтобы применить EPM7128SLC84?
0 #12 Ю р и й 17.12.2010 08:48
ALTUFM_OSC - удалите, он в самом проекте
не нужен, использовался для тестов.
0 #11 fifan 17.12.2010 08:09
При попытке перекомпиляции проекта под другую ПЛИС (Циклон 3) выдается ошибка о модуле отсутствующем для данной ПЛИС. Что это за особенность Вашей ПЛИС?
0 #10 Ю р и й 16.12.2010 16:24
Там буква "А" в кружочке, я думаю,
с общим анодом.
0 #9 fifan 16.12.2010 16:00
Не совсем понял марку 7-сегментных индикаторов - KEM-3623BS? Реализация с общим анодом или катодом?
0 #8 Дмитрий 29.10.2010 12:25
А как вам такой проект?
___Форум KAZUS.RU » Форумы по электронике » Микроконтроллер ы, АЦП, память и т.д » Самодельный цифровой осциллограф____
:-)
на ПЛИС, однако(R) ;-)
+1 #7 Ю р и й 29.10.2010 07:50
Максимальная измеряемая частота 400МГЦ
Входное сопротивление > 100КОМ
Входная емкость 8 ПФ
Разрешающая способность 1КГЦ
Абсолютная точность определяется точностью кварцевого генератора
Напряжение питания 2.5-4.5В
Потребляемый ток 100МА
Предназначен для измерения частоты цифровых сигналов LVCMOS 2.5-4.5В
Возможно измерение частоты сигнала произвольной формы при условии,
что постоянная составляющая этого сигнала будет близкой к пороговому
значению входного элемента(~VCC/2 ), а амплитуда больше 0.5В, но меньше
напряжения питания. Например такого F(t)=VCC/2+VCC/ 2*Sin(w).
0 #6 DeviL 28.10.2010 13:45
Здравствуйте, если вас не затруднит, то распишите характеристики данного частотомера(диа пазон частот,
разрешение, основная погрешность..); как обстоят дела с измерением частоты гармонических сигналов?
0 #5 foxit 27.10.2010 14:38
foxit@gala.net
0 #4 Ю р и й 27.10.2010 13:46
Цитирую foxit:
Подскажите с чего лучше начать?

Пришлите ваш электронный адрес.
0 #3 foxit 27.10.2010 12:53
Подскажите с чего лучше начать?
0 #2 Ю р и й 27.10.2010 12:44
Насколько я смог вникнуть в тему - все вполне реализуемо,
но есть пара тонких моментов. На питание EPM240 нельзя
подавать 5В, но, я думаю и от 4.5В все должно нормально работать.
На ПЛИС не работают кварцевые генераторы, поэтому генератор
на IC14 можно заменить на внешний, а микросхему IC3 (элемент IC3r)
скорее всего нужно оставить.
0 #1 foxit 26.10.2010 20:53
Здравствуйте.
Есть проект Стандарта частоты
http://filebox.od.ua/?file=a39debe7372849f8d46ece6beae680a5

Обмен gps и МК уже реализовал.
Возможно ли всю жесткую логику реализовать на ПЛИС платы Марсоход. Если нет, то на какой?

Если не трудно, помогите реализовать.
В ПЛИС новичек.
Спасибо.

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter