Оглавление:

KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро: 13 шагов (с изображениями)
KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро: 13 шагов (с изображениями)

Видео: KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро: 13 шагов (с изображениями)

Видео: KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро: 13 шагов (с изображениями)
Видео: АРДУИНО и Микроконтроллеры. Для Начинающих и не только! Создаём нашу первую программу на Ардуино. 2024, Июнь
Anonim
Image
Image
KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро
KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро
KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро
KIM Uno - эмулятор микропроцессора Dev Kit за 5 евро

KIM Uno - это портативный программно-определяемый комплект для разработки (ретро) микропроцессоров. Но позвольте мне представить его идею, вернувшись во времени:

Еще в конце 2018 года мне пришло в голову, что я хотел создать небольшой портативный комплект для разработки микропроцессоров, похожий на знаменитый KIM-1 от MOS Technology, Inc., разработанный Чаком Педдлом, который также участвовал в создании процессора 6502.

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

Поэтому я сконструировал KIM Uno как портативное устройство, которое умещается в одной руке и питается от двух батареек CR2032. Он использует микроконтроллер ATMega328p («Arduino»), работающий на частоте 8 МГц, для имитации (или имитации) желаемого процессора. Эта архитектура также гарантирует, что эмулируемые процессоры взаимозаменяемы со всем, что умещается во флэш-памяти микроконтроллера. Так что это универсальное устройство.

По стечению обстоятельств позже я посмотрел действительно хороший доклад под названием The Ultimate Apollo Guidance Computer Talk (34C3) - на YouTube, где упоминаются «компьютеры с одним набором инструкций» или OISC. Я не знал о них и нашел, что это идеальный кандидат для его реализации.

KIM Uno эмулирует ЦП с помощью всего одной инструкции: subleq - вычитание и переход, если он меньше или равен нулю.

Если вы будете следовать вместе со мной по этому Руководству, вы сможете создать свой собственный KIM Uno в кратчайшие сроки. И самое приятное - помимо того, что вы можете изменить его на свой вкус - это то, что его изготовление стоит всего 4,75 евро (по состоянию на конец 2018 года).

Один совет: есть репозиторий Git, который содержит все файлы, предоставленные на разных этапах этого руководства. Если вы хотите изменить какие-то ресурсы и поделиться ими с нами, вы можете сделать PR. Но вы также можете скачать сразу все файлы. Просто перейдите на https://github.com/maxstrauch/kim-uno. Спасибо!

Есть еще один довольно интересный проект, он же (KIM Uno), который делает реальную копию 6502 KIM Uno. Посмотрите здесь. Создатель даже продает комплект. Так что если вас интересует 6502 и вам нравится этот проект, вам стоит взглянуть на него!

Шаг 1: поиск печатной платы

Поиск печатной платы
Поиск печатной платы
Поиск печатной платы
Поиск печатной платы

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

Я заказал свои печатные платы в Китае на PCBWay всего за 5 долларов. Я не получаю никакой пользы от того, что представляю PCBWay как моего производителя печатных плат, просто он отлично сработал для меня, а может и для вас. Но вы можете заказать их в любом другом месте, например, в JLCPCB, OSH Park или в любой местной компании по производству печатных плат.

Но если вы хотите заказать их на PCBWay, вы можете загрузить прикрепленный ZIP-файл «kim-uno-rev1_2018-12-12_gerbers.zip» и загрузить его прямо на PCBWay без каких-либо изменений. Это исходный файл, который я использовал для заказа печатных плат, которые вы видите на изображениях.

Если вы заказываете их у другого производителя, вам может потребоваться реэкспорт их из исходных источников KiCad, потому что я создал их с учетом спецификаций PCBWay, которые вы можете найти здесь. Для исходных кодов KiCad загрузите «kim-uno-kicad-sources.zip» и распакуйте его.

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

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

Шаг 2: поиск компонентов

Поиск компонентов
Поиск компонентов
Поиск компонентов
Поиск компонентов
Поиск компонентов
Поиск компонентов

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

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

Далее я объясню вам все необходимые компоненты:

  • 7 резисторов 1 кОм для семисегментных дисплеев. Вы можете уменьшить значение (например, до 470 Ом), чтобы они светились ярче, но не слишком сильно, иначе светодиоды погаснут или батарея разрядится очень быстро. Я обнаружил, что это значение работает для меня
  • 1x 10 кОм в качестве подтягивающего резистора для линии RESET микроконтроллера
  • 1x 100 нФ конденсатор для сглаживания любых скачков напряжения (чего не должно происходить, так как мы используем батареи, верно, но для хорошей меры…)
  • 1x ATMega328P в корпусе DIP-28 (обычно называется ATMega328P-PU)
  • 1x основная плата - см. Предыдущий шаг; либо заказал, либо построил самостоятельно
  • 2x держателя батарей CR2032
  • 1x SPDT (однополюсный, двухпозиционный) переключатель, который в основном имеет три контакта и в каждом из двух состояний (включен или выключен) он соединяет два контакта
  • 20 тактильных кнопок для клавиатуры. Для использования тыльной стороны печатной платы я использовал тактильные кнопки SMD (стандартные 6x6x6 мм) - их довольно легко припаять, как вы увидите.
  • ДОПОЛНИТЕЛЬНО: 1x 1x6 контактный разъем для подключения программатора, но это необязательно, как вы увидите позже.
  • 1x семисегментный дисплей с 4 цифрами и 1x семисегментный дисплей с 2 цифрами - плата займет всего 0,36 дюйма (9,14 мм) элементов с общей разводкой анода. Оба требования важны для получения рабочего агрегата. Но также этот тип семисегментного дисплея очень распространен.

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

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

Шаг 3: Обзор паяльного инструмента

Обзор паяльного инструмента
Обзор паяльного инструмента
Обзор паяльного инструмента
Обзор паяльного инструмента

Для пайки и сборки KIM Uno вам понадобятся инструменты, показанные на изображениях:

  • Кусачки (для обрезки концов проводов компонентов)
  • Плоскогубцы
  • Пинцет
  • (приличный) Припой не слишком толстый - я использую припой 0,56 мм.
  • Паяльник - вам не нужен паяльник высокого класса (потому что мы здесь тоже не занимаемся ракетостроением) - я использую Ersa FineTip 260 уже давно, и он действительно хорош
  • Ручка с флюсом: добавление флюса к компонентам и контактным площадкам значительно упрощает их пайку, так как припой «течет» сам по себе в нужное место *
  • По желанию: губка (из металлочерепицы) для паяльника.

Для последующего программирования KIM Uno вам также понадобятся:

  • компьютер с набором инструментов AVR-GCC и avrdude для загрузки прошивки
  • интернет-провайдер (программист) - как вы можете видеть на изображении, я использую свой Arduino Uno в качестве интернет-провайдера со специальным эскизом - поэтому нет необходимости покупать какое-либо модное оборудование

* необходимо руководство со стороны людей;-)

Вы готовы? На следующем этапе мы приступим к сборке KIM Uno.

Шаг 4: Пайка # 1: добавляем резисторы и конденсаторы

Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов
Пайка # 1: добавление резисторов и конденсаторов

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

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

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

Шаг 5: Пайка # 2: Сборка клавиатуры

Пайка # 2: Сборка клавиатуры
Пайка # 2: Сборка клавиатуры
Пайка # 2: Сборка клавиатуры
Пайка # 2: Сборка клавиатуры
Пайка # 2: Сборка клавиатуры
Пайка # 2: Сборка клавиатуры

Следующим шагом будет припайка 20 тактильных переключателей SMD. Поскольку эта работа немного сложна, мы делаем ее сейчас, когда печатная плата лежит на рабочем столе.

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

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

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

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

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

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

Шаг 6: пайка # 3: семисегментный дисплей, переключатель и контактный заголовок

Пайка # 3: семисегментный дисплей, переключатель и контактный разъем
Пайка # 3: семисегментный дисплей, переключатель и контактный разъем
Пайка # 3: семисегментный дисплей, переключатель и контактный разъем
Пайка # 3: семисегментный дисплей, переключатель и контактный разъем
Пайка # 3: семисегментный дисплей, переключатель и контактный заголовок
Пайка # 3: семисегментный дисплей, переключатель и контактный заголовок

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

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

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

Но будьте осторожны и установите семисегментный дисплей в правильном направлении (десятичные точки должны быть обращены к клавиатуре). Иначе у тебя проблемы …

Шаг 7: Пайка # 4: Пайка микроконтроллера

Пайка # 4: Пайка микроконтроллера
Пайка # 4: Пайка микроконтроллера

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

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

Шаг 8: Пайка # 5: Добавьте держатели батарей (последний шаг)

Пайка # 5: Добавьте держатели батарей (последний шаг)
Пайка # 5: Добавьте держатели батарей (последний шаг)
Пайка # 5: Добавьте держатели батарей (последний шаг)
Пайка # 5: Добавьте держатели батарей (последний шаг)
Пайка # 5: Добавьте держатели батарей (последний шаг)
Пайка # 5: Добавьте держатели батарей (последний шаг)

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

Шаг 9: Прошивка эмулятора

Прошивка эмулятора
Прошивка эмулятора
Прошивка эмулятора
Прошивка эмулятора
Прошивка эмулятора
Прошивка эмулятора

В прикрепленном zip-архиве «kim-uno-firmware.zip» вы можете найти исходный код эмулятора вместе с уже скомпилированным «main.hex», который вы можете напрямую загрузить в микроконтроллер.

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

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U lfuse: w: 0xe2: m -U hfuse: w: 0xd9: m -U efuse: w: 0xff: m

Если вы не знаете avrdude: это программа для загрузки программ в микроконтроллер. Вы можете узнать об этом подробнее здесь. В основном вы устанавливаете его, и тогда он готов к использованию. Для вашей настройки вам может потребоваться изменить аргумент «-P» на другой последовательный порт. Пожалуйста, проверьте на своем компьютере, какой последовательный порт используется (например, внутри Arduino IDE).

После этого вы можете прошить микроконтроллер с помощью этой команды:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U flash: w: main.hex

Опять же: то же самое относится к "-P", как указано выше.

Поскольку у меня нет «профессионального» ISP (внутрисистемного программиста), я всегда использую свой Arduino UNO (см. Изображение) и прикрепленный мной скетч («arduino-isp.ino» от Рэндалла Бона). Я знаю, что есть более новая версия, но с этой версией у меня не было проблем за последние пять лет, поэтому я сохраняю ее. Просто работает. Используя комментарий в заголовке скетча, вы получите распиновку Arduino UNO, а используя схему KIM Uno (см. Прикрепленный файл), вы можете получить распиновку заголовка 1x6 ISP на KIM Uno. Квадратный контакт рядом с семисегментным дисплеем - это контакт 1 (GND). Следующие контакты (в правильном порядке): RESET, MOSI, MISO, SCK, VCC. Вы можете подключить VCC либо к 3V3, либо к 5V.

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

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

Шаг 10: Готово

Законченный
Законченный
Законченный
Законченный

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

KIM Uno поставляется с предварительно запрограммированными вычислениями Фибоначчи, начиная с ячейки памяти 0x0a. По умолчанию установлено n = 6, поэтому должно получиться значение 8. Нажмите «Go», чтобы начать вычисление.

Шаг 11: Анализ конструкции печатной платы

Анализ конструкции печатной платы
Анализ конструкции печатной платы
Анализ конструкции печатной платы
Анализ конструкции печатной платы

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

  • шелкография ATMega328p не имеет обычной выемки в месте расположения первого контакта. Посадочное место DIP-28 не имеет даже квадратной площадки на месте первого контакта. Это определенно следует улучшить с помощью более подробной шелкографии, чтобы избежать путаницы.
  • заголовок ISP не имеет меток подключения на шелкографии. Из-за этого сложно распознать, как подключить его к интернет-провайдеру.
  • Заголовок ISP может быть изменен на заголовок 2x6 контактов со стандартной компоновкой контактов, чтобы избежать путаницы

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

Шаг 12: Как запрограммировать SUBLEQ?

Image
Image
Как программировать SUBLEQ?
Как программировать SUBLEQ?
Как программировать SUBLEQ?
Как программировать SUBLEQ?

Как упоминалось в начале, текущая прошивка KIM Uno эмулирует компьютер с одним набором команд (OISC) и предоставляет инструкцию subleq для выполнения вычислений.

Инструкция subleq означает вычитание и переход, если оно меньше или равно нулю. В псевдокоде это выглядит так:

subbleq A B C mem [B] = mem [B] - mem [A]; если (mem [B] <= 0) перейти к C;

Поскольку KIM Uno эмулирует 8-битную машину, все аргументы A, B и C являются 8-битными значениями, и поэтому он может адресовать общую основную память размером 256 байт. Очевидно, это можно расширить, сделав значения A, B и C многобайтовыми. Но пока давайте будем простыми.

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

  • 0x00 = регистр Z (ноль) и должен быть нулевым.
  • 0x01 - 0x06 = шесть байтов, которые представляют значение каждого из сегментов дисплея (справа налево). Значение 0xf - подробности см. В исходном коде (main.c).
  • 0x07, 0x08, 0x09 = три байта, где каждый байт представляет два семисегментных дисплея (справа налево). Эти ячейки памяти позволяют просто отображать результат без разделения результата на два полубайта, чтобы поместить его в однозначные ячейки памяти 0x01 - 0x06.
  • 0x0a + = Программа начинается с 0x0a. В настоящее время клавиша «Go» выполняется с фиксированной точки 0x0a.

Имея эту информацию, теперь можно написать программу на ассемблере и ввести инструкции в память, а затем выполнить ее. Поскольку есть только одна инструкция, вводятся только аргументы (A, B и C). Итак, после трех ячеек памяти начинаются следующие аргументы инструкции и так далее.

В приложении к этому шагу вы можете найти файл «fibonacci.s», а также изображение рукописной программы, которая является примером реализации Фибоначчи. Но подождите: используются три инструкции - в частности, ADD, MOV и HLT - которые не являются вспомогательными. «В чем дело? Разве вы не говорили, что есть только одна инструкция, подзадача?» вы спрашиваете? Это очень просто: с помощью subleq можно очень легко имитировать эти инструкции:

MOV a, b - данные для копирования из местоположения a в b могут состоять из:

  1. subbleq b, b, 2 (следующая инструкция)
  2. subbleq a, Z, 3 (следующая инструкция)
  3. subbleq Z, b, 4 (следующая инструкция)
  4. subleq Z, Z, например 5 (следующая инструкция)

Используя функцию вычитания subleq, которая выполняет mem - mem [a] и перезаписывает mem результатом, значение копируется с использованием нулевого регистра. А «subleq Z, Z,…» просто сбрасывает нулевой регистр в 0, независимо от значения Z.

ADD a, b - складывает значения a + b и сохраняет сумму в b, которая может состоять из:

  1. subleq a, Z, 2 (следующая инструкция)
  2. subbleq Z, b, 3 (следующая инструкция)
  3. subleq Z, Z, например 4 (следующая инструкция)

Эта инструкция просто вычисляет mem - (- mem [a]), которое равно mem + mem [a], также используя функцию вычитания.

HLT - останавливает процессор и завершает выполнение:

По определению эмулятор знает, что ЦП хочет завершить работу, если он перескакивает на 0xff (или -1 в случае подпаливания). Так что простой

subbleq Z, Z, -1

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

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

К этому шагу вы также можете прикрепить zip-архив «kim_uno_tools.zip». Он содержит базовый ассемблер и симулятор для KIM Uno. Они написаны на NodeJS - убедитесь, что вы его установили.

Сборка программ

Если вы посмотрите на «fibonacci / fibonacci.s», вы обнаружите, что это исходный код для обсуждаемой реализации фибоначчи. Чтобы собрать его и сделать из него программу, которую может запускать KIM Uno, вы вводите следующую команду (в корне извлеченного архива "kim_uno_tools.zip"):

узел Assembly.js fibonacci / fibonacci.s

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

узел Assembly.js fibonacci / fibonacci.s> yourfile.h

Вывод форматируется таким образом, что его можно напрямую включить в прошивку KIM Uno как файл заголовка C, но симулятор также может использовать его для моделирования. Просто введите:

узел sim.js yourfile.h

И вам будет представлен результат моделирования и выходные данные, ожидаемые от KIM Uno на дисплее.

Это было очень краткое введение в эти инструменты; Я рекомендую вам поиграть с ними и посмотреть, как они работают. Таким образом вы получите глубокие знания и узнаете принципы работы процессоров, инструкции, ассемблеры и эмуляторы;-)

Шаг 13: Outlook

Перспективы
Перспективы
Перспективы
Перспективы
Перспективы
Перспективы

Поздравляю

Если вы читали это, вы, вероятно, прошли все инструкции и создали свой собственный KIM Uno. Это действительно здорово.

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

Например, KIM Uno можно было бы оснастить «настоящим» ретро-эмулятором ЦП, который мог бы имитировать знаменитый MOS 6502 или Intel 8085, 8086 или 8088. Тогда он будет соответствовать моему первоначальному видению, прежде чем я узнаю о OISC.

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

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

Надеюсь, вы получили столько же удовольствия, следя за созданием KIM Uno, как и я, проектируя и спланировав его. А если вы его расширите или измените - дайте мне знать. Ваше здоровье!

Конкурс печатных плат
Конкурс печатных плат
Конкурс печатных плат
Конкурс печатных плат

Финалист в конкурсе печатных плат

Рекомендуемые: