Прохождение сообщения (MSGRx)

Есть три программных протокола, в соответствии с которыми ведущий процессор может связываться с ведомым ADSP_2106х через регистры сообщений MSGRx: с помощью

1) векторных прерываний,

2) регистров квитирования и

3)обратной записи в регистры.

При использовании метода на основе векторных прерываний ведущий заполняет

заранее определенные регистры MSGRx ведомого данными и вызывает векторное прерывание путем записи адреса программы обработки в VIRPT.

Программа обработки ведомого должна считать данные из регистров MSGRx и затем обнулить VIRPT, сообщая тем самым ведущему о своем завершении. Программа обработки может также использовать один из сигналов FLAG3_0 ведомого ADSP_2106х, чтобы сообщить ведущему о своем окончании.

При использовании метода регистров квитирования четыре регистра МSGRx должны быть обозначены следующим образом: регистр приема (R), регистр квитирования приема (RH), регистр передачи (T) и регистр квитирования передачи (TH). Для передачи данных в ADSP_2106х ведущий должен записать данные в T и затем записать «1» в TH. Когда ведомый увидит «1» в TH, он считает данные из T и запишет «0» в TH. Когда ведущий увидит «0» в TH, он поймет, что передача завершилась. Аналогичная последовательность происходит При передаче данных из ведомого в ведущий с использованием R и RH.

Метод обратной записи в регистры подобен методу регистров квитирования, но

использует только регистры данных T и R. Ведущий записывает данные в T. Когда ведомый видит в Т ненулевую величину, он считывает ее и записывает «0» обратно в T. Подобная последовательность осуществляется при приеме данных ведущим. Это более простой метод, и он хорошо работает, пока данные, подлежащие передаче, не содержат «0».