5.2. Коммуникационные увв

В домене с резервированием питанием также имеется десять 16-битных регистров, которые функционируют как энергонезависимое статическое ОЗУ. Хранящиеся в них данные можно стереть путем выполнения записи в соответствующий регистр управления. Этот же регистр управляет активностью внешнего входа вмешательства. Состояние данного вывода (высокое или низкое) можно настроить во время запуска. В ходе нормальной работы изменение логического уровня на этом входе приведет к запуску события обнаружения вмешательства, что вызовет очистку регистров с резервированием питания. Также можно активировать прерывание, которое позволяет МК выполнить защитные действия при обнаружении вмешательства.

5.2.1. Интерфейс spi

Для организации быстродействующей связи с интегральными схемами у МК STM32 имеется два модуля SPI, предназначенных для полнодуплексной передачи данных на частоте до 18МГц. Важно обратить внимание, что один модуль SPI подключен высокоскоростной шине УВВ APB2, которая может работать на частоте до 72МГц. Второй модуль связан с более низкоскоростной шиной APB1, максимальное быстродействие которой ограничивается частотой 36 МГц. У каждого из модулей SPI предусмотрена возможность программирования полярности и фазы синхронизации и формата передаваемых данных (8 или 16 бит, передача первым старшего или младшего значащего разряда). Кроме того, каждый модуль SPI может работать в ведущем или подчиненном режиме, что позволяет ему связаться с любой другой ИС, оснащенной интерфейсом SPI.

Каждый модуль SPI может работать в ведущем или подчиненном режиме на частоте до 18МГц. Для повышения эффективности передачи данных можно использовать два канала ПДП

Для передачи данных на больших скоростях у каждого модуля SPI предусмотрено два канала ПДП: один для передачи данных и один для копирования принятых данных в память. С помощью ПДП можно добиться автономной двунаправленной передачи высокоскоростных потоков данных. В дополнение к стандартным возможностям интерфейса SPI, модуль SPI микроконтроллеров STM32 содержит два аппаратных блока CRC. Один блок CRC используется для передачи данных, а другой - для приема. Оба блока могут генерировать и проверять коды CRC8 и CRC16. Данная возможность на практике необходима при использовании одного из модулей SPI для подключения к карте MMC/SD.

Модуль SPI содержит аппаратный блок CRC, необходимый для подключения к картам Flash памяти типа MMC и SD

5.2.2. Модуль i2c

Для связи с интегральными схемами у МК STM32 имеется еще один специальный интерфейс - I2C. Интерфейс I2C может работать в ведущем или подчиненном режиме и поддерживает возможность арбитра шины, что необходимо в мультимастерных системах. Интерфейс I2C поддерживает оба скоростных режима шины: стандартный со скоростями до 100 кГц и быстродействующий со скоростями до 400 кГц.

Модуль I2C использует 7- и 10-битные режимы адресации. Модуль полностью реализует протокол передачи данных по шине и требует для управления только необходимой протоколу передачи информации. Модуль I2C может генерировать два прерывания: одно при обнаружении ошибок и другое для управления адресом связи и передаваемыми данными. Кроме того, блок ПДП предоставляет два канала, которые можно использовать для чтения из буфера передачи и записи данных в этот буфер. Таким образом, сразу после задания адреса и подлежащих передаче данных можно начать двунаправленную передачу данных полностью под аппаратным управлением.

Два модуля I2C дополнены возможностями, которые делают их совместимыми с шинами SMBus и PMBus. В них входит аппаратный блок коррекции ошибок

Благодаря поддержке всех перечисленных возможностей, модули I2C являются скоростными и эффективными шинными интерфейсами. Однако у них реализован ряд дополнительных возможностей, позволяющих расширить базовые функции шины I2C. В модуль I2C микроконтроллеров STM32 входит блок аппаратной проверки ошибок в пакете (блок PEC). После активизации, блок PEC будет генерировать байт с CRC-кодом для проверки ошибок.

Данный байт автоматически помещается в конец передаваемого потока данных. Блок PEC также имеет возможность проверки принятых данных на соответствие переданному байту защиты от ошибок.

Данный байт автоматически помещается в конец передаваемого потока данных. Блок PEC также имеет возможность проверки принятых данных на соответствие переданному байту защиты от ошибок.

Модуль I2C МК STM32 также поддерживает два дополнительных коммуникационных протокола: SMBus и PMBus. Протокол SMBus был предложен Intel в 1995 году для использования внутри ПК и серверов. Протоколом SMBus оговариваются требования к канальному слою, в т.ч. использование PEC и передача стандартизованных конфигурационных данных между BIOS компьютера и ИС различных производителей. Работая в режиме SMBus, модуль I2C, помимо PEC, поддерживает ряд других возможностей протокола SMBus. К их числу относятся протокол разрешения адреса SMN, протокол уведомления host-устройства и работа с сигналом SMBALERT. Протокол PMBus является разновидностью SMBus и предназначен для работы в системах электропитания. PMBus позволяет конфигурировать, программировать и контролировать в реальном времени системы электропитания.

Соседние файлы в папке ПЦиПУ. материалы для Курсового проекта Тютякин А.В.