Академический Документы
Профессиональный Документы
Культура Документы
DIP корпус
Сокращенно от английского Dual In—Line Package – корпус с двумя рядами выводов. Расстояние
между выводами составляет 0,1 дюйма, что равно 2,54 мм. Также подобные корпуса еще
обозначают PDIP. Первая буква “Р” обозначает, что корпус пластиковый – Plastic.
SOIC корпус
Еще меньшие габариты имеет тип корпуса QFP (Quad Flat Package) или TQFP (Thin Quad Flat
Package). Отличительной особенностью его является расположение выводов по всем четырем
сторонам, а сам корпус имеет форму квадрата. Как и SOIC, TQFP предназначен для
поверхностного монтажа. Расстояние между выводами в 3 раза меньше, чем в DIP корпусах.
QFN корпус
Наиболее экзотическим с точки зрения любительской практики является корпус QFN (Quad Flat
No—leads). Такой корпус имеет наименьшие габариты среди всех рассмотренных корпусов. В
качестве выводов здесь используются контакты, расстояние между которыми в 6 раз меньше, чем
в DIP корпусах. По этой причине они редко применяются радиолюбителями. Однако в
промышленности такие корпуса находят широкое применение, поскольку габариты готового
электронного устройства можно снизить в десятки раз.
Сравнение
Еще микроконтроллеры могут обмениваться данными между компьютером и другим МК. Для
этого практически в любом МК имеется встроенный один или несколько интерфейсов передачи
данных: USART, SPI, CAN, USB и др.
Для того чтобы микроконтроллер мог решать задачи и выполнять определенные функции, его
нужно запрограммировать, т. е. записать в него программу или же код программы.
IDE – Integrated Development Environment – интегрированная среда разработки. В них можно
писать код, компилировать и отлаживать его.
Если микроконтроллера в наличии нет, то его работу можно имитировать с помощью программы
Proteus. Она значительно упрощает процесс отладки программы даже при наличии МК, чтобы его
часто не перепрошивать, ведь любой МК имеет конечное число перезаписей, хотя это число
достаточно большое.
Память
Всё, что есть внутри микроконтроллера, обязательно отображено на какой-то адрес. Эти адреса
называются регистрами. В них находятся некие специальные данные, которые специфическим
образом отображаются на состояние различных аппаратных блоков микроконтроллера.
Всё, что не является вычислительными операциями, за которые отвечает само ядро процессора,
осуществляется с помощью записи или чтения того или иного регистра. Какие бы библиотеки не
были наворочены в вашей программе сверху — в конечном итоге всё сводится к регистрам.
GPIOA->MODER &= ~(0b11 << (pin_num*2)); /* сбросили биты настройки ножки PA2, теперь это
вход */
uint32_t pa2_value = GPIOA->IDR & (1 << pin_num); /* прочитали состояние ножки PA2 */
Все названия регистров и значения полей в них описаны в справочном руководстве, который
можно считать Библией программиста микроконтроллеров — Reference Manual (он свой для
каждого семейства контроллеров). Более чем 900 страниц, например, это не очень большой объём
информации, легко можно встретить контроллеры с руководствами по 1500-2000 страниц. Вряд ли
есть кто-то, помнящий хотя бы треть такого руководства наизусть, но умение быстро в нём
ориентироваться — обязательное качество для хорошего программиста.
Этот код — лишь условно человекопонятный. Использование буквенных названий вместо адресов
радикально снижает процент ошибок в коде и увеличивает его читаемость, но всё ещё крайне
далеко от того, что большинство людей назовёт «нормальным» кодом. Понимая это,
производители контроллеров начали выпускать вспомогательные библиотеки, собирающие
наборы обращений к регистрам в функции. Например, если при работе с регистрами напрямую
для включения какого-либо такового генератора вам надо сделать два действия (поставить в 1 бит,
включающий генератор, и подождать, пока в 1 встанет флаг, индицирующий, что генератор вышел
на режим), то в функции включения генератора в такой библиотеке они будут объединены.
При использовании SPL обращения к регистрам, которые мы совершали, чтобы зажечь светодиод,
превратятся в обращения к функциям GPIO_Init и GPIO_Write.
Несмотря на то, что ОС требует для своего существования дефицитных ресурсов контроллера
(обычно 5-20 КБ постоянной памяти и ещё столько же оперативной), преимущества
использования ОС настолько велики, что на данный момент в профессиональной разработке для
встраиваемых систем около 70 % проектов используют ту или иную ОС
Контрольные вопросы
1. Типы корпусов МК
2. Применение МК
3. Отличие МК от процессора
4. Назначение программы Proteus.
5. Основные компоненты МК
6. Что такое CMSIS
7. Что такое SPL, назначение. Особенности использования/ Отношение разработчиков к SPL.
8. Описать STM32CubeMX
9. Описать STM32CubeIDE
10. Описать STM32 ST-LINK Utility