Программаторы и программирование микроконтроллеров

Программирование микроконтроллеров: с чего лучше начать

История появления

Работы над изобретением микропроцессора велись с начала 1970-х годов. Первой компанией, разработавшей его, была компания Intel. Уже в 1971 году ее был выпущен первый микроконтроллер 4004, который состоял из 2300 полупроводниковых транзисторов, а по размеру был не больше ладони. Это стало возможным, после того как для микросхемы был специально разработан кристалл процессора.

Несмотря на маленькие размеры, производительность микропроцессора не уступала компьютеру Eniac, имеющему габариты в 85 м 3 . Особенностью этого устройства было то, что оно могло обрабатывать только 4 бита информации.

В ближайшие полгода еще несколько компаний заявили о создании аналогичных изделий.

К концу 1973 года Intel выпускает 8-зарядный микропроцессор. Он был настолько удачно разработан, что и сегодня считается классикой.

Через несколько месяцев фирма Motorola выпускает свой 8-битовый микропроцессор 6800. Он стал сильным конкурентом интеловской микросхеме, т. к. имел более значительную систему прерываний и одно напряжение электропитания. В 8080 их было три.

Внутренняя архитектура 6800 тоже отличалась. В ней не было регистров общего назначения, в которых могли сохраняться как адресная информация, так и числовые показатели. Вместо них, в процессоре появился еще один полноценный аккумулятор для обработки данных и 16-разрядные регистры для хранения адресов. Работа с памятью у 6800 выполнялась быстрее и была проще, но 8080 тратил меньше времени на обмен внутренней информацией между регистрами.

Оба эти изделия имели как положительные стороны, так и недоработки. Они стали родоначальниками двух больших семейств микропроцессоров – Интел и Моторола, которые конкурируют между собой до сих пор.

В 1978 году Интел выпустила 16-разрядный микропроцессор, который IBM использовала для разработки персональных компьютеров. Моторола не отстала от своего конкурента и тоже выпустила 16-разрядный микропроцессор, который использовали Atari и Apple.

Сейчас существует более 200 разновидностей микроконтроллеров. Количество компаний, их изготавливающих, перевалило за два десятка. Широкое распространение у разработчиков получили:

  • 8-битные микроконтроллеры Pic компании Microchip Technology и AVR от Atmel;
  • 16-битовые MSP 430 фирмы TI;
  • 32-битные ARM от одноименной компании.

Тотальный микроконтроль. Какие бывают микроконтроллеры и как выбрать подходящий

  • PIC
  • Программирование и использование PIC
  • AVR
  • Цена и начинка
  • Программирование и использование AVR
  • ARM
  • STM8
  • STM32
  • Прошивка и программирование
  • Цена
  • Статьи в «Хакере» об STM32 и проектах на его основе
  • ESP
  • Статьи в «Хакере» о ESP32 и ESP8266
  • Выводы

Микроконтроллер (Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами.

Определение выше что-то напоминает. Ах да, микропроцессор! Эти два сложных (в сравнении с остальными) электронных компонента похожи. Они обрабатывают цифровую информацию и выполняют программы. Но микроконтроллер несколько интереснее: он уже содержит оперативную память (RAM), постоянную память (ROM), память программы (Flash) и некоторую встроенную периферию. С ним легче начать работать, ему не нужно много обвязки для функционирования.

С появления в 70-х годах первых микроконтроллеров необходимость в проектировании сложного устройства отпала. Долгое время монополию на их производство держала компания Motorola, но их продукция была дороговата для обывателей. Сейчас же американские компании теснят конкуренты из Азии, которые готовы осчастливить каждого за чисто символическую сумму.

Давай вместе попробуем разобраться в современном рынке микроконтроллеров. Замечу, что говорить мы будем только о бюджетных и широко специализированных модельных линейках, то есть о тех, которые используют электронщики.

Открывает наш парад компания Microchip Technology с серией PIC. Эти МК отличаются между собой разрядностью (8/16/32), набором периферии и корпусом чипа. Восьмибитные варианты же делятся на четыре семейства: baseline, mid-range, enhanced mid-range и PIC18. Более подробная информация приведена в таблице.

Также есть 16-битные «пики» — PIC24F и DsPIC30/33F. Ну и 32-битные — PIC32MX. Эти непонятные сочетания букв и цифр — часть идентификатора чипа. То же, что и марки у машин. Например, широко распространенный камень PIC16F628A расшифровывается так: семейство PIC16F6 (Mid-range), а остальная часть имени — указатель на конкретный камень. У рассмотренных далее МК в имени может содержаться еще больше информации.

Эти микроконтроллеры имеют среднюю стоимость. Например, камень PIC6F628 в Chipdip стоит около 150 рублей, а PIC18F2550 — 620 рублей.

Более дешевые экземпляры имеют в своем составе минимум периферии. У упомянутого ранее PIC6F628 следующие характеристики: встроенный тактовый генератор для работы с частотой 4 или 8 МГц; 18 пинов, из них 16 — ввод/вывод, а 2 — питание; для работы на более высоких частотах можно подключить кварцевый резонатор; Flash-память объемом 2048 слов; 4 аналоговых входа; два 8-битных таймера и один 16-битный; 224 байта ОЗУ (самому смешно); 128 байт EEPROM (это программно перезаписываемая энергонезависимая память, вроде жесткого диска); интерфейс UART.

Программирование и использование PIC

Программируют для микроконтроллеров, как правило, на ассемблере и на Си. Есть множество сред разработки: MPASM и MPLAB, MicroC, JALedit (язык JAL, сам про него впервые слышу).

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

Вторым плюсом можно указать встроенные независимые (от тактового генератора) счетчики. Благодаря этому факту семейство зарекомендовало себя в качестве «мозгов» для частотомеров. Пара таких контроллеров лежит у меня в мастерской на черный день. Из минусов можно выделить только высокую стоимость оригинальных программаторов, которые зовутся PICkit.

В интернете есть множество статей по сборке достойных аналогов таких программаторов. Но вся соль в том, что для сборки программатора тебе нужно что? Правильно, программатор. На этот случай был разработан программатор Громова. Для его сборки почти ничего не нужно, а работает он от COM-порта компьютера. На момент его разработки популярность этой серии МК была высока, да и COM-порты были у всех ПК. Сейчас все это уже редкость, так что придется преодолеть порог вхождения либо раскошелиться.

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

голоса

Рейтинг статьи

Сфера применения PIC-микроконтроллеров

Как уже было сказано, семейство PIC16 очень любят радиолюбители. К тому же оно хорошо описано в большом количестве литературы. По количеству учебников с семейством PIC, на момент написания статьи, может посоревноваться только семейство AVR.

Давайте рассмотрим несколько схем с применением микроконтроллеров семейства PIC.

Таймер для управления нагрузкой на PIC16f628

Простейшая автоматика на микроконтроллерах PIC – это стихия 8-битного семейства. Их объём памяти не позволяет делать сложных систем, но отлично подходит для самостоятельного выполнения пары поставленных задач. Так и эта схема трёхканального таймера на Pic16f628, поможет вам управлять нагрузкой любой мощности. Мощность нагрузки зависит только от установленного реле/пускателя/контактора и пропускной способности электросети.

Настраивается прибор с помощью набора из 4-х кнопок SB1-SB4, на HG1 выводятся параметры, это дисплей типа LCD на 2 строки по 16 символов. В схеме используется внешний кварцевый резонатор на 4 МГц, а KV1 – это реле, с питанием катушки в 24 В, вы можете использовать любое реле, лишь бы оно подходило по напряжению катушки к вашему БП. МК питается от 5 В стабилизированного источника.

Вы можете использовать от 1 до 3 каналов в управлении нагрузкой, стоит только продублировать схему, добавив реле к выводам RA3, RA4 микроконтроллера.

Часы-будильник на МК PIC16f628A

Такие часы, согласно заявлениям разработчика, получились весьма точными, их погрешность весьма мала – порядка 30 секунд в год.

С незначительными переделками вы можете использовать любые 7-мисегментные индикаторы. Питаются от блока питания на 5В, при этом, при отключении от сети продолжают работать от батареек, что вы можете увидеть в правом верхнем углу схемы.

Регулятор мощности паяльника на PIC16f628A

У начинающих радиолюбителей не всегда есть возможность купить паяльную станцию. Но они могут собрать её сами. На схеме ниже представлен регулируемый блок питания на PIC16f628, для работы паяльника. В основу схемы вложено фазоимпульсное управление. Это, по сути, доработанный и осовремененный аналог классического тиристорного регулятора, но с микроконтроллерным управлением.

Схема довольно простая, в нижней части реализация светодиодной индикации. Главный силовой элемент – тиристор BT139, а MOC3041 – нужен для гальванической развязки МК от сети и управления тиристором с помощью логического уровня в 5 В.

Цена и доступность

Если говорить о цене, то и PIC, и AVR очень похожи. Оба доступны в основном по одинаковой цене. Что касается доступности, то PIC удалось доставить продукты в оговоренные сроки по сравнению с AVR, поскольку Microchip всегда придерживалась политики коротких сроков поставки. Компания Atmel пережила трудные времена, поскольку широкий ассортимент продукции означает, что AVR — небольшая часть их бизнеса, поэтому другие рынки могут иметь приоритет над AVR для производственных мощностей. Поэтому рекомендуется использовать PIC с точки зрения графиков поставок, тогда как AVR может иметь решающее значение для производства. Детали микрочипов обычно более доступны, особенно в небольших количествах.

Программное обеспечение и заметки

Подключив COM или LPT программатор к микроконтроллеру нужно не забыть подать питание на сам микрочип. В качестве источника питания микроконтроллера можно использовать батарейки или блок питания со стабилизатором, это будет наиболее безопасно как для порта компьютера, так и для чипа. О том как использовать мы уже рассматривали.

Под Linux есть очень мощная программа которая умеет работать с USB ASP, COM и LPT программаторами — это программа AVRDUDE
, о ней будет идти речь в следующих разделах.

Для прошивки AVR чипов под Windows с использованием данных COM и LPT программаторов нужна программа UniРrof от Николаева, которая представляет собою универсальный программатор для AVR (avr.nikolaew.org).

ВНИМАНИЕ! Будьте предельно внимательны и осторожны при сборке и использовании программаторов с использованием COM или LPT порта компьютера, простой ошибкой можно запросто
подпалить эти порты. Для нормальной работы таких программаторов нужно стараться использовать по возможности максимально короткие проводники от разъема к схеме программатора и микроконтроллеру

Микропроцессор компьютера желательно чтобы имел частоту не более
1-2 ГГц, а в качестве ОС для программирования чипов желательно использовать Win2000 или WinXP.

Также важно знать что переходники USB-RS232 (USB-COM Port) скорее всего не будут работать с программатором Громова, заработают возможно только те у которых стоят более новые микросхемы, так что лучше искать машину с родным COM-портом.

Языки программирования микроконтроллеров

К большому сожалению электронные устройства не понимают человеческую речь. Все команды должны быть переведены на понятный им язык.

Инструкции, воспринимаемые микроконтроллером, имеют вид последовательности единичек и нулей:

00110101 011000100

Это код команд. Для того чтобы перевести наши слова в этот вид, существуют специальные программы.

Они помогают описать в понятных нам терминах порядок работы устройства, а затем представить этот алгоритм в виде, доступном пониманию микроконтроллера. В итоге получается машинный код, то есть последовательность команд в виде опкода (двоичное исчисление). Программа, написанная человеком на одном из языков, называется исходным кодом. Перевод программы с исходного кода на машинный осуществляют трансляторы. Использование различных языков позволяет реализовывать, например, программирование микроконтроллеров на ассемблере.

Эти программы составляются с применением специальных наборов семантических, лексических правил – языков программирования, являющихся способом передачи команд, инструкций, чёткого руководства к действию для микроконтроллера.

Существует большое количество языков, но подразделяются они на два типа:

  • Низкоуровневые языки программирования.
  • Языки программирования высокого уровня.

Их отличие состоит в «близости» к микроконтроллеру.

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

01010010
01000110
10010011

Такое лаконизм и отсутствие наглядности даже у специалиста вызовет затруднения в определении, о чём же конкретно идёт речь. Поэтому в стремлении сделать инструкции более понятными большинству людей стали разрабатываться языки программирования, содержащие слова. Другими словами, чем больше единиц и нулей – тем ниже уровень.

Наиболее востребованные языки программирования:

  • язык низкого уровня – Ассемблер.
  • язык высокого уровня – С (Си).

Таким образом, подходят не только низкоуровневые, но возможно и программирование микроконтроллеров на С.

Приведём абстрактный пример их различия:

Допустим перед нами стоит задача найти сумму чисел: 25 и 35.

Машинным кодом это описывается так:

00000101 1101001

На языке низкого уровня:

ADD Rd, Rr

На языке высокого уровня:

25+35

Как видите, разница в наглядности очевидна.

Поговорим об этих примерах подробнее

Не будем заострять внимание на примере машинного кода, так как он подобен реализации на Ассемблере. На этом языке команды, по своей сути, это те же наборы единиц и нолей, только их последовательностям присвоены буквенные обозначения

Инструкция ADD Rd, Rr ставит перед микроконтроллером задачу сложения двух чисел, находящихся соответственно в Rd и в Rr (но предварительно необходимо их туда записать). Таким образом, контроллер получает чёткое указание: где что находится, что надо просуммировать, и куда записать результат. В этом заключается работа с электронным устройством напрямую.

Третий пример выглядит как обычная математическая запись. Но, в этом случае микроконтроллер не является прямым объектом нашего воздействия. Перед ним поставлена задача, аналогичная команде на Ассемблере: записать эти числа, произвести арифметическое действие. Записать сумму.

Здесь то и есть главное принципиальное отличие высокоуровневых и языков низкого уровня. Кодирование на Ассемблере независимо от нашего желания подразумевает полный контроль всего процесса: нам известно, в каком месте записаны эти два числа, и мы знаем, где будет результат. Другая картина при использовании языка С: программа сама решает местонахождение чисел и их суммы. В большинстве случаев в этом и нет необходимости, главное получить итог – число 60 на выходе.

Считается, что программы, написанные на языках высокого уровня, лучше воспринимаются, более лаконичны и наглядны (есть и противники такой оценки), им не нужно досконально расписывать каждое действие микроконтроллера.

Эту задачу выполнит компилятор – «переводчик» на машинный код. Тут и скрывается один из недостатков: один и тот же алгоритм, реализованный на Ассемблере и на С после компиляции, будет иметь разный размер. Низкоуровневая программа будет чуть ли не вдовое короче. В некоторых случаях даже делают вставки на Ассемблере в программу, написанную на С.

Назначение и область применения микроконтроллера

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

  • автомобилестроение;
  • робототехника;
  • самолето- и судостроение;
  • промышленное оборудование;
  • электронные детские игрушки;
  • компьютеры, телефоны;
  • электронные музыкальные инструменты;
  • бытовая техника;
  • медоборудование;
  • управление шлагбаумами и воротами;
  • светофоры, семафоры;
  • железнодорожный транспорт.

Это не полный перечень областей применения МК.

Основное назначение МК – контролировать все процессы, которые происходят на его платформе. От включения или выключения света по хлопку до поднятия штор при изменении освещенности на улице. По сути, МК осуществляет контроль за состоянием неких переменных и изменение системы в динамических условиях.

PIC16F628A — Страница 3 — Меандр — занимательная электроника

Однажды я  купил недорогой напольный вентилятор, у которого было два больших минуса: 1. Нет удаленного управления. 2. Нет таймера на отключение (а я не хочу, чтобы он гудел всю ночь). Итак, что есть под рукой: 1. Микроконтроллер pic16f628a в soic корпусе; 2. Два реле 5В на несколько ампер; 3. Вентилятор; Неплохо, вроде бы есть где …

Читать далее

Постоянная ссылка на это сообщение:

Большинство из нас проводят много времени в руках с паяльником. Не секрет, что хорошая пайка компонентов является залогом успешной работы электронного устройства. Качество пайки определяется по характерному блеску. Сероватая и неровная пайка является потенциальной причиной плохой работы схемы. Другая важная задача заключается в том, чтобы произвести пайку не перегревая компонентов. Хорошее качество пайки обеспечивают цифровые …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/10413

Вашему вниманию хочу представить таймер на 24 часа. Выполнен таймер на ЖКИ WH-0802 и на МК PIC16F628A. Таймер очень прост в повторении при правильной сборке, не каких настроек не надо. При подаче питании на ЖКИ появится: Кнопкой S1 заходим в меню и выбираем часы, минуты или секунды. Затем кнопками S2 и S3 выставляем нужное время, …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/7222

Эта поделка является «побочным продуктом» после разборок с файловой системой FAT16. Все делалось «для себя» и предоставляется «как есть». Основная задача была сделать замену входному звонку на УМС8, поэтому применено батарейное питание. Все разрабатывалось на отладочной плате с более серьезным МК и было успешно перенесено на платформу 16F628A, поэтому схема отдельно не рисовалась, за отсутствием …

Читать далее

Постоянная ссылка на это сообщение:

Наверное у каждого есть маленькие родственники – дети. Ребёнок рано или поздно начинает осваивать счёт. Обучение наиболее эффективно проводить в форме игры. Для этих целей существуют различные настольные игры, в которых количество ходов определяется с помощью игральных кубиков (костей). Моя маленькая племянница проявляет большой интерес к электронным игрушкам, особенно к тем, у которых есть кнопки …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/3422

Как прошивать микроконтроллер? С чего начать изучение?

Официальный программатор для семейств PIC – это PICkit V3, является наиболее распространенным. Программный код загружается в чип с помощью ПО, которое есть на диске, он идёт в комплекте с программатором. IDE имеет название MPlab. Является официальной средой разработки от производителя, между прочим, бесплатной. Для изучения устройств есть отличная книга на русском языке «Pic-микроконтроллеры. Полное руководство» автор её Сид Катцен. Кроме этой книги вы найдете огромное количество видео-уроков и текстовых материалов, которые вам помогут.

Применение микроконтроллеров PIC весьма широко, многие радиолюбители собирают металлоискатели и счетчики Гейгера на этих МК.

Управление микроконтроллером

Управление МК может осуществляться двумя способами:

  1. Проводной путь. Управление исполнительными механизмами происходит через электропроводное соединение управляющих цепей и исполнительных механизмов. Включение — по нажатию кнопки на диспетчерском пункте или кнопочном пульте.
  2. Беспроводной путь. Такой способ управления не требует проводного соединения. С передатчика или пульта дистанционного управления (ПДУ) передается сигнал, который идет на приемник.

Сигналы беспроводного соединения могут быть:

  • Оптическими. Подобными сигналами управляется домашняя бытовая техника: телевизоры или кондиционеры.
  • Радио. Есть несколько вариантов: Wi-Fi, Bluetooth и др.

Развитие современных средств связи позволяет управлять контроллерами как через ПДУ, находясь в непосредственной близости к прибору, так и по интернету из любой точки мира через локальную сеть.

Обеспечивает поддержку cети Wi-Fi МК ESP 8266. В продаже он может быть в виде микросхемы или распаян, как arduino. У него 32-битное ядро, программировать его нужно через последовательный порт UART. Бывают более продвинутые платы с возможностью прошивки по USB – это NodeMCU. Они могут хранить информацию, записанную, например, с датчиков. Такие платы работают с различными интерфейсами, в т. ч. SPI, I2S.

Поддерживает большое число функций:

  • планировщик задач;
  • таймер;
  • канал АЦП;
  • формирование на выходе ШИМ сигнала;
  • аудиопроигрыватель и многое другое.

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

Быстрый способ начать программировать микроконтроллеры

Специалисты, проектирующие электронные устройства, часто оперируют таким термином как «быстрый старт». Им описывают случаи, когда необходимо в сжатые сроки испытать после тестового программирования, например, микроконтроллер Atmel и посмотреть, как он выполняет элементарные задачи.

Популярные статьи

Высокооплачиваемые профессии сегодня и в ближайшем будущем

Дополнительный заработок в Интернете: варианты для новичков и специалистов

Востребованные удаленные профессии: зарабатывайте, не выходя из дома

Разработчик игр: чем занимается, сколько зарабатывает и где учится

Как выбрать профессию по душе: детальное руководство + ценные советы

Оперативно получив приемлемый результат, можно более углубленно изучить все тонкости и «подводные камни» этого процесса.

Ознакомиться с принципами работы с микроконтроллерами, используя «быстрый старт», освоить методы программирования и создания различных по функционалу умных электронных устройств вам помогут некоторые курсы, обучение в которых построено по принципу «от простого к сложному». Наглядность и обилие практических примеров позволит вам в короткие сроки достигнуть мастерства в программировании микроконтроллеров.

GeekBrains представляет учебное пособие «Факультет. Инженер умных устройств».

Пройдя этот курс вы можете стать специалистом в области интернета вещей — Internet of Things (IoT) и научиться создавать сеть умных гаджетов. Изучите язык C, способы компилирования, отладки и программирования микроконтроллеров Arduino. Кроме этого, овладев необходимыми знаниями, наработаете опыт работы по технологиям удалённого доступа (Bluetooth, Wi-Fi). Что позволит с лёгкостью конструировать современные встраиваемые системы.


Быстрый способ начать программировать микроконтроллеры

Плюсы прохождения данного курса:

1000 и одна микроконтроллерная схема. Выпуск 2 (+CD)

1000 и одна микроконтроллерная схема. Книга является второй частью и логическим продолжением авторского издания «1000 и одна микроконтроллерная схема. Вып.1», вышедшего в в 2010 г. В книге представлена коллекция, более чем из 1000 электрических схем по применению микроконтроллеров в любительской практике. Подробно освещается подсистема цифрового вывода сигналов (подключение световых, звуковых, механических и других исполнительных устройств), а также схемотехника комбинированных узлов ввода/вывода и устройств сопряжения с компьютерами через интерфейсы RS-232, LPT, PS/2, USB, Ethernet. Все электрические схемы систематизированы по разделам и снабжены пояснениями о назначении элементов. Книга будет полезна разработчикам электронной аппаратуры, радиолюбителям (в том числе начинающим), студентам, а также всем неспециалистам в области электроники, самостоятельно осваивающим микроконтроллеры.

Описание

PSoC, интегральная схема, состоящая из сердечника, конфигурируемых аналоговых и цифровых блоков, а также программируемой маршрутизации. Конфигурируемые блоки в PSoC являются самым большим отличием от других микроконтроллеров. Программирование блоков осуществляется на функциональном уровне, разработчик выбирает необходимую ему функцию из библиотеки и задает необходимые параметры работы и производит необходимую коммутацию с другими частями проекта. Такой подход позволяет достаточно быстро и легко познакомиться с микроконтроллерами PSoC и сократить временные затраты на разработку.

  • цифровые блоки основного типа для построения таймеров, счетчиков, ШИМ (Basic);
  • цифровые блоки для построения коммуникационных периферийных узлов UART, SPI, IRDA (Comm);
  • аналоговые блоки для построения усилителей, компараторов и других линейных устройств (CT);
  • аналоговые блоки на переключаемых конденсаторах для построения фильтров, ЦАП, АЦП (SCA, SCB).

PSoC имеет три отдельных пространства памяти: выгружаемого SRAM для данных, флэш — памяти для инструкций и фиксированных данных, а также регистры ввода / вывода для управления и доступа к конфигурируемым логическим блокам и функциям. Устройство создается с использованием SONOS технологии.

PSoC напоминает ASIC : блокам может быть назначен широкий спектр функций связанных между собой на чипе. В отличие от ASIC, нет никакого специального производственного процесса, необходимо просто создать пользовательскую конфигурацию — запустить код , который создается с помощью PSoC Designer Cypress (для PSoC 1) или PSoC Creator (для PSoC 3/4/5) IDE .

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

PSoC наиболее близко напоминает микроконтроллер в сочетании с PLD и программируемым аналогом. Код выполняется для взаимодействия с заданными пользователем периферийными функциями ( так называемые «компоненты»), используя автоматически сгенерированные API — интерфейсов и обработки прерываний. PSoC Designer или PSoC Creator генерируют код конфигурации запуска.

Настраиваемые аналоговые и цифровые блоки

Используя настраиваемые аналоговые и цифровые блоки, разработчики могут создавать и изменять встраиваемые приложения смешанных сигналов. Цифровые блоки являются автоматами, настроеные с помощью блоков регистров. Есть два типа цифровых блоков, цифровые строительные блоки (DBBxx) и цифровые коммуникационные блоки (DCBxx). Только коммуникационные блоки могут содержать последовательные пользовательские модули ввода / вывода, такие как SPI, UART и т.д.

Каждый цифровой блок считается 8-битным ресурсом, который разработчики могут настроить с использованием предварительно встроенных цифровых функций или пользовательских модулей (UM), или путем объединения блоков, превратить их в 16-, 24- или 32-разрядные ресурсы.

Есть два типа аналоговых блоков. Блоки непрерывного времени (CTB) состоят из схемы ОУ и обозначены как ACBxx где хх является 00-03. Другой тип — блоки переключающей головки (SCB), которые позволяют протекать сложным аналоговым сигналам и обозначаются ASCxy где х строка и у столбец аналогового блока. Разработчики могут модифицировать и персонализировать каждый модуль в любую конструкцию.

Программируемая маршрутизация и межсоединения

Гибкая маршрутизация PSoC массивов смешанных сигналов позволяет разработчикам направлять сигналы в и из контактов ввода / вывода более свободно, чем со многими конкурирующими микроконтроллерами. Глобальные шины позволяют мультиплексирование сигнала и выполнение логических операций. Cypress предполагает, что это позволяет разработчикам менять конструкцию и делать улучшения легче и быстрее и с меньшим количеством модернизаций печатных плат, чем подход цифрового логического затвора или конкурирующих микроконтроллеров с фиксированным количеством функциональных контактов.

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: