Здравствуйте. Есть проблема при использовании режима DMA в PCI9056 (плата разработана самостоятельно).
После запуска драйвером (драйвер написан самостоятельно) трансфера DMA, иногда (1 из ~1000) по неизвестной причине DMA останавливается.
Бит "DMA Channel 0 Done" регистра DMACSR0 (стр. 329 PCI 9056BA Data Book), который после окончания DMA должен установиться в 1,
почему-то после такого останова равен 0 (то есть DMA не завершен).
После выполнения принудительного "аборта" (запись 0->"DMA Channel 0 Enable" и запись 1->"DMA Channel 0 Abort") ситуация нормализуется и
DMA можно запускать снова.
Не сталкивались ли кто с подобной проблемой?
Может ли проблема быть в обвязке PCI9056?