Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mps.doc
Скачиваний:
19
Добавлен:
18.11.2019
Размер:
3.97 Mб
Скачать

17. Последовательный интерфейс spi (Serial Periferial Interface).

MOSI – Master Output, Slave Input только для Data;

MISO - Master Input, Slave Output;

SCK – синхронизация, Serial Clock;

SS – Slave Select (выбор по сигналу);

(В I2C выбор устройства был по адресу. Здесь – по отдельному сигналу).

SCL

Pol=0

D ATA

MOSI

MSB LSB

MSB – старший бит первый

LSB – младший бит первый

Данные считываются по высокому уровню SCL.

Мастер может стать слэйвом и слэйв может стать мастером. Мастер – инициатор передачи. Для управления есть 2 регистра: SPDR – регистр данных, SPCR – регистр управления для SPI.

SPIE SPE DORD MSTR CPOL CPH SR0 SR1

7 6 … 0

SPIE – разрешение прерывания по готовности преобразования.

SPE – переопределение выводов порта Р1 (4, 5, 6, 7).

1 – для SPI он будет использоваться.

0 – для обычн.

DORD – старшим или младшим битом вперед.

1 – LSB,

0 – MSB.

CPOL – меняет полярность синхросигнала.

CPH – меняет фазу синхросигнала.

SR1, SR0 – выбираем скорость передачи (fт/4, fт/16, fт/64, fт/128).

MSTR – выбирается мастер/слэйв.

Интерфейс очень гибкий:

  1. Изменение направления битов DATA (Можно сначала младшие биты, потом старшие).

  2. Изменение уровня SCL (Считывать данные по низкому уровню, а менять – по высокому).

SPI сейчас широко применяется для внутреннего схемного программирования контроллеров(не вынимать МК, чтобы вставить в программатор). Но это в случае, если для память программ есть flash-память.

18. Последовательный интерфейс can.

Двухпроводная дифференциальная связь. Используется в МК фирмы Pillips. Обычно в различных устройствах автомобилей.

Узлы объединяются по линии, по которой передаются сигналы дифференциального напряжения (повыш. Помехоустойчивость). Используется 2 уровня: канальный (общая шина) и физический из семиуровневой модели OSI.

Протокол интерфейса. Кадр данных.

SOF – start of frame;

ARBITRATION = ID и RTR. Каждый узел может быть мастером и слэйвом. На линии выставлен 0, тот и передает. Нужно выставить, кому предназначен пакет. Но адрес узла не указывается. Есть идентификатор данных ID.

RTR – бит запроса передачи.

CTRL – содержит длину данных ( 4 бита) + 2 зарезервированных.

DATA – данные (макс. 8 байт).

CRC – поле циклического контроля.

АСK – его посылает получатель.

del – разделитель.

Есть еще кадры: кадр ошибки, кадр перегрузки (формирует задержку между кадрами). Между кадрами: межкадровый интервал.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]