O DMA é provavelmente usado aqui para que o DAC possa ter um tempo regular, gerar uma forma de onda alterando a saída analógica em algum intervalo conhecido.
Sim, se for um barramento compartilhado, então ... você precisa compartilhar.
O processador nem sempre está usando o barramento, portanto, às vezes, é uma boa idéia compartilhar com um mecanismo dma. E é claro que isso significa que as prioridades se envolvem, às vezes é apenas quem chegou lá primeiro (por exemplo, tem um comando fifo na frente do recurso e solicitações fifo up, na ordem em que chegam, sim, isso não seria necessariamente determinístico ) Em um caso como esse, convém que o dma tenha prioridade sobre a CPU, para que coisas sensíveis ao tempo, como DACs ou ADCs, tenham um tempo determinístico. Depende de como eles escolheram implementá-lo.
As pessoas às vezes têm essa suposição frequentemente incorreta de que o dma é gratuito. Ainda não consome tempo de barramento, se compartilhado com a CPU (que eventualmente é quando fala com um recurso com o qual a CPU pode conversar), então a CPU e / ou o DMA são retidos, portanto, a CPU ainda precisa aguardar um pouco. tempo, em algumas implementações (provavelmente não no seu microcontrolador), a CPU é completamente adiada até que o dma seja concluído, a CPU é interrompida pelo período. Depende apenas da implementação. A parte livre disso é que a CPU não precisa ser constantemente interrompida ou sondar ou prender a respiração para algum evento alimentar dados. Pode levar algum tempo para criar o próximo buffer para o dma. Ele precisa observar a transferência dma para concluir e lidar com isso, mas em vez de dizer que cada byte agora é de vários bytes, algum bloco de dados.
Não existe uma resposta universal. "Depende" ... do design específico da coisa específica que você está usando. Mesmo dentro de um projeto de chip / placa / sistema, pode haver vários mecanismos dma e não há razão para supor que todos funcionem da mesma maneira. Para cada instância, você precisa descobrir e, infelizmente, eles geralmente não a documentam ou a documentam bem o suficiente. Portanto, talvez seja necessário criar algumas experiências, se for uma preocupação.