我有一个STM32L072KB微控制器,想要将两个模拟信号(它们代表占空比为50%的一种“正交编码信号”)组合成一个“组合数字输出信号”,其频率加倍(对于我目的是使输出信号加倍以提供双精度):
我正在使用比较器外设COMP1和COMP2来检测信号沿,并且对其进行配置很好,它们可以将COMPX_OUT直接中继到预定义的端口,但是对于每个比较器而言,它们是单独且固定的GPIO(无任何SW / ISR延迟) ):
由于我的硬件布局,我想实现这种配置:
COMP1_OUT⊕COMP2_OUT-> PA11
或
COMP1_OUT⊕COMP2_OUT-> PA12
我还没有找到一种在不引入SW / ISR延迟/延迟的情况下将两个比较器输出直接连接到一个输出引脚的方法。我读到一些通用定时器提供了所谓的“霍尔”编码器模式,该模式支持对3个输入信号进行XOR运算。但是由于在STM32L0内核上似乎不可能通过DMA将Timer直接连接到GPIO,所以我不知道如何实现这一点...
有人知道“硬件/快速方法”同时将两个COMP_OUT路由/异或到单个GPIO输出引脚(PA11或PA12),还是在这种情况下使用基于ISR的解决方案是不可避免的吗?