Читайте также:
|
|
Порт 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
Дата добавления: 2015-11-14; просмотров: 77 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
РОRТB и РОRТC | | | Регистр RCSTA |