Lo más probable es que se use DMA aquí para que el DAC pueda tener una sincronización regular, generar una forma de onda cambiando la salida analógica en algún intervalo conocido.
Sí, si es un autobús compartido, entonces ... tienes que compartir.
La CPU no siempre usa el bus, por lo que a veces es una buena idea compartir con un motor dma. Y, por supuesto, eso significa que las prioridades se involucran, a veces es solo quién llegó allí primero (por ejemplo, tener un comando quince delante del recurso y quince solicitudes arriba, en el orden en que llegan, sí, eso no sería necesariamente determinista ) En un caso como este, es posible que desee que el dma tenga prioridad sobre la CPU para que las cosas sensibles al tiempo como los DAC o los ADC tengan un tiempo determinista. Depende de cómo eligieron implementarlo.
La gente a veces tiene esta suposición a menudo incorrecta de que dma es gratis. Todavía no consume tiempo de bus, si se comparte con la CPU (que eventualmente es cuando habla con un recurso con el que la CPU puede hablar), entonces la CPU y / o el dma se detienen, por lo que la CPU aún tiene que esperar un poco tiempo, en algunas implementaciones (probablemente no en su microcontrolador), la CPU se detiene por completo hasta que la dma se completa, la CPU se detiene durante el tiempo que dure. Solo depende de la implementación. La parte libre de esto es que la CPU no tiene que ser interrumpida constantemente o sondear o contener la respiración para que algún evento alimente datos. Puede tomar su tiempo crear el próximo búfer para dma. Tiene que estar atento a que se complete la transferencia de dma y lidiar con eso, pero en lugar de decir cada byte, ahora son múltiples bytes, algún bloque de datos.
No hay una respuesta universal. "Depende" ... del diseño específico de la cosa específica que está utilizando. Incluso dentro del diseño de un chip / placa / sistema puede haber múltiples motores dma y no hay razón para suponer que todos funcionan de la misma manera. Para cada caso, tiene que resolverlo, y desafortunadamente, a menudo no lo documentan o lo documentan lo suficientemente bien. Por lo tanto, es posible que deba crear algunos experimentos si le preocupa.