Регистр синхронизации (I2C_TIMINGR)
(...)
PRESC [3: 0] : Предварительный пересчет времени
Это поле используется для предварительного масштабирования I2CCLK, чтобы сгенерировать тактовый период t_PRESC, используемый для установки данных и счетчиков удержания (см. Значения времени I2C на стр. 587) и для счетчиков высокого и низкого уровня SCL(см. инициализацию мастера I2C на стр. 602).
t_PRESC = (PRESC+1) x t_I2CCLK
SCLDEL [3: 0] : время настройки данных Это поле используется для генерации задержкиt_SCLDEL между фронтом SDA и фронтом SCL.В режиме master и в режиме slave с NOSTRETCH = 0 линия SCL растягивается низко в течение t_SCLDEL.
t_SCLDEL = (SCLDEL+1) x t_PRESC
Примечание: t_SCLDEL используется для генерации синхронизации t_SU: DAT.
SDADEL [3: 0] : время удержания данных. Это поле используется для генерации задержки t_SDADEL между задним фронтом SCL и фронтом SDA.В режиме master и в режиме slave с NOSTRETCH = 0 линия SCL растягивается на низком уровне во время t_SDADEL.
t_SDADEL = SDADEL x t_PRESC
Примечание: SDADEL используется для генерации синхронизации t_HD: DAT.
SCLH [7: 0] : высокий период SCL (основной режим) Это поле используется для генерации высокого периода SCL в основном режиме.
t_SCLH = (SCLH+1) x t_PRESC
Примечание: SCLH также используется для генерации синхронизации t_SU: STO и t_HD: STA.
SCLL [7: 0] : Низкий период SCL (основной режим) Это поле используется для генерации низкого периода SCL в основном режиме.
t_SCLL = (SCLL+1) x t_PRESC
Примечание: SCLL также используется для генерации t_BUF иt_SU: тайминги STA.
Более подробную информацию о предварительных скейлерах можно найти в параграфах о таймерах (стр. 433).