30300

Настройка частоты тактирования контроллера SSP в режиме ведущего и ведомого устройства


Как правильно настроить частоту тактирования контроллера SSP в режиме ведущего и ведомого устройства?

При настройке частоты тактирования контроллера SSP необходимо руководствоваться пунктом спецификации "Соотношения между тактовыми сигналами", согласно которому, частота тактирования SSPCLK, поступающая из контроллера тактовых частот, должна быть в 2 или более раз выше частоты обмена SSP_CLK в режиме ведущего устройства, либо в 12 или более раз выше частоты обмена SSP_CLK в режиме ведомого устройства:

FSSPCLK(min) => 2 x FSSPCLKOUT(max) [for master mode]
FSSPCLK(min) => 12 x FSSPCLKIN(max) [for slave mode].

В режиме ведущего устройства скорость обмена SSP_CLK устанавливается контроллером SSP с помощью делителей CPSDVR и SCR:

SSP_CLK = SSPCLK / (CPSDVR * (1 + SCR)).

В режиме ведомого устройства скорость обмена SSP_CLK задаётся внешним ведущим устройством. В зависимости от предполагаемой частоты обмена SSP_CLK необходимо подобрать частоту SPPCLK таким образом, чтобы она была выше не менее чем в 12 раз частоты обмена SSP_CLK, поступающей с внешнего ведущего устройства.
При этом также необходимо настроить делители CPSDVR и SCR для получения предполагаемой частоты обмена SSP_CLK:

SSP_CLK = SSPCLK / (CPSDVR * (1 + SCR)).

Это необходимо для работы внутренней логики контроллера SSP. Например, прерывание по таймауту приемника SSPRTINTR возникает в случае, если буфер FIFO приемника не пуст, и на вход приемника не поступало новых данных в течение периода времени, необходимого для передачи 32 бит. С помощью делителей CPSDVSR и SCR указывается предполагаемая внешняя частота обмена SSP_CLK, и именно на этой частоте контроллер SSP отсчитывает время, необходимое для передачи 32 бит. Рекомендуется устанавливать делители CPSDVSR и SCR для указания предполагаемой внешней частоты обмена SSP_CLK.

Документация

Теги

Был ли ответ полезным?