博客列表

Infineon XMC4500系列MCU学习笔记--ERU(五)之输出门控单元(OGUy)
发表于:2012-11-14 23:51:28 | 分类:Infineon%20XMC4500系列MCU学习笔记
浏览( ) | 评论( )

        每个输出门控单元(OGUy)把通过交叉连接矩阵获得的各输入通道输出的触发事件(TRxy)、直接外设触发输入(PT0~2)和状态标志(EXICONx.FL)进行综合,获得四个相互关联的输出给到系统。这四个输出为:ERU_PDOUTy、ERU_GOUTy、ERU_TOUTy和ERU_IOUTy。整个输出门控单元(OGUy)的功能由寄存器EXOCONy进行配置。      输出门控单元可以分成俩部分:1、模式检测(下图红色框部分)在ERU0模块中没有模式检测,只有ERU1模块中有模式检测。模式匹配和模式失配是参与到模式检测中的各个通道中的状态标志位的“与”逻辑综合,结果为1,则模式匹配。反之则为模式失配。        前面各个通道中的状态标志位EXICONx.FL是否参与到模式检测中,是由寄存器EXOCONy.IPENx决定的。参与到模式检测中的各个通道中的状态标志位只要发生改变(无论是

Infineon XMC4500系列MCU学习笔记--ERU(四)之交叉连接矩阵
发表于:2012-11-12 23:00:37 | 分类:Infineon%20XMC4500系列MCU学习笔记
浏览( ) | 评论( )

    交叉连接矩阵的作用就是把4个通道中事件触发逻辑(ETL)产生的状态信号(EXICONx.FL)、4个触发输出(TRxy)分配到4个通道的输出门控单元,就相当于CPLD中的互联资源。通过它们,把不同的通道关联起来。提供了把一个通道的事件触发逻辑(ETL)输出,引到另一个通道的输出门控单元(OGU)输入可能,这样就可以实现更复杂的外设触发逻辑。    在交叉连接矩阵没有配置的寄存器,仅仅是硬件连接。因此在程序中不会看到同这部分相关的代码。    但是需要注意,具体硬件路径的选择是在ETL和OGU的相关寄存器中设置的。具体来说,TRx0/TRx1/TRx2/TRx3中只能有一个生效,到底哪个生效是由事件触发逻辑(ETL)的寄存器 EXICONx.OCS决定的。各个通道中的状态标志位EXICONx.FL是否参与到模式检测中,是由寄存器EXOCONy.IPENx决定的。 

Infineon XMC4500系列MCU学习笔记--ERU(三)之事件触发逻辑ETL
发表于:2012-11-11 01:11:44 | 分类:Infineon%20XMC4500系列MCU学习笔记
浏览( ) | 评论( )

         每一个ERU通道中都有一个事件触发逻辑(ETLx)模块,它主要是对该ERU通道中输入组合逻辑模块所输出的信号ERSxO来设置触发条件,符合触发条件时,产生输出信号,通过交叉连接矩阵模块连接到后续的输出门控单元(OGUy)。事件触发逻辑(ETLx)模块产生的输出信号有两种,一种是事件电平信号(LEVEL),对应寄存器EXICONx.FL状态标志信号,一种是事件触发信号(TRIGGER),对应触发脉冲输出信号TRxy。           事件触发逻辑(ETLx)模块中最重要的部分是边沿检测模块,边沿检测模块可以独立的检测输入组合逻辑模块输出的信号ERSxO的上升沿或下降沿,当然也可以将上升沿和下降沿都设置检测,这样实质上检测的就是一个脉冲信号。如上图红色框中所示,寄存器EXICONx.RE决定信号ERSxO的上升沿是否产生一个边沿事件,寄存器EXICONx.FE决定信号ERSxO的下降沿是否产生一个边沿事件。    

Infineon XMC4500系列MCU学习笔记--ERU(二)之事件请求输入选择ERS
发表于:2012-11-08 22:10:58 | 分类:Infineon%20XMC4500系列MCU学习笔记
浏览( ) | 评论( )

        我们前面提到,每个ERU模块有4个输入通道。进一步看,每个通道又分成A、B两组输入,每组又有4个输入来源。        我们把ERU输入标记为ERUx_yXz,其中,x为ERU模块号,违别为0或1;y为各ERU模块的输入通道号,分别为0、1、2、3;X为ERU模块输入通道内事件请求输入组号,分别为A、B;最后z为ERU模块输入通道内事件请求输入号,分别为0、1、2、3。这样,总计有2X4X2X4=64个ERU模块输入通道内事件请求输入。        这些输入,并不是可随意配置的,而是相对固定的,相对固定的关系如下表:Table 1  ERU0 Pin Connections Table 2 ERU1 Pin Connections         我们前面提到,ERU实际上就相当于一个

Infineon XMC4500系列MCU学习笔记--ERU(一)概览
发表于:2012-11-07 22:07:54 | 分类:Infineon%20XMC4500系列MCU学习笔记
浏览( ) | 评论( )

        ERU(Event Request Unit )事件请求单元,主要用来将MCU多个外设连接起来,简化MCU的工作,提高处理效率。刚开始学习ERU时有个疑问:一个外设产生事件请求后本来可以直接驱动另外一个外设,那么为什么还需要ERU呢?随着学习的深入,这个问题会在后面得到解答。        Infineon XMC4500系列MCU有2个ERU---ERU0和ERU1。注意,ERU0和ERU1是不一样的,它比ERU1功能少些,我们后面再细说。        首先我们看一下ERU的应用框架:从上图我们可以看到,ERU的事件源有:ADC、CAPCOM、GPIO、DAC、POSIF等产生事件请求。ERU对这些事件请求综合处理,产生脉冲或电平输出,去触发事件服务相应外设,这些外设包括ADC、CAPCOM、IRQ/DMA、DSD、POSIF等。    &nb