Расшифровка терминов и аббревиатур, часто используемых в документации и исходном коде STM32.
ADC Analog-Digital Converter, аналого-цифровой преобразователь, АЦП.
AFIO Alternative Function of I/O pin, альтернативная функция ножки ввода/вывода.
AHB, APB аббревиатуры для Advanced High-performance Bus и Advanced Peripheral Bus, это внутренние шины микроконтроллера, обеспечивающих внутренний высокопроизводительный обмен данными между аппаратными блоками микроконтроллера, его ядром и памятью. Матрица шин AHB и APB соединяет периферийные устройства и память микроконтроллера с его ядром и контроллером DMA. Обе эти шины входят в состав архитектуры AMBA. Хотя шины AHB и APB принадлежат AMBA, они во многом отличаются.
APB Advanced Peripherial Bus, внутренняя шина MCU для взаимодействия с периферийными аппаратными устройствами.
APB1, APB2 мосты для доступа к шине APB.
AMBA Advanced Microprocessor Bus Architecture.
ARM Semihosting. Смысл семихостинга: когда к проекту подключены специальные библиотеки реального времени, предоставленные многими системами разработки, Ваш код firmware может использовать возможности ввода/вывода хоста (I/O debug host) - экран компьютера, файл, клавиатуру (это и называется семихостингом). Это может позволить отладчику предоставить системную консоль и файловую систему, что может использоваться для вывода в файл на диске или в окно Terminal I/O (по умолчанию как раз и используется семихостинг).
ARR Auto Reload Register.
AWU Auto-Wakeup Unit, блок автоматического пробуждения.
Backup domain внутренние схемы MCU, получающие питание от резервной батареи, шина VBAT (например, часы реального времени RTC).
BDT Buffer Descriptor Table, таблица описание буферов.
bit-stuffing бит-стаффинг, вставка специальных пустых бит.
BSP Board Support Package, библиотека подпрограмм для поддержки аппаратуры платы (обычно имеется в виду оценочная плата разработчика).
BSRRH, BSRRL Bit Set/Reset Register. Запись в эти порты лог. 1 приводит к сбросу (если это регистр BSRRH) или к установке (если это регистр BSRRL) соответствующей ножки GPIO.
callback функция обратного вызова. Специальная функция, позволяющая коду, написанному разработчиком, участвовать в функционале библиотечных функций.
CCM RAM Core Coupled Memory, память RAM, специальным образом привязанная к ядру STM32. Для использования имеет некоторые ограничения, например нельзя оттуда выполнять код, и нельзя использовать вместе с DMA и DMA2D.
CMSIS Cortex Microcontroller Software Interface Standard, по сути это библиотека, обеспечивающиая целостную поддержку различных моделей микроконтроллеров STM32, упрощающая программирование как ядра процессора, так и его периферийных устройств [1].
CPU Central Processor Unit. Термин обычно обозначает процессор или вычислительное ядро микроконтроллера.
CSR Control and Status Registers, регистры управления и состояния.
CubeMX, STM32CubeMX библиотека от ST, облегчающая написание прикладного кода для STM32. Более высокоуровневая замена библиотекам CMSIS.
DAC Digital-Analog Converter, цифро-аналоговый преобразователь, ЦАП.
DAP Debug Access Port, порт для подключения отладчика (для STM32 это чаще всего SWD).
DFU означает Device Firmware Upgrade - обновление программного обеспечения устройства на микроконтроллере.
DMA Direct Memory Access, или Direct Memory Addressing - прямой доступ к памяти для периферийных устройств, освобождающий микроконтроллер от операций обмена данными с памятью.
DWT Data WatchpoinT comparator, специальное аппаратное устройство в ядре STM32, используемое для отладки и трассировки. С помощью DWT можно реализовать функции задержки [5].
embedded встраиваемое устройство, основанное на микроконтроллере (MCU).
EOC End Of Conversion, завершение преобразования ADC.
EOP End of Packet, конец пакета.
Ethernet MAC интерфейс локальной сети Ethernet.
ETM Embedded Trace Macrocell. Специальная ячейка аппаратуры MCU, предназначенная для трассировки событий и значений в программе.
ETR External TRigger, вход внешнего триггера, который может использоваться в качестве тактового входа таймера.
ETRP External TRigger Prescaler, предварительный делитель, который подключается ко входу ETR.
Ext.Clock внешняя тактовая частота.
FCLK Cortex free-running clock.
FCPU тактовая частота Cortex.
FCS Frame Check Sequence, последовательность проверки фрейма Ethernet.
FIFO First Input First Output, разновидность стека (кеширования), применяющаяся в системах обмена данными.
FMC Flexible Memory Controller, включающий в себя 3 контроллера памяти: NOR/PSRAM, NAND/PC Card, Synchronous DRAM (SDRAM/Mobile LPSDR SDRAM). Это относится только к MCU серий STM32F42xxx и STM32F43xxx.
FPU Floating-Point Unit, блок вычислений с плавающей запятой, которые есть на кристалле семейств микроконтроллеров STM32 Cortex®-M4 и STM32 Cortex®-M7.
Fs Sampling frequency, частота выборки.
FS Full Speed, полная скорость, до 12 мегабит/сек (относится к USB).
FSM Finite State Machine, автомат конечных состояний - термин, относящийся к реализации алгоритма поведения системы.
FSMC Flexible Static Memory Controller, контроллер статической внешней памяти.
GPIO General Purpose Input/Output, ввод/вывод общего назначения. Относится к программно управляемым портам микроконтроллера. Термин просто обозначает выводы микроконтроллера, которые можно программно опрашивать как входы, и программно устанавливать в лог. 0 или 1 как выходы.
HAL Hardware Abstraction Layer. Промежуточный код для упрощения написания приложений, создающий слой абстрации между железом процессора (ядро, периферия) и кодом пользователя. HAL представляет собой библиотеку макросов и подпрограмм на языке C, упрощающую доступ к какой-то аппаратуре (промежуточный слой программного обеспечения, необходимый для стандартизации и упрощения доступа к аппаратуре микроконтроллера). Кроме упрощения работы с периферийными устройствами, с помощью HAL для программиста облегчается процедура портирования программ с одного микроконтроллера на другой. Библиотека CubeMX от ST это и есть HAL.
Следует иметь в виду, что использование HAL для обработчиков прерываний часто приводит к излишней нагрузке на процессор, потому что обработка прерываний HAL старается предусмотреть все возможные ситуации, и использует вызовы callback-функций.
handshake рукопожатие. В этом контексте протоколов передачи данных это специальный пакет или сигнал для подтверждения транзакций (ACK, NACK, STALL).
HCD Host Controller Driver, блок реализации хоста USB.
HCLK HCLK тактовая частота шины AHB, она же тактовая частота CPU.
HMI Human Machine Interface, интерфейс взаимодействия между человеком и компьютером (или микроконтроллерной системой). Инструмент, представляющий иформацию о ходе процесса человеку-оператору, что позволяет оператору контролировать поведение системы и управлять им (из Википедии). См. также SCADA.
HNP Host Negotiation Protocol, термин относится к USB OTG. Позволяет устройствам обмениваться ролями хост/устройство, когда они оба поддерживают двойные роли устройств по спецификации OTG. При использовании HNP для смены ролей устройство USB OTG может захватить контроль над управлением планированием передачи данных. Таким образом, любое устройство OTG может инициировать передачу данных через шину USB OTG. Последняя версия дополнения таже ввела HNP-опрос, в котором хост периодически опрашивает устройство USB во время активного сеанса, чтобы определить, не хочет ли оно стать хостом.
hook переводится как "крючок", и обычно означает функцию для перехвата какого-нибудь события (например тика RTOS или ошибки выделения памяти).
HS High Speed, высокая скорость, до 480 мегабит/сек (относится к USB).
HSE High Speed External, высокоскоростной внешний генератор. Имеется в виду тактовый генератор, который реализован с помощью подключения внешнего кварцевого резонатора к выводам OSC_IN и OSC_OUT.
HSI High Speed Internal, высокоскоростной внутренний тактовый RC-генератор, вырабатывающий тактовый сигнал 16 МГц. Этот сигнал может использоваться напрямую как системная тактовая частота, или использоваться как частота на входе PLL. Генератор HSI RC является дешевым источником тактовой частоты, потому что не требует никаких внешних компонентов (не требуется внешний кварцевый резонатор). Также у него меньше время запуска, чем у генератора HSE, однако точность частоты HSI даже после калибровки все равно ниже, чем у внешнего кварцевого резонатора или керамического резонатора. См. также MSI.
I2S Integrated interchip sound, специальная шина для обмена звуковыми данными - цифровой интерфейс для передачи звука. Обычно используется для подключения микрофонов.
I2SCLK тактовая частота I2S.
IAP In-Application Programming, внутрисхемное программирование. Программный код перезаписывает свою же собственную память.
ICP In-Circuit Programming, внутрисхемное программирование (памяти микроконтроллера). То же самое, что и ISP.
IFG Inter Frame Gap, промежуток времени между кадрами Ethernet.
ISP In-System Programming, программирование в системе (памяти микроконтроллера). То же самое, что и ICP.
ISR Interrupt Service Routine, обработчик прерывания. Подпрограмма, код который предназначен для реакции на событие определенного прерывания.
IWDG Independent Watchdog, т. е. "независимый сторожевой таймер".
LLC Logical Link Control, подуровень управления логической связью (по стандарту IEEE 802) - термин, относящийся к организаци Ethernet. Верхний подуровень канального уровня модели OSI, который осуществляет управление передачей данных и обеспечивает проверку и правильность передачи информации по соединению (из Википедии).
LS Low Speed, низкая скорость, до 1.5 мегабит/сек (относится к USB).
LSB Least Significant Bit, самый младший значащий бит (см. MSB).
LSE Low Speed External, низкоскоростной сигнал внешних тактов - обычно 32768 Гц, формируемый с помощью кварцевого резонатора.
LSI Low Speed Internal, низкоскоростной сигнал внутренних тактов - внутренний RC-генератор, формирующий частоту тактов 32 кГц.
MAC в зависимости от контекста может означать как встроенный контроллер сети Ethernet (расшифровывается как Media Access Control), так и MAC-адрес сетевого адаптера.
MBED платформа программирования и операционная система для устройств на основе ARM Cortex-M, подключенных к Интернет (см. Википедию).
MCLK главная тактовая частота.
MCU MicroController Unit, микроконтроллер.
MII Media Independent Interface, не зависящий от среды передачи интерфейс. Представляет собой стандартизованный интерфейс для подключения MAC-блока сети FastEthernet к блоку PHY. Интерфейс MII может быть выведен на разъём для подключения внешнего приемопередатчика или может просто соединять две микросхемы на одной печатной плате. Независимость от среды передачи означает, что существует возможность использования любых PHY-устройств без необходимости смены или переработки аппаратуры MAC-блока (из Википедии).
MMC MAC management counters, счетчики статистики по передаваемым и принимаемым фреймам MAC. Также MMC может означать MultiMedia Card, устаревший термин для старых карт памяти SD небольшого объема.
MPU Memory Protection Unit, блок защиты памяти. Другой вариант использования аббревиатуры: MicroProcessor Unit, т. е. микропроцессор. Отличие от микроконтроллера (MCU) в основном в том, что MPU более мощный, может не иметь встроенной памяти Flash и внутренней памяти SRAM, загружаться программа должна из внешних устройств.
NRZI Non-return-to-zero Inverted. Способ кодирования последовательных данных.
MSB Most Significant Bit, самый старший значащий бит (см. LSB).
MSI Multi-Speed Internal, термин относится к внутреннему RC-генератору STM32, который может работать на нескольких частотах, что применяется в режимах пониженного энергопотребления. См. также HSI.
MSP Main Stack Pointer, указатель на основной стек, используемый по умолчанию в режимах Handler и Thread. Доступ на запись MSP возможен только в режиме Thread.
MSP MCU Support Package, пакет поддержки микроконтроллера. Библиотека абстракции от низкоуровневых особенностей аппаратуры MCU. Код MSP для инициализации и деинициализации аппаратных устройств находится в файле наподобие stm32f4xx_hal_msp.c. Этот модуль автоматически генерирует утилита STM32CubeMX, и он находится во всех примерах пакета STM32Cube_FW.
NSS сигнал выборки подчиненного (slave) устройства на шине SPI.
NVIC Nested Vectored Interrupt Controller, контроллер прерываний с поддержкой вложенности вызовов прерываний.
OPM One Pulse Mode, режим одного импульса таймера.
OTG On The Go, термин относится к USB. Обозначает устройство USB, которое может работать и как хост USB, и как устройство USB.
OTP One Time Programmable, однократно записываемая память. Обычно это память программ микроконтроллера.
output pushpull mode режим порта, когда он настроен как выход с возможностью работать на нагрузку как по низкому, так и по высокому логическому уровню.
PCB Protocol Control Blocks, термин используется в контексте обработки стека протоколов TCP/IP.
PCLK1, PCLK2 тактовые частоты шин APB1, APB2 соответственно.
PCM Pulse Code Modulation, способ цифрового кодирования звука.
PFC Packet FIFO Controller.
PHY сокращение от PHYsical layer, физический уровень - интегральная микросхема, предназначенная для выполнения функций физического уровня сетевой модели OSI (PHY Ethernet, USB2.0 PHY, CAN PHY и т. п.). Микросхемы PHY позволяют другим микросхемам канального уровня, называемыми MAC, подключиться к физической среде передачи, такой как оптическое волокно или медный кабель. Стандартный микрочип PHY включает в себя модули подуровня физического кодирования (PCS, аббревиатура от англ. Physical Coding Sublayer) и подуровня среды передачи (PMD, аббревиатура от англ. Physical Medium Dependent). Модуль подуровня физического кодирования выполняет функции кодирования и декодирования передаваемого и принимаемого потока данных. Целью кодирования является упрощение процесса восстановления потока данных приёмником (из Википедии).
PLL Phase Locked Loop, ФАПЧ. Петля захвата подстройки частоты, короче говоря ФАПЧ (фазовая автоподстройка частоты).
PLLCLK тактовая частота PLL.
PMT Power ManagemenT, система управления питанием микроконтроллера STM32.
PPP Point-to-Point Protocol, двухточечный протокол канального уровня (Data Link) сетевой модели OSI. Обычно используется для установления прямой связи между двумя узлами сети, причем он может обеспечить аутентификацию соединения, шифрование (с использованием ECP, RFC 1968) и сжатие данных. Используется на многих типах физических сетей: нуль-модемный кабель, телефонная линия, сотовая связь и т. д. Часто встречаются подвиды протокола PPP, такие как Point-to-Point Protocol over Ethernet (PPPoE), используемый для подключения по Ethernet, и иногда через DSL; и Point-to-Point Protocol over ATM (PPPoA), который используется для подключения по ATM Adaptation Layer 5 (AAL5), который является основной альтернативой PPPoE для DSL. PPP представляет собой целое семейство протоколов: протокол управления линией связи (LCP), протокол управления сетью (NCP), протоколы аутентификации (PAP, CHAP), многоканальный протокол PPP (MLPPP) (из Википедии).
PSP Process Stack Pointer, указатель на стек процесса (программы пользователя).
PTP Precision time protocol, точный протокол времени. Специальный протокол для синхронизации тактов через сеть.
RCC Reset and Clock Control, блок управления сбросом и тактами STM32.
RDP сокращение от ReaD Protection - термин, применяемый в описании загрузчика (bootloader) STM32 [4]. Обозначает защиту от доступа на чтение к содержимому памяти программ (FLASH) микроконтроллера. Термин RDP иногда может обозначать сетевой протокол компании Microsoft, предназначенный для доступа через сетевое соединение к рабочему столу компьютера с Windows (протокол Remote DesktoP).
RMII Reduced Media Independent Interface. То же самое, что и MII, однако у него есть физические различия в подключении - уменьшено в 2 раза количество сигналов данных (вместо 4 сигналов tx+rx используется только 2), в 2 раза увеличена тактовая частота (используется 50 МГц вместо 25).
RNG Random number generator, генератор случайного числа.
RTC Real Time Clock, таймер (часы) реального времени.
RTCCLK тактовая частота RTC.
RTOS Real Time Operation System, операционная система реального времени - специальная программная оболочка, позволяющая запускать многопоточные приложения с гарантированным по времени откликом на внешние события.
SCADA Supervisory Control And Data Acquisition, диспетчерское управление и сбор данных. Программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления (из Википедии). См. также HMI, потому что это сходные понятия.
SDIO Secure digital input/output interface.
SIE Serial Interface Engine, аппаратура последовательного интерфейса.
SMPS Switched-Mode Power Supply, ключевой источник питания.
SOF Start-Of-Frame, сигнал начала фрейма.
SPI TI протокол SPI компании Texas Instruments. Интерфейс SPI у STM32 может работать в двух режимах, в зависимости от состояния бита FRF регистра: TI (FRF=1) или Motorola (FRF=0).
SPL Standard Peripheral Library, стандартная библиотека для поддержки периферийных устройств. Это еще одно название для библиотеки CMSIS, поскольку она разработана ARM, не ST.
SRP Session Request Protocol, термин относится к USB. Позволяет обоим коммуницирующим устройствам управлять моментом, когда активен линк сесии питания; в стандартной организации линка USB это может делать только хост. SRP благодаря возможности отключать напряжение VBUS позволяет точно управлять энергопотреблением, что очень важно для устройств, работающих от батареи (таких как камеры и мобильные телефоны). OTG или embedded-хост может оставить линк без питания, пока периферийное устройство (которым может быть устройство OTG или традиционное устройство USB) не потребует питания. OTG и embedded-хост, у которых осталось мало энергии батареи, могут оставить линк USB без питания, что увеличит время работы от батареи.
STM32CubeMX библиотека от ST и связанная с ней инструментальная утилита, позволяющая упростить кодирование для управления ресурсами выбранного микроконтроллера. Утилита позволяет определиться с возможностями тактирования, функции различных аппаратных устройств и автоматически сгенерировать код инициализации необходимого функционала.
SWD SoftWare Debugger, аппаратный отладчик. Специальный интерфейс для отладки и программирования микроконтроллеров.
SWO Serial Wire Output, сигнал для последовательной передачи данных, используемый в целях отладки. Также может использоваться для передачи отладочных сообщений в реальном времени, не останавливая выполнение кода.
SWV Serial Wire Viewer.
SYSCLK системная тактовая частота ядра.
TIMCLK тактовая частота таймера.
TRGO Trigger Out, выход триггера. Сигнал внутренней синхронизации таймеров.
UEV Update EVent, событие обновления таймера.
ULPI UTMI+ Low Pin Interface [3], вариант интерфейса UTMI с уменьшенным количеством линий сигналов, с поддержкой OTG и всех скоростей (HS. FS, LS).
USBHS USB High Speed.
USB OTG FS интерфейс USB on-the-go на скорости full-speed.
USB on-the-go интерфейс USB, который может работать как интерфейс хоста USB, так и интерфейс устройства USB.
UTMI USB 2.0 Transceiver Macrocell Interface, интерфейс для подключения высокоскоростных чипов USB PHY.
VDD напряжение питания.
weak часто таким атрибутом обозначают функцию-заглушку, которая может быть автоматически заменена реализацией разработчика.
WFE, WFI Wait For Event, Wait For Interrupt. Специальные инструкции, вводящие микроконтроллер в режим сна.
workspace рабочее пространство - условная группа в IAR, которая может содержать в себе один или большее количество проектов.
[Ссылки]
1. Cortex Microcontroller Software Interface Standard. 2. Чем отличаются друг от друга CMSIS, STM32CubeMX и MBED. 3. ULPI: стандарт для высокоскоростных USB PHY. 4. AN3155: протокол загрузчика USART STM32. 5. Таймер SysTick, реализация задержек в программе. |