Измеритель фаз и модули CCP

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 175
Зарегистрирован: Пт июн 29, 2012 23:48:11

Сообщение virus33 »

В камне pic16f877a присутствует два модуля CCP.
Возможно ли будет произвести одновременные замеры двух входящих сигналов, для последующего расчета фазы?
На основе сср делал частотомер, выполнял захват и сравнением с значением 16 битного таймера, а захватывать два сигнала не пробовал.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Для сравнения ДВУХ сигналов по фазе необходимо и достаточно, чтобы оба модуля захвата имели ОБЩУЮ СЧЕТНУЮ БАЗУ. То есть либо единый счетчик (что мы и имеем в Вашем случае), либо два разных счетчика, но работающие от единого, либо когерентного тактирования.
Есть только одно замечание.
Нужно учитывать переполнение счетчиков путем задания типов переменных используемых в качестве буферов разрядностью ВЫШЕ, чем разрядность самого таймера/модуля захвата.
Скажем, в Вашем случае буферы будут uint32_t (unsingned long). При вычитании буферов каналов (нахождении разности фаз) нужно привести тип к int16_t (int):

Код: Выделить всё

uint32_t        phase1, phase2
..
..
delta_phase=(int_16t)(phase1-phase2);
Тогда переполнение будет учтено и результат будет ЗНАКОВЫМ (отставание-опережение фазы).
Реклама
Ответить

Вернуться в «PIC»