- Архитектура и приложения микроконтроллера PIC:
- Выбор микроконтроллера PIC для наших руководств:
- Выбор программного обеспечения для наших учебных пособий:
- Подготовка с оборудованием:
В 1980 году Intel разработала первый микроконтроллер (8051) с Harvard Architecture 8051, и с тех пор микроконтроллеры произвели революцию в электронике и встраиваемой промышленности. А с развитием технологий со временем у нас появилось гораздо больше эффективных микроконтроллеров с низким энергопотреблением, таких как AVR, PIC, ARM. Эти микроконтроллеры более функциональны и просты в использовании, они имеют новейшие протоколы связи, такие как USB, I2C, SPI, CAN и т. Д. Даже Arduino и Raspberry Pi полностью изменили взгляд на микроконтроллеры, а Raspberry Pi - это не просто микроконтроллер, а целая его часть. компьютер внутри.
Это будет первая часть серии руководств, которые еще не вышли, которые помогут вам в изучении микроконтроллеров PIC. Если вы из электроники и всегда хотели начать с изучения некоторых микроконтроллеров и окунуться в мир кодирования и создания вещей, то эта серия руководств станет вашим первым шагом.
Микроконтроллер PIC - очень удобный выбор для начала работы с проектами микроконтроллеров, потому что он имеет отличные форумы поддержки и будет служить прочной основой для построения всех ваших передовых микроконтроллеров, которые вам еще предстоит изучить.
Эти учебные пособия предназначены для абсолютных или средних учеников; мы планировали начать с самых простых проектов до самых продвинутых. Мы не ожидаем от учащихся каких-либо предварительных условий, так как мы здесь, чтобы помочь вам на любом уровне. В каждом учебнике будет теоретическое объяснение и моделирование, за которым следует практическое руководство. В этих руководствах не будут использоваться какие-либо платы для разработки, мы создадим собственные схемы с использованием перфорированной платы. Так что готовьтесь и каждую неделю уделяйте время совершенствованию себя с помощью микроконтроллеров.
Теперь давайте начнем с простого введения в микроконтроллеры PIC и некоторых настроек программного обеспечения, которые помогут нам приступить к следующему руководству. Посмотрите видео в конце для установки и настройки MPLABX, XC8, Proteus и быстрой распаковки программатора PICkit 3.
Архитектура и приложения микроконтроллера PIC:
Микроконтроллер PIC был представлен Microchip Technologies в 1993 году. Первоначально эти PIC были разработаны как часть компьютеров PDP (программируемый процессор данных), и каждое периферийное устройство компьютера было подключено к интерфейсу с помощью этого микроконтроллера PIC. Отсюда PIC получил свое название как Peripheral Interface Controller. Позже Microchip разработала множество микросхем серии PIC, которые можно использовать для любого небольшого приложения, например, для освещения, до более продвинутого.
Каждый микроконтроллер должен быть построен на основе какой-либо архитектуры, самый известный тип архитектуры - это архитектура Гарварда, наша PIC основана на этой архитектуре, поскольку она принадлежит к классическому семейству 8051. Давайте перейдем к небольшому вступлению о гарвардской архитектуре PIC.
PIC16F877A микроконтроллер состоит из встроенного процессора, портов ввода / вывода, организации памяти, А / Ц преобразователь, таймеры / счетчики, прерывания, последовательный канал связи, генератор и модуль CCP для сбора делает IC мощный микроконтроллер для начинающих, чтобы начать с. Общая блок-схема архитектуры PIC показана ниже.
ЦП (центральный процессор):
Микроконтроллер имеет центральный процессор для выполнения арифметических операций, логических решений и операций, связанных с памятью. ЦП должен координировать работу ОЗУ и других периферийных устройств микроконтроллера.
Он состоит из ALU (Arithmetic Logic Unit), с помощью которого он выполняет арифметические операции и логические решения. MU (единица памяти) также присутствует для хранения инструкции после того, как они получают выполняются. Этот MU определяет размер программы нашего MC. Он также состоит из CU (Control Unit), который действует как коммуникационная шина между ЦП и другими периферийными устройствами микроконтроллера. Это помогает получить данные после их обработки в указанных регистрах.
Оперативная память (RAM):
Память с произвольным доступом определяет скорость работы нашего микроконтроллера. ОЗУ состоит из банков регистров, каждый из которых выполняет определенную задачу. В целом их можно разделить на два типа:
- Регистр общего назначения (GPR)
- Регистр специальных функций (SFR)
Как следует из названия, GPR используются для общих функций регистра, таких как сложение, вычитание и т. Д. Эти операции ограничены 8-битными. Все регистры GPR доступны для записи и чтения пользователем. У них нет никаких функций, если это не указано в программном обеспечении.
В то время как SFR используется для выполнения сложных специальных функций, которые также включают некоторую 16-битную обработку, их регистры могут быть только прочитаны (R), и мы не можем ничего записать (W) в них. Таким образом, у этих регистров есть предопределенные функции для выполнения, которые устанавливаются во время производства, и они просто отображают нам результат, с помощью которого мы можем выполнять некоторые связанные операции.
Постоянное запоминающее устройство (ПЗУ):
Память только для чтения - это место, где хранится наша программа. Это определяет максимальный размер нашей программы; следовательно, она также называется программной памятью. Когда MCU находится в работе, программа, хранящаяся в ПЗУ, выполняется в соответствии с каждым командным циклом. Этот блок памяти можно использовать только при программировании PIC, во время выполнения он становится постоянным запоминающим устройством.
Электрически стираемая программируемая постоянная память (EEPROM):
EEPROM - это еще один тип модуля памяти. В этом блоке памяти могут храниться значения во время выполнения программы. Значения, хранящиеся здесь, могут стираться только электрически, то есть эти значения будут сохраняться в PIC, даже когда IC выключена. Их можно использовать как небольшой объем памяти для хранения выполненных значений; однако объем памяти будет меньше, чем килобайт.
Флэш-память :
Флэш-память также является программируемой постоянной памятью (PROM), в которой мы можем читать, писать и стирать программу тысячи раз. Обычно микроконтроллер PIC использует этот тип ПЗУ.
Порты ввода / вывода
- Наш PIC16F877A состоит из пяти портов, а именно порта A, порта B, порта C, порта D и порта E.
- Из всех пяти ПОРТОВ только порт A 16-битный, а PORT E 3-битный. Остальные ПОРТЫ 8-битные.
- Контакты этих ПОРТОВ могут использоваться как вход или выход, в зависимости от конфигурации регистра TRIS.
- Помимо выполнения операций ввода-вывода, контакты также могут использоваться для специальных функций, таких как SPI, прерывание, PWM и т. Д.
Автобус:
Термин «шина» - это просто набор проводов, соединяющих устройство ввода или вывода с ЦП и ОЗУ.
Шина данных используется для передачи или приема данных.
Адресная шина используется для передачи адреса памяти от периферийных устройств к ЦП. Контакты ввода / вывода используются для подключения внешних периферийных устройств; UART и USART оба протокола последовательной связи используются для взаимодействия последовательных устройств, таких как GSM, GPS, Bluetooth, IR и т. Д.
Выбор микроконтроллера PIC для наших руководств:
Микроконтроллеры PIC от Microchip Company делятся на 4 больших семейства. В каждом семействе есть множество компонентов, которые обладают встроенными специальными функциями:
- Первое семейство PIC10 (10FXXX) называется Low End.
- Второе семейство, PIC12 (PIC12FXXX), называется Mid-Range.
- Третье семейство - PIC16 (16FXXX).
- Четвертое семейство - PIC 17/18 (18FXXX)
Поскольку мы начинаем изучать PIC, давайте выберем IC, которая используется и доступна повсеместно. Эта микросхема относится к семейству 16F, номер детали - PIC16F877A. С первого урока до конца мы будем использовать ту же микросхему, что и эта микросхема, оснащенная всеми расширенными функциями, такими как SPI, I2C, UART и т. Д. Но если вы не получите ничего из этого сейчас, все в порядке, мы пройти все учебные пособия и наконец использовать все вышеупомянутые функции.
После того, как ИС выбрана, очень важно прочитать техническое описание ИС. Это должно быть первым шагом в любой концепции, которую мы собираемся опробовать. Теперь, когда мы выбрали PIC16F877A, давайте прочитаем спецификацию этой IC в таблице данных.
Peripheral Feature упоминает, что у него есть 3 таймера, два из которых 8-битные, а один 16-битный предварительный делитель. Эти таймеры используются для создания временных функций в нашей программе. Их также можно использовать как счетчики. Он также показывает, что у него есть опции CCP (сравнение захвата и ШИМ), которые помогают нам генерировать сигналы ШИМ и считывать входящие частотные сигналы. Для связи с внешним устройством имеет SPI, I2C, PSP и USART. В целях безопасности он оснащен функцией сброса неисправности (BOR), которая помогает сбросить программу while.
Аналоговые функции. Указывает, что ИС имеет 10-битный 8-канальный АЦП. Это означает, что наша ИС может преобразовывать аналоговые значения в цифровые с разрешением 10 бит и имеет 8 аналоговых контактов для их чтения. У нас также есть два внутренних компаратора, которые можно использовать для сравнения входящего напряжения напрямую, без фактического считывания их через программное обеспечение.
Специальные возможности микроконтроллера означают, что он имеет 100000 циклов стирания / записи, что означает , что вы можете запрограммировать его примерно 100000 раз. Внутрисхемное последовательное программирование ™ (ICSP ™) помогает нам программировать ИС напрямую, используя PICKIT3. Отладку можно выполнить с помощью внутрисхемной отладки (ICD). Еще одна функция безопасности - это сторожевой таймер (WDT), который представляет собой самонадежный таймер, который при необходимости сбрасывает всю программу.
На изображении ниже представлена распиновка нашей микросхемы PIC16F877A. Это изображение представляет каждую булавку на фоне ее имени и других характеристик. Это также можно найти в таблице данных. Держите это изображение под рукой, потому что оно поможет нам в работе с оборудованием.
Выбор программного обеспечения для наших учебных пособий:
Микроконтроллер PIC может быть запрограммирован с помощью различного программного обеспечения, доступного на рынке. Есть люди, которые до сих пор используют язык ассемблера для программирования микроконтроллеров PIC. Для наших руководств мы выбрали самое современное программное обеспечение и компилятор, которые были разработаны самой Microchip.
Для программирования микроконтроллера PIC нам понадобится IDE (интегрированная среда разработки), в которой происходит программирование. Компилятор, где наша программа преобразуется в MCU читаемом виде под названием HEX файлы. IPE (Integrated Среда программирования), который используется для вывода нашего шестнадцатеричного файла в наш PIC микроконтроллеры.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Компилятор: XC8
Microchip предоставила все эти три программы бесплатно. Их можно скачать прямо с их официальной страницы. Я также предоставил ссылку для вашего удобства. После загрузки установите их на свой компьютер. Если у вас возникнут какие-либо проблемы, вы можете просмотреть видео, приведенное в конце.
Для моделирования мы использовали программное обеспечение PROTEUS 8, предоставленное Labcenter. Это программное обеспечение можно использовать для моделирования нашего кода, созданного с помощью MPLABX. Существует бесплатное демонстрационное программное обеспечение, которое можно скачать с их официальной страницы по ссылке.
Подготовка с оборудованием:
Все наши руководства будут иметь аппаратное обеспечение. Чтобы изучить PIC наилучшим образом, всегда рекомендуется тестировать наши коды и схемы на оборудовании, потому что надежность моделирования очень низкая. Коды, которые работают в программном обеспечении для моделирования, могут работать не так, как вы ожидали, на вашем оборудовании. Следовательно, мы будем строить собственные схемы на платах Perf, чтобы сбрасывать наши коды.
Для того, чтобы сбросить или загрузить наш код в ПОС, нам потребуется PICkit 3. PICkit 3 программатор / отладчик является простой, недорогой внутрисхемный отладчик, который управляется с помощью компьютера под управлением MPLAB IDE (v8.20 или более поздней версии) программного обеспечения на платформа Windows. PICkit 3 программатор / отладчик является составной частью пакета инструментов инженера разработчиков. В дополнение к этому нам также понадобится другое оборудование, такое как плата Perf, паяльная станция, микросхемы PIC, кварцевые генераторы, конденсаторы и т. Д. Но мы будем добавлять их в наш список по мере прохождения наших руководств.
Я принес свой PICkit 3 из Amazon, видео с распаковкой можно найти в видео ниже. Также предоставляется ссылка на PICKIT3; цена может быть немного высока, но поверьте мне, это стоит того.