Изучая тематический материал нарыл субжевый аппноут.
Потом прочитал и понял основной принцип: одна нога МК работает шлюзом для входного сигнала. Например, открывает вход на 1 секунду, а встроенный счетчик/таймер Пика считает количество импульсов. Потом шлюз закрывается, а это количество импульсов показывается на экране как частота, коей и является (при 1 сек измерения). Если время замера 0,1сек, то полученное число надо умножить на 10 и показать на экране.
Автор предлагает оригинальный метод досчета предделителя, у которого, в отличие от основного счетчика, нет своего регистра. И из него напрямую невозможно скачать насчитанное число. То есть, он делит частоту входного сигнала на 256. Просто считает, ноль, раз, два и тд, до 255. После этого он сбрасывается снова на ноль, а на выходе выдает одиночный импульс. Эти импульсы подсчитываются таймером/счетчиком Пика.
(T0 это RTCC)
Идея в чем. после окончания замера остается небольшое число импульсов в предделителе, от 0 до 254. Это добавляется к погрешности измерения. Что бы точно узнать это число и, соответственно, повысить точность, автор предложил генерировать одиночные импульсы на входе счетчика/таймера с подключенным предделителем с помощью другой ноги МК и каждый раз проверять, не увеличилось ли содержимое Timer0 Пика. Искомое число вычисляется по формуле (256-N), где N - число сгенерированных импульсов.
(RTCC это T0)
Но, для этого автор использует ту же самую ногу МК, которая управляет поступлением входного сигнала.
Это как раз то, чего я не могу понять. Ведь вместо того, что бы генерировать одиночные импульсы, он просто пропускает пачки импульсов входного сигнала! Лично я бы доверил это разным ногам МК, типа так:
То есть, одна нога перекрывает шлюз для входного сигнала, а вторая генерирует импульсы досчета.
Кто занимался, прокомментируйте, плз. Потому как наличие во многих прошивках частотомеров на ПИК "программной калибровки" наводит на мысль, что с ее помощью компенсируется именно эта ошибка. Даже собранный лично частотомер на 16F84 показывает свою собственную тактовую частоту 4МГц как 4.000660.
Спасибо.
ЗЫ.
Вопрос закрыт:
1. Входной сигнал давится ногой, запрограммированной как выход, за счет резистора к47. То есть идет правильный досчет.
2. В собранном мной частотомере не выверено время измерения.
Большое спасибо.