I2C TRISE register (I2C_TRISE)
Регистр управления временем нарастания фронта интерфейса I2C
Смещение (Address offset): 0x20
Reset value: 0x0000
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| Reserved | |||||||
| --- | |||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | TRISE[5:0] | ||||||
| --- | rw | ||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Изменение регистра I2C_TRISE возможно только когда отключен интерфейс I2C (PE=0 в регистре I2C_CR1).
Максимальное время нарастания фронта 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) */