в продолжение о пиках.

Кратко о частотомере и программаторе столетней давности.
хоть частотомер (кстати, конструкция Денисова, доработан Корабельниковым, если кому-то это о чём-то говорит ;) ) делался ещё в 2006-7гг, программатор сохранился, хоть и покалеченный малость. Выглядит это так: 3 резистора, 2 диода и КРЕН-ка навесом между 18-ти пиновой дип панелькой и ответным «9pin COM» разъёмом (правильно называется DE9F — спасибо Vga), 4 проводка и вроде ещё кондёр был. Рождена схема была интуитивно, из-за отсутствия наличия стабилитронов, так нужных (зачем-то кому-то) для простейшего программатора. Зарисована, естественно не была, ибо нафиг. попробую опять же интуитивно её восстановить, благо схема оригинального программатора осталась и до сих лежит в этих ваших интернетах (называется JDM и гуглится), а у меня в виде копии статьи с си-кью-хама.

===поток мыслей закончился===
  • -1
  • 02 июня 2011, 21:04
  • nextos

Комментарии (14)

RSS свернуть / развернуть
Правильно называется DE9F. DB9 по моему даже и не выпускают (это вариант с размерами как у ЕМНИП 25-пинового, но с 9 пинами).
Кстати, для недопиленных заготовок есть черновики.
0
  • avatar
  • Vga
  • 02 июня 2011, 22:09
гугель настойчиво утверждает что DB9F. Хмм…
О черновиках я в курсе. Просто подумал что кому-то возможно будет интересно.
Продолжать не буду тогда, пишу сразу статью.
0
А вот что говорит википедия. Если кратко — D — тип разьема (D-SUB), вторая буква — его размер (B — как LPT или 25-пиновый COM, E — как 9-пиновый COM), цифра — количество пинов и последняя буква — пол (M или F). Так что COM — это DB25 или DE9. LPT — DB25. VGA — DE15.
0
Спасибо, буду знать
0
было бы неплохо пример частотомера, принцип вроде ясен, а вот программно…
0
А что там программно? Считаем импульсы за эталонный промежуток времени, получаем код. Не знаю как на пиках, а на меге я делал так: брал два таймера, один настраивал в режиме CTC на генерацию опорной частоты, а второй — на счёт импульсов. Из алгоритма остаётся только в прерывании первого таймера считывать значения во втором и обнулять его. Не очень точно, конечно, зато просто, как бревно =).
0
так, да не так. там есть некоторые хитрости, описанные тов. Корабельниковым. Жаль что он материалы теперь прикрыл и даёт только за денюжку. У меня архивчик остался с тех времён, когда ещё многое было в открытом доступе, но не думаю что стоит нарушать авторское право. Тем более материал для «полных дубов» и требует переработки.
Вкратце — эталонный промежуток задаётся жёсткими интервалами самой прошивки. Просчитано и выровнено всё до такта. Так достигается высокая точность этого промежутка.
Плюс используется процедура «досчёта» для получения младшего байта, который остаётся в предделителе и программного доступа к нему нет. Реализовано так: к счётному входу подключен один из выводов порта, который в определённый момент программно переводится на вывод и формирует последовательность счётных импульсов. По прерыванию определяется сколько оставалось в предделителе.
0
Ну человек не уточнял же, какие параметры ему нужно обеспечить =) Описанный Вами алгоритм тоже далеко не под все задачи подойдёт =)
Например, как составная часть сложной программы он не пойдёт, так как очень сложно будет выдержать тайминги, а переключение предела измерения — это вообще гемор… Да и аппаратный предделитель нужен только когда разница между опорной и измеряемой больше четырёх порядков (это при условии, что счётчик импульсов 16-ти разрядный, конечно). Кстати, ИМХО его вполне можно заменить программным пост-делителем (при условии выкидывания захардкоденного эталонного интервала =)).
В общем, под каждую задачу своя реализация =)
0
А оно без предделителя полсотни мегагерц прожует ли? Ну и выдернуть оттуда значение на самом деле довольно просто.
Чуть интереснее, какие там еще тонкости.
0
Откуда взялась цифра в полсотни мегагерц? Я ж говорю, зависит от условий задачи. Я постановки задачи не видел, вот и предложил самый простой вариант. =)
0
вопрос был — программная реализация частотомера. обычно это отдельное устройство, диапазон измеряемых частот и точность измерения ИМХО основные параметры. Для простейшего варианта, конечно такие заморочки ни к чему. Но — вот досада — у 16f84 всего один таймер…
А тонкостей вроде больше и нет. По крайней мере крупных, по мелочи может чего и забыл уже — давно же было.
0
Задачи бывают разные, но основная причина делать именно на PIC — это то, что его счетчик способен работать на частотах до 50-80 МГц. Вот я и спрашиваю — это преимущество реализуется ли без предделителя?
у 16f84 всего один таймер…
Зарядить счетчик и уйти в delay(100). Правда, при этом нельзя больше ничего делать, да и для самого delay придется посчитать циклы. В принципе, подгонять циклы при отладке можно меряя частоту собственного кварца.
0
Упоминания об авторах есть в статье, если сильно хочется можно найти. Описание моей конструкции если и будет, то не так скоро.
0
кстати, программатор восстановил — работает как ни странно, хотя схема не совсем JDM. Софт — раньше был PIX, а сейчас проверял на icprog-е.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.