I2C TRISE register (I2C_TRISE)

Регистр управления временем нарастания фронта интерфейса I2C

Смещение (Address offset): 0x20

Reset value: 0x0000

15141312111098
Reserved
---
00000000
76543210
Reserved TRISE[5:0]
---rw
00000000


Изменение регистра I2C_TRISE возможно только когда отключен интерфейс I2C (PE=0 в регистре I2C_CR1).



Биты
Имя
Описание
15:6
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса.
5:0
TRISE[5:0]
Maximum rise time in Fm/Sm mode (Master mode)
Кол-во тактов APB1 через которое проверяется состояние SCL на нарастающем фронте

Максимальное время нарастания фронта SCL Tr_max в Sm-режиме равно 1000 нс = 1 мс, в Fm-режиме - 300 нс.

Расчет по формуле TRISE = Tr_max/TPCLK1 + 1;

В режиме Standard-mode (Sm):

  TRISE = 10-6 * fPCLK1 + 1;

  для fPCLK1=36 МГц, TRISE = 10-6 * 36 * 106 + 1 = 37.

В режиме Fast-mode (Fm):

  TRISE = 0.3 * 10-6 * fPCLK1 + 1;

  для fPCLK1=36 МГц, TRISE = 0.3 * 10-6 * 36 * 106 + 1 = 11.8 => 12.

Значение фильтра помех также может быть добавлено к TRISE.

Если результат не целое число, то TRISE must be programmed with the integer part, in order to respect the tHIGH parameter.

Изменение TRISE возможно только когда отключен интерфейс I2C (PE=0 в регистре I2C_CR1).



/******************  Bit definition for I2C_TRISE register  *******************/

#define  I2C_TRISE_TRISE   ((uint8_t)0x3F)   /* Maximum Rise Time in Fast/Standard mode (Master mode) */