Опубликован: 24.11.2024 | Доступ: свободный | Студентов: 1 / 0 | Длительность: 05:47:00
Лекция 3:

Микроконтроллер

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >

В этой лекции мы поговорим о написании кода. Мы начнем с различия между блоками микроконтроллеров и системой на кристалле (СнК). Потом мы поговорим о микроконтроллерах RISC-V. А после, мы обратимся к микроконтроллеру FE310 созданному SiFive, который является одним из Red-V Thing Plus. Затем мы познакомимся с библиотекой Freedom Metal которая является фирменной библиотекой SiFive's для их устройств. Мы создадим простой проект в Blinky. И в заключении мы изучим библиотеки для Freedom Studio.

К концу этой лекции, Вы будете способны:

  • Находить любую информацию, которая вам необходима, в технической документации к плате или микроконтроллеру.
  • Описывать разницу между микроконтроллерами и СнК.
  • Иметь представление о ключевых функциях и модулях микроконтроллера FE310.
  • Описывать возможности RV32IMAC ISA.
  • Работать с библиотекой Freedom Metal в Freedom Studio.

Презентация по лекции

Микроконтроллер

Важная документация

В остальной части курса Вы будете ознакомлены с определенными разделами следующих документов. Просьба загрузить их и сделать доступными для ознакомления:

Руководство по эксплуатации микроконтроллера FE310 G-002

К этому документу мы будем обращаться больше всего. Он содержит в себе все подробности о внутренней работе микросхемы микроконтроллера.

Спецификация микроконтроллера FE310 G-002

Это классическая спецификация чипа. Она содержит информацию об корпусе, выводах микросхемы и электронные характеристики. Временами мы будем ссылаться на нее.

Принципиальная схема Red-V Thing Plus

Она будет полезна нам, когда нам будет необходимо решить, какие контакты мы будем использовать в конкретном случае, так как мы будем способны узнать какие контакты в микросхеме подключены к каким контактным площадкам или разъемам.

Возможно, вам захочется быстро просмотреть эти документы, но не тратьте на них слишком много времени. На протяжении всего курса вы будете получать ссылки на соответствующие разделы. И не волнуйтесь, если у вас не очень хороший опыт работы с оборудованием. Мы будем действовать медленно. Если вы почувствуете, что что-то нуждается в уточнении, пожалуйста, свяжитесь с нами на форуме курса.

Наконец, корпорации SiFive и SparkFun Electronics любезно разрешили нам использовать их иллюстрации в дальнейшем материале. Иллюстрации взяты из упомянутых 3 документов и из руководств компании SparkFun.

Red-V Thing Plus

Начнем с рассказа о плате Red-V Thing Plus. Для начала взглянем на принципиальную схему 2.1:

Частичная принципиальная схема Red-V Thing Plus, SparkFun Electronics. Обратите внимание на чип FE310 (Изображение предоставлено SparkFun Electronics)

Рис. 2.1. Частичная принципиальная схема Red-V Thing Plus, SparkFun Electronics. Обратите внимание на чип FE310 (Изображение предоставлено SparkFun Electronics)

Чип микроконтроллера на самом деле является СнК Freedom E310.

Теперь обсудим некоторые вещи о СнК.

СнК означает Система на кристалле. Это тип интегральных схем, которые различаются по сложности, но во всех них есть некоторая система внутри чипа. Эта система лежит в диапазоне от 8-битного ЦП с набором операционных модулей, соединенных простой шиной, до высокопроизводительных ядер с кэшем, оперативной памятью, и даже с графическим ускорителем, все на одном ядре.

Микроконтроллеры(MCUs)

Первый упомянутый тип СнК (с бюджетными процессорами), часто называемые микроконтроллерами (MCUs). Обычно они имеют скромный центральный процессор с внутренней шиной для реализации схемы с отображением в память для доступа к ряду оперативных модулей ввода-вывода, таких как ввод/вывод общего назначения (GPIO), аналого-цифровые преобразователи (АЦП), цифроаналоговые преобразователи (ЦАП), таймеры (для ШИМ), последовательный порты (USART, I2C, SPI, USB), если упоминать лишь некоторые из них.

Схема отображения памяти для GPIO означает, что модули ввода-вывода (АЦП, SPI и т.д.) имеют регистры состояния и управления, которые имеют адрес памяти в адресном пространстве микроконтроллера. Технически, они подключены к архитектуре внутренней шины. Взаимодействие с устройствами ввода-вывода осуществляется через их регистры состояния и управления, которые действуют как почтовые ящики для обмена сообщениями между центральным процессором и устройствами ввода-вывода. Например, чтобы начать аналого-цифровое преобразование, вы можете записать логическую единицу в определенный бит в регистр состояния и управления АЦП, который имеет свой собственный адрес памяти. Аналогично, чтобы считать последний байт, который был получен последовательным портом, нужно считать регистр входных данных для этого последовательного порта, который также имеет фиксированный адрес памяти. Обычно в этой архитектуре шины также имеется несколько устройств памяти: флэш-память для хранения программ и констант и память SRAM для переменных.

Цель состоит в том, чтобы создать простые приложения для цифрового управления. Эти приложения могут быть простыми (без операционной системы), или они могут использовать скромную операционную систему реального времени (RTOS), которая обычно представляет собой просто многопоточный планировщик с драйверами ввода-вывода.

Существует множество хорошо известных семейств MCU, и вы можете узнать некоторые из следующих:

  • Семейство ATmega от Atmel. Их можно узнать по Arduino UNO.
  • Семейство s08 от NXP Semiconductors. Популярны в бытовой технике.
  • Семейство Kinetis от NXP Semiconductors. В Red-V Thing Plus есть один из них для реализации интерфейса USB J-Link.
  • Семейство STM32 от STMicroelectronics. Оснащены процессорами ARM-Cortex M.
  • Семейство MSP430 от Texas Instruments. Платы TI LaunchPad используют именно этот микроконтроллер.
  • Все семейства ARM Cortex M0+, M3 и M4, создаются всеми вышеперечисленными.
< Лекция 2 || Лекция 3: 12345 || Лекция 4 >