Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_Методичка_07-04-11.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
7.8 Mб
Скачать

6.4.5.Тактирование

Используя биты управления тактовой частотой регистра конфигурации модуля SPI0 (SPI0CFG), можно выбрать четыре комбинации фазы и полярности импульсов тактирования последовательного интерфейса. Бит CKPHA (SPI0CFG.5) выбирает одну из двух фаз тактового сигнала (фронт, используемый для «защелкивания» данных). Бит CKPOL (SPI0CFG.4) выбирает активный фронт (передний или задний) тактового сигнала. Как ведущий, так и ведомые устройства должны быть настроены на использование одинаковых фазы и полярности тактовых импульсов. При изменении фазы и полярности тактовых импульсов модуль SPI0 следует отключить сбросом в 0 бита SPIEN (SPI0CN.0). Временные диаграммы сигналов данных и тактирования для ведущего режима показаны на рисунке 20.5. Для ведомого режима временные диаграммы сигналов данных и тактирования показаны на рисунках 20.6 и 20.7. Следует иметь ввиду, что бит CKPHA должен быть сброшен в 0 как у ведущего, так и у ведомого SPI при организации взаимодействия между двумя следующими устройствами: C8051F04x, C8051F06x, C8051F12x, C8051F31x, C8051F32x, C8051F33x и C8051F36x.

Регистр установки тактовой частоты модуля SPI0 SPI0CKR (см. SFR-описание 6.4.3) управляет частотой тактирования последовательного интерфейса при работе в ведущем режиме. При работе в ведомом режиме содержимое этого регистра игнорируется. Когда модуль SPI0 настроен как ведущий, максимальная скорость передачи данных (в бит/сек) равна половине системной тактовой частоты (но не более 12,5 МГц). Когда модуль SPI0 настроен как ведомый, максимальная скорость передачи данных (в бит/сек) для полнодуплексного режима работы равна 1/10 системной тактовой частоты, при условии, что сигналы от ведущего SCK, NSS (в 4-х проводном ведомом режиме) и последовательные входные данные синхронизированы с системной тактовой частотой ведомого. Если сигналы от ведущего SCK, NSS и последовательные входные данные асинхронны, то максимальная скорость передачи данных (в бит/сек) должна быть меньше 1/10 системной тактовой частоты. В особом случае, когда ведущему требуется только передавать данные ведомому и не требуется принимать от него данные (т.е. полудуплексный режим работы), ведомый модуль SPI может принимать данные с максимальной скоростью (в бит/сек), равной 1/4 системной тактовой частоты. Это справедливо при условии, что сигналы от ведущего SCK, NSS и последовательные входные данные синхронизированы с системной тактовой частотой ведомого.

Рис. 6.4.5 Временные диаграммы сигналов данных/тактирования

в режиме ведущего

Рис. 6.4.6 Временные диаграммы сигналов данных/тактирования

в режиме ведомого (CKPHA = 0)

Рис. 6.4.7 Временные диаграммы сигналов данных/тактирования

в режиме ведомого (CKPHA = 1)

6.4.6.Регистры специального назначения модуля spi0

Для доступа к интерфейсу SPI и управления им используются четыре регистра специального назначения: регистр управления SPI0CN, регистр данных SPI0DAT, регистр конфигурации SPI0CFG и регистр установки тактовой частоты SPI0CKR. Все эти регистры описаны ниже.

SFR-описание 6.4.1. SPI0CFG Регистр конфигурации модуля SPI0

SFR-описание 6.4.2. SPI0CN Регистр управления модуля SPI0

SFR-описание 6.4.3. SPI0CKR Регистр установки тактовой частоты модуля SPI0

SFR-описание 6.4.4. SPI0DAT Регистр данных модуля SPI0