Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ознакомительное руководство по ARM-микроконтрол...doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3.27 Mб
Скачать

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 также имеет возможность проверки принятых данных на соответствие переданному байту защиты от ошибок.

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

5.2.3. Модуль усапп (usart)

Несмотря на то, что последовательные коммуникационные порты типа RS232 уже практически не используются в персональных компьютерах, они все еще остаются популярными во многих встраиваемых применениях для организации простого последовательной интерфейса. Их высокая популярность обусловлена свойственной им надежностью работы и простотой использования. В МК STM32 интегрируется до 3 модулей УСАПП, каждый из которых поддерживает несколько расширенных режимов работы, позволяющие использовать МК в самых современных коммуникационных применениях. Все три УСАПП способны передавать данные на скорости до 4.5 Мбит/сек. Каждый из них также полностью программируется, в т.ч. размер передаваемых данных (8 или 9 бит), передача бита паритета или стоп-бита, а также скорость передачи. Один УСАПП подключен к шине APB2, которая способна синхронизироваться частотой до 72 МГц. а остальные связаны с 36-мегагерцевой шиной APB1.

УСАПП можно использовать для асинхронной связи с УАПП и модемами, а также с интерфейсами LIN, IrDA и смарт-картами.

Каждый УСАПП имеет собственный генератор скорости связи с возможностями дробного деления частоты. В отличие от обычных делителей частоты, такой генератор позволяет получить стандартные скорости связи при любой частоте синхронизации шины. Также как и остальные модули последовательных интерфейсов, каждый модуль УСАПП оснащен двумя каналами ПДП для двунаправленной связи с буфером данных. В конфигурации УАПП, модуль УСАПП может работать в нескольких режимах работы. УСАПП имеет возможность работы с однопроводной полудуплексной линией, используя для этого только вывод Tx. Для связи с модемами, а также для аппаратного управления передачей потока данных, у каждого УСАПП предусмотрены дополнительные линии управления CTS и RTS.

Модули УСАПП поддерживают возможность работы с однопроводной полудуплексной линией связи.

Каждый из УСАПП также может использоваться для подключения к шине LIN. Данная шина используется в автомобильном транспорте для низкоскоростной связи с кластерными микроконтроллерами. Все УСАПП поддерживают возможности кодера/декодера инфракрасной последовательной связи (SIR). Эти возможности отвечают стандарту IrDA по инфракрасной передаче данных на скоростях до 115200 бит/сек с использованием полудуплексной NRZ-модуляции и экономичной работой при синхронизации УСАПП частотами в пределах 1.4…2.2 МГц. Каждый УСАПП поддерживает дополнительный режим смарт-карты, в котором активизируется поддержка стандарта ISO 7618-3.

УСАПП могут использоваться в качестве интерфейса смарт-карта или IrDA.

Помимо работы в роли высокоскоростного интерфейса УАПП, каждый УСАПП может быть переведен в режим синхронной связи. Его можно использовать для связи с внешними периферийными устройствами, оснащенными SPI-совместимым интерфейсом, по 3-проводной линии. Работая в данном режиме, УСАПП работает в роли ведущего шины SPI и поддерживает возможность программирования полярности и фазы синхронизации. Благодаря этому, возможна связь с практически любой подчиненной SPI интегральной схемой.

В синхронном режиме УСАПП можно использовать в роли дополнительных ведущих интерфейсов SPI.