STM32: объединить два выхода компаратора - PullRequest
1 голос
/ 29 октября 2019

У меня есть микроконтроллер STM32L072KB, и я хочу объединить два аналоговых сигнала (они представляют собой тип "квадратурно-кодированного сигнала" с коэффициентом заполнения 50%) в один "комбинированный цифровой выходной сигнал", который имеет удвоенную частоту (для моегоцель: удвоенный выходной сигнал используется для обеспечения удвоенной точности):

enter image description here

Я использую обе периферии компаратора COMP1 и COMP2 для обнаружения фронтов сигналаи он прекрасно работает, чтобы настроить их так, чтобы они непосредственно передавали COMPX_OUT в предопределенные, но для каждого компаратора отдельный и фиксированный GPIO (без задержки SW / ISR): enter image description here

  • COMP1_OUT -> PA11
  • COMP2_OUT -> PA12

Из-за моей компоновки HW я хочу реализовать что-то вроде этой конфигурации:

  • COMP1_OUT ⊕ COMP2_OUT -> PA11

    или

  • COMP1_OUT ⊕ COMP2_OUT -> PA12

Я не нашелспособ напрямую соединить обакомпаратор выводит на один выходной вывод без введения задержки / задержки SW / ISR. Я читал, что некоторые таймеры общего назначения предлагают так называемый режим кодирования «Холла», который поддерживает XOR до 3 входных сигналов. Но поскольку подключение таймера напрямую к GPIO через DMA кажется невозможным на ядре STM32L0, я понятия не имею, как это реализовать ...

Кто-нибудь знает "аппаратный / быстрый способ" маршрутизации/ XOR одновременно оба COMP_OUT для одного выходного вывода GPIO (PA11 или PA12), или в этом случае неизбежно использование решения на основе ISR?

...