每个输出门控单元(OGUy)把通过交叉连接矩阵获得的各输入通道输出的触发事件(TRxy)、直接外设触发输入(PT0~2)和状态标志(EXICONx.FL)进行综合,获得四个相互关联的输出给到系统。这四个输出为:ERU_PDOUTy、ERU_GOUTy、ERU_TOUTy和ERU_IOUTy。整个输出门控单元(OGUy)的功能由寄存器EXOCONy进行配置。

      输出门控单元可以分成俩部分:
1、模式检测(下图红色框部分)
在ERU0模块中没有模式检测,只有ERU1模块中有模式检测。模式匹配和模式失配是参与到模式检测中的各个通道中的状态标志位的“与”逻辑综合,结果为1,则模式匹配。反之则为模式失配。

        前面各个通道中的状态标志位EXICONx.FL是否参与到模式检测中,是由寄存器EXOCONy.IPENx决定的。参与到模式检测中的各个通道中的状态标志位只要发生改变(无论是从模式匹配到模式失配,还是从模式失配到模式匹配,但是寄存器EXOCONy.PDR会记录当前结果到底是模式匹配(置1)还是模式失配(置0))都会产生一个事件电平信号(LEVEL)来指示检测到模式变化,这个事件电平信号(LEVEL)的输出就是ERU_PDOUTy。

2、触发组合(上图蓝色框部分)

        在ERU1模块中,在输出门控单元有3个(PT0~2)直接外设触发输入,主要来自外设模块ADC/CAPCOM4/8/TIMER等。这些触发信号可以避开EXICONx.FL中的标志位控制,立即无条件的进入输出门控单元。这3个(PT0~2)直接外设触发输入的选择由寄存器EXOCONy.ISS决定(三选一)。这个选中的直接外设触发输入(在ERU0模块中,没有直接外设触发输入)和各输入通道输出的触发事件(TRxy)进行“或”逻辑综合。上面模式检测中,参与到模式检测中的各个通道中的状态标志位发生改变(无论是从模式匹配到模式失配,还是从模式失配到模式匹配)在产生一个事件电平信号(LEVEL)的同时,也会产生一个触发事件(这个触发事件是否输出或有效,则由寄存器ECOCONy.GEEN决定。),    如果这个用来指示检测到模式变化的触发事件是有效的(由寄存器ECOCONy.GEEN决定),那么它也会参与到“或”逻辑综合中。这个“或”逻辑综合的输出就是ERU_TOUTy。


        输出门控单元除了上面两个输出外,还有ERU_GOUTy和ERU_IOUTy输出。



        参考上面两个图,我们得出下面两个结论:

        ERU_GOUTy输出实际上是常0、常1、ERU_PDOUTy和ERU_PDOUTy反相的四选一,由寄存器ECOCONy.GP决定选哪一个进行输出。

        ERU_IOUTy输出实际上是ERU_GOUTy输出和ERU_TOUTy输出的“与”逻辑综合。

       最后,我们看内部连接关系会发现,ERU0和ERU1的ERU_TOUTy输出和ERU_GOUTy输出实际上在ERU模块外并未使用。此外,ERU0没有ERU_PDOUTy输出。

 

 EXOCONx寄存器相关位定义如下: