Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[87]

тактирования " ACLK -

SMCLK -

SMCLK -

I2CRXOVR

Сдвиговый регистр приема

I2CWORDI2CSBD

I SYNC = 1

Тактовый генератор I2C

I2CCLK 1

I2CSCLL

I2CSCLH

MST I2CTRX

I2CSTP I2CSTT I2CSTB

т т т

Сдвиговый регистр передачи

I2CTXUDF

I2CSSEL*

I2CBUSY

2CSCLLOW

2CNDATx

Рис. 15-1. Блок-схема USART: режим I2C

обладает уникальным адресом и может работать и как передатчик и как приемник. Устройство, подключенное к шине !2С, во время передачи данных может рассматриваться как ведущее или ведомое. Ведущий инициирует передачу данных и генерирует тактовый сигнал SCL. Любое устройство, адресованное ведущим, рассматривается как ведомый.

При обмене данными на !2С используется вывод последовательных данных (SDA) и вывод последовательного тактирования (SCK). Оба вывода SDA и SCL являются двунаправленными и должны подключаться к положительному источнику питания с использованием нагрузочного резистора.

Примечание: Уровни SDA и SCL

Уровни напряжения на выводах SDA и SCL не должны быть выше уровня VCC MSP430.


Последовательные данные (SDA) Последовательное тактирование (SCL)

Устройство A

Устройство B

Рис. 15-2. Схема подключений на шине I2C

152.1. Инициализация модуля I2C

Модуль I2C является частью периферии USART. Индивидуальный бит устанавливает, когда USART0 используется в режиме I2C, а не в режимах SPI или UART. Значение по умолчанию в регистре U0CTL устанавливает режим UART. Для работы с I2C необходимо установить биты SYNC и I2C. После инициализации модуля, модуль I2C готов для выполнения приема или передачи. Установка I2CEN разрешает работу модуля I2C.

Конфигурирование и переконфигурирование модуля I2C всегда должно выполняться только при I2CEN=0, во избежание непредсказуемого поведения. Установка I2CEN=0 вызывает следующие эффекты:

•связь по I2C останавливается;

•линии SDA и SCL переводятся в высокоимпедансное состояние;

•в регистре I2CTCTL очищаются биты 3-0, а биты 7-4 не изменяются;

•очищаются регистры I2CDCTL и I2CDR;

•сдвиговые регистры приема и передачи очищаются;

•регистры U0CTL, I2CNDAT, I2CPSC, I2CSCLL, I2CSCLH не изменяются;

•регистры I2COA, I2CSA, I2CIE, I2CIFG и I2CIV не изменяются.

Когда USART переконфигурируется из режима I2C в режимы UART или SPI, первыми должны быть очищены биты I2C, SYNC и I2CEN, затем должен быть установлен SWRST и только потом можно начать процедуру инициализации UART или SPI. Нарушение этой последовательности может привести к непредсказуемым результатам.

Примечание: конфигурирование модуля USART для работы в режиме I2C после сброса:


Необходим следующий процесс конфигурации I2C:

1)Выбрать режим I2C установкой SWRST=1(bis.b #i2c + sunc,&uoctl)

2)Выключить модуль I2C(bic.b #i2cen,&uoctl)

3)Сконфигурировать модуль I2C при I2CEN=0;

4)Программно установить I2CEN(bis.b #i2cen,&uoctl)

Нарушение последовательности выполнения этого процесса может привести к непредсказуемому поведению USART.

Примечание: переконфигурирование модуля USART для работы в режиме UART или SPI:

Когда модуль USART переконфигурируется для работы в режимах UART или SPI из режима I2C, необходимо выполнить следующие действия:

1)Очистить биты I2C, SYNC и I2CEN(clr.b &uoctl);

2)Установить SWRST(mov.b #swrst,&uoctl);

3)Продолжить процедуру инициализации UART или SPI;

Нарушение последовательности выполнения этого процесса может привести к непредсказуемому поведению USART.

1552. Последовательные данные I2C

При передаче каждого бита ведущим устройством генерируется один тактовый импульс. Модуль I2C работает с данными, организованными побайтно. Сначала перемещается старший значащий разряд, как показано на рис. 15-3.

Условие СТАРТ (S)

1 2

Сигнал подтверждения от получателя

Сигнал подтверждения от получателя

7 8 9 R/W ACK

1 2

ACK Условие СТОП (P)

Рис. 15-3. Передача данных модулем I2C

Первый после условия «СТАРТ» байт состоит из 7-разрядного адреса ведомого и бита R/nonW. Когда R/nonW=0, ведущий передает данные ведомому. Когда R/nonW=1, ведущее устройство принимает данные от ведомого. Бит ACK посылается приемником после каждого байта на 9-ом такте SCL.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]