Микроконтроллер — компьютер на одной микросхеме. Предназначен для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в микроконтроллер программой. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлением микропроцессорного ядра микроконтроллера.
К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.
В отличие от микроконтроллера контроллером обычно называют плату, построенную на основе микроконтроллера, но достаточно часто при использовании понятия микроконтроллер применяют сокращенное название этого устройства, отбрасывая приставку микро для простоты. Также при упоминании микроконтроллеров можно встретить слова чип или микрочип, кристалл (большинство микроконтроллеров изготавливают на едином кристалле кремния), сокращения МК или от английского microcontroller — MC.
Микроконтроллеры можно встретить в огромном количестве современных промышленных и бытовых приборов: станках, автомобилях, телефонах, телевизорах, холодильниках, стиральных машинах. и даже кофеварках. Среди производителей микроконтроллеров можно назвать Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Texas Instruments, Infineon Technologies (бывшая Siemens Semiconductor Group) и многих других. Для производства современных микросхем требуются сверхчистые помещения.
Основным классификационным признаком микроконтроллеров является разрядность данных, обрабатываемых арифметико-логическим устройством (АЛУ). По этому признаку они делятся на 4-, 8-, 16-, 32 — и 64-разрядные. Сегодня наибольшая доля мирового рынка микроконтроллеров принадлежит восьмиразрядным устройствам (около 50 % в стоимостном выражении). За ними следуют 16-разрядные и DSP-микроконтроллеры (DSP — Digital Signal Processor — цифровой сигнальный процессор), ориентированные на использование в системах обработки сигналов (каждая из групп занимает примерно по 20 % рынка). Внутри каждой группы микроконтроллеры делятся на CISC — и RISC-устройства. Наиболее многочисленной группой являются CISC-микроконтроллеры, но в последние годы среди новых чипов наметилась явная тенденция роста доли RISC-архитектуры.
Тактовая частота, или, более точно, скорость шины, определяет, сколько вычислений может быть выполнено за единицу времени. В основном производительность микроконтроллера и потребляемая им мощность увеличиваются с повышением тактовой частоты. Производительность микроконтроллера измеряют в MIPS (Million Instruсtions per Second — миллион инструкций в секунду).
Термин контроллер образовался от английского слова to control — управлять. Эти устройства могут основываться на различных принципах работы от механических или оптических устройств до электронных аналоговых или цифровых устройств. Механические устройства управления обладают низкой надежностью и высокой стоимостью по сравнению с электронными блоками управления, поэтому в дальнейшем мы такие устройства рассматривать не будем. Электронные аналоговые устройства требуют постоянной регулировки в процессе эксплуатации, что увеличивает стоимость их эксплуатации. Поэтому такие устройства к настоящему времени почти не используются. Наиболее распространенными на сегодняшний день схемами управления являются схемы, построенные на основе цифровых микросхем.
В зависимости от стоимости и габаритов устройства, которым требуется управлять, определяются и требования к контроллеру. Если объект управления занимает десятки метров по площади, как, например, автоматические телефонные станции, базовые станции сотовых систем связи или радиорелейные линии связи, то в качестве контроллеров можно использовать универсальные компьютеры. Управление при этом можно осуществлять через встроенные порты компьютера (LPT, COM, USB или Ethernet). В такие компьютеры при включении питания заносится управляющая программа, которая и превращает универсальный компьютер в контроллер.
Использование универсального компьютера в качестве контроллера позволяет в кратчайшие сроки производить разработку новых систем связи, легко их модернизировать (путём простой смены программы) а также использовать готовые массовые (а значит дешёвые) блоки.
Если же к контроллеру предъявляются особенные требования, такие, как работа в условиях тряски, расширенном диапазоне температур, воздействия агрессивных сред, то приходится использовать промышленные варианты универсальных компьютеров. Естественно, что эти компьютеры значительно дороже обычных универсальных компьютеров, но всё равно они позволяют экономить время разработки системы, за счёт того, что не нужно вести разработку аппаратуры контроллера.
Контроллеры требуются не только для больших систем, но и для малогабаритных устройств, таких как радиоприёмники, радиостанции, магнитофоны или сотовые аппараты. В таких устройствах к контроллерам предъявляются жёсткие требования по стоимости, габаритам и температурному диапазону работы. Этим требованиям не могут удовлетворить даже промышленные варианты универсального компьютера. Приходится вести разработку контроллеров на основе однокристальных ЭВМ, которые в свою очередь получили название микроконтроллеры. Любые устройства, в том числе и устройства связи, радиоавтоматики или аудиовизуальной аппаратуры требуют присутствия в своем составе устройства управления (контроллера). Контроллеры требуются практически во всех предметах и устройствах, которые окружают нас. Наиболее распространёнными в настоящее время являются микроконтроллеры семейства MCS-51. Это семейство поддерживается рядом фирм — производителей микросхем. Не менее распространёнными в мире являются микроконтроллеры фирмы Motorola. Это такие семейства как HC05, HC07, HC11 и многие другие. Пожалуй, не менее популярными микроконтроллерами являются микроконтроллеры семейства AVR фирмы Atmel. Если представить все типы современных микроконтроллеров (МК), то можно поразиться огромным количеством разнообразных приборов этого класса, доступных потребителю. Однако все эти приоры можно разделить на следующие основные типы: встраиваемые (embedded) 8-разрядные МК; 16 — и 32-разрядные МК; цифровые сигнальные процессоры. Промышленностью выпускаются очень широкая номенклатура встраиваемых МК. В них все необходимые ресурсы (память, устройства ввода-вывода и т.д.) располагаются на одном кристалле с процессорным ядром [3]. Если подать питание и тактовые импульсы на соответствующие входы МК, то можно сказать, что он как бы оживет и с ним можно будет работать. Обычно МК содержат значительное число вспомогательных устройств, благодаря чему обеспечивается их включение в реальную систему с использованием минимального количества дополнительных компонентов. В состав этих МК входят:
— Схема начального запуска процессора (Reset);
— Генератор тактовых импульсов;
— Центральный процессор;
— Память программ (E (E) PROM) и программный интерфейс;
— Средства ввода/вывода данных;
— Таймеры, фиксирующие число командных циклов.
Общая структура МК показана на (Рис.2) Эта структура дает представление о том, как МК связывается с внешним миром. Более сложные встраиваемые МК могут дополнительно реализовывать следующие возможности:
— Встроенный монитор/отладчик программ;
— Внутренние средства программирования памяти программ (ROM);
— Обработка прерываний от различных источников;
— Аналоговый ввод/вывод;
— Последовательный ввод/вывод (синхронный и асинхронный);
— Параллельный ввод/вывод (включая интерфейс с компьютером);
— Подключение внешней памяти (микропроцессорный режим).
Все эти возможности значительно увеличивают гибкость применения МК и делают более простым процесс разработки систем на и основе.
Рисунок 2 — Структура микроконтроллера.
Некоторые МК (особенно 16 — и 32-разрядные) используют только внешнюю память, которая включает в себя как память программ (ROM), так и некоторый объем памяти данных (RAM), требуемый для данного применения. Они применяются в системах, где требуется большой объем памяти и относительное не большое количество устройств (портов) ввода/вывода. Типичным примером применения такого МК с внешней памятью является котроллер жесткого диска (HDD) с буферной кэш-памятью, который обеспечивает промежуточное хранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняя память дает возможность такому микроконтроллеру работать с более высокой скоростью, чем встраиваемый МК.
Цифровые сигнальные процессоры (DSP) — относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы, обрабатывать данные и формировать соответствующий отклик в реальном масштабе времени. Они обычно входят в состав систем, используясь в качестве устройств управления внешним оборудованием, и не предназначены для автономного применения.
Система команд.
В зависимости от числа используемых кодов операций системы команд МК можно разделить на две группы: CISC и RISC. Термин CISC означает сложную систему команд и является аббревиатурой английского определения Complex Instruction Set Computer. Аналогично термин RISC означает сокращенную систему команд и происходит от английского Reduce Instruction Set Computer. Систему команд МК 8051 можно отнести к типу CISC. Однако, не смотря на широкую распространенность этих понятий, необходимо признать, что сами названия не отражают главного различия между системами команд CISC и RISC. Основная идея RISC архитектуры — это тщательный подбор таких комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Основной выигрыш от такого подхода — резкое упрощение аппаратной реализации ЦП и возможность значительно повысить его производительность.
Очевидно, что в общем случае одной команде CISC соответствует несколько команд RISC. Однако обычно выигрыш от повышения быстродействия в рамках RISC перекрывает потери от менее эффективной системы команд, что приводит к более высокой эффективности RISC систем в целом по сравнению с CISC.
Однако в настоящее время грань между CISC и RISC архитектурой стремительно стирается. Например, МК семейства AVR фирмы Atmel имеют систему команд из 120 инструкций, что соответствует типу CISC. Однако большинство из них выполняется за один такт, что является признаком RISC архитектуры. Сегодня принято считать, что признаком RISC архитектуры является выполнение команд за один такт тактового генератора. Число команд само по себе значения уже не имеет.
Типы памяти МК.
Можно выделить три основных вида памяти, используемой в МК:
— память программ;
— память данных;
— регистры МК.
Память программ представляет собой постоянную память, предназначенную для хранения программного кода и констант. Эта память не изменяет содержимого в процессе выполнения программы. Память данных предназначена для хранения переменных в ходе выполнения программы. Регистры МК — этот вид памяти включает внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами.
Для хранения программ обычно служит один из видов постоянной памяти: ROM (масочные ПЗУ), PROM (однократно программируемые ПЗУ), EPROM (электрически программируемые ПЗУ с ультрафиолетовым стиранием) или EEPROM (ПЗУ с электрической записью и стиранием, к этому виду также относятся современные микросхемы Flash-памяти). Все эти виды памяти являются энергонезависимыми — это означает, что содержимое памяти сохраняется после выключения питания МК.
Многократно программируемые ПЗУ — EPROM и EEPROM (Electrically Erasable Programmable Memory) подразделяются на ПЗУ со стиранием ультрафиолетовым (УФ) облучением (выпускаются в корпусах с окном), и МК с электрически перепрограммируемой памятью, соответственно.
В настоящее время протоколы программирования современной EEPROM памяти позволяют выполнять программирование МК непосредственно в составе системы, где он работает. Такой способ программирования получил название — ISP (In System Programming). И теперь можно периодически обновлять программное обеспечение МК без удаления из платы. Это дает огромный выигрыш на начальных этапах разработки систем на базе МК или в процессе их изучения, когда масса времени уходит на многократный поиск причин неработоспособности системы и выполнение последующих циклов стирания-программирования памяти программ.
Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способности стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирание осуществляется целыми блоками.
ОЗУ (RAM) — оперативное запоминающее устройство, используется для хранения данных. Эту память называют еще памятью данных. Число циклов чтения и записи в ОЗУ неограниченно, но при отключение питания вся информация теряется.
3.2 Среды программирования. Схемы подключения микроконтроллера
Программная среда AVR Studio — это мощный современный программный продукт, позволяющий производить все этапы разработки программ для любых микроконтроллеров серии AVR. Пакет включает в себя специализированный текстовый редактор для написания программ, мощный программный отладчик.
Кроме того, AVR Studio позволяет управлять целым рядом подключаемых к компьютеру внешних устройств, позволяющих выполнять аппаратную отладку, а также программирование (прошивку) микросхем AVR.
Программная среда AVR Studio работает не просто с программами, а с проектами. Для каждого проекта должен быть отведен свой отдельный каталог на жестком диске. В AVR Studio одновременно может быть загружен только один проект.
При загрузке нового проекта предыдущий проект автоматически выгружается. Проект содержит всю информацию о разрабатываемой программе и применяемом микроконтроллере. Он состоит из целого набора файлов.
Главный из них — файл проекта. Он имеет расширение aps. Файл проекта содержит сведения о типе процессора, частоте тактового генератора и т.д. Он также содержит описание всех остальных файлов, входящих в проект. Все эти сведения используются при отладке и трансляции программы.
Кроме файла aps, проект должен содержать хотя бы один файл с текстом программы. Такой файл имеет расширение asm. Недостаточно просто поместить файл asm в директорию проекта. Его нужно еще включить в проект. Проект может содержать несколько файлов asm. При этом один из них является главным. Остальные могут вызываться из главного при помощи оператора. include. На этом заканчивается список файлов проекта, которые создаются при участии программиста.
Algorithm Builder предназначен для производства полного цикла разработки начиная от ввода алгоритма, включая процесс отладки и заканчивая программированием кристалла.
Algorithm Builder довольно нетрадиционная программа в плане языка программирования; ассемблер, завернутый в красивую обертку визуального программирования. Algorithm Builder — визуальный ассемблер или построитель ассемблера с помощью которого на выходе можно получить максимально эффективный код.
Работа с переменными и константами организована гениально просто. Инициализация производиться в отдельном окне в виде таблицы — освобождая алгоритм от лишних записей. В буквальном смысле слова все разложено по полочкам.
Algorithm Builder имеет удобный настройщик периферии (таймеры, UART, ADC, SPI и т.д.) позволяющий, не читая даташитов, просто выбрать необходимые параметры работы устройства в окне настройки. В этом же окне Builder честно покажет набор инструкций, обеспечивающих эти параметры.
Переходы осуществляются в программе очень наглядно — вектором. Если требуется перейти по условию в какую либо точку программы — нужно просто провести вектор в эту точку. Это освобождает программу от бесчисленных имен меток, которые в классическом ассемблере являются неизбежным балластом. Переходы по именованным меткам так же возможны.
Внутрисхемное программирование кристалла. При использовании внутрисхемного программатора микроконтроллер подключается к COM порту компьютера через несложный адаптер (три диода и несколько резисторов). Также есть вариант USB подключения. Программатор ведет подсчет числа перепрограммирований кристалла, сохраняя счетчик непосредственно в кристалле. Процесс программирования кристалла очень прост — в два хода.
Мониторная отладка на кристалле. Algorithm Builder обеспечивает мониторную отладку на кристалле (On Chip debug) которая позволяет наблюдать содержимое реального кристалла в заданной точке останова. При этом для связи микроконтроллера с компьютером используется только один вывод, причем по выбору пользователя. Мониторная отладка может быть применена к любому типу кристалла, имеющего SRAM. Это софтверный вариант debugWIRE.
Для того, чтобы написанная программа превратилась в результирующий код и заработала в конкретном микропроцессорном устройстве, ее нужно оттранслировать и зашить в программную память микроконтроллера.
При написании программ обычно нельзя обойтись без процедуры отладки. Отладка выполняется на компьютере при помощи специальной инструментальной программы — отладчика. Он позволяет пошагово выполнять отлаживаемую программу, а также выполняет ее поэтапно с использованием, так называемых точек останова.
В процессе выполнения программы под управлением отладчика можно на экране компьютера:
— видеть содержимое любого регистра микроконтроллера;
— видеть содержимое ОЗУ и EEPROM;
— наблюдать за последовательностью выполнения команд, контролируя правильность отработки условных и безусловных переходов;
— наблюдать за работой таймеров, отработкой прерываний.
В процессе отладки также можно наблюдать логические уровни на любом внешнем выходе микроконтроллера. А также имитировать изменение сигналов на любом входе. Процесс отладки позволяет убедиться в том, что разрабатываемая программа работает именно так, как нужно.
Существует три основных вида отладчиков:
— программные;
— аппаратные;
— комбинированные программно-аппаратные.
— Программный отладчик
Программный отладчик — это компьютерная программа, которая имитирует работу процессора на экране компьютера. Она не требует наличие реальной микросхемы или дополнительных внешних устройств и позволяет отладить программу чисто виртуально.
Однако программный отладчик позволяет проверить только логику работы программы. При помощи такого отладчика невозможно проверить работу схемы в режиме реального времени или работу всего микропроцессорного устройства в комплексе, т. е невозможно гарантировать правильную работу и всех подключенных к микроконтроллеру дополнительных микросхем и элементов.
Аппаратный отладчик
Основа аппаратного отладчика — специальная плата, подключаемая к компьютеру, работающая под его управлением и имитирующая работу реальной микросхемы микроконтроллера. Плата имеет выводы, соответствующие выводам реальной микросхемы, на которых в процессе отладки появляются реальные сигналы.
При помощи этих выводов отладочная плата может быть включена в реальную схему. Возникающие в процессе отладки электрические сигналы можно наблюдать при помощи осциллографа. Можно нажимать реальные кнопки и наблюдать работу светодиодов и других индикаторов.
Здесь как и в предыдущем случае, можем видеть всю информации об отлаживаемой программе: наблюдать содержимое регистров, ОЗУ, портов ввода-вывода; контролировать ход выполнения программы.
В аппаратном отладчике так же, как и в программном, можно выполнять программу в пошаговом режиме и применять точки останова. Недостатком аппаратного отладчика является его высокая стоимость.
Имитаторы
Имитаторы — программы, которые позволяют на экране компьютера собрать любую электронную схему, включающую в себя самые разные электронные компоненты:
— транзисторы;
— резисторы;
— конденсаторы;
— операционные усилители;
— логические и цифровые микросхемы, в том числе и микроконтроллеры.
Такие программы обычно содержат обширные базы электронных компонентов и конструктор электронных схем. Собрав схему, можно виртуально записать в память микроконтроллера вашу программу, а затем запустить всю схему в работу.
Для контроля результатов работы схемы имитатор имеет виртуальные вольтметры, амперметры и осциллографы, которые можно подключать к любой точке схемы, измерять различные напряжения, а также снимать временные диаграммы.
Такие программы в настоящее время получают все большее распространение. Они позволяют разработать любую схему с микроконтроллером или без него, без использования паяльника и реальных деталей. На экране компьютера можно полностью отладить свою схему и лишь потом браться за паяльник.
Недостатком данного отладчика является то, что он требует значительных вычислительных ресурсов. Особенно в том случае, когда отлаживается схема, включающая как микроконтроллер, так и некоторую аналоговую часть. Кроме того, имитатор не всегда верно имитирует работу некоторых устройств. Однако подобные программы имеют очень большие перспективы.
3.3 Микросхемы используемые в процессе прохождения практики.
3.3.1 ATmega32, ATmega32L 8-битные AVR микроконтроллеры с 32К Байт внутрисистемно программируемой FLASH памяти.
Характеристики:
1. Высокопроизводительные, мало потребляющие AVR 8- битные микроконтроллеры;
2. Развитая RISC архитектура:
— 131 исполняемых команд, большинство за один машинный такт;
— 32 рабочих регистра общего назначения;
— полностью статический режим работы;
— производительность до 16 MIPS при 16 МГц;
— встроенный 2-х тактовый умножитель;
3.Энергонезависимая память программ и данных:
— 32К байт внутрисистемной самопрограммируемой FLASH памяти с количеством циклов перепрограммирования до 10 000;
— Опционно загрузочная область памяти с независимыми ключевыми битами, внутрисистемное программирование встроенной загрузочной программой, правильное чтение в процессе записи;
— 1024 байт EEPROM с допустимым количеством циклов стирания записи до 100 000;
— 2К байт внутренней SRAM;
— программируемый ключ защиты программ.;
4.JTAG (IEEE1149.1 совместимый) интерфейс:
— Сканирование памяти в соответствии с JTAG стандартом;
— Встроенная поддержка отладчика;
— Программирование FLASH, EEPROM, охранных и ключевых бит через JTAG интерфейс;
5.Периферийные функции:
— два 8-битных таймера/счётчика с программируемым предделителем и режимом сравнения;
— один 16-битный таймер/счётчик с программируемым предделителем, режимом сравнения и захвата;
— счётчик реального времени с программируемым генератором;
— четыре ШИМ генератора;
— 8-и канальный, 10-и битный АЦП;
— байт- ориентированный, двухпроводный интерфейс;
— программируемый USART;
— Master/Slave SPI последовательный интерфейс;
— Программируемыи Watchdog таймер с программируемым генератором;
— Встроенный аналоговый компаратор;
6.Специальные функции:
— Reset по включению питания и выключение при снижении напряжения питания;
— Внутренний калиброванный RC генератор;
— Внешние и внутренние источники прерывания;
— Шесть экономичных режимов: Idle, подавления шумов АЦП, экономичный, режим Выкл. , режим ожидания и режим расширенного ожидания.;
7. 32 программируемых вывода вход-выход и 1 вход;
8. 40 выводной корпус PDIP, 44 выводной корпус TQFP, и 44 контактный MLF;
9. Напряжение питания:
— 2.7 В до 5.5 В для ATmega32L;
— 4.5 В до 5.5 В для Atmega32;
10. Тактовая частота:
0-8 МГц Atmega32L;
0-16 МГц Atmega32;
Блок- схема(Рис. 3):
Рисунок 3- Блок схема микроконтроллера Atmega32.
Расположение выводов( Рис. 4):
Рисунок 4 – Расположение выводов микроконтроллера Atmega32.
Описание:
Atmega32/L является КМОП 8- битным микроконтроллером построенным на расширенной AVR RISC архитектуре. Используя команды исполняемые за один машинный такт, контроллер достигает производительности в 1 MIPS на рабочей частоте 1 МГц, что позволяет разработчику эффективно оптимизировать потребление энергии за счёт выбора оптимальной производительности.
AVR ядро сочетает расширенный набор команд с 32 рабочими регистрами общего назначения. Все 32 регистра соединены с АЛУ, что обеспечивает доступ к двум независимым регистрам на время исполнения команды за один машинный такт. Благодаря выбранной архитектуре достигнута наивысшая скорость кода и соответственно высокая производительность в 10 раз превосходящая скорость соответствующего CISC микроконтроллера.
ATmega32/L содержит 32Кбайт внутрисистеммно программируемой FLASH памяти программ, допускающей чтение во время записи, 1024 байт EEPROM, 2К байт SRAM , 32 рабочих регистра, JTAG интерфейс сканирования внутренних регистров, встроенную систему отладки и программирования, три гибких таймера- счётчика с модулем сравнения, внутренние и внешние прерывания, последовательный программируемый интерфейс USART, байт-ориентированный двухпроводный последовательный интерфейс, 8-и канальный, 10-и битный АЦП с дифференциальным программируемым усилителем ( только для TQFP ), программируемый Watchdog таймер с внутренним генератором, порт SPI и шестью режимами сбережения энергии. В режиме Idle ЦПУ не функционирует в то время как функционируют USART, двухпроводный интерфейс, АЦП, SRAM, таймеры- счётчики, SPI порт и система прерываний. В Atmega32 существует специальный режим подавления шума АЦП, при этом в целом в спящем режиме функционирует только АЦП и асинхронный таймер для уменьшения цифровых шумов преобразования. В режиме Выкл. процессор сохраняет содержимое всех регистров, замораживает генератор тактовых сигналов, приостанавливает все другие функции кристалла до прихода внешнего прерывания или поступления внешней команды Reset. В режиме ожидания работает один тактовый генератор, при остановке остальных функцийй контроллера. Благодаря быстрому переходу в нормальный режим работы в том числе и по внешнему прерыванию Atmega32 успешно приспосабливается к внешним условиям работы и требует меньше энергии, чащще оказываясь в режиме Выкл. В расширенном режиме ожидания в рабочем состоянии находятся основной генератор и асинхронный генератор.
Микросхемы выпускаются при использовании Atmel технологии энергонезависимой памяти высокой плотности. Встроенная ISP FLASH память позволяет перепрограммировать область программной памяти внутрисистеммно через последовательный SPI интерфейс стандартным программатором, или используя загрузочную программу из энергонезависимой памяти работающую в AVR ядре. Комбинация расширенной 8- и битной RISC архитектуры ЦПУ и твёрдотельной FLASH памяти обеспечивают Atmega32 высокую гибкость и экономическую эффективность во встраиваемых системах управления.
3.3.2 LPC2148 Однокристальные 16/32-разрядные микроконтроллеры с ядром ARM7TDMI-S
Основные параметры микроконтроллера LPC2148в таблице 1.
Таблица 1 – Основные параметры микроконтроллера LPC2148.
ЦПУ: Ядро | ARM7TDMI |
ЦПУ: F,МГц | от 0 до 60 |
Память: Flash,КБайт | |
Память: RAM,КБайт | |
I/O (макс.),шт. | |
Таймеры: 32-бит,шт | |
Таймеры: Каналов ШИМ,шт | |
Таймеры: RTC | Да |
Интерфейсы: UART,шт | |
Интерфейсы: SPI,шт | |
Интерфейсы: I2C,шт | |
Аналоговые входы: Разрядов АЦП,бит | |
Аналоговые входы: Каналов АЦП,шт | |
Аналоговые входы: Быстродействие АЦП,kSPS | 2.44 |
Аналоговые выходы: Разрядов ЦАП,бит | |
Аналоговые выходы: Каналов ЦАП,шт | |
VCC,В | от 3 до 3.6 |
ICC,мА | |
TA,°C | от -40 до 85 |
Корпус | LQFP-64 |
Общее описание.
16/32-разр. микроконтроллер ARM7TDMI-S в корпусе LQFP64.
Встроенное статическое ОЗУ от 8 до 40 кБ.
Встроенная 32/64/128/256/512 кБ программная Flash память. 128-разрядный интерфейс/акселератор позволяет работать на частоте 60 МГц.
Возможность программирования внутри системы (ISP) и внутри приложения (IAP) при помощи встроенной программы-загрузчика. Время программирования одной 256 байтной линии Flash памяти 1 мс. Стирание одного сектора или всей памяти за 400 мс.
Векторный контроллер прерываний с перестраиваемыми приоритетами и адресами векторов прерывания.
Встроенный интерфейс ICE-RT позволяет реализовать точки останова и ожидания. Подпрограммы обработки прерываний могут продолжать выполнение, пока основная программа находится в отладке через имеющуюся в микроконтроллере программу RealMonitor™.
USB 2.0 Full-speed контроллер с 2 кБ буферного ОЗУ. В LPC2146/48 доступ к 8 кБ блоку ОЗУ для USB осуществляется через контроллер прямого доступа к памяти (DMA).
Последовательные интерфейсы:
— два UART (16C550)
— два высокоскоростных I2C (400 кбит/с) SPI и SSP
Один (LPC2141/42) или два (LPC2144/46/48) 10-разрядныx АЦП с 6/14-ю входными каналами и временем преобразования менее 2.44 мкс/канал.
Одиночный 10-разрядный ЦАП (LPC2142/44/46/48).
Два 32-разрядных таймера (4 канал захвата — 4 сравнения), модуль ШИМ (6 выходов), сторожевой таймер.
Малопотребляющие часы реального времени с независимым питанием и отдельным входом тактирования 32 КГц.
До сорока пяти линий портов ввода — вывода общего применения, совместимых с 5 В логикой, в миниатюрном 64 контактном LQFP корпусе. Из них 21 вывод может быть входами внешнего прерывания.
Максимальная тактовая частота 60 МГц, вырабатываемая встроенным генератором ФАПЧ с временем стабилизации 100 мкс.
Встроенный генератор, работающий с внешним кварцем, имеющий рабочий частотный диапазон от 1 МГц до 25 МГц.
Два экономичных режима – ждущий и пониженного потребления энергии.
Индивидуальное включение/отключение периферийных модулей для оптимизации потребления.
Запуск из дежурного режима сигналом внешнего прерывания или по прерыванию модуля детектора уровня питания (BOD).
Единое питание с сигналом сброса по включению питания (POR) и модуля детектора уровня питания (BOD).
Питание ядра микропроцессора от 3,0 до 3,6 В (3,3 В ± 10%) с устойчивостью к напряжению +5 В.
Блок-схема микроконтроллера LPC2148 изображена на рисунке 5.
Рисунок 5 — Блок-схема микроконтроллера LPC2148.