UART DMA как FIFO - PullRequest
       116

UART DMA как FIFO

0 голосов
/ 25 мая 2020

Я работаю над проектом с микроконтроллером серии dspic33E. Я использую связь UART для связи с другими устройствами и хранения данных, поступающих с других устройств и периферийных устройств. Чтобы гарантировать отсутствие потери данных при коммуникации uart, я использую буфер FIFO. Это очень полезно. После этого я проверяю буфер всякий раз, когда мне нужно, и если есть какие-либо данные, которые мне нужно обработать, я читаю их из буфера FIFO и выполняю необходимый процесс. Я ожидаю такой же производительности в DMA, когда объединю его с UART.

Но насколько я знаю, буферы DMA могут быть прочитаны только прерыванием из-за того, что половина буфера / полный буфер завершается. Я не знаю, почему DMA устроена так. Если я могу получить доступ к DMA, не дожидаясь установки прерывания для чтения данных из его буфера, я могу использовать его как FIFO, также это снижает нагрузку на процессор. Возможно ли это в контроллерах dspi c? Как мне подойти к DMA, чтобы использовать его в качестве буфера FIFO, не дожидаясь установки прерывания для чтения его буферов.

Я надеюсь, что ясно объясню свой взгляд на DMA. Выскажите свое предложение по этому запросу. Заранее спасибо ...

...