Файл: Семейство микроконтроллеров MSP430X1XX, руководство пользователя (2004).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 2842

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

MSP430x1xxFamily

U0CTL, регистр управления USART0 в режиме I2C

7

6

5

4

3

2

1

0

RXDMAEN

TXDMAEN

I2C

XA

LISTEN

SYNC

MST

I2CEN

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-1

Разрешение DMA при приеме. Этот бит разрешает исполь-

зовать контроллер DMA для переноса принятых модулем I2C

RXDMAEN

Бит 7

данных. Когда RXDMAEN=1, RXRDYIE игнорируется.

0

– Запрещено

1

– Разрешено

Разрешение DMA при передаче. Этот бит разрешает исполь-

зовать контроллер DMA для переноса данных в модуль I2C

TXDMAEN

Бит 6

для их последующей передачи. Когда TXDMAEN=1, TXRDYIE

игнорируется.

0

– Запрещено

1

– Разрешено

Включение режима I2C. Этот бит позволяет выбрать режим

I2C

Бит 5

I2C или SPI, когда SYNC=1.

0

– Режим SPI

1

– Режим I2C

Расширенная адресация

XA

Бит 4

0 – 7-разрядная адресация

1

– 10-разрядная адресация

Прослушивание. Этот бит устанавливает режим обратной пет-

ли. Бит LISTEN действителен только когда MST=1 и I2CTRX=1

LISTEN

Бит 3

(ведущий передатчик).

0

– Нормальный режим

1

– SDA внутренне подключается назад к приемнику (обрат-

ная петля).

Включение синхронного режима

SYNC

Бит 2

0 – Режим UART

1

– Режим SPI или I2C

Ведущий. Этот бит выбирает режим ведомого или ведущего.

Бит MST автоматически очищается при потере арбитража или

MST

Бит 1

генерации условия СТОП.

0

– Режим ведомого

1

– Режим ведущего

Включение I2C. Бит включает или выключает модуль I2C. В

исходном состоянии он установлен, и для UART или SPI фун-

кционирует как SWRST. Когда первыми после PUC устанавли-

I2CEN

Бит 0

ваются биты I2C и SYNC, этот бит функционирует как I2CEN и

очищается автоматически.

0

– Работа I2C запрещена.

1– Работа I2C разрешена.

Библиотека Компэла

286


Раздел XV. Периферийный интерфейс USART, режим I2C

I2CTCTL, регистр управления передачей режиме I2C

7

6

5

4

3

2

1

0

I2CWORD

I2CRM

I2CSSELx

I2CTRX

I2CSTB

I2CSTP

I2CSTT

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Модифицируется, только когда I2CEN=0

Режим слова I2C. Выбирается режим байта или слова для

I2CWORD

Бит 7

регистра данных I2C.

0

– Режим байта

1

– Режим слова

Режим повтора I2C

I2CRM

Бит 6

0

– I2CNDAT определяет количество переданных байтов.

1

– Количество передаваемых байт определяется програм-

мным обеспечением. I2CNDAT не используется.

Выбор источника тактирования I2C. Когда MST=1 и арбитраж

потерян, автоматически используется внешний сигнал SCL.

I2CSSELx

Биты 5-4

00 – Нет тактирования – модуль I2C неактивен

01 – ACLK

10 – SMCLK

11 – SMCLK

Передача I2C. Этот бит выбирает функцию передачи или при-

ема для контроллера I2C когда MST=1. Когда MST=0, бит R/W

I2CTRX

Бит 3

байта адреса определяет направление данных. I2CTRX должен

быть сброшен для нормальной работы в режиме ведомого.

0

– Режим приема. Данные принимаются на выводе SDA.

1

– Режим передачи. Данные передаются на выводе SDA.

Стартовый байт. Установка бита I2CSTB при MST=1 иниции-

рует стартовый байт когда I2CSTT=1. После инициирования

I2CSTB

Бит 2

стартового байта, I2CSTB автоматически очищается.

0

– Нет действия

1

– Отправка условия СТАРТ и стартового байта (01h), но не

условия СТОП.

Бит СТОП. Этот бит используется для генерации условия

СТОП. После условия СТОП бит I2CSTP автоматически очи-

I2CSTP

Бит 1

щается.

0

– Нет действия

1

– Отправка условия СТОП

Бит СТАРТ. Этот бит используется для генерации условия

СТАРТ. После условия СТАРТ бит I2CSTT автоматически

I2CSTT

Бит 0

очищается.

0

– Нет действия

1

– Отправка условия СТАРТ

Библиотека Компэла

287


MSP430x1xxFamily

I2CDCTL, регистр управления данными I2C

7

6

5

4

3

2

1

0

Не ис-

Не ис-

I2C

пользу-

пользу-

I2CBUSY

I2CSBD

I2CTXUDF

I2CRXOVR

I2CBB

SCLLOW

ется

ется

r0

r0

r-0

r-0

r-0

r-0

r-0

r-0

Не используется

Биты 7-6

Не используются. Всегда читаются как 0.

Занятость I2C

I2CBUSY

Бит 5

0 – Модуль I2C свободен (в режиме ожидания – IDLE)

1

– Модуль I2C занят

«Низкий» SCL I2C. Этот бит показывает, что ведомый удержи-

вает линию SCL в низком состоянии, когда MSP430 ведущий,

I2CSCLLOW

Бит 4

и не используется в режиме ведомого.

0

– SCL не удерживается в состоянии низкого уровня.

1

– SCL удерживается в состоянии низкого уровня.

Один байт данных I2C. Этот бит показывает, что содержится в

регистре приема – слово или байт. Бит I2CSBD действителен

I2CSBD

Бит 3

только когда I2CWORD=1.

0

– Слово было принято полностью

1

– В I2CDR достоверен только младший байт

Опустошение при передаче I2C

I2CTXUDF

Бит 2

0 – Опустошения нет

1

– Произошло опустошение при передаче

Переполнение при приеме I2C.

I2CRXOVR

Бит 1

0 – Переполнения при приеме не произошло.

1

– Произошло переполнение при приеме.

Бит занятости I2C. Условие СТАРТ устанавливает I2CBB в 1.

I2CBB

Бит 0

I2CBB сбрасывается условием СТОП или при I2CEN=0.

0

– Шина I2C не занята

1

– Шина I2C занята

I2CDRW, I2CDRB регистр данных I2C

15

14

13

12

11

10

9

8

Старший байт I2CDRW

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

7

6

5

4

2

1

0

3

Младший байт I2CDRW, байт I2CDRB

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Данные I2C. Когда I2CWORD=1, регистр называется I2CDRW.

I2CDRW/I2CDRB

Биты 15-0/Биты 7-0

Когда I2CWORD=0, регистр называется I2CDRB. Когда

I2CWORD=1, любая попытка изменить регистр байтной

командой будет безуспешной и регистр не будет обновлен.

Библиотека Компэла

288


Раздел XV. Периферийный интерфейс USART, режим I2C

I2CNDAT, регистр подсчета переданных байтов I2C

7

6

5

4

3

2

1

0

I2CNDATx

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Количество байтов I2C. Этот регистр обеспечивают автоматичес-

I2CNDATx

Биты 7-0

кий подсчет байтов данных в режиме ведущего. В режиме слова

I2CNDATx должен иметь четное значение.

I2CPSC, регистр прескалера тактирования I2C

7

6

5

4

3

2

1

0

I2CPSCx

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Модифицируется, только когда I2CEN=0

Прескалер тактирования I2C. Входная тактовая частота I2CIN мо-

дуля I2C делится содержимым I2CPSCx, обеспечивая внутреннюю

тактовую частоту I2C. Коэффициент деления равен I2CPSC+1.

Значения I2CPSCx > 4 не рекомендуются. Для утановки частоты

I2CPSCx

Биты 7-0

SCL должны использоваться регистры I2CSCLL и I2CSCLH.

000h – Деление на 1

001h – Деление на 2

.

.

0FFh – Деление на 256

I2CSCLH, сдвиговый регистр высокого уровня сигналов тактирования I2C

7

6

5

4

3

2

1

0

I2CSCLHx

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Модифицируется, только когда I2CEN=0

Сдвиговый регистр высокого уровня тактовых импульсов I2C. Эти биты определяют длительность высокого уровня сигнала на SCL, когда контроллер I2C находится в режиме ведущего. Длительность высокого уровня SCL составляет (I2CSCLH + 2)×(I2CPSC+1). 000h – Длительность высокого уровня SCL = 5×(I2CPSC+1)

001h – Длительность высокого уровня SCL = 5×(I2CPSC+1)

I2CSCLHx Биты 7-0 ×

002h – Длительность высокого уровня SCL = 5 (I2CPSC+1) 003h – Длительность высокого уровня SCL = 5×(I2CPSC+1) 004h – Длительность высокого уровня SCL = 6×(I2CPSC+1)

.

.

0FFh – Длительность высокого уровня SCL = 257×I2CPSC

Библиотека Компэла

289


MSP430x1xxFamily

I2CSCLL, сдвиговый регистр низкого уровня сигналов тактирования I2C

7

6

5

4

3

2

1

0

I2CSCLLx

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Модифицируется, только когда I2CEN=0

Сдвиговый регистр низкого уровня тактовых импульсов I2C. Эти

биты определяют длительность низкого уровня сигнала на SCL,

когда контроллер I2C находится в режиме ведущего. Длительность низкого уровня SCL составляет (I2CSCLL + 2)×(I2CPSC+1). 000h – Длительность низкого уровня SCL = 5×(I2CPSC+1)

001h – Длительность низкого уровня SCL = 5×(I2CPSC+1)

I2CSCLLx Биты 7-0 ×

002h – Длительность низкого уровня SCL = 5 (I2CPSC+1) 003h – Длительность низкого уровня SCL = 5×(I2CPSC+1) 004h – Длительность низкого уровня SCL = 6×(I2CPSC+1)

.

.

0FFh – Длительность низкого уровня SCL = 257×I2CPSC

I2COA, регистр собственного адреса I2C в 7-разрядном адресном режиме

15

14

13

12

11

10

9

8

0

0

0

0

0

0

0

0

r0

r0

r0

r0

r0

r0

r0

r0

7

6

5

4

2

1

0

3

0

I2COAx

r0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Модифицируется, только когда I2CEN=0

Собственный адрес I2C. Регистр I2COA содержит локальный

I2COAx

Биты 15-0

адрес контроллера I2C MSP430. Регистр I2COA выровнен по

правому краю. Старшим битом (MSB) является 6-ой бит.

Биты 15-7 всегда равны 0.

I2COA, регистр собственного адреса I2C в 10-разрядном адресном режиме

15

14

13

12

11

10

9

8

0

0

0

0

0

0

I2COAx

r0

r0

r0

r0

r0

r0

rw-0

rw-0

7

6

5

4

2

1

0

3

I2COAx

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

rw-0

Библиотека Компэла

290