В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Компоненты > Микроконтроллеры > MSP430 > Архитектура MSP430x1xx
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


15.3 Регистры модуля I2C

Регистры модуля I2C и соответствующие адреса приведены в таблице 15-3.

Таблица 15-3. Регистры I2C

Регистр Краткое
обозначение
Тип
регистра
Адрес Исходное
состояние
Разрешение прерывания I2C I2CIE Чтение/запись 050h Сброс с PUC
Флаг прерывания I2C I2CIFG Чтение/запись 051h Сброс с PUC
Подсчет данных I2C I2CNDAT Чтение/запись 052h Сброс с PUC
Управление USART U0CTL Чтение/запись 070h Сброс с PUC
Управление передачей I2C I2CTCTL Чтение/запись 071h Сброс с PUC
Управление данными I2C I2CDCTL Только чтение 072h Сброс с PUC
Прескалер I2C I2CPSC Чтение/запись 073h Сброс с PUC
«Высокий» SCL I2C I2CSCLH Чтение/запись 074h Сброс с PUC
«Низкий» SCL I2C I2CSCLL Чтение/запись 075h Сброс с PUC
Данные I2C I2CDR Чтение/запись 076h Сброс с PUC
Собственный адрес I2C I2COA Чтение/запись 0118h Сброс с PUC
Адрес ведомого I2C I2CSA Чтение/запись 011Ah Сброс с PUC
Вектор прерываний I2C I2CIV Только чтение 011Ch Сброс с PUC

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


RXDMAEN Бит 7 Разрешение DMA при приеме. Этот бит включает контроллер DMA, чтобы переносить данные из модуля I2C после приема данных модулем I2C. Когда RXDMAEN=1, RXRDYIE автоматически очищается. 0 Выключен 1 Включен
TXDMAEN Бит 6 Разрешение DMA при передаче. Этот бит включает контроллер DMA, что может быть использовано для переноса данных в модуль I2C для передачи. Когда TXDMAEN=1, TXRDYIE автоматически очищается. 0 Выключен 1 Включен
I2C Бит 5 Включение режима I2C. Этот бит позволяет выбрать режим I2C или SPI, когда SYNC=1. 0 Режим SPI 1 Режим I2C
XA Бит 4 Расширенная адресация 0 7-разрядная адресация 1 10-разрядная адресация
LISTEN Бит 3 Прослушивание. Этот бит устанавливает режим обратной петли. Бит LISTEN действителен только когда MST=1 и I2CTRX=1 (ведущий передатчик). 0 Нормальный режим 1 SDA внутренне подключается назад к приемнику (обратная петля)
SYNC Бит 2 Включение синхронного режима 0 Режим UART 1 Режим SPI или I2C
MST Бит 1 Выбор режима ведущий/ведомый. Этот бит выбирает режим ведомого или ведущего. Бит MST автоматически очищается при потере арбитража. 0 Режим ведомого 1 Режим ведущего
I2CEN Бит 0 Включение I2C. Бит включает или выключает модуль I2C. В исходном состоянии он установлен, и для UART или SPI функционирует как SWRST. Когда первыми после PUC устанавливаются биты I2C и SYNC, этот бит функционирует как I2CEN и автоматически очищается. 0 Работа I2C запрещена. 1 Работа 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
I2CWORD Бит 7 Режим слова I2C. Выбирается режим байта или слова для регистра данных I2C. 0 Режим байта 1 Режим слова
I2CRM Бит 6 Режим повтора I2C 0 I2CNDAT определяет количество переданных байтов 1 Количество передаваемых байт определяется программным обеспечением. I2CNDAT не используется.
I2CSSELx Биты
5-4
Выбор источника тактирования I2C. Когда MST=1 и арбитраж потерян, автоматически используется внешний сигнал SCL. 00 Нет тактирования – модуль I2C неактивен 01 ACLK 10 SMCLK 11 SMCLK
I2CTRX Бит 3 Передача I2C. Этот бит выбирает функцию передачи или приема для контроллера I2C, когда MST=1. Когда MST=0, бит R/W байта адреса определяет направление данных и I2CTRX отражает направление вывода SDA. 0 Режим приема. Данные принимаются на выводе SDA. 1 Режим передачи. Данные передаются на выводе SDA.
I2CSTB Бит 2 Стартовый байт. Установка бита I2CSTB при MST=1 инициирует стартовый байт. 0 Нет действия 1 Отправка условия СТАРТ, стартового байта (03h), но не условия останова.
I2CSTP Бит 1 Бит стоп. Этот бит используется для генерации условия СТОП. После условия СТОП бит I2CSTP автоматически очищается. 0 Нет действия 1 Отправка условия СТОП
I2CSTT Бит 0 Бит старт. Этот бит используется для генерации условия СТАРТ. После условия СТАРТ бит I2CSTT автоматически очищается. 0 Нет действия 1 Отправка условия СТАРТ

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

7 6 5 4 3 2 1 0
Не исполь
зуется
Не исполь
зуется
Не исполь
зуется
I2C
SCLLOW
I2XSBD I2XTXUDF I2CRXOVR I2CBB
r0 r0 r0 r-0 r-0 r-0 r-0 r-0


Не исполь
зуется
Биты
7-5
Не используются. Всегда читаются как 0.
I2C
SCLLOW
Бит 4 «Низкий» SCL I2C. Этот бит показывает, что ведомый удерживает линию SCL в низком состоянии, когда MSP430 – ведущий. Этот бит не используется в режиме ведомого. 0 SCL не удерживается в состоянии низкого уровня. 1 SCL удерживается в состоянии низкого уровня.
I2CSBD Бит 3 Один байт данных I2C. Этот бит показывает, что содержится в регистре приема – слово или байт. Бит I2CSBD действителен только когда I2CWORD=1. 0 Слово было принято полностью 1 В I2CDR достоверен только младший байт
I2CTXUDF Бит 2 Опустошение при передаче I2C 0 Опустошения нет 1 Произошло опустошение при передаче
I2CRXOVR Бит 1 Переполнение при приеме I2C. 0 Переполнения при приеме не произошло. 1 Произошло переполнение при приеме.
I2CBB Бит 0 Бит занятости I2C. Условие старта устанавливает I2CBB в 1. I2CBB сбрасывается условием стоп или при I2CEN=0. 0 Не занято 1 Занято

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

15 14 13 12 11 10 9 8
Старший байт данных I2C (передается вторым)
rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0


7 6 5 4 3 2 1 0
Младший байт данных I2C
(передается первым)
rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0


I2CDRx Биты
15-0
Данные 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


I2CNDATx Биты
7-0
Количество байтов I2C. Эти биты обеспечивают автоматический подсчет байтов данных. В режиме слова I2CNDATx должен иметь четное значение.
    Запись в регистр:             Количество байтов
    Чтение из регистра, I2CBB=1:  Количество байтов, остающихся при передаче
    Чтение из регистра, I2CBB=0:  Количество байтов, которые были переданы
    


Примечание: Регистр I2CNDAT
Не изменяйте регистр I2CNDAT, когда I2CBB=1 и I2CRM=0.

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

I2CPSCx Биты
7-0
Прескалер тактирования I2C. Входная тактовая частота I2C делится содержимым I2CPSCx, обеспечивая внутреннюю тактовую частоту I2C. Коэффициент деления равен I2CPSC+1.
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

I2CSCLHx Биты 7-0 Сдвиговый регистр высокого уровня тактовых импульсов I2C. Эти биты определяют продолжительность высокого уровня сигнала на SCL, когда контроллер I2C находится в режиме ведущего. Длительность высокого уровня SCL составляет (I2CSCLH + 2) * I2CPSC.
000h Не используется
001h Не используется
002h Не используется
003h Длительность высокого уровня SCL = 5 * I2CPSC
.
.
0FFh Длительность высокого уровня SCL = 257 * I2CPSC

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

I2CSCLLx Биты
7-0
Сдвиговый регистр низкого уровня тактовых импульсов I2C. Эти биты определяют продолжительность низкого уровня сигнала на SCL, когда контроллер I2C находится в режиме ведущего. Длительность низкого уровня SCL составляет (I2CSCLL + 2) * I2CPSC.
000h Не используется
001h Не используется
002h Не используется
003h Длительность низкого уровня SCL = 5 * I2CPSC
.
.
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 rw-0 rw-0


7 6 5 4 3 2 1 0
0 I2COAx
r0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0

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

I2COAx Биты
15-0
Собственный адрес I2C. Регистр I2COA содержит локальный адрес контроллера 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 3 2 1 0
I2COAx
rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0

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

I2COAx Биты
15-0
Собственный адрес I2C. Регистр I2COA содержит локальный адрес контроллера I2C MSP430. Регистр I2COA выровнен по правому краю. Старшим битом (MSB) является 9-ый бит. Биты 15-10 всегда равны 0.

I2CSA, регистр адреса ведомого 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 3 2 1 0
I2CSAx
rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0


I2CSAx Биты
15-0
Адрес ведомого I2C. Регистр I2CSA содержит адрес внешнего ведомого устройства, которое адресуется MSP430. Он используется только в режиме ведущего. Регистр I2CSA выровнен по правому краю. Старшим битом (MSB) является 6-ой бит. Биты 15-7 всегда равны 0.

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

15 14 13 12 11 10 9 8
0 0 0 0 0 0 I2CSAx
r0 r0 r0 r0 r0 r0 rw-0 rw-0


7 6 5 4 3 2 1 0
I2CSAx
rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0 rw-0


I2CSAx Биты
15-0
Адрес ведомого I2C. Регистр I2CSA содержит адрес внешнего ведомого устройства, которое адресуется MSP430. Он используется только в режиме ведущего. Регистр I2CSA выровнен по правому краю. Старшим битом (MSB) является 9-ый бит. Биты 15-10 всегда равны 0.


<-- Предыдущая страница Оглавление Следующая страница -->