Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.01.2011, 22:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от MisterDi
|
Когда у меня возникла задача делать точные временые интервалы на PIC, то в процедуре обработки прерывания, вместо непосредственной загрузки таймера, использовал суммирование текущего состояния таймера с константой, просчитанной для нужной задержки.
|
Так в том-то и дело, что время отсчитывает декремент регистров в основном цикле, а таймер считает измеряемую частоту. Я при всем своем опыте не знаю как это правильно разрулить с точностью до единиц младшего разряда (как утверждает ув. picavr)... Поэтому и спрашиваю...
|
|
|
|
14.01.2011, 22:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Частотомер до 450Мгц
Если с по-тактовым выравниванием всех веток, то вполне можно, но ОЧЕНЬ геморойно. На такое способны только молодые-не_ленивые, у которых есть время
__________________
misterdi<@>i.ua
|
|
|
|
14.01.2011, 22:45
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от niXto
|
Я при всем своем опыте не знаю как это правильно разрулить с точностью до единиц младшего разряда (как утверждает ув. picavr)... Поэтому и спрашиваю...
|
Берёте PIC24, у него нормированы такты входа в прерывание и 32-х разрядный таймер имеется, и вуаля!
АСМ там вполне юзабельный, слабо?
|
|
|
|
14.01.2011, 22:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Частотомер до 450Мгц
Проект делался, когда 16Ф84 был чудом буржуйских технологий, а Микрочип кроме 8-биток ничего не выпускал
__________________
misterdi<@>i.ua
|
|
|
|
14.01.2011, 23:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от niXto
|
Так в том-то и дело, что время отсчитывает декремент регистров в основном цикле, а таймер считает измеряемую частоту. Я при всем своем опыте не знаю как это правильно разрулить с точностью до единиц младшего разряда (как утверждает ув. picavr)... Поэтому и спрашиваю...
|
В частотомере прерывания не используются ВООБЩЕ. Таймер 8ми битный(256 тактов до переполнения), предделитель8 бит(ещё 256 тактов) на круг 65536 тактов на одно переполнение. То есть при входной частоте 50МГц переполнение происходит с частотой примерно 763 Гц. При тактовой 4МГц машинный цикл ровно 1микросекунда - проще считать. Далее организуем двухбайтную переменную для подсчёта переполнений таймера. Теоретически можно мерять до 4,29ГГц, правда таймер PIC такую частоту не потянет. Далее организуем цикл на 1 000 000 000 тактов от команды запуска до команды окончания счёта с проверкой флага переполнения таймера (никаких прерываний - они будут давать временнУю ошибку) и инкрементом счётчика переполнений. Ветвления выровнять. После выхода из цикла проверить ещё раз переполнение таймера. Досчитать предделитель в отдельный регистр и посчитать 256-недосчитанные такты - младший байт счётчика. Преобразовать в удобоваримый формат и отправить на индикатор. Это с внешним индикатором. Со светодиодной матрицей немного сложнее, но тоже вполне выполнимо. Примерно так.
Сообщение от st_1
|
Берёте PIC24,
|
А ещё можно CONROE приспособить...
Или гвозди террабайтным хардом забивать. Каждый гвоздь - новым.
Не страдайте фигнёй - не нужна там такая мощь даром.
Последний раз редактировалось omercury; 14.01.2011 в 23:25.
|
|
|
|
14.01.2011, 23:37
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от omercury
|
А ещё можно CONROE приспособить...
Или гвозди террабайтным хардом забивать. Каждый гвоздь - новым.
Не страдайте фигнёй - не нужна там такая мощь даром.
|
А-а-а-а... Давно так не смеялся!
Какая мощь? Какая фигня? 2011-й на календаре! Сейчас малоногий PIC24F серии К стоит столько же (или дешевле?) сколько и PIC16F84.
А "мощь" можно направить на расширение функционала.
|
|
|
|
15.01.2011, 00:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от st_1
|
Какая мощь? Какая фигня? 2011-й на календаре! Сейчас малоногий PIC24F серии К стоит столько же (или дешевле?) сколько и PIC16F84.
А "мощь" можно направить на расширение функционала.
|
Если только 2011..! Дык на FPGA можно вообще без мозгов сделать. Или ядро МК зашить. И на бОльшую частоту. И оч современно. И осциллограф добавить...
PIC16F84 у меня, например, уже есть. И не один. А 24го нету... Как думаете - на чём соберу?
Предполагаю, что у niXto та-же ситуёвина.
Насчет мощи - с dsPIC попутал.
Хотя нужен всего лишь быстрый счётчик.
Последний раз редактировалось omercury; 15.01.2011 в 00:51.
|
|
|
|
15.01.2011, 00:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от MisterDi
|
Если с по-тактовым выравниванием всех веток, то вполне можно, но ОЧЕНЬ геморойно.
|
А с одним таймером как у PIC16F84, который был в то время ЕДИНСТВЕНЫМ FLASH, иначе и невозможно.
Сообщение от omercury
|
В частотомере прерывания не используются ВООБЩЕ.Примерно так.
|
ИМЕННО!!!, примерно так и было сделано.
В цикле обратный отсчёт 3 байтного счётчика времени 1сек (загруженого константами).
по флагу переполнения таймера отсчёт двухбайтного счётчика измеряемой частоты.
по обнулении младшего из 3-х байт счётчика времени (это время горения одного разряда АЛС) = смена разряда на АЛС (динамическая индикация)
а два младших байта счётчика измеряемой частоты - это таймер и пределитель таймера, который вычитывывался по окончанни счёта (эта процедура неоднократно описывалась).
Ну и все веточки выровнены NOP или GOTO $+1 по длине, что бы любые проходы по циклу были одинаковыми.
Думаю, работы на асме на всю программулину, ну на день за глаза ))))) главное это всё продумать.
Дополнительно был измеритель длительности импульсов, длительности периода с дискр 1 мксек, измеритель ёмкости и индуктивности по известной схеме генератора на LM311.
Не призываю делать на F84, вполне моно сделать на F628 ))) или любом PIC16 который по душе.
Модуль таймера0 то у всех одинаков. Даже на 12F629 моно, вывод индикации через 4015 или 74HC595.
Я просто обьяснил КАК было сделано.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
Последний раз редактировалось picavr; 15.01.2011 в 01:08.
|
|
|
|
15.01.2011, 01:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Частотомер до 450Мгц
В моём варианте несколько процедур, вызываемых в бесконечном цикле. Динамичка немного перекошена, но так как сдвигается по кругу - незаметно.
Сообщение от picavr
|
вывод индикации через 4015 или 74HC595.
|
У меня сегменты с МК, разряды на 74х145.
Сообщение от picavr
|
Думаю работы на асме ну на день за глаза ))))) главное это всё продумать.
|
Если "потворчествовать" то да. А так минут 10 "гугления".
Блин! Никак исходник не найду - одни заготовки попадаются! Стёр что-ли?
|
|
|
|
15.01.2011, 02:00
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Частотомер до 450Мгц
Сообщение от omercury
|
Если только 2011..! Дык на FPGA можно вообще без мозгов сделать. Или ядро МК зашить. И на бОльшую частоту. И оч современно. И осциллограф добавить...
|
Дык... а кто спорит?
Цитата:
|
PIC16F84 у меня, например, уже есть. И не один. А 24го нету... Как думаете - на чём соберу?
|
Да какая разница, главное чтобы хорошо работало и устраивало!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:22.
|
|