Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микроконтроллеры семейства MCS-51.doc
Скачиваний:
210
Добавлен:
02.05.2014
Размер:
1.05 Mб
Скачать

Протокол spi.

Протокол SPI похож на протокол Microwire, но имеет несколько отличий.

  1. SPI способен передавать данные со скоростью до 3 Мбит в секунду.

  2. Разрядность данных в SPI пакете равна 8 бит.

  3. Передатчик в SPI имеет возможность приостановить передачу данных.

  4. Данные в SPI могут передаваться в виде множества байтов, которые назы­ваются «блок» или «страница».

Как и в протоколе Microwire, в SPI сначала передается байт, который содержит команду для принимающего устройства. Затем идет необязатель­ный 16-разрядный адрес, после чего следуют 8-разрядные данные. Как было указано выше, протокол SPI позволяет передавать несколько байтов (рис. 3.17). В протоколе SPI используется симметричный тактовый сигнал, кото­рый имеет одинаковую длительность высокого и низкого уровня. Выходные данные должны быть выданы на линию по крайней мере за 30нс до поступ­ления переднего фронта тактового сигнала, а считывание должно происхо­дить за 30нс до заднего фронта.

Рис. 3.17 - Запись данных в протоколе SPI.

При реализации протоколов Microwire или SPI можно упростить схему соединения, если подключить вход Din и выход Dout к одной линии (рис. 3.18). При таком способе соединения микроконтроллер должен отключить свой выходной драйвер, когда закончит последовательную передачу данных. После этого он может принимать данные, поступающие от другого устрой­ства. Резистор между выводами данных служит для ограничения тока в тех случаях, когда и микроконтроллер, и периферийное устройство выдают дан­ные на линию связи.

Рис. 3.18 - Подключение входа «Din» и выхода «Dout» к одной линии.

Сети.

Когда термин «сеть» употребляется применительно к микроконтроллерам, то имеются ввиду шины, которые используются для подключения дополни­тельных устройств и для обеспечения связи между микроконтроллерами. Та­ким образом, сеть микроконтроллеров отличается от локальной сети, такой как «Ethernet», которая вероятно приходит на ум при слове «сеть».

Существует множество стандартов (в число которых входят описанные выше Microwire и SPI), которые могут привести в недоумение по поводу того, что является, и что не является сетью. Далее под микроконтроллерной сетью будем понимать отдельную линию связи (провод) и множество под­ключенных к ней устройств, которые могут инициировать передачу сообще­ний и посылать соответствующий отклик на полученное сообщение.

В таких сетях имеется «ведущий» («master») - интеллектуальное устрой­ство, которое может инициировать передачу данных. Устройства, которые отвечают на запросы, но не могут их инициировать, называются «ведомые» («slaves»). Микроконтроллерная сеть может иметь несколько «ведущих» уст­ройств, В этом случае сетевой протокол требует включения схемы арбитра­жа, которая позволит различным «ведущим» устройствам передавать данные, не нарушая других сообщений.

Обычно в микроконтроллерной сети передается относительно мало дан­ных, поэтому требуемая для них пропускная способность весьма скромна по сравнению с сетью Ethernet. Часто микроконтроллерная сеть имеет пропуск­ную способность порядка нескольких байт в секунду, тогда как сеть персо­нальных компьютеров может передавать несколько Мбайт в секунду.