Как собрать 8 | ВесьТоп создание и продвижение сайтов

Поддержка сайта

Высокие позиции в поисковой системе, на прямую зависят от развития вашего сайта.

Продвижение сайтов

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

Создание сайтов

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

Как собрать 8

Как собрать 8

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

В 8-битных компьютерах есть что-то привлекательное. Сегодня можно собрать хорошую систему, достаточно мощную, удобную для пользователя и достаточно простую для сборки и программирования практически любого человека. Большинство любительских 8-битных компьютеров используют классические процессоры из героических 1980-х, когда миллионы телевизоров использовались в качестве дисплеев. Изначально задумывался собрать компьютер с процессором Motorola 6809 той же эпохи. Но что бы я ни придумал, помимо этого процессора я должен использовать еще 13 дополнительных чипов. Я подумал, а нельзя ли использовать какой-нибудь современный 8-битный процессор? Какой будет минимум чипов?

В конце концов я собрал свой собственный 8-битный компьютер, который назвал Amethyst. Как и в любом домашнем компьютере, в него встроена клавиатура, которая может выводить аудио и видео. Amethyst также имеет встроенный язык высокого уровня, который позволяет вам писать свои собственные программы. Я использовал всего 5 микросхем — процессор ATMEGA1284P, микросхему для интерфейса USB и три очень простых интегральных схемы.

ATMEGA1284P (или 1284P) выпущен в 2008 году и имеет 128 КБ флэш-памяти и 16 КБ ОЗУ. Он может работать на частотах до 20 МГц. Чип имеет встроенные контроллеры последовательного интерфейса и 32 цифровых входа / выхода.

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

Уловка Стива Возняка

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

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

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

Как собрать 8

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

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

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

Первоначально я думал о быстром переключении одного из выходных контактов, чтобы я мог напрямую генерировать видеосигнал. Но я быстро понял, что с моим чипом 1284P, работающим на частоте 14,318 МГц, я не смогу переключаться так быстро, чтобы получить более четырех цветов. Дело в том, что его встроенный последовательный интерфейс требует двух тактовых циклов для отправки одного бита, а это ограничивает выходную частоту до 7,159 МГц, и процессор не успеет почти ни на что другое. Для приема видеосигнала Apple II использует специализированный чип с быстрым прямым доступом к памяти, а процессор такими вещами не занимается и полностью обрабатывает алгоритмы. Но я не могу использовать этот подход, потому что в чип встроена оперативная память.

Вот почему я порылся на своих столах и нашел четыре интегральных схемы серии 7400 — одну с двумя мультиплексорами, а другую с двумя регистрами сдвига с параллельной последовательностью. Восемь цифровых выходов микросхемы 1284P одновременно отправляют данные в мультиплексоры и регистры сдвига, которые формируют высокоскоростной последовательный поток битов. Процессору удается генерировать необходимые данные со скоростью, которая позволяет отображать 215 различных цветов на экране телевизора. Конечно, за это пришлось заплатить вычислительной мощностью — генерация необходимого видеосигнала потребляет 75% ресурса процессора.

Компактный компьютер

Аметист — это одноплатный компьютер. В нем всего пять интегральных схем — процессор, интерфейс USB и три логические схемы 7400, которые используются для создания 215-цветного изображения. Клавиши на клавиатуре припаяны прямо к плате. Amethyst поддерживает звук и имеет четыре последовательных интерфейса для внешних периферийных устройств, таких как устройства хранения и игровые контроллеры. Используется виртуальная машина с поддержкой языка программирования Forth, которая может загружать и запускать программы и игры.

Как собрать 8

Мне нужна была более легкая среда программирования, поэтому я выбрал Forth вместо традиционного Basic. Сам Forth — чрезвычайно популярный язык программирования, который сегодня используется во встроенных системах. С Forth можно многое сделать, поскольку он поддерживает интерактивность с минимальным использованием ресурсов. Поскольку 1284P не позволяет запускать скомпилированный код напрямую, код пользователя компилируется в промежуточный машинный код. Этот машинный код подается на виртуальную машину, работающую из флэш-памяти 1284P. Код виртуальной машины написан на ассемблере и оптимизирован вручную, чтобы сделать его максимально быстрым.

Я работаю в компании, которая производит лазерные 3D-принтеры, и у меня есть доступ к лазерным ножам. Так что я легко спроектировал и изготовил деревянный корпус, неплохо имитирующий коробку Atari 2600. Механические клавиши на клавиатуре припаяны непосредственно к печатной плате этого компьютера. У этой клавиатуры есть любопытная особенность — ей не хватает большого места. Вместо этого я поместил простую клавишу, расположенную под клавишей Enter.

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

Читайте так же:
Not found

Нам доверяют

Интернет магазин