Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ТСИ.doc
Скачиваний:
5
Добавлен:
26.09.2019
Размер:
1.97 Mб
Скачать

Временные диаграммы работы mssp

Пример соединения двух мк через spi

Режим i2c последовательного порта mssp.

Порт I2C

R/W = 0/1 - Запись/Чтение;

Start/Stop - стартовая/стоповая комбинация;

АSК - подтверждение (низкий уровень);

Not ASK - без подтверждения; Адрес ведомого - 7 бит

Формат кадра

Порядок шагов «ведущий передатчик». Ведущий -

1) обнаруживает свободное состояние шины

2) формирует на шине Start-состояние

3) выставляет адрес ведомого, ожидая АSК от адресованного ведомого.

4) передает байты данных, ожидая АSК после каждого байта.

5) формирует на шине Stop -состояние.

Порядок шагов «ведущий приемник» такой же, но ведущий принимает байты данных, посылая АSК в ведомый передатчик после каждого байта и выставляя Not ASK после получения последнего байта.

Порт МSSР в режиме I2C поддерживает все функции ведущих и ведомых устройств, поддержку общего вызова, аппаратные прерывания по обнаружению состояния на шине I2C-bus.

Поддерживает 7-10 разрядные адреса ведомых устройств. Имеет фильтры на 100 и 400 кГц для повышения помехоустойчивости.

Для работы используются 2 вывода: SDA – данные и SCL – синхросигнал.

Регистры, связанные с работой MSSP в режиме I2C:

• SSPCON, SSPCON2 – управления

• SSPSTAT – состояния

• SSPBUF – буфер данных

• SSPSR – внутренний сдвиговый регистр

• SSPADD – адреса.

Режимы I2C:

• ведомый, 7-разрядный адрес (в SSDADD – адрес)

• ведомый, 10-разрядный адрес (в SSDADD – адрес)

• ведущий, тактовая частота = Fosc/4/(SSDADD+1)

• программная поддержка ведущего режима (для совместимости)

Включается установкой 5-го бита (SSPEN) регистра SSPCON.

SSPSTAT содержит биты: обнаружение START, STOP, флаг приема данных/адреса, указатель загрузки старшего байта адреса, бит операции (прием/передача).

Все операции по реализации протокола I2C должны быть реализованы программно с помощью управляющих и статусных битов, так как MSSP осуществляет только аппаратную поддержку.

Структурная схема модуля MSSP в режиме I2C

Регистр управления SSPCON2

GSEN

ASKSTAT

ASKDT

ASKEN

RCEN

PEN

RSEN

SEN

Бит 7

Бит 0

GSEN: разрешить прерывание при приеме адреса 0000h – общего вызова (Slave)

ASKSTAT: передача ведущего, 1/0 – нет/есть сигнал ASK от ведомого (Master)

ASKDT: прием ведущего, 1/0 – передать/нет ASK ведомому (Master).

ASKEN: сформировать сигнал ASKDT; аппаратно сбрасывается (Master).

RCEN: разрешить прием данных (Master).

PEN: сформировать STOP (Master).

RSEN: сформировать второй START (Master).

SEN: сформировать START (Master).

Асинхронно-синхронный последовательный порт (usart)

Режимы работы:

• Асинхронный (полнодуплексный)

• Ведущий синхронный (полудуплекс).

• Ведомый синхронный (полудуплекс).

Связан с регистрами SFR:

• TXSTA и RCSTA – регистры контроля и статуса передающей и приемной частей соответственно,

• RSR – внутренний сдвиговый регистр USART.

• RCREG – хранящего принятый байт и TXREG – регистра передаваемой информации. Имеет двойную буферизацию на приеме (можно принять 2 байта в буфер FIFO регистра RCREG и один – в регистр RSR).

• SPBRG – регистр скорости USART.

Для работы с портом необходимо осуществить его конфигурирование путем установки нужных битов в регистрах TXSTA и RCSTA.

Регистр TXSTA:

CSRC

TX9

TXEN

SYNC

-

BRGH

TRMT

TX9D

Бит 7

Бит 0

CSRC: 1/0 – ведущий/ведомый только в синхронном режиме

TX9: 1/0 - выбор формата посылки 9/8 бит

TXEN: 1/0 - разрешение/запрет передачи

SYNC: 1/0 - синхронный/асинхронный режим работы порта

BRGH: 1/0 - выбор скорости работы - высокая/низкая

TRMT: 1/0 - флаг состояния сдвигающего регистра передатчика (пустой/полный)

TX9D: 9-й бит передаваемых данных (может быть битом проверки на четность)