МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

SPI

Хотя порт SPI есть на всех микроконтроллерах AVR для обеспечения возможности их программирования по последовательному интерфейсу (ISP), которая рассмотрена позднее в этой главе, он доступен для обмена данными с внешними устройствами только в некоторых моделях. В этих моделях SPl-порт работает почти так же, как аналогичный порт в 68НС05 (рис 33.14).

Рис. 33.14. Синхронный последовательный порт ввода/ вывода AVR

Для обмена с другими устройствами используются четыре вывода порта SPI. Например, совместная работа ведущего («master») и ведомого («slave») микроконтроллеров AVR может быть реализована, как показано на рис 33.15. Передачу инициирует ведущий AVR, который выдает синхросигналы обмена на вывод SCK. При этом вывод SCK ведомого контроллера будет работать в качестве входа синхросигнала. Чтобы включить порт SP1, надо установить в I бит SPE в регистре управления SPCR порта SPI. С помощью этого регистра можно выбрать режим работы SPI в качестве ведущего, однако если на внешний вывод SS поступает низкий уровень сигнала, то порт SP1 будет работать только в режиме ведомого.

Биты SPR в регистре SPCR используется для установки скорости передачи данных ведущим контроллером. Важно отметить, что ведущий контроллер не может использовать для синхронизации внешний синхросигнал, поэтому можно выбирать только одно из четырех значений частоты полученных делением частоты тактового сигнала процессора. Чтобы получить более высокую скорость передачи, вы должны увеличить тактовую частоту AVR.

Go to Top