Файл: Семейство микроконтроллеров 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 |
|||||||||