01.07.2024

Зачем нужен контроллер: Что такое контроллер? Схема контроллера

Содержание

Что такое контроллер? Схема контроллера

Что делать, если техника работает на разных «уровнях»? Когда она «общается» на различных языках? Сложно было бы добиться конструктивного выполнения функционала, если бы не полезные дополнения.

Что такое контроллер

Что такое контроллерТак называется электронное устройство, которое используется, чтобы подключать к магистралям компьютера различные периферийные устройства, которые отличаются своим интерфейсом, принципом действия и конструктивным исполнением. По смысловому значению к контроллеру подойдёт слово «адаптер». Говоря о них, можно сказать, что их назначение является одинаковым. Но контроллером всё же называют более сложные устройства. Под ним понимают приборы, которые могут совершать самостоятельные действия после того, как были получены команды от программы, которая занимается их обслуживанием. Так, в составе сложного контроллера может быть и собственный процессор. Но если рассматривать с точки зрения рядового пользователя, то данные понятия неотличимы и могут считаться синонимами. Вот что такое контроллер.

Дополнительные

драйвер контроллераЗачем необходимо применять контроллеры, кроме уже указанного посредничества? Наличие подобных устройств позволяет уменьшать нагрузку, которая приходится на центральный процессор. Благодаря этому значительно возрастает производительность системы. Механизм такой помощи заключается в том, что контроллеры освобождают компьютерные центральные процессоры от самых медленных операций ввода или вывода информации. Впервые идея применения специальных интеллектуальных схем, которые будут разгружать ЦП, была реализована в третьем поколении электронно-вычислительных машин коллективного использования ІВМ-360. В Советском Союзе был специфичный аналог ЕС ЭВМ. К появлению четвертого поколения возникла технологическая возможность сбора системы управления в рамках единого кристалла. Таким образом, появились первые микроконтроллеры.

Что в него входит

Сейчас это очень сложная техническая единица, которая значительным образом была доработана со времени своей разработки. В современном среднестатистическом контроллере имеются собственный микропроцессор, регистры внешних устройств, благодаря которым осуществляется взаимодействие устройства ЦП, ОЗУ, ПЗУ, согласующие (буферные) схемы. Вот что такое контроллер. Чтобы представить, что собой являет этот сложный прибор, представьте упрощенную специализированную электронно-вычислительную машину, которая занимается только определённым спектром действий – допустим, осуществляет взаимодействие с клавиатурой, что подсоединена к компьютеру. Как только осуществляется нажатие на клавишу, данная информация передаётся в центральный процессор, где она уже соответствующе обрабатывается им.

Работа с компьютером

драйвера контроллера для windows 7Как контроллер работает с персональным компьютером? Для этого необходимо наличие в его ОЗУ соответствующей программы и данных. Попадают они сюда из различных устройств, таких как клавиатура, диски, мыши. Обычно для их обозначения используется термин «внешние». Хотя ради справедливости следует отметить, что некоторые из них (как то дисковод) находится внутри системного блока компьютера. Результат обработки электронно-вычислительной машиной тоже выводится на внешние устройства, такие как принтер, диски, флеш-накопители и монитор. Подводя итог, можно сказать, что для полноценной работы персонального компьютера должен присутствовать обмен данными. Он и называется вводом/выводом. Чтобы обмен данными мог выполнять возложенные на него функции, должны работать два звена:

  1. Каждое внешнее устройство, подключаемое к персональному компьютеру, имеет электронную схему, которая используется для управления. А управляет ею драйвер контроллера.
  2. Каждый их них взаимодействует с ОЗУ благодаря системной магистрали передачи данных – шине. Все компоненты персонального компьютера, которые должны работать, подключаются к ней с использованием разъемов расширения системы, которые называются слотами.

Для чего они ещё могут применяться? Вот контроллер Simple Communications используется для того, чтобы отслеживать температуру составляющих частей системного блока. Ведь перегрев может привести к тому, что что-то расплавится и выйдет из строя. Поэтому и было предусмотрено такое устройство, которое в качестве реакции может включить/усилить систему охлаждения или ослабить мощность работы компонента. Чтобы любой прибор нормально работал, необходимы драйвера контроллера. Для Windows 7 или другой операционной системы существуют свои системные файлы, которые организуют работу устройства с персональным компьютером.

Схематические изображения и их зависимость от специализации

контроллер simple communicationsТеперь немного о схемах. Дело в том, что чего-то одного универсального и признанного не существует. Это связано с тем, что контроллеры существуют для разных целей, и они должны выполнять различный функционал. Именно из-за этого и не приходится говорить про их универсальность. Только подумайте, как может контроллер монитора заставить работать принтер, если он не имеет необходимой аппаратной составляющей. Поэтому в рамках статьи все же размещено несколько образцов, но они здесь показаны больше в ознакомительных целях, чтобы иметь представление о том, как данные устройства сконструированы. Но схема контроллера под каждый конкретный случай должна подбираться отдельно.

Заключение

схема контроллераИтак, мы рассмотрели, что такое контроллер. Как видите, они играют довольно значительную роль в рамках совершенствования таких технических систем, как компьютеры. Конечно, можно обойтись и без них, но тогда придётся говорить о значительных сложностях и падении производственной мощности. Хотя, если посмотреть на каждый контроллер по отдельности, сначала может возникнуть вопрос о том, как такие слабые устройства могут помочь. И действительно, большинство из них обладают незначительными характеристиками, которые могут составлять единицы мегабайтов или даже килобайтов. То есть они могут выполнять даже всего несколько десятков тысяч операций в секунду! Но поверьте, если бы эти задачи были переброшены на центральный процессор, он бы тратил значительно больше из-за сложности организации.

Полезная информация

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

Качественная автоматизация производства с помощью контроллеров

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

Чтобы понять, для чего служат контроллеры, стоит разобрать их основные функции:

  • установка необходимых программ для управления промышленным активом предприятия;

  • безукоризненное и точное выполнение всех введенных настроек в систему управления;

  • непрерывный контроль за соблюдением всех условий работы каждого устройства в системе;

  • автоматическое аварийное отключение при сбое в режимах температур, условиях производства;

  • неограниченное количество функций, которые можно вводить в программный модуль.

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

Какие контролирующие устройства стоит покупать?

Вопрос подбора достаточно сложен. Следует отдать предпочтение мировым лидерам в производстве промышленной автоматики. Такие компании как Siemens предлагают оптимальные решения, наработанные за годы постоянного совершенствования. Есть и более доступные варианты, но они не всегда оказываются эффективными для предприятий в конкретной сфере.

Где можно выгодно купить автоматику для производства в Москве?

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

Что такое контроллер управления | elesant.ru

Вступление

Есть в электротехнике, электронике и вычислительной технике термины, которые объединяют устройства самого различного применения. Один из таких многозначных терминов, термин — контроллер.

Что такое контроллер управления?

Само слово контролер, буквально обозначает управление. Устройство, называемое контроллер, буквально означает — устройство, предназначенное для управления, чем либо.

Самым простым и понятным примером контроллер компьютера, который управляет внешними устройствами клавиатурой и мышью компьютера.

Чтобы был понятен спектр охватываемых приборов и устройств, именуемых контроллеры, приведу более сложный пример — контроллеры ControlLogix. Эта система на базе одного автономного контроллера и модулями ввода/вывода позволяет осуществлять дискретное управление постоянными процессами, управление приводами, сервоприводами в самых различных комбинациях.

ControlLogix

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

Еще один пример, это контролер умного дома. Это базовое устройство для работы данной системы. Без контроллеров управления не обходится ни одна система «умный дом». К входам контроллера «умного дома»  подключаются различные датчики (утечки воды, наличие газа, дыма, датчики движения и т.д.). К выходам прибора подключаются сервоприводы и реле управления, которые в автоматическом режиме могут отключить газ, воду, регулировать и управлять светом дома.

kontroller umniy dom 1

Обще устройство контроллеров управления

Рассмотрим обще устройство контроллеров управления. Это поможет, на базовом уровне, понять суть их применения и использования в различных системах.

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

Например, интерфейс USB позволяет менять прошивку контроллера. Сетевой Ethernet позволяет подключить устройство к сети Интернет и мобильному приложению. Интерфейсы промышленных контроллеров (например, Allen-Bradley) поддерживают промышленные сети (DeviceNet, ProfiBus, Ethernet, ControlNet, Dh585 и т.п.).

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

Например, на вход контроллера поступает сигнал с датчика температуры воздуха. На выход подключаем управление работой кондиционера, включение которого зависит от датчика температуры воздуха.

Или еще пример, на вход подключаем датчик движения, на выход — управление освещением, которое включает/выключает освещение по сигналу датчика.

Входы и выходы

kontroller umniy dom 2

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

  • Дискретный вход воспринимает только наличие (единица) или отсутствие (ноль) сигнала.
  • Аналоговый вход «видит» параметры сигнала.

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

Вывод

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

©elesant.ru

 

Разработка электроники. О микроконтроллерах на пальцах / Хабр

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

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

Краткое содержание статьи:

Как микроконтроллеры завоевали мир
Архитектура ARM — сегодняшний лидер рынка микроконтроллеров
Конкуренция с младшими братьями
Об укладке асфальта, пользе сна и его разновидностях
Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров
Периферия простейшего ARM микроконтроллера за пол бакса
Самый дешёвый способ получить дополнительные функции
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?
Cortex-M7 — когда хочется большего…

Защита кода, возможность его обновления и многообразие помогли микроконтроллерам завоевать мир

Любой умный прибор требует управления. В большинстве случаев сегодня этим занимаются микроконтроллеры — чипы, которые совмещают в себе микропроцессорное ядро, память и периферийные модули, отвечающие за связь с остальными компонентами устройства и внешним миром.

Микроконтроллеры — мастера на все руки. Один микроконтроллер способен заменить десятки специализированных микросхем, которые были бы необходимы для выполнения требуемых функций в случае, если бы роль вычислителя занимал микропроцессор.

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

Что нельзя взломать — то можно скопировать. Зачем пытаться считать код, встроенной в микроконтроллер программы, с помощью дорогостоящих хитроумных приспособлений, если проще и дешевле найти профессионала, который может написать его заново? Возможно результат будет даже лучше, а функционал богаче чем у прототипа. Да это стоит денег, но содержание FLASH памяти сегодняшних микроконтроллеров настолько хорошо защищено, что попытки грубого “взлома” обойдутся ещё дороже. Кроме того, решается проблема интеллектуальной собственности, а вы, вместе с исходными кодами программы, получаете возможность развивать и совершенствовать своё устройство.

Память программ, в современных универсальных микроконтроллерах, является перезаписываемой, причём процесс перезаписи можно повторять не один десяток тысяч раз. Напрашивается использование этого факта для обновления программного обеспечения с целью устранения найденных в нём ошибок или расширения функций уже работающего устройства. Это достаточно просто реализовать — добавив в программу специальный участок кода под названием “бутлоадер”, вы получаете возможность обновлять программное обеспечение вашего прибора различными способами: в пункте сервисного обслуживания (если устройство имеет специальный, скрытый внутри корпуса от посторонних глаз, разъём), подключив к компьютеру по USB, через сетевой или даже беспроводной интерфейс. Главное, предусмотреть в приборе необходимую для этого периферию. Предоставляя возможность обновления ПО, всегда следует думать о безопасности, если этот процесс недостаточно защищён, мало того, что злоумышленники могут похитить ваш код, они могут модифицировать его и использовать в своих не исключено, что коварных целях. Например, взять под контроль вещи вашего “умного дома” или шпионить с помощью, установленной вами же у себя дома, WEB камеры.

Архитектура ARM — сегодняшний лидер рынка микроконтроллеров

Со времён Царя Гороха микроконтроллеры принято разделять по разрядности данных, над которыми они проводят операции. В подавляющем большинстве случаев, сегодня, в новых разработках, стоит останавливать свой выбор на 32 битных микроконтроллерах с ядром АRM. Существует огромное количество их модификаций и всегда можно подобрать экземпляр, наилучшим образом подходящий для решения вашей задачи. В зависимости от набора функций и производительности, цена чипа может составлять от десятков центов до десятков долларов.
Микроконтроллеры(MCU), в зависимости от архитектуры вычислительного ядра, принято разделять на крупные семейства. На сегодняшний день, для разработок устройств малой и средней сложности, наиболее популярны микроконтроллеры c ядрами от Cortex-M0 до Cortex-M7. Чем больше цифра, тем больше вычислительные (и не только) возможности, цена и максимальное энергопотребление. Не последнюю роль в популярности ARM сыграла преемственность архитектуры. Разработчик может с минимальными издержками модифицировать программный код своих предыдущих наработок, переходя от микроконтроллеров одного производителя к чипам другого и мигрируя между ядрами с разной производительностью.

Конкуренция с младшими братьями

Однако ARMы «рулили» не всегда. Я хорошо помню времена, когда абсолютными лидерами рынка были 8 битные микроконтроллеры и, с занятых позиций, их безуспешно пытались оттеснить 16 битные коллеги, но, по иронии судьбы, удалось сделать это только 32 битным старшим братьям. Так сложилось, что к моменту их появления, технологии изготовления чипов сильно удешевили интеграцию в них больших объёмов FLASH памяти. Воспользовавшись удобным случаем, программисты стали переходить с ассемблера на язык более высокого уровня — Си, структура которого отлично ложилась на 32 битную архитектуру. В результате 32 битные микроконтроллеры выполняли вычисления гораздо быстрее своих 8 и 16 битных коллег, но была одна проблема — у них был выше ток потребления.

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

Известно, что средний ток потребления вычислительного ядра микроконтроллера существенно увеличивается с поднятием его тактовой частоты. Поначалу 8 битные модели микроконтроллеров отличались заметно меньшим потреблением при сходной частоте и, кроме того, были способны работать от низкой тактовой частоты, вплоть до 32 кГц.

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

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

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

Об укладке асфальта, пользе сна и его разновидностях

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

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

Не проще ли, выполнив быстро всю работу, немного поспать. Зачастую, да. Причём виды сна микроконтроллеров отличаются ещё более драматично, чем у человека.

Можно просто вздремнуть. В этом случае наш чип всегда наготове и как только зазвенел будильник таймера или его потревожило внешнее прерывание, он просыпается практически мгновенно. Как человек во время дремоты может снять напряжение, но не выспаться толком, когда тебя постоянно дёргают, так и микроконтроллер может снизить своё энергопотребление в этом режиме “всего” раз в 10, называют этот режим SLEEP.

Лучший способ хорошо выспаться — раздеться, лечь в постель, задёрнуть шторы на окне и включить будильник. Однако, после такого сна, уже моментально в работу не включишься. Придётся, как минимум, предварительно ополоснуться холодной водой и одеться. Есть такой режим и у микроконтроллера, когда он ограничивает количество внешних раздражителей и выключает основной тактовый генератор. Это режим STOP. В нём можно уменьшить потребление в 1000 раз, но и на выход из него уже потребуется существенное время.

Теперь, представьте себе, что вы перед сном выпили изрядную дозу снотворного, отключили будильник и телефон, закрыли все окна и двери. Это будет режим STAND BY. Вывести из такого режима микроконтроллер можно только с помощью особых выводов и большая часть памяти о том, чем он занимался перед таким сном будет потеряна навсегда, придётся начинать работу заново. Зато находясь в таком режиме MCU потребляет ещё в два раза меньше.

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

Выбирая режим экономии энергопотребления необходимо помнить о последствиях применения:

  • чем глубже сон, тем дольше пробуждение
  • чем глубже сон, тем меньше способов вывести из него микроконтроллер
  • чем глубже сон, тем меньше остаётся информации о предыдущем состоянии микроконтроллера
  • для достижения минимальных заявленных значений, во многих режимах необходимо принимать дополнительные меры, например — отключения периферии
  • для минимизации энергопотребления устройства в целом необходимо грамотно спроектировать схемотехнику всего устройства
  • для минимизации энергопотребления устройства в целом, нужно позаботиться о том, чтобы остальные компоненты и цепи также имели микропотребление в неактивном режиме. Глупо предпринимать огромные усилия для того, чтобы опустить потребление микроконтроллера ниже одного микроампера и, при этом, применять в устройстве дешёвый стабилизатор с током собственного потребления в 100 микроампер но встречается такое сплошь и рядом
  • для успешного использования режимов глубокого сна не только программа, но и схемотехника, должны быть тщательно продуманы, иначе, вместо экономии, можно получить весьма серьёзные проблемы — редко случающееся, зато “мёртвое” зависание устройства по необъяснимой причине, либо слишком частое пробуждение и, как результат, потребление на порядки выше ожидаемого

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

Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров

Физически активная часть микроконтроллера, как и подавляющее количество других микросхем, обычно сформирована на пластине монокремния (назовём его, в данном контексте, ЧИП). Чипы занимают очень маленькую площадь, технологически же выгодно производить пластины большого диаметра, поэтому, обычно большое количество чипов, как соты, размещают на одной большой пластине и формируют, в ходе одного технологического процесса. В последствии пластины нарезают на кусочки, получая уже отдельные чипы, которые и помещают в корпуса. Разработка топологии и отладка технологических процессов нового чипа стоит очень дорого, а занимаемое на пластине одним чипом место, как правило, не велико. Производителям выгодно выпускать чипы крупными партиями, но пользователям требуются микроконтроллеры в разных корпусах — кому то важно получить корпус поменьше и подешевле, другому наоборот требуется побольше выводов, чтобы управлять LCD или внешней памятью с параллельным интерфейсом. Производителям выгодно перекрывать все ниши, чтобы клиенты не перебегали к конкурентам, не найдя оптимальной для себя модели.

Очень часто бывает выгодней выпустить крупной партией один универсальный чип и помещать его в разные корпуса, чем запускать десяток различных. У чипов, помещённых в корпуса с малым количеством выводов, часть портов (в данном контексте, под портами будем понимать контактные площадки на поверхности чипа, служащие для общения с внешним миром) просто останутся неподсоединёнными. Часто производители идут дальше — чтобы поднять спрос и цену на микроконтроллеры с большим количеством ножек, они искусственно обрезают функциональность тех, у которых их меньше — отключают некоторые функции, ограничивают объём доступной памяти и т. п.

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

Так из одного стандартного дизайна чипа формируется целая серия микросхем.

Периферия простейшего ARM микроконтроллера за пол бакса

Процессорное ядро — это мозг, но, чтобы он не был подобен “сферическому коню в вакууме”, требуются аналоги органов чувств и конечностей.

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

Для начала рассмотрим периферию одной из простейших серий от ST на основе ядра Cortex-M0 — stm32F03.

Для этой серии имеем следующий набор базовых функций:
Часы реального времени (Real Time Clock или RTC), которые могут запитываться с помощью отдельного вывода и работают от отдельного низкочастотного резонатора. Этот модуль потребляет крайне мало энергии, в случае пропадания основного питания он может часами работать от заряженного конденсатора, или годами от маленькой встроенной в прибор батарейки. Кроме этого, он может служить в качестве будильника, выводя микроконтроллер из состояния даже самого глубокого сна в заранее заданное время.

WatchDog — сторожевая собака мешающая микроконтроллеру заснуть навсегда, например, свалившись в бесконечный цикл или перейдя по несуществующему адресу. Его принцип работы прост. Программист настраивает таймер защиты от “зависания” на определённый период времени, допустим на секунду, и запускает его. Затем он расставляет, в выбранных им местах программы, короткие участки кода, которые перезапускают таймер с нулевого значения. Если за секунду не произошло ни одного сброса таймера, WatchDog считает, что с программой что-то не так и устраивает микроконтроллеру перезапуск. Программа начинает работать с начала, причём существует возможность определить являлся ли инициатором ресета WatchDog и учесть этот факт при запуске.

Универсальные цифровые входы-выходы (General Purpose Input-Output GPIO) — это самая распространённая функция, которую поддерживают большинство выводов микроконтроллера. Они могут конфигурироваться либо как входы, либо как выходы.

Рассмотрим работу в качестве входа. Если напряжение на входе микроконтроллера меньше некоего порога (как правило близкого к половине питания), то оно воспринимается как логический ноль, в противном случае как 1. Цифровые входы обычно имеют очень высокое входное сопротивление, поэтому, если их оставить не подключенными, их состояние может скакать из нуля в единицу и обратно, под действием наводок электромагнитных полей. Для того, чтобы этого не происходило, существуют специальные режимы, когда внутри чипа вход соединяется через сопротивление 20 — 50 КОм с плюсом питания микроконтроллера (pull-up) или с минусом (pull-down).

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

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

На рисунке выше изображён участок схемы, спроектированного мной устройства (спутникового модема), с элементами простейшей защиты портов микроконтроллера. X4 — разъём для внешних коммуникаций. Нас интересуют контакты 5-7, к которым присоединяются тревожные кнопки. Сигналом тревоги служит замыкание на землю, поэтому, в нормальном состоянии, на портах должно присутствовать напряжение питания микроконтроллера, что и обеспечивают резисторы R24-R26, номиналом 1 КОм. Супрессоры VD4-VD6 ограничивают напряжение на уровне 5 вольт, это допустимо потому, что применяемый мной микроконтроллер, хотя и питается напряжением 3,3 вольта, но имеет порты толерантные к напряжению 5 вольт. Резисторы R29-R31 на 100 Ом.

Подобная защита спасёт порты вашего микроконтроллера от внешних перенапряжений. У некоторых микроконтроллеров отдельные порты не боятся напряжений, превышающих их напряжение питания. Так у многих микроконтроллеров STM32Fxx почти все порты будучи сконфигурированными как цифровые могут работать с 5 вольтовыми цепями, но если они работают в аналоговом режиме, например в качестве входа АЦП, теряют эту способность и это необходимо учитывать при разработке схемы.

Пожалуйста, соблюдайте технику безопасности. Не оставляйте, свободные, висящие в воздухе порты микроконтроллера сконфигурированными в виде входов, особенно в устройствах временами уходящих в глубокий сон — это как минимум может значительно усложнить процесс прохождение вашего устройства теста на ЭМС (электро-магнитную совместимость). Если оставляете их входами, лучше замкнуть их на землю или питание. Либо программно сконфигурировать выходами.

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

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

Последнее, о чём хочется упомянуть, выходные порты ARM микроконтроллеров не реагируют на программные инструкции мгновенно, как у 8-битных микроконтроллеров. Они управляются через шину, и их быстродействие зависит от частоты тактирования соответствующего узла, которую можно менять программно. Если вы хотите быстрой реакции, позаботьтесь об увеличении этой частоты, если важнее уменьшить энергопотребление, наоборот выберите менее скоростной режим.

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

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

Интерфейсы обмена данными Различные микроконтроллеры данной серии могут иметь по нескольку наиболее распространённых интерфейсов, сильно облегчающих общение с другими чипами и внешним миром:

  • USART — асинхронный последовательный порт, часто использующийся для связи с компьютером там он называется COM или RS232, модемами и другими устройствами
  • SPI — высокоскоростной интерфейс, который имеют очень многие чипы, например внешняя память
  • I2C — двухпроводной интерфейс, разработанный для общения с датчиками и другой периферией на небольшом расстоянии и небольших скоростях обмена. Большой его плюс заключается в том, что одновременно к одной шине можно подключить десятки различных устройств

Все эти интерфейсы несложно реализовать программно с помощью обычных GPIO, но они будут работать гораздо медленнее и отнимать много ресурсов вычислительного ядра.

Аналого-цифровой преобразователь АЦП или ADС на котором придётся остановиться подробнее.

Чрезвычайно полезный модуль, который способен измерять напряжение аналоговых сигналов. Оценивает он их в долях от величины опорного источника сигнала, в нашем случае это напряжения питания аналогового модуля микроконтроллера, которое может быть равным или немного ниже основного напряжения питания чипа. Теоретическая точность работы АЦП зависит от его разрядности. В современных микроконтроллерах чаще всего применяется 12 разрядный АЦП последовательного приближения, реже 10 и как экзотика встречается 16.

При питании 3 вольта 12 разрядный АЦП микроконтроллера будет иметь разрешающую способность 3/4096=0.00073 Вольта — лучше одного милливольта.

Но на практике достичь этого идеала бывает не просто.

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

  • применять для питания MCU линейные стабилизаторы с хорошими параметрами
  • применять для питания аналоговой части MCU высокостабильные источники опорного напряжения

импульсные помехи по питанию АЦП

  • подключать аналоговое питание к цифровому через простейшие фильтры низкой частоты — подавать питание на аналоговую часть MCU через индуктивность и в непосредственной близости от входа микроконтроллера устанавливать керамический конденсатор с диэлектриком XR7 ёмкостью 100 нанофарад, а ещё лучше, параллельно ему включить танталовый конденсатор с ёмкостью в одну — две микрофарады.

импульсные помехи на входе АЦП

  • пропускать входной сигнал хотя бы через простейший ФНЧ, состоящий из резистора и конденсатора. Для борьбы с помехами от передающих радиотрактов и короткими импульсными помехами иногда достаточно одиночного конденсатора с диэлектриком NP0 ёмкостью в несколько десятков пикофарад, установленного между входом и землёй, в непосредственной близости от входа АЦП
  • не экономить на блокировочных конденсаторах, по крайней мере самого микроконтроллера, устанавливать их в непосредственной близости от каждого вывода питания и в других местах, рекомендованных производителем, рекомендованного им номинала
  • тщательно выбирать месторасположение компонентов и соблюдать правила трассировки цепей питания и особенно “земли”, в идеале аналоговая и цифровая земли должны соединяться в одной точке — рядом с выводом аналоговой земли микроконтроллера

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

  • правильно выбирать параметры настройки АЦП, например во многих микроконтроллерах можно увеличить время зарядки входной цепи, правда тут приходится идти на компромисс, снижая быстродействие
  • устанавливать на входе АЦП буферные усилители на основе ОУ (операционный усилитель), или повторители напряжения. Выбирать их по принципу самых дешёвых не стоит, можно не улучшить, а ухудшить ситуацию, причём значительно. Если не хватает собственного опыта, лучше поискать специально рекомендованные производителями для подобных приложений

Выше изображён участок реальной схемы для подачи питания на аналоговую часть микроконтроллера в устройстве с батарейным питанием. В данном случая я использовал АЦП для оцифровки сигнала с аналогового MEMS микрофона и поэтому имело смысл выделить в отдельную цепь не только аналоговое питание, но и аналоговую землю. В большинстве случаев это избыточно, для того чтобы от неё действительно был толк, нужна ещё и правильная трассировка.

От цепи VBUT питается вся цифровая часть микроконтроллера. На всякий случай привожу номиналы элементов: R5-10 Ом, С10 0.1 мкФ, без индуктивностей L1 и L2 BLM18PG471SN1D в большинстве случаев можно обойтись.

Ещё один любопытный пример из моей практики. В плате, на которой размещалось большое количество высокопотребляющих чипов ASIC, необходимо было измерять их температуру. Самый простой и дешёвый способ — использование высокоомных термисторов. В качестве фильтров я применил конденсаторы достаточно большой ёмкости, воспользовавшись тем фактом, что температура меняется сравнительно медленно. Для оцифровки звука такой фокус однозначно бы «не прокатил».

Осталось упомянуть ещё одну важную особенность АЦП, характерную для микроконтроллеров. Собственно, модулей АЦП в нём, как правило, один или два, а вот входов может быть много. В описываемой серии модуль 1, а входов может быть до 16. Как же так? Очень просто, входы подсоединены к нему через коммутатор. Если вы собираетесь измерять напряжение с 10 входов, то должны организовать цикл — последовательно переключить коммутатор к каждому из 10 входов и сделать измерение. Это необходимо учитывать, рассчитывая времена измерения. В данной серии АЦП, теоретически, способно сделать измерение за 1 микросекунду. Получается, что полный цикл 10 измерений у вас займёт точно больше 10 микросекунд!

Система прямого доступа в память ПДП или DMA — ещё одна архиважная вещь. Этот модуль позволяет пересылать данные от периферии в память или наоборот.

Например, с его помощью вы можете выделить участок памяти для хранения данных, приходящих из АЦП и сделать из него кольцевой буфер. Далее запускается АЦП в режиме считывания данных через равные промежутки времени. Используя механизмы DMA, считанные данные будут, без участия ядра, самостоятельно, байт за байтом, помещаться в выделенный буфер. Когда буфер будет полностью заполнен, ядро получит сигнал и приступит к их программной обработке, а система DMA начнёт процесс загрузки сначала. Поскольку DMA имеет несколько каналов, то никто не мешает реализовать для нашего случая автоматический вывод на USART данных из буфера. В результате мы получим, работающий без использования ядра процесс передачи считанных с АЦП в USART, и не простая работа программиста по конфигурации DMA окупится сторицей.

Модуль широтно-импульсной модуляции ШИМ или PWM, в силу ограниченности статьи не будем останавливаться на нём подробно, отмечу только, что это крайне полезная и широко используемая функция, с помощью которой возможно управлять яркостью светодиодов, скоростью вращения двигателей, рулевыми машинками, конструировать интеллектуальные DC-DC преобразователи и даже звук синтезировать.

Что можно получить, добавив 30 центов?

Переход на Cortex-M0+. Самый дешёвый способ получить дополнительные функции

А какие дополнительные плюшки предлагает микроконтроллер новейшей серии с ядром чуть посовременнее Cortex-M0+, при стоимости на 20-50 центов дороже аналогов в рассмотренной выше серии по корпусу и количеству выводов?

Таблица отличий между сериями

  • в два раза увеличилась максимальная тактовая частота
  • с 2 до 1.7 вольт понизилось минимальное напряжение питания
  • АЦП способно работать в два с половиной раза быстрее
  • появились два канала 12 битного цифро-аналогового преобразователя. Это крайне полезная функция, с помощью которой возможно формировать на выводах сигнал заданного напряжения с точностью лучшей чем 1 мВ, например сигналы произвольной формы в звуковом диапазоне частот
  • появились компараторы — устройства для сравнения величин двух аналоговых сигналов, это бывает полезным скажем для определения момента возникновения перегрузки по току
  • добавлен USB интерфейс, посредством которого можно подключать устройства к компьютеру. Особый интерес вызывает наличие поддержки опций управления питанием для реализации USB type3-C совместимого интерфейса. О нём я рассказывал в одной из своих статей на Хабре
  • появился ускоритель AES для процедур 256 битного шифрования/дешифрации
  • UART получил возможность работы в режимах сна и аппаратную поддержку протоколов LIN (простая сеть, широко используется в автопроме), IRDA (протокол передачи данных посредством инфракрасных светодиодов, вспомните телевизионные пульты), SIMcard…
  • расширены возможности таймеров и модуля PWM
  • верхняя граница температурного диапазона работы поднялась до 125 градусов
  • увеличена надёжность работы за счёт расширения режимов перезапуска при возникновении проблем с питанием
  • добавлен “честный” аппаратный генератор случайных значений — полезная функция в криптографии

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

А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?

  • Максимальная тактовая частота вырастает уже до 80 МГц
  • Появился блок для ускорения вычислений с плавающей точкой
  • Ясное дело, максимальная встроенная память увеличилась
  • Модели с количеством ног 100 и более поддерживают работу с внешней статической памятью
  • USB научился работать в режиме HOST
  • Появился контроллер CAN интерфейса. Это очень перспективный интерфейс разработанный для высоконадёжных приложений. Своё победное шествие он начал с автомобильной промышленности и уже почти 20 лет ведёт затяжную войну с давно устаревшим RS-485 в крайне консервативной отрасли промышленной автоматизации.
  • Появился интерфейс для подключения SDcard. Очень полезная функция — добавляете в своё устройство держатель за 50 центов и получаете съёмный носитель размером в десятки Гигабайт! С большинством карт удаётся работать и по обычному SPI, но намного медленнее
  • Добавили встроенный Операционный Усилитель с большим разнообразием режимов работы. Именно благодаря этой и предыдущей функциям, для своего последнего проекта беспроводного стетоскопа, пришлось остановить выбор на M4 вместо M0+. В результате появилась возможность управлять усилением сигнала с MEMS микрофона и сохранять десятки часов аудиозаписей работы сердца на SD карте
  • Криптомодуль научился аппаратно считать HASH функции.
  • Контроллер сенсорных приложений усовершенствован и теперь поддерживает уже не только кнопки, но и элементы прокрутки

Cortex-M7 — когда хочется большего…

В подавляющем количестве проектов возможностей предоставляемых вышеописанными ядрами достаточно, но случаются и исключения. Лично со мной такое случалось всего пару раз, причём лишь один раз по действительно уважительной причине — требовалась высокая производительность для подготовки данных для ASIC, контроллер Ethernet и шина CAN-FD c повышенной скоростью обмена.

Если на уровне универсальных микроконтроллеров с ядрами Cortex 4 и ниже, на мой субъективный взгляд, по параметру цена/функциональность сейчас лидирует фирма ST, то в области более высокопроизводительных чипов она уступает лидерство ATMEL, вернее, теперь уже недавно поглотившему его MICROCHIP. Поэтому я остановил свой выбор на серии ATSAMV71, стоимостью от 6 долларов.

Помимо вышеописанного (контроллер Ethernet и шина CAN-FD), по большому счёту, мы получаем, существенно увеличивающее производительность ядро с ускорителем операций, работающее на тактовой частоте до 300 МГц, интерфейсы для подключения видеоматрицы и поддержку динамической памяти.

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

Как выбрать контроллер для сервера

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


Контроллеры часто становятся неотъемлемой частью сервера. На это есть множество причин: жесткие диски сильно продвинулись в технологическом плане, сменили несколько интерфейсов, вырос объем кэш-памяти, снизилась стоимость одного ГБ на HDD. Несмотря на этот прогресс, одним из главных параметров сервера остается надежность. Именно ее обеспечивают контроллеры.

RAID-контроллеры


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


Зачем нужен контроллер? Обычно в сервере установлено несколько накопителей — это обеспечивает надежность, отказоустойчивость и большой объем хранения. RAID-контроллер объединяет несколько накопителей в единый массив, создавая единое пространство для хранения данных.


Все рассмотренные ниже RAID-контроллеры оснащены портами SAS-3 12 Гб/с.

PCI Express 3.0 x8


Довольно распространенный интерфейс.


Размером кэш-памяти в 1GB обладает модель Dell PERC H730 405-AAEJ. Она оснащена 8 внутренними портами, работает на базе процессора LSI LSISAS3108 и содержит два разъема SFF-8643.


С кэш-памятью 2GB представлено две модели — Supermicro LSI/Avago SAS 3108 AOC-S3108L-H8IR и Adaptec SmartRAID 3152-8i 2290200-R. У них также 8 внутренних портов и два разъема SFF-8643.


Еще одна модель с таким количеством кэш-памяти — Intel Integrated RAID Module RMS3AC160 на 16 внутренних портов, на базе процессора Broadcom SAS3316, содержит четыре разъема SFF-8643.


Размером кэш-памяти 4GB отличаются еще четыре модели:


— Adaptec SmartRAID 3154-8i 2291000-R на 8 внутренних портов, содержит два разъема SFF-8643;


— Intel RAID Adapter RSP3TD160F на 16 внутренних портов, на базе процессора SAS3516, содержит четыре разъема SFF-8643;


— Broadcom MegaRAID SAS 9361-24i 05-50022-00 и Adaptec SmartRAID 3154-24i 2294700-R на 24 внутренних порта, содержат шесть разъемов SFF-8643.

PCI Express 3.1 x8


С таким интерфейсом представлены две модели:


— Dell PERC H840 405-AAMZ с кэш-памятью 2GB на 8 внешних портов, на базе процессора LSISAS 3508, содержит два разъема SFF-8644;


— Dell PERC H740P 405-AANLN с кэш-памятью 8GB на 8 внутренних портов, на базе процессора LSISAS 3508, содержит два разъема SFF-8643.


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

Dell Branded Interface


Контроллер, совместимый только с оборудованием Dell — это Dell PERC h430 405-AAEI на 8 внутренних портов, на базе процессора LSISAS3008, содержит два разъема SFF-8643.

HPE Branded Interface


Следующие контроллеры совместимы только с серверами HP Enterprise:


— HP Enterprise Smart Array P408i-a SR Gen10 804331-B21 с кэш-памятью 2GB на 8 внутренних портов. Требуется аккумуляторная батарея HPE Smart Storage P01366-B21, которая поддерживает несколько устройств и приобретается отдельно;


— HP Enterprise Smart Array E208i-a SR Gen10 804326-B21 на 8 внутренних портов.

Supermicro Branded Interface


Контроллер Supermicro AOM-S3108M-H8 AOM-S3108M-H8 совместим только с серверами Supermicro. Это модель с кэш-памятью 2GB на 8 внутренних портов, на базе процессора LSISAS 3108.

Huawei Xcede 96-in


Контроллер, совместимый только с оборудованием Huawei — это Huawei SR130 03022CDE на 8 внутренних портов на базе процессора LSI3008.

Экспандеры


Экспандер — это коммутирующее устройство, которое можно подключить к RAID-контроллеру и расширить таким образом количество SAS-портов. Таким образом, с помощью экспандера можно подключить больше SSD и HDD дисков, чем позволяет ваш RAID-контроллер.


Экспандеры отличаются интерфейсом питания:


— С интерфейсом PCIe работает Intel RAID Expander RES3FV288 на 28 внутренних и 8 внешних портов SAS-3 12 Гб/с, содержит семь разъемов SFF-8643 и один SFF-8644.


С таким же интерфейсом работает Intel RAID Expander RES3TV360 на 36 внутренних портов SAS-3 12 Гб/с, содержит разъемы: 9 x SFF-8643.


— Интерфейсом PCI Express 2.0 x4 оснащен экспандер Adaptec 82885T 2283400-R на 28 внутренних и 8 внешних портов SAS-3 12 Гб/с, содержит семь разъемов SFF-8643 и два SFF-8644.


— Еще один интерфейс — PCI Express 3.0 x8. Им оснащена модель — HP Enterprise ML350 Gen10 874576-B21 на SAS-3 12 Гб/с. Для серверов ProLiant ML350 Gen10 в корпусе с SFF дисками с предустановленными вариантами контроллеров P408i-a, E208i-a и другими P или E контроллерами, для расширения поддержки до 24 SFF дисков.

Адаптеры главной шины (HBA)


HBA-адаптер — это устройство, которое соединяет сервер с HDD и SSD накопителями.


С интерфейсом PCI Express 2.0 x4 работают модели:


— HP Enterprise 81E AJ762B на 1 внешний порт Fibre Channel 8 Гб/с, на базе процессора Emulex;


— Lenovo Storwize V3700 00MJ095 на 4 внешних порта Fibre Channel 8 Гб/с.


Все рассмотренные модели с интерфейсом PCI Express 2.0 x8 оборудованы портами SAS-3 12 Гб/с:


— HP Enterprise h340 Smart Host Bus Adapter 726907-B21 на 8 внутренних портов;


— Adaptec SmartHBA 2100-8i 2290400-R и Dell HBA330 405-AAJW на 8 внутренних портов, содержит два разъема SFF-8643;


— Adaptec SmartHBA 2100-24i 2301600-R и Broadcom 9305-24i 05-25699-00 на 24 внутренних порта, содержит шесть разъемов SFF-8643;


— Adaptec HBA 1100-8e 2293300-RLenovo ThinkSystem 430-8e 7Y37A01090 и HP Enterprise Smart Array E208e-p SR Gen10 804398-B21 на 8 внешних портов, содержат два разъема SFF-8644;


— Adaptec HBA 1100-16e 2293600-R и Broadcom 9305-16E 05-25704-00 на 16 внешних портов, содержит четыре разъема SFF-8644;


— Adaptec SmartHBA 2100-4i4e 2292200-R на 4 внутренних и 4 внешних порта, содержит один разъем SFF-8643 и один SFF-8644.


Более продвинутым интерфейсом PCI Express 3.1 x8 оборудованы следующие две модели:


— Broadcom 9400-8i8e 05-50031-02 на 8 внутренних и 8 внешних портов SAS-3 12 Гб/с, на базе процессора SAS3516, содержит два разъема SFF-8643 и два SFF-8644;


— Broadcom 9400-8i 05-50008-01 на 8 внутренних портов SAS-3 12 Гб/с, на базе процессора SAS3408, содержит два разъема SFF-8643.


Также одна модель работает на интерфейсе PCI Express 3.1 x16 — это Broadcom 9405W-16e 05-50044-00 на 16 внешних портов SAS-3 12 Гб/с, на базе процессора SAS3616W, содержит четыре разъема SFF-8644.


У интерфейса Fibre Channel бывает две скорости. Со скоростью 8 Гб/c работают:


— HP Enterprise 81Q AK344A на 1 внешний порт;


— HP Enterprise 82Q AJ764A и HP Enterprise 82E AJ763B на 2 внешних порта.


Со скоростью 16 Гб/с работают:


— Huawei Qlogic 2690 06030381 на 1 внешний порт, на базе процессора Qlogic 2690;


— Huawei Qlogic 2692 06030382Broadcom Emulex LPE31002-M6 и HP Enterprise SN1000Q QW972A на 2 внешних порта;


— Lenovo QLogic Enhanced Gen 5 01CV750 на 1 внешний порт.


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


С интерфейсом Huawei Xcede 96-in работает адаптер Huawei SR150-M 02312HXA на 8 внутренних портов SAS-3 12 Гб/с, на базе процессора Avago SAS3408, содержит два разъема SFF-8643.


Только с оборудованием HP совместим адаптер HP Enterprise Smart Array E208i-a SR Gen10 LH 869079-B21 на 8 внутренних портов SAS-3 12 Гб/с.

Видео обзор процесса снятия и установки RAID-контроллера в сервер Dell EMC PowerEdge R740

DSP-контроллер: что это такое и зачем он нужен?

Времена, когда станки с ЧПУ были диковинкой, которую показывали только на выставках и по телевизору, остались в прошлом. Несмотря на все еще высокую стоимость профессиональных моделей, сегодня такое оборудование можно встретить не только на крупных производственных предприятиях, но и в небольших мастерских или даже на домашнем столе. Конечно, в последних вариантах о серьезных мощностях и больших объемах выпускаемой продукции речь не идет, однако, качество фрезеровки или лазерной резки бытовых, так сказать, станков с ЧПУ ничем не уступает промышленным агрегатам. И, что самое важное, независимо от габаритов и комплектации, автоматизированное оборудование выполняет все операции полностью самостоятельно. Человеческое участие сводится только к укладке материала на рабочий стол, установке необходимого инструмента (касается фрезера) и запуску управляющей программы, в которой детально прописаны все этапы обработки.

DSP-контроллер, как элемент управления станком с ЧПУ

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

DSP-контроллер — это цифровой процессор, визуально представляющий собой небольшой пульт с дисплеем и функциональной клавиатурой. Аппарат имеет несколько портов для различных типов подключения к оборудованию. Считывание данных происходит непосредственно из памяти контроллера или с флеш-накопителя, который можно подключать к нему через USB-разъем. Основной задачей устройства является преобразование программных кодов управляющей программы в понятные станку импульсы для управления шаговыми или серводвигателями.

Возможности DSP-контроллера

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

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

Достоинства DSP-контроллера

Миниатюрный DSP-контроллер обладает собственной памятью, объема которой вполне достаточно для хранения текущих заданий (до 1 Гб). Кроме того, он легкий, мобильный и очень простой в управлении, поэтому его все чаще предпочитают приобретать даже в тех случаях, когда очевидной потребности в нем нет. Среди его плюсов:

  • сохранение информации при внезапном отключении электроэнергии или скачках напряжения;
  • может использоваться для управления станками с большим количеством сменного инструмента;
  • в зависимости от модели может одновременно контролировать до 4-х осей;
  • удобен в тех случаях, когда требуется изготовить большое количество одинаковых элементов;
  • бюджетность — стоимость такого устройства значительно ниже, чем компьютера или стойки управления;
  • совместим с программами ArtCam, Type3, Pro-E и прочим популярным ПО;
  • легко перенастраивается под новые задачи;
  • позволяет добиться максимальной точности обработки при использовании фрезы или лазерного луча;
  • имеет магнитное крепление для прочной фиксации на любой металлической поверхности.

Завершая статью можно резюмировать, что, несмотря на некоторые недостатки (хрупкость, малый объем памяти, не поддерживает САМ-формат, нужный для создания управляющих программ), DSP-контроллер является достойной альтернативой персональному компьютеру и необходимым дополнением к любому станку с программным управлением.

Подробные характеристики dsp-контроллеров вы можете узнать в нашем каталоге.

Что такое микроконтроллер, зачем он нужен и как его используют

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

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

Работы над изобретением микропроцессора велись с начала 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 от одноименной компании.

В России пользуются популярностью микроконтроллеры Renesas Electronics, Freescale, Samsung.

Что такое микроконтроллер

Микроконтроллер по сути является микросхемой, который состоит из:

  • Центрального процессора. В него входят блок управления, регистры, ПЗУ (постоянное запоминающее устройство).
  • Периферии, которая включает порты ввода-вывода, контроллеры прерываний, таймеры, генераторы различных импульсов, аналоговые преобразователи и подобные элементы.

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

Принцип работы микроконтроллера

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

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

В зависимости от содержащихся в МК набора программ, они делятся на:

CISC – комплекс большого числа базовых команд;

RISC – только необходимые команды.

Большинство контроллеров содержит RISC набор. Объясняется это тем, что такой МК проще изготовить, он дешевле и больше пользуется спросом у разработчиков электронной техники.

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

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

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

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

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

Питание микроконтроллера

Для работы микроконтроллеру, как и любому электронному устройству, необходима энергия. Напряжение МК Atmel AVR находится в диапазоне 1.8–5.5 Вольт и зависит от модели и серии. Большинство приборов работает от 5 Вольт. Но встречаются и низкочастотные модели (Attiny 2313), нижняя граница у которых от 1,8 В.

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

Так, чтобы обеспечить работу контроллеров серии AVR, на все плюсовые входы нужно подавать 5 В, а нулевой заземляют.

Если у модели несколько вводов и выводов питания, то подключать их нужно все.

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

Кроме того, необходимо установить и конденсаторы, лучше керамические, из расчета 1 на 100 нанофарад.

Подключение

Через микроконтроллер можно подключить к локальной сети любой девайс. В качестве таковой можно рассмотреть Ethernet. Прежде всего, определимся с понятиями.

Ethernet – это набор стандартов IEEE 802.3, которые описывают разнообразные технологии локальных сетей: общий канальный уровень и набор технологий физического уровня, включающий в себя для передачи информации оптоволокно, витую пару, коаксиал с различными скоростями.

Понять, как работает локальная сеть, можно через модель OSI. Она включает в себя несколько уровней:

  1. Физический. Состоит из витой пары, драйверов и трансформаторов, по которым происходит передача данных.
  2. Канальный. Через него передаются Ethernet-фреймы между узлами локальной сети.
  3. Сетевой. По нему происходит передача пакетов. Они могут передаваться через несколько сетей, различающихся по технологиям физического и канального уровней.
  4. Транспортный. Связывает узлы между собой. Перед отправкой данных транспортный уровень представляет их в виде пакета сетевого уровня и передает другому узлу. Он может отправлять и группы пакетов одновременно. Если используется протокол с установкой соединения, то перед отправкой транспортный уровень устанавливает соединение, контролирует его качество, а только потом передает пакет данных.
  5. Прикладной. Решает прикладные задачи, те, ради которых создавался. С внешним миром он обменивается данными по стандартному или эксклюзивному протоколу.

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

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

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

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

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

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

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

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

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

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

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

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

Тактирование микроконтроллеров

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

Существуют несколько способов тактирования МК. Они зависят от использования:

  • Внутреннего RC-генератора. Он может работать только на частоте 1, 2, 4, 8 МГц. Если нужна другая частота, то он не подойдет. При необходимости использования точных временных интервалов тоже нельзя пользоваться этим методом, т. к. его задающая частота колеблется в зависимости от температуры.
  • Внешнего кварца. Этот способ имеет более сложное подключение. Емкость конденсатора должна находиться в интервале 15–22 пФ. Один выход присоединяется к резонатору, а другой заземляется.
  • Внешнего генератора. Этот генератор также нестабилен при разной температуре, как и внутренний.
  • RС-цепочек. Для данной схемы подойдет конденсатор емкостью от 22 пФ, резистор 10–100 кОм.

Для простейших микроконтроллеров подойдут внутренний или внешний генератор и RC-цепочки. Для проектирования более точных МК потребуются стабильные источники тактирования.

Семейства микроконтроллеров

Все МК объединяются в семейства. Основная характеристика, по которой происходит это деление, — структура ядра.

 Под ядром МК подразумевают набор определенных команд, цикличность работы процессора, организацию как памяти программ, так и баз данных, систему прерываний и базовый набор периферийных устройств (ПУ).

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

Объединяют все МК в семейства одинаковость двоичного кода программирования.

Семейства делятся на:

  • MSC-51, производства Intel. Монокристальный МК на основе Гарвардской архитектуры. Основной представитель этого семейства 80С51, созданный по технологии CMOS. И хотя эти контроллеры разработаны еще в 80-х годах прошлого века, но до сих пор широко применяются. И сегодня многие компании, такие как Siemens, Philips и др. выпускают свои контроллеры с подобной архитектурой.
  • PIC (Microchip). МК Гарвардской архитектуры. В его основе лежит архитектура с сокращенным набором команд, встроенная память команд и данных, низкое энергопотребление. В это семейство входят более 500 различных МК (8-ми, 16-ти, 32-битные) с различными наборами периферии, памяти и прочими характеристиками.
  • AVR (Atmel). Высокоскоростные контроллеры разработаны на собственной архитектуре. Основой контроллера является Гарвардский RISC-процессор с самостоятельным доступом к памяти программ и баз данных (Flash ПЗУ). Каждый из 32 регистров общего назначения может работать как регистр-аккумулятор и совокупность 16-битных команд. Высокая производительность в 1 MIPS на каждый МГц тактовой частоты обеспечивается за счет порядка выполнения команд, который предусматривает выполнение одной команды и одновременную подготовку к следующей. Для поддержания своей продукции компания Atmel выпускает бесплатную и качественную среду разработки Atmel
  • ARM (ARM Limited) разработаны на собственной архитектуре. В семейство входят 32-х и 64-битовые МК. ARM Limited занимается только разработкой ядер и их инструментов, а лицензии на производство продает другим компаниям. Эти процессоры потребляют мало энергии, поэтому находят широкое применение в производстве мобильных телефонов, игровых консолей, маршрутизаторов и т. д. К компаниям, выкупившим лицензии, относятся: STMicroelectronics, Samsung, Sony Ericsson и др.
  • STM (STMicroelectronics). 8-разрядные контроллеры (STM8) относятся к категории высоконадежных с низким энергопотреблением изделий. В это же семейство входят контроллеры STM32F4 и STM Их основу составляет-32 битный Cortex. Такие контроллеры обладают отлично сбалансированной архитектурой и имеют большие перспективы развития.

Это не все семейства микроконтроллеров. Здесь мы привели только основные.

Типы корпусов микроконтроллеров

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

  • Корпус DIP имеет два ряда выводов. Расстояние между ними 2,54 мм. Выводы вставляются внутрь отверстий на контактных площадках.
  • Корпус SOIC. Он подходит для монтажа, который предполагает поверхностную припайку выходов к контактной площадке. Расстояние между выходами 1,27 мм.
  • Корпуса QFP (TQFP). Выводы расположены со всех сторон. Расстояние между ними в 3 раза меньше, чем в DIP. Корпус имеет квадратную форму. Предназначаются только для поверхностной пайки.
  • Корпус QFN. Самый маленький по сравнению с предыдущими. Контакты выходят в 6 раз чаще, чем в DIP. Имеют большое распространение в промышленном производстве, т. к. позволяют значительно уменьшить габариты выпускаемых приборов.

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

В чем отличие микроконтроллера от микропроцессора?

Весь компьютерный функционал микропроцессора (Micro Processor Unit — MPU) содержится на одном полупроводниковом кристалле. По характеристикам он соответствует центральному процессору компьютера ЦП (Central Processing Unit — CPU). Область его применения – хранение данных, выполнение арифметико-логических операций, управление системами.

МП получает данные с входных периферийных устройств, обрабатывает их и передает выходным периферийным устройствам.

Микроконтроллер совмещает в себе микропроцессор и необходимые опорные устройства, объединенные в одном чипе. Если нужно создать устройство, коммуницирующее с внешней памятью или блоком ЦАП/АЦП, то понадобится только подключить источник питания с постоянным напряжением, цепь сброса и источник тактовой частоты.

Устройства на микроконтроллерах

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

На МК могут быть следующие устройства:

  • Аналоговый компаратор. Основная его задача сравнивать поступающее (измеряемое) напряжение с идеальным. Если измеряемое напряжение выше, чем идеальное, то компаратор выдает сигнал логической 1 (прибор отключается), если ниже, то логический 0 (прибор продолжает работать).
  • Аналогово-цифровой преобразователь (АЦП). Измеряет аналоговое напряжение в период времени и выдает его в цифровой форме. Есть не у всех МК.
  • Таймер/счетчик. Представляет собой сочетание 2-х форм таймера и счетчика. Таймер формирует интервалы времени, а цифровой счетчик считает количество импульсов, идущих от внутреннего генератора частот, или сигналы от внешних источников. Одним из представителей работы таймера /счетчика может быть ШИМ (широтно-импульсный модулятор). Он предназначен для управления средним значением напряжения при нагрузке.
  • Сторожевой таймер. Его задача перезапускать программу через определенный временной промежуток.
  • Модуль прерываний. Он сообщает МК о наступлении какого-либо события и прерывает выполнение программы. После завершения события возобновляет прерванную программу.

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

Что нужно для программирования микроконтроллера

Чтобы микроконтроллер мог выполнять необходимые функции и решать определенные задачи, его необходимо запрограммировать.

Путь программирования проходит несколько этапов:

  1. Перед тем как приступить к написанию кода программы, надо определиться с конечной целью.
  2. Составляется алгоритм работы программы.
  3. Непосредственное написание кода программы. Коды пишутся на языке Си или Ассемблере.
  4. Компиляция программы, т. е. перевод ее в двоичную или шестнадцатеричную систему 1 и 0. Только так ее сможет понять МК.
  5. Откомпилированный код записывают в память контроллера.
  6. Прошивают МК с помощью программатора. Они бывают двух типов подключения: через COM или USB порт. Самый простой и дешевый программатор USBASP.
  7. Тестирование и отладка МК на реальном устройстве.

Радиолюбители иногда обходятся без прописывания алгоритма работы программы на бумаги. Они держат его в голове.

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

Языки программирования для МК мало чем отличаются от классических компьютерных. Основное отличие заключается в том, что МК ориентируются на работу с периферией. Архитектура МК требует битово-ориентированных команд. Поэтому для контроллеров создавались особые языки:

  • Ассемблер. Самый низкий уровень языка. Программы, написанные на нем, получаются громоздкими и труднопонимаемыми. Но несмотря на это он позволяет наиболее полно раскрыть все возможности контроллеров и получить максимальное быстродействие и компактный код. Подходит преимущественно для маленьких 8-битных МК.
  • С/С++. Более высокий уровень языка. Программа, написанная на нем, более понятна человеку. На сегодняшний день есть много программных средств и библиотек, позволяющих писать коды на этом языке. Его компиляторы есть практически на любой модели МК. На сегодня это основной язык для программирования контроллеров.
  • Еще более удобный для восприятия и проектирования язык. Но он мало применяется для программирования МК.
  • Старинный язык программирования. На сегодня почти не применяется.

Выбор языка для программирования зависит от решаемых задач и необходимого качества кода. Если нужен компактный код, то подойдет Ассемблер, для решения более глобальных задач выбор ограничится только С/С++.

Среда разработки

На сегодня нельзя найти универсальной среды для программирования МК. Это связано с его внутренней структурой и наличием технического обеспечения записи кода в память контроллера.

Вот несколько сред программирования:

  • FlowCode – универсальная графическая среда. Программируется с помощью построения логических структур блок-схем.
  • Algorithm Builder. Тоже графическая среда. Но написание кода проходит в 3–5 раз быстрее, чем в FlowCode. В ней совмещены графический редактор, компилятор, симулятор МК, внутрисхемный программатор.
  • В ней объединены Ассемблер и С/С++. Функционал среды позволяет самостоятельно прошивать МК.
  • Image Craft. Как и предыдущая поддерживает Ассемблер и С/С++ языки. В ее составе есть библиотека, позволяющая работать с отдельными устройствами МК.
  • Популярная среда для любителей. Имеет Си-подобный язык, но отличающийся от других. Он более понятен человеку. Поддерживает библиотеки, в составе которых есть драйвера для подключения некоторых платформ.

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

Основы программирования

Прежде чем приступать к программированию МК, нужно выбрать язык. Начинать лучше с Ассемблера. Хотя для понимания он достаточно сложен, но если приложить силы и все-таки понять его логику, то тогда станет ясно, что именно происходит в контроллере.

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

Далее действуют по следующей схеме:

  1. Выбор компилятора и установка среды (подробнее о них писалось выше).
  2. Запуск среды и выбор в ней нового проекта. Необходимо будет указать место расположения. Путь нужно выбирать наиболее короткий.
  3. Настройка проекта. Классическим действием будет создание make-файла, в котором прописываются все зависимости. На первой странице указывают еще частоту работы МК.
  4. Настройка путей. В них надо добавить директорию проекта. В нее можно добавлять сторонние библиотеки.
  5. Постановка задачи.
  6. Сборка схемы. На этом этапе надо соединить модуль USB-USART конвертера с аналогичными выводами МК. Это позволит прошить микроконтроллер без программатора. Нужно накинуть джамперы, соединяющие LED1 и LED2. Этим действием мы подключим светодиоды LED 1 и 2 к выводам PD4 и PD5.
  7. Пропись кода.
  8. Добавление библиотек и заголовков с определениями.
  9. Главные функции. Язык Си состоит из одних функций. Они могут быть вложенными и вызываться в любом порядке относительно друг из друга и разными способами. Но все они имеют три обязательных параметра: 1) возвращаемое значение; 2) передаваемые параметры; 3) тело функции. В зависимости отданных, все возвращаемые или передаваемые значения должны быть определенного типа.
  10. Компиляция и запуск эмуляции.
  11. Отладка программы.

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

Советы начинающим программистам микроконтроллеров

Чтобы первый опыт в программировании МК не закончился неудачей и навсегда не отбил охоту заниматься этим делом, нужно следовать некоторым советам:

  • Начинать с изучения периферии и ее особенностей.
  • Каждую большую задачу надо разделять на максимально количество мелких.
  • В начале пути не стоит упрощать себе жизнь и пользоваться кодогенераторами, нестандартными фичами и т. п. вещами.
  • Обязательно нужно изучать языки программирования (Си и Ассемблера).
  • Читайте Даташит.
  • Соберите необходимый набор инструментов. Это стоит определенных денег, но окупит себя экономией времени и качеством работы.

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

MrSolar.com • Online Solar, LLC

Панели AllSolar — Панели солнечных батарей по мощности —— от 10 Вт до 20 Вт —— Менее 10 Вт —— от 25 Вт до 30 Вт —— от 40 Вт до 55 Вт —— От 60 до 80 Вт —— от 85 до 100 Вт —— от 110 до 150 Вт —— от 180 до 200 Вт —— от 235 до 265 Вт —— Более 270 Вт — Панели солнечных батарей по производителям —— Peimar —— Power Up —— Q Cells —— Solarland® —— Value Line Solar —— Ameresco Solar —— Canadian Solar —— Online Solar —— Solartech Power —— SolarWorld —— Solarever —— Topoint — Сетевые солнечные панелиСолнечные энергосистемы и комплекты — Сетевые солнечные энергосистемы — Автономные солнечные энергосистемы —— Удаленные энергосистемы —— Малые комплекты удаленных энергосистем — — Комплекты солнечного освещения —— Промышленные комплекты солнечных батарей для монтажа на столб —— Комплекты солнечной энергии для нефтегазопровода —— Комплекты солнечной энергии для телекоммуникаций — Комплекты солнечных панелей для автофургонов и морских судов — Комплекты для самостоятельной сборки солнечных батарей —— Стартовые комплекты солнечных панелей — Солнечная энергия Plug-N-Play —— Портативная мощность —— Гибкие комплекты солнечных панелей —— Портативные комплекты освещения постоянного тока —— Солнечная мобильная батарея Зарядные комплекты Контроллеры заряда — Контроллеры заряда MPPT —— MidNite Solar MPPT —— Morningstar MPPT —— OutBack Power MPPT —— Schneider Electric MPPT —— — Solarland® MPPT — ШИМ-контроллеры заряда —— Morningstar PWM —— Samlex America PWM —— Schneider Electric PWM —— Solarland® PWM —— — Специальные концепции ШИМ — Предварительно смонтированные задние панели — Аксессуары для контроллеров Инверторы — Инверторы связи с сеткой —— Fronius GT —— OutBack Power GT —— SMA GT — Off Grid Инверторы —— Magnum Energy OG —— OutBack Power OG —— Samlex America OG —— Morningstar OG —— SMA OG —— Exeltech —— Go Power! —— Zamp Solar — Гибридные инверторы — Инверторы для жилых домов и судов —— Go Power! Промышленные PSW — Мобильные инверторы — Микроинверторы — PowerCenters — Аксессуары —— Аксессуары Fronius —— Аксессуары Magnum —— Аксессуары Outback Power —— Аксессуары Schneider Electric —— Аксессуары SMA Хранение энергии — Батареи —— Батареи AGM —— Залитые батареи —— Гелевые батареи — Корпуса и шкафы для батарей — — Алюминиевые корпуса —— Корпус из стекловолокна —— MidNite Solar MNBE — Решения для резервного питания —— Батарейные блоки —— Аварийное резервное питание —— — Комплект SystemEdge — Зарядные устройства для аккумуляторов Системы крепления PV — Земля — Сторона полюса — Крыша — Жилой и морской транспорт — Трекеры — SolarTech — Верхняя часть полюса — — Компоненты UniRacBOS — Автоматические выключатели — Сумматоры — Разъединители — ePanels — Устройства защиты от перенапряжения — Электропроводка и кабели —— Межмодуль —— Выход —— — Выход MC —— Контроллер-батарея —— Инвертор —— БатареяБольше — Перекачка воды — Готовность — Энергия ветра

Поиск

.

Почему кто-то захочет контролировать вас

Psych Central Psych Central

MENUMENU

  • Условия
        • Зависимости
          • Симптомы употребления психоактивных веществ
          • Симптомы употребления опиоидов
          • Лечение психоактивных веществ
        • Обзор СДВГ
          • Симптомы СДВГ у взрослых
          • Лечение СДВГ у взрослых
          • Тест на СДВГ
          • СДВГ в детстве
          • Симптомы СДВГ в детстве
          • Лечение СДВГ в детстве
          • Тест на СДВГ в детстве
        • Тревога и паника
          • Общие симптомы тревоги
          • Лечение тревоги
          • Симптомы панического расстройства
          • Лечение панического расстройства
          • Тест на тревогу
        • Аутизм
          • Симптомы аутизма
          • Лечение аутизма
          • Симптомы Аспергера
          • Лечение Аспергера
          • Тест на аутизм
        • Биполярное расстройство
          • Симптомы биполярного расстройства
          • Лечение биполярного расстройства
          • Тест на биполярное расстройство
        • Депрессия
          • Симптомы депрессии
          • Сезонное аффективное расстройство
          • Послеродовая депрессия
          • Лечение депрессии
          • Тест на депрессию
        • Расстройства пищевого поведения
          • Симптомы анорексии
          • Лечение анорексии
          • Симптомы переедания
          • Лечение переедания
          • Симптомы булимии
          • Лечение булимии
          • Тест на переедание
          • Тест на отношение к еде
          • 9167

            9167 Тест на расстройство пищевого поведения

        .

        Зачем нужен веб-сайт

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

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

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

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

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

        • с помощью виджета Product
        • с внешним виджетом от Ecwid
        • с картой или Прайс-лист виджеты

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

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

        Портфолио необходимо творческим профессионалам: музыкантам, художникам, фотографам, писателям и так далее. Персональный веб-сайт может заинтересовать ваших поклонников и позволяет показать ваши работы новой аудитории и заинтересовать их вашим творчеством.Выход в Интернет даст вам возможность привлечь столько людей, о которых вы даже не догадывались. И что немаловажно, на uKit вы сможете отслеживать посетителей и анализировать статистику своего сайта с помощью Google Analytics.

        Суть в том, что ваш собственный веб-сайт может принести вам пользу несколькими способами:

        • повышение узнаваемости вашего бренда
        • Эффективное привлечение новых клиентов
        • увеличение количества регулярных заказов и выручки
        • улучшение взаимодействия и коммуникации с вашими клиентами
        • дает вам возможность поделиться своим творчеством и мыслями с большим количеством людей

        В любом случае личный сайт — это эффективный и многофункциональный инструмент, который поможет вашему бизнесу расти и развиваться в правильном направлении, а uKit поможет вам в этом.

        Создать сайт

        Эта статья была полезной?

        41 человек нашел эту статью полезной.

        .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *