Перейти к содержанию
    

Astralia

Новичок
  • Постов

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Добрый день! Помогите решить проблему! Между процессором BF523 и BF527 организованна связь через порт HostDMA. Порт HostDMA используется в процессоре BF527, а в процессоре BF523 используется порт EBIU. Процессор BF523 работает в режиме Мастер, а процессор BF527 в режиме Slave. Мастер осуществляет передачу информации на Slave-процессор, после чего следует чтение Slave-процессора. Чтение осуществляется в режиме Autobuffer mode. По окончанию чтения (чтение может занимать различное количество времени) происходит новая передача массива информации на BF527, а затем снова чтение. Проблема в том, что в режиме Autobuffer mode после чтения не получается снова вернуться в нормальное состояние, т.е. после чтения, если начинать записывать новую информацию в BF527, он не отвечает и HostDMA ничего не передаёт. В режиме Stop mode, такой проблемы нет. В режиме Stop mode чтение осуществляется при помощи прерывания (IVG 7 - Host read), в котором происходит очистка бита DMA_CMPLT и бита Host read done в регистре HOST_STATUS. В таком варианте всё работает. В режиме Autobuffer mode - это нужно сделать один раз в конце всего чтения и это как раз не получается. Может быть кто-то уже сталкивался с такой проблемой?
×
×
  • Создать...