Раздел: Документация
0 ... 161 162 163 164 165 166 167 ... 195 13.3. Мультипроцессорный режим работы Режим мультипроцессорного обмена позволяет осуществлять связь между несколькими ведомыми микроконтроллерами и одним ведущим. В этом режиме каждый ведомый микроконтроллер имеет свой уникальный адрес. Если ведущий микроконтроллер хочет что-либо передать, он посылает адресный байт, определяющий, к какому из микроконтроллеров ведущий собирается обратиться. Если какой-либо из ведомых микроконтроллеров распознал свой адрес, он переходит в режим приема данных и соответственно принимает последующие байты как данные. Остальные ведомые микроконтроллеры игнорируют принимаемые байты до посылки ведущим нового адресного байта. Включение режима фильтрации принимаемых кадров, не содержащих адреса, осуществляется установкой в 1 бита МРСМ (МРСМл) регистра UCSRA (UCSR/zA). В микроконтроллере, выполняющем роль ведущего, должен быть установлен режим передачи 9-битных данных. При передаче адресного байта старший бит должен устанавливаться в 1, а при передаче байтов данных он должен сбрасываться в 0. В ведомых микроконтроллерах механизм приема зависит от режима работы приемника. Если приемник настроен на прием 5...8-битных данных, то идентификация содержимого кадра (адрес/данные) осуществляется по 1-му стоп-биту. При приеме 9-битных данных идентификация содержимого кадра осуществляется по старшему биту слова данных. Если указанные биты установлены в 1, значит, кадр содержит адрес, в противном случае — данные. Для осуществления обмена данными в мультипроцессорном режиме необходимо действовать следующим образом: l.Bce ведомые микроконтроллеры переключаются в режим мультипроцессорного обмена установкой в 1 бита МРСМ (МРСМя) регистра UCSRA (UCSRajA). 2.Ведущий микроконтроллер посылает адресный кадр, а все ведомые микроконтроллеры его принимают. Соответственно в каждом из ведомых микроконтроллеров устанавливается флаг RXC (RXCaj) регистра UCSRA (UCSRM). 3.Каждый из ведомых микроконтроллеров считывает содержимое регистра данных. Микроконтроллер, адрес которого совпал с адресом, посланным ведущим, сбрасывает в 0 бит МРСМ (МРСМл). Адресованный микроконтроллер начинает принимать кадры, содержащие данные. Если приемник ведомого микроконтроллера настроен на прием 5...8-битных данных, будет генерироваться ошибка кадрирования, поскольку первый стоп-бит будет равен 0 (этого можно избежать, исполь- зуя два стоп-бита). В остальных ведомых микроконтроллерах бит МРСМ (МРСМя) установлен в 1, поэтому кадры данных будут игнорироваться. После приема последнего байта данных адресованный микроконтроллер устанавливает бит МРСМ (МРСМ/?) в 1 и снова ожидает приход кадра с адресом. Процесс повторяется со 2-го пункта. 13.4. Модуль USART в режиме MSPI В ряде новых моделей микроконтроллеров, а именно в ATmega48x/88x/168x, ATmega 164х/324х/644х и ATmega640x/1280x/1281x/ 2560х/2561х, модули USART могут работать в качестве ведущего шины SPI. В этом режиме, который называется MSPI (Master SPI Mode), модули USART поддерживают все четыре режима SPI (0, 1, 2 и 3). При этом доступны как двойная буферизация данных при приеме и передаче, так и большинство прерываний модуля. Функции выводов модуля USART в режиме MSPI указаны в Табл. 13.13. Таблица 13.13. Выводы USART в режиме MSPI
Обратите внимание, что направление передачи данных вывода ХСКл необходимо задавать вручную (соответствующий бит регистра DDRjc должен быть установлен в 1). Причем конфигурирование вывода желательно выполнять до разрешения работы приемника и передатчика USART. 13.4.1. Управление модулем USART в режиме MSPI Управление модулями USART в режиме MSPI осуществляется посредством тех же регистров UCSR/jA, UCSR/jB и UCSRaC, что и в обычном режиме, изменяется только назначение (и название) некоторых битов регистров UCSR/jC. Биты этих регистров, используемые в режиме MSPI, приведены на Рис. 13.9...13.11, а их описание — в Табл. 13.14...13.16 соответственно.
Puc. 13.9. Регистры UCSR/jA в режиме MSPI Таблица 13.14. Биты регистров UCSR/iA в режиме MSPI
Примечание, п = 0,1,2 или 3. 76543210
Чтением/Запись) R/W R/W R/W R/W R/W RRR Начальное значение 0 0100010 Рис. 13.10. Регистры UCSR/jB в режиме MSPI Таблица 13.15. Биты регистров UCSR/iB в режиме MSPI
0 ... 161 162 163 164 165 166 167 ... 195
|