STM32F4 - DMA, árbitro, interrupción, prioridad de flujo

0

¿El árbitro DMA interrumpe un flujo (durante la transferencia) para dar acceso a otro flujo con mayor prioridad? ¿O simplemente el árbitro da acceso antes de que comience la transferencia, de modo que cuando una secuencia comienza a funcionar y otra con una solicitud de envío de mayor prioridad al controlador DMA, tiene que esperar hasta que se complete la transferencia?   Por cierto ¿Existen definiciones explícitas de 'transacción' y 'transferencia'? En el manual de referencia, a veces, transacción significa enviar todos los datos (hasta que el registro NDTR llegue a 0) y transferir significa enviar 8/16 / 32bits. Otras veces es opuesto.

ACTUALIZACIÓN: En AN4031 hay una nomenclatura consistente de "transacción". La transacción finaliza cuando el registro NDTR llega a 0. Aunque todavía no veo una clara indicación del clima, la transacción de una secuencia puede interrumpirse si se ha producido la solicitud de otra secuencia (con mayor prioridad). El armario para explicar esto es la sección 2.2.3 y la Figura 14 "Arbitraje de solicitud DMA". Pero no hay un momento en que la solicitud con una prioridad más baja se interrumpa realmente debido a la solicitud con una prioridad más alta. Cada vez, en este ejemplo, el árbitro DMA da acceso a la solicitud 1 (con mayor prioridad) cuando la solicitud 2 (prioridad más baja) aún no ha comenzado a transmitir la fecha o acaba de finalizar la transferencia, por lo que no hay ninguna transacción que interrumpir (por solicitud 1 ).

    
pregunta M.Mathew

0 respuestas

Lea otras preguntas en las etiquetas