从外设产生的7个请求,通过逻辑或输入到DMA1控制器,这意味着同时只能有一个请求有效,那么其它的中断会消失不执行还是由仲裁寄存器由优先级从高到低执行每一个请求
时间: 2024-04-21 21:24:51 浏览: 123
当DMA1控制器只能处理一个请求时,如果同时有多个请求到达,通常会使用仲裁机制来确定哪个请求具有最高优先级并被执行。这个仲裁机制可能是通过一个优先级编码器或者是由一个仲裁寄存器来实现的。
在这种情况下,其他的中断请求不会消失,而是会在仲裁机制的控制下进行优先级排序,并由优先级最高的请求被选中并执行。一旦该请求被处理完成,仲裁机制会再次进行选择,选择下一个最高优先级的请求进行处理。
总之,外设产生的7个请求会经过仲裁机制进行优先级排序,按照优先级从高到低的顺序执行每一个请求,确保每个请求都得到处理。其他请求不会消失,只是在仲裁过程中被暂时忽略。
相关问题
STM32 中,多个外设产生的 DMA 请求,同时只能有一个请求有效,是对是错?
是正确的。在 STM32 中,DMA 是由 DMA 控制器管理的,每个 DMA 控制器只能处理一个外设的 DMA 请求,因此多个外设产生的 DMA 请求,同时只能有一个请求有效。当多个外设同时发出 DMA 请求时,DMA 控制器会根据优先级或者先后顺序选择一个请求去处理。如果有多个请求优先级相同或者同时到达,那么 DMA 控制器会按照一定的算法进行选择。
简述在微机系统中,DMA控制器从外设提出请求到外设直接将数据传送到存储器的工作过程
在微机系统中,DMA(直接内存访问)控制器是一种特殊的硬件设备,它可以通过和CPU共享总线的方式,直接访问系统内存,实现数据的高速传输。下面是DMA控制器从外设提出请求到外设直接将数据传送到存储器的工作过程:
1. DMA控制器从外设中得到传输请求,并向CPU发出DMA请求信号;
2. CPU收到DMA请求信号后,暂停对总线的控制权,并向DMA控制器发出DMA响应信号,允许DMA控制器访问系统内存;
3. DMA控制器根据设备传输请求的参数,配置DMA控制器的工作模式和传输的数据长度、起始地址等信息;
4. DMA控制器向外设发出传输请求,外设开始将数据传送到DMA控制器的缓冲区中;
5. DMA控制器将传输的数据从缓冲区中读取出来,并将其写入到系统内存中指定的地址处;
6. 当传输完成后,DMA控制器向CPU发送传输完成的中断请求信号,CPU重新获得总线控制权,完成数据传输过程。
整个过程中,DMA控制器和CPU共享总线,但是由于DMA控制器直接访问系统内存,所以可以实现高速的数据传输,减轻CPU的负担,提高系统的效率。
阅读全文