Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2743
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

SPI

446

циклический режим DMA не может использоваться, когда SPI доступен исключительно в режиме приема;

функция CRC не доступна, когда включен циклический режим DMA;

при необходимости использования возможностей DMA приостановки/остановки

SPI, мы должны использовать функцию HAL_SPI_DMAPause()/HAL_SPI_DMAStop()

только в обработчиках функций обратных вызовов SPI.

Вданной главе мы не будем анализировать какой-либо конкретный пример. В Главе 26 мы будем использовать периферийное устройство SPI для программирования аппаратного TCP/IP встроенного Ethernet-контроллера, который позволяет нам создавать интер- нет-приложения с платами Nucleo.

15.2.2.Максимальная частота передачи, достижимая при использовании CubeHAL

Частота SCK получается из частоты PCLK с использованием программируемого предделителя. Данный предделитель принимает значения от 21 до 28. Однако, как уже было сказано ранее несколько раз, CubeHAL добавляет неизбежные накладные расходы при управлении периферийными устройствами. И это также относится к SPI. Фактически, использование CubeHAL не дает возможности достичь всех поддерживаемых частот SPI в различных режимах работы.

Инженеры ST четко зафиксировали это в CubeHAL. Если вы откроете файл stm32XXxx_hal_spi.c, вы увидите (примерно в строке 60) две таблицы, в которых указана максимальная достижимая частота передачи при заданном режиме направления передачи (полудуплексный или полнодуплексный) и способе программирования и использования периферийных устройств (опрос, прерывания и DMA).

Например, в микроконтроллере STM32F4 мы можем достичь частоты SCK, равной fPCLK/8, если периферийные устройства SPI работают в режиме ведомого, и мы программируем их с помощью CubeHAL в режиме прерываний.

15.3. Использование CubeMX для конфигурации периферийного устройства SPI

Чтобы использовать CubeMX для включения требуемого периферийного устройства SPI, мы должны действовать в следующем порядке. Во-первых, нам нужно выбрать требуемый режим связи в представлении IP tree pane, как показано на рисунке 5. Далее нам нужно указать поведение сигнала NSS в том же представлении. После того, как эти два параметра установлены, мы можем продолжить конфигурацию других параметров SPI в представлении CubeMX Configuration.

Рисунок 5: Как выбрать режим связи SPI в CubeMX