Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Компьютеры на базе AVR-микроконтроллеров — ARCAdaptor

Вместо предисловия

Многие профессионалы-разработчики электроники часто “воротят нос” от семейства микроконтроллеров производства Atmel – фи, мол, эта ваша Атмега — только лампочками поморгать. Однако, это спорное утверждение.

Дешевизна, легкость программирования (как физической “заливки” прошивки, так и создания самих программ) превращают микроконтроллеры семейства AVR в универсальный инструмент, доступный начинающему радиолюбителю, а богатейшая линейка устройств — от самых простых ATTiny до устройств Mega256 с огромным количеством периферии “на борту” позволят реализовать самый смелый и амбициозный проект.

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

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

Совсем юные читатели сразу подумают о новинках вроде Raspberry Pi, а те, кто уже имеют понятие о мироустройстве — вспомнят РК-86, ZX-Spectrum и БК-0010, например.

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

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

AVR Chip Basic

Первый персонаж нашего обзора – компьютер AVR Chip Basic, точнее это целое семейство компьютеров, различающееся по степени “навороченности” и наличию той или иной периферии.

Из под пера автора ( Jörg Wolfram ) вышла целая плеяда устройств:

  • AVR-ChipBasic8 на базе ATMega8 или ATMega88 (та же микросхема используется в ARCAdaptor)
  • AVR-ChipBasic на базе ATMega16
  • AVR-ChipBasic32 на базе ATMega32
  • AVR-ChipBasic2 на базе ATMega644

Все они имеют (как минимум) ТВ-выход и общаются с пользователем с помощью языка BASIC. В качестве устройства ввода используется стандартная PS/2 клавиатура.

Как уже говорилось, каждое из устройств обладает разными характеристиками, так например, AVR-ChipBasic8 имеет чёрно-белый видеовыход, может хранить программы на языке BASIC на подключаемой микросхеме EEPROM, ибо память самой микросхемы оставляет лишь 512 байт для хранения исходного текста. 

Тем не менее – имеется и звуковой выход, и даже “свободные ножки”, на которые можно повесить дополнительное оборудование. 

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

Из “фишек” интересное – прошивку можно собрать самостоятельно как под PAL развертку, так и под NTSC.

Остальные аппараты уже в состоянии выводить цветной видеосигнал через разъем SCART, и даже подключаться к совместимой TFT-матрице. Также к услугам пользователя возможность работы с периферией, последовательный интерфейс RS-232 с возможностью общения с “большим братом” и даже “картриджи памяти”! – съемные блоки памяти с записанными на них программами.

Более того, версии на ATMega16,32 и 644 используют одну и ту же плату, то есть достаточно поставить микросхему в панельку и загрузить нужную прошивку.

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

Кстати, среди его проектов есть и эмулятор компьютера ZX-81 на микроконтроллерах AVR.

FIGnition

Движемся дальше – следующий экспонат – одноплатный компьютер Fignition.

Автор Julian Skidmore создал “одноплатник”, работающий под управлением ФОРТ-машины. Устройство способно управляться с экраном размером 25×24 символов, 16 пользовательскими символами, ну или графикой размером 160×160 точек.

Стоит отметить, что устройство может работать как с PAL-телевизорами, так и с NTSC – зависит от загруженной прошивки микроконтроллера ATMega168.

Особый интерес вызывает способ ввода данных. Обычно с AVR-устройствами часто интегрируют поддержку PS/2 клавиатуры, коих в избытке (пока что). Автор подготовился к вселенской катастрофе и организовал ввод с помощью восьми кнопок… Перебор значений на них организован по образу и подобию набора SMS в кнопочных мобильных телефонах.

 

 

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

Сайт проекта

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

PMD-85

Первый в списке – компьютер PMD-85. Это довольно интересное устройство, которое выпускалось с 1985 по 1989 в социалистической Чехословакии. По характеристикам он очень похож на семейство “РК-86”, выпускавшийся в СССР в середине и конце восьмидесятых годов прошлого века – процессор i8080 и небольшой объем памяти.

Подробнее можно почитать в Википедии , ну а пока что рассмотрим аппаратную реализацию на ATMega.

Даже по этой иллюстрации видно – на плате всего лишь 2 микросхемы – непосредственно контроллер ATMega128 и микросхема памяти.

Ввод осуществляется с клавиатуры PS/2, вывод – через черно-белый ТВ. Для того, чтобы запустить ту или иную игру – необходимо скомпилировать соответствующую прошивку, которая содержит тот или иной набор программ. Вот несколько скриншотов от “родных” игр.

А вот видео работы, правда записано с настоящего PMD:

 

 

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

Проект был бы весьма интересен отечественным фанатам РК-86, тем более что уже есть реализация на микроконтроллере PIC в проекте Maximite.

AVR-CP/M

Дальше – больше. Если возможна эмуляция i8080, то почему бы не попытаться запустить на АТМеге операционную систему CP/M ?

Это стоит сделать хотя бы ради великого и ужасного ZORK! И ведь запускают.

 В качестве устройства отображения используется serial port.

Для него в плату установлен конвертер Serial->USB, но вполне можно обойтись и без него, точнее – обойтись внешним конвертером.

Сама схема представляет собой контроллер ATMega328 и несколько чипов памяти (из старых видеокарт или материнских плат).

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

UzeBox

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

 

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

Что “под капотом”:

  • Низкая стоимость. Всего 2 чипа (микроконтроллер и кодер NTSC), более того – второй не обязателен, если есть телевизор с полноценным разъемом SCART.
  • Ядро управляется прерываниями. Нет “тормозов”, никто не отсчитывает такты процессора, генерация аудио и видео происходит в фоне.
  • 256 цветов 4 звуковых канала – 3 wavetable +1 шумовой
  • MIDI-интерфейс
  • Стандартные джойстики от SNES (на 15 долларов на Aliexpress можно приобрести несколько штук).
  • Есть возможность использовать NES (Dendy), но потребуется перекомпиляция игр, хотя это вообще не проблема
  • Поддержка манипулятора “мышь” от SNES
  • Поддержка SD-карточек UART и SPI интерфейсы доступны, также есть некоторое количество свободных “ножек” ATMega
  • Есть эмулятор для разработки игр Загрузчик игр/программ с SD Развитое API для разработки Полностью открытая схемотехника и код

Приставка оказалась настолько удачной, что комплектами для сборки подторговывал магазин Adafruit Industries — признанный лидер в DIY движении.

Сама приставка базируется на микросхеме ATMega644 в DIP-исполнении (об этом чуть подробнее ниже). Этого контроллера вполне хватает для вышеописанных задач, а на выходе можно наблюдать игры примерно такого качества:

Без сомнения – классика не стареет.

Неплохо для микроконтроллера, правда ?

Автор разработки – канадец Alec (Uze) Bourque. Проекту не один год, но сообщество, сложившееся вокруг консоли всё еще полно идей и энтузиазма для дальнейшего движения вперед.

По этой ссылке можно ознакомиться с минимальной версией UzeBox – полностью модульной системой, которая состоит из базовой платы с микроконтроллером и SCART-выходом, а также дополнений – платы энкодера NTSC, платы адаптера SD-карты и платы MIDI-переходника.

Последний, кстати, никогда не был воплощен “в металле” за отсутствием MIDI-оборудования 🙂 Выглядит “домашняя версия” в сборе примерно так:

Так что с уверенностью заявляем – “дизайн” проверен и работает.

Конечно же, нужно упомянуть о недостатках.

  • Для обеспечения нужной скорости ATMega работает в режиме “overclock” – аж на 28. 6 Mhz
  • Для сборки подходят только DIP-версии микросхемы
  • При использовании SMD-версий перестает работать UART, перебои с SD-картой и вообще большой риск “не завестись”. Причина тому – указанный выше “разгон”
  • Чип AD725 (энкодер NTSC) в наших краях редкость и довольно дорого обходится (хотя он по большому счету и не нужен в начальной конфигурации)
  • SNES-джойстики не так распространены и уж тем более “ответные” разъемы для них
  • Нормально работают далеко не все SD-карты (точнее, большинство не работает, хотя подобрать в конце концов можно)

Достоинства консоли, кстати, с лихвой перевешивают описанные недостатки, так что её действительно можно рекомендовать к сборке даже новичкам.

Официальный сайт консоли со всей информацией, исчерпывающей документацией и весьма позитивным форумом здесь.

 

AVR ZX Spectrum 2.0

Ну и в финале — действительно потрясающий проект нашего соотечественника – Василия Лисицына – полностью функциональный “клон” компьютера ZX-Spectrum!

Спецификации впечатляют:

  • Разрешение экрана: 256 х 192 точки
  • Матрица знакомест экрана: 32 х 24
  • Количество цветов на знакоместо: 2
  • Число цветов экранной области: 8
  • Число цветов бордюра: 8
  • Число градаций яркости для каждого цвета: 2
  • Эквивалентная частота ЦП: 2,333 МГц
  • Порты ввода/вывода: 0xFE, 0x7FFD, 0x7FFD, 0xBFFD
  • Клавиатурный интерфейс: PS/2
  • Число задействованных клавиш: 82
  • Число каналов звукового сопровождения: 4
  • Перечень каналов звукового сопровождения: левый AY8910, правый AY8910, средний AY8910, бипер
  • Видеовыходы: ЧБ выход, RGB выход, отдельный выход синхронизации
  • Поддержка загрузки/выгрузки «на ленту»: имеется
  • Дополнительные устройства ввода/вывода: micro-SD карта
  • Поддерживаемые модели ZX Spectrum: Pentagon 128 K, ZX Spectrum 128 K, ZX Spectrum 48 K, ZX Spectrum +2, ZX Spectrum +3, ZX Spectrum 48 K ` 2006, OPEN SE BASIC 128 K, OPEN SE BASIC 48 K
  • Дополнительная операционная система: SD DOS
  • Файловая система: FAT32
  • Разъём шины ввода/вывода: имеется
  • Конструкция: двухсторонняя печатная плата 140 х 22 мм, установка внутри клавиатуры или в отдельный корпус
  • Питание устройства: соединитель mini-USB «F», напряжение +5 В

На фото –  плата AVR ZX-Spectrum 2. 0 с установленным эмулятором AY8910(12), кстати тоже на ATMega.

Плата в базовой конфигурации имеет на борту 3 микроконтроллера и микросхему динамической памяти аж на 512 кб:

  • Центральный процессор (ATMega128)
  • Видеопроцессор (опять ATMega128)
  • Контроллер клавиатуры (ATTiny2313)

Это позволяет “в теории” реализовать компьютер с таким объемом памяти. Помимо этого на плате есть некоторое количество микросхем мелкой логики.

Уже сейчас помимо “спектрума” плата может функционировать, как Robotron 1715. То есть на этой базе можно реализовывать и другие компьютеры!

Что может быть лучше ретро-платы все в одном! Впрочем, о тайнах и возможностях может поведать сам автор:

 

 

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

Заключение

Микроконтроллеры – отличная возможность прикоснуться с миру разработки микроэлектроники. Для “олдскульщиков” – возможность “нырнуть” в то время, когда они были молодыми, а компьютеры простыми. Для поколения Arduino – шаг вперед в образовании. И пусть фанаты навороченных FPGA и ARMов утверждают о том, что время ATMega прошло – мы-то знаем на что она способна.

Удачных самоделок!

Please enable JavaScript to view the comments powered by Disqus.comments powered by Disqus

Мини-компьютер на базе микроконтроллера Parallax Propeller

Микроконтроллер фирмы Parallax под названием Propeller, в сравнении с “классикой” жанра типа PIC или AVR занимает несколько странную нишу. Про первые два можно сказать, что это архитектуры общего назначения. Создатели же Пропеллера подошли к вопросу “с фланга”.

Основные отличительные особенности Пропеллера:

  • 8 независимых ядер, работающих параллельно. Какое-либо разделение времени, необходимое для общих ресурсов типа памяти или портов ввода-вывода не контролируется программистом и “вшито” в кристалл. Это дает предсказуемость во времени выполнения кода. Каждое ядро (cog) имеет 4КБ собственной изолированной оперативной памяти. Также каждое ядро имеет встроенный аппаратный модуль для генерации (внимание!) ТВ или VGA видео-сигнала.
  • Нет понятия прерываний. Вместо это предлагается запускать конкурирующие задачи разных ядрах (cog’ах).
  • Программировать можно либо на ассемблере, либо на особом высокоуровневом языке Spin, который сильно упрощает многоядерное и параллельное программирование. Интерпретатор Spin зашит в кристалл.
  • Почти нет понятия программации или прошивки кристалла. Верхняя половина адресного (ROM) пространства размером в 32КБ прошита интерпретатором Spin и разными системными таблицами. В этом случае при каждом включении требуется загрузка программы извне (например, из среды разработки) в нижнюю область 32КБ (RAM). Но обычно в реальном использовании подключается внешняя I2C микросхема памяти EEPROM, содержимое которой автоматически копируется в RAM при включении кристалла.
  • Процессор заявлен как 32-х битный, так как оперирует со данными этого размера, но адресное пространство 16-и битное (64КБ).

Язык Spin разработан для удобного многопроцессорного программирования, и выглядит как нечто среднее между процедурным и объектно-ориентированным языком.

Вот пример кода на Spin, запускающего функцию крутиться на нескольких ядрах. Код реально простой и понятный.

CON
  _clkmode = xtal1 + pll16x         'Establish speed
  _xinfreq = 5_000_000              '80Mhz
OBJ
  led: "E555_LEDEngine.spin"        'Include LED methods object
VAR
  byte Counter                      'Establish Counter Variable
  long stack[90]                    'Establish working space
PUB Main
  cognew(Twinkle(16,clkfreq/50), @stack[0])    'start Twinkle cog 1
  cognew(Twinkle(19,clkfreq/150), @stack[30])  'start Twinkle cog 2
  cognew(Twinkle(22,clkfreq/100), @stack[60])  'start Twinkle cog 3
PUB Twinkle(PIN,RATE)                  'Method declaration 
  repeat                               'Initiate a master loop
    repeat Counter from 0 to 100       'Repeat loop Counter
      led. LEDBrightness(Counter, PIN)  'Adjust LED brightness 
      waitcnt(RATE + cnt)              'Wait a moment
    repeat Counter from 100 to 0       'Repeat loop Counter
      led.LEDBrightness(Counter,PIN)   'Adjust LED brightness 
      waitcnt(RATE + cnt)              'Wait a moment

Функция cognew запускает задачу на трех ядрах, параметризируя каждую своей частотой и стеком.

Упрощенно Пропеллер устроен следующим образом:

Название “Пропеллер” произошло от его модели передачи приоритета на доступ к разделяемым ресурсам. Модуль Hub, контролирующий разделение времени, делает это по кругу, типа крутящегося пропеллера.

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

Но хочу рассказать об одном интересном проекте, который называется “Pocket Mini Computer”. Это мини-компьютер на базе Пропеллера (P8X32A), использующий evaluation board “P8X32A QuickStart” как основу.

Выглядит это добро следующим образом (фотография с официального сайта):

Фактически, автор продает evaluation board плюс плату расширения, на которой есть VGA, microSD, PS/2, звук и Wii Gameport. Опционально можно поставить микросхему оперативки SRAM на 32КБ.

Фишка проекта в том, что автор разработал интерпретатор Бейсика, который превращает все это в микро-компьютер а-ля 80-е. Бейсик написан на Spin’e (исходники открыты). Диалект весьма ограничен, например, нет массивов, строковых и вещественных переменных, имена переменных только однобуквенные и т.д. Но тем не менее, дается доступ ко всей периферии, включая SD-карту, и также позволяет запускать чисто двоичные файлы, которые могут быть написаны хоть на том же Spin’e, хоть на С (Parallax имеет версию GCC для Пропеллера), хоть на ассемблере.

Далее несколько фотографий конструктора, чтобы было понятно, что дается в наборе. Как я уже говорил, основа PMC – это готовая плата “P8X32A QuickStart”, поэтому спаять надо только плату расширения.

Почти все запаяно.

Бутерброд в сборе.

Вот небольшая демка, чтобы оценить графические возможности.

Общие впечатления

Пропеллер

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

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

Вывод: интересная архитектура, определенно заслуживающая внимания.

Конструктор PMC

Опять-таки, двоякое ощущение. Вроде работает, но ресурсов Бейсику явно не хватает, особенно памяти. Например, тот же Maximite на базе PIC32 его на голову превосходит. На нем можно запустить хоть RetroBSD, хоть Радио-86РК. Да и встроенный MMBasic несравнимо мощнее.

Хотя, за 39 долларов США – это отличная игрушка для тех, кто хочет пощупать Пропеллер, имея уже собранное устройство.

На закуску

Книги по Пропеллеру, которые я прочитал, что касаемо архитектуры, и проглядел (что касаемо проектов). Все рекомендую.


Небольшая и очень понятная книга для начинающих. Описаны (с картинками) интересные проекты. Один из соавторов является конструктором PMC.

Getting Started With the Propeller


Крайне грамотная книга в плане архитектуры и понимания сути Пропеллера. В ней рассматривается только программирование на Spin, но с полным объяснением подходов и особенностей микроконтроллера. Прочитав первую главу, вы получите почти полное понимание архитектуры. Далее описаны несколько проектов (это можно пропустить).

Programming the Propeller with Spin : A Beginner’s Guide to Parallel Processing (Tab Electronics)


Сборник реальных проектов с использованием Пропеллера от его создателей.

Programming and Customizing the Multicore Propeller Microcontroller : The Official Guide

На момент написания этой статьи, первая книга доступна только в формате Киндл на Амазоне по цене в два доллара, а вот вторую и третью можно найти, если поискать.

Что такое микроконтроллер? 8081 Архитектура микроконтроллера

следующий → ← предыдущая

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

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

содержит все основные компоненты микрокомпьютера, такие как ЦП, ОЗУ, ПЗУ/СППЗУ, линии ввода-вывода и т. д. Некоторые однокристальные микроконтроллеры содержат устройства для выполнения определенных функций, таких как каналы прямого доступа к памяти, аналого-цифровой преобразователь, последовательный порт, ширина импульса. модуляция и др.

8051 Архитектура

В 1980 году Intel представила серию мощных 8-битных микроконтроллеров 8051. Это второе поколение 8-битных микроконтроллеров. Микроконтроллеры 8051 используются для множества приложений, требующих ограниченных вычислений и относительно некоторых стратегий управления. Они используются для промышленного и коммерческого управления, управления приборами, контрольно-измерительными приборами и т. д.

Модель 8051 содержит логический процессор, полнодуплексный последовательный порт и схему энергосбережения в дополнение к основным компонентам, таким как 8-разрядный ЦП, ОЗУ, ПЗУ/СППЗУ/ОППЗУ, таймер/счетчик и параллельные линии ввода/вывода.

На следующем рисунке показана блок-схема или архитектура микроконтроллера Intel 8051.

8051 Контакты Описание

Схема контактов микроконтроллера 8051 состоит из 40 контактов, как показано ниже:

Контакты 1-8 (Порт 1): Это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами. Он не выполняет никакой задачи; это просто порт ввода/вывода

Контакт 9 (RST): Это входной контакт сброса, который используется для сброса микроконтроллера в исходное положение.

Контакты с 10 по 17 (порт 3): Это также 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами. Кроме того, он выполняет некоторые специальные функции:

ПОРТ 3 контакта Функция Описание
P3.0 РСД Последовательный ввод
P3.1 ТСД Последовательный выход
P3. 2 INT0 Внешнее прерывание 0
P3.3 INT1 Внешнее прерывание 1
P3.4 Т0 Таймер 0
P3.5 Т1 Таймер 1
P3.6 ВР Запись во внешнюю память
P3.7 РД Чтение внешней памяти

Контакты 18 и 19: Это контакты XTAL1 и XTAL1 соответственно. Эти контакты используются для подключения внешнего кристалла для получения системных часов.

Контакт 20 (GND): Это контакт заземления. Он обеспечивает питание цепи.

Контакты с 21 по 28 (порт 2): Эти контакты являются двунаправленным портом ввода-вывода. Сигналы адресной шины более высокого порядка мультиплексируются с этим двунаправленным портом.

Контакт 29 (PSEN): Это контакт включения программы. С помощью этого штифта PSEN можно считывать внешнюю программную память.

Контакт 30 (ALE/PROG): Этот контакт является контактом включения фиксации адреса. С помощью этого вывода внешний адрес можно отделить от данных.

Контакт 31 (EA/VPP): Назван как контакт разрешения внешнего доступа (EA). Он используется для включения или отключения интерфейса внешней памяти.

Контакты 32–39 (порт 0): Это также двунаправленные контакты ввода-вывода, но без каких-либо внутренних подтяжек. Следовательно, для использования контактов порта 0 в качестве порта ввода-вывода требуются внешние контакты. Данные младшего разряда и сигналы адресной шины мультиплексируются через этот порт.

Контакт 40 (VCC): Этот контакт используется для подачи питания на схему.

8051 Порты ввода-вывода

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

8051 имеет 4 порта ввода-вывода каждый из 8-бит, которые можно настроить как вход или выход. Следовательно, всего 32 контакта ввода-вывода позволяют микроконтроллеру подключаться к периферийным устройствам.

Примечание. Контакт может быть настроен как 0 для выхода и 1 для входа.

1) ПОРТ 0

P0 может использоваться как двунаправленный порт ввода-вывода или для подключения адреса/данных для доступа к внешней памяти. Когда контроль равен 1, порт используется для адреса или обмена данными. Когда элемент управления равен 0, порт можно использовать как двунаправленный порт ввода-вывода.

Рис. Структура контакта порта 0

ПОРТ 0 как входной порт

Если элемент управления равен 0, то порт используется как порт ввода, а в защелку записывается 1. В такой ситуации оба выходных МОП-транзистора выключены. Поэтому, поскольку выходной контакт имеет поплавки, любые данные, записанные на контакт, напрямую считываются выводом чтения.

ПОРТ 0 в качестве выходного порта

Если мы хотим записать 1 на контакт P0, ‘1’ записывается на защелку, которая выключает нижний полевой транзистор, в то время как из-за управляющего сигнала ‘0’ верхний полевой транзистор также выключается.

Предположим, мы хотим записать «0» на вывод порта 0, когда «0» записывается на защелку, вывод опускается нижним полевым транзистором. Следовательно, выход становится равным нулю.

2) ПОРТ 1

ПОРТ 1 предназначен только для интерфейса ввода/вывода. При использовании в качестве выходного порта не требуется подключение дополнительного подтягивающего резистора, такого как порт 0.

Чтобы использовать ПОРТ 1 в качестве входного порта, в защелку необходимо записать «1». В этом режиме внешнее устройство записывает 1 на вывод, после чего считывается нормально.

Рис. Структура порта 1 штырь

3) ПОРТ 2

ПОРТ 2 используется для старшего байта внешнего адреса или обычного порта ввода/вывода. Здесь операция ввода-вывода аналогична порту 1. Защелка порта 2 остается стабильной, когда контакт порта 2 используется для доступа к внешней памяти.

Рис. Структура порта 2-контактный

4) ПОРТ 3

Ниже приведены альтернативные функции ПОРТА 3:

.
ПОРТ 3 контакта Функция Описание
P3.0 РСД Последовательный ввод
P3.1 ТСД Последовательный выход
P3.2 INT0 Внешнее прерывание 0
P3.3 INT1 Внешнее прерывание 1
P3.4 Т0 Таймер 0
P3.5 Т1 Таймер 1
P3.6 ВР Запись во внешнюю память
P3.7 РД Чтение внешней памяти

Он работает как порт ввода-вывода, как и порт 2. Альтернативные функции порта 3 делают его архитектуру отличной от других портов.

Рис. Структура порта 3 контакта

8051 прерывания

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

8051 имеет 5 сигналов прерывания, т.е.

  • INT0,
  • ТФО,
  • INT1,
  • ТФ1,
  • РИ/ТИ.

Количество источников прерываний отличается от версии к версии. Варьируется от 5 до 15.

Важными источниками прерывания являются: одно от последовательного порта, два от таймеров, два от внешних прерываний INT0 и INT1.

Каждое из прерываний может быть индивидуально разрешено/запрещено установкой/очисткой бита в регистре специальной функции IE (разрешение прерывания) . Регистр IE также содержит глобальный бит отключения, который запрещает все прерывания.

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

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

Разница между микропроцессором и микроконтроллером

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

Следующая темаПериферийные устройства

← предыдущая следующий →

Микроконтроллер против микропроцессора | HP® Tech принимает

Скопированная ссылка!

Линси Кнерл

|

11 ноября 2019 г.

Время чтения: 5 минут

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

Что такое микропроцессор?

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

Хотя обычно вас не просят выбрать тип микропроцессора, существует пять типов. К ним относятся:

  1. Микропроцессоры с комплексным набором инструкций
  2. Микропроцессоры с сокращенным набором команд
  3. Суперскалярные процессоры
  4. Интегральные схемы для конкретных приложений
  5. Мультипроцессоры с цифровыми сигналами взаимодействовать с другими устройствами. Он принимает поступающие данные, обрабатывает их и отправляет обратно на компоненты или периферийные устройства, которые вы используете для взаимодействия с компьютером. Микропроцессор выполнен в виде микрочипа, что делает его очень маленьким решением для наших очень больших вычислительных задач.

    Микропроцессоры в компьютерах HP

    Если у вас есть один из многих популярных ноутбуков и настольных компьютеров HP, вы, вероятно, уже пользуетесь функциями современных микропроцессоров. Процессоры Intel® i3, i5 и i7 предлагают множество преимуществ для пользователей, которым нужна молниеносная скорость для игр, создания произведений искусства, рендеринга видео и просмотра веб-страниц.

    Трудно поверить, что новейшее поколение микропроцессоров Intel, 8-е поколение, может так много, поскольку первый коммерчески доступный блок был изобретен Intel в начале 19 века.70-е годы. Включая все, от калькуляторов до сверхсовременных ПК, наша жизнь не была бы прежней без этих технологических жемчужин.

    Когда придет время покупать новый компьютер, микропроцессор может стать самым важным выбором, который вы сделаете. Для линейки Intel помните, что большее число указывает на большую вычислительную мощность. Для типичного офисного использования i3 вполне подойдет. Но для высокоскоростных игр рекомендуется инвестировать в i7 MPU.

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

    Микроконтроллеры (MCU) управляют определенной функцией, а не обрабатывают данные для сотен или тысяч функций. Еще одно большое отличие состоит в том, что это не просто ЦП на чипе. Они представляют собой целый компьютер на микросхеме, включая микропроцессор, память и компоненты, необходимые для отправки и получения данных.

    Микроконтроллеры созданы для самостоятельного выполнения определенной работы. Они представляют собой законченную систему. Типы микроконтроллеров включают:

    • 8-битный микроконтроллер
    • 16-разрядный микроконтроллер
    • 32-разрядный микроконтроллер
    • Встроенный микроконтроллер

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

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

    Микроконтроллер против микропроцессора

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

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

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

    Забавный факт: Хотя микропроцессоры изначально называли «компьютером на чипе», под это описание лучше подходит микроконтроллер, поскольку он имеет процессор, память и другие компоненты, встроенные в один крошечный микрочип.

    Дополнительные различия между микропроцессорами и микроконтроллерами

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

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

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