Найти тему
Мифоборец

Самодельный 8-разрядный компьютер в наше время. Часть третья.

Оглавление

Итак, я продолжаю публиковать описание самодельного 8-разрядного СР/М компьютера. Для тех кто заинтересовался третьей частью рекомендую прочитать первую и вторую части

И традиционно предлагаю подписаться на мой канал

Контроллер Ethernet

Контроллер сети Ethernet выполнен на специализированной микросхеме DD 6 ( ENC28J60, Microchip ) и подключён по стандартной схеме согласно доку­ментации, применён широко распро­странённый сетевой разъём со встро­енным трансформатором HR 911105 A . Контроллер питается от отдельного стабилизатора DA 2 напряжением 3,3 В, сопряжение уровней не требуется, по­скольку все входы и выходы микросхе­мы допускают подключение к уровням сигналов 5 В. Вывод / RESET микросхе­мы соединён с плюсовой линией пита­ния внешним резистором R 13, посколь­ку заявленное внутреннее соединение присутствует не во всех версиях микро­схемы. Выход / INT формирует сигнал / INTL МК ЦП (см. раздел про прерыва­ния).

Для питания применён линейный стабилизатор DA 2 (серии LD 1117) на фиксированное напряжение 3,3 В, по­скольку потребляемый микросхемой ток может достигать 250 мА в режиме передачи. Этот стабилизатор выпус­кают в выводном варианте в корпусе ТО-220, но плата до­пускает установку стабилизатора в корпусе SOT -223, у которого выводы выпрямляют и его впаивают как вывод­ной элемент. Допус­тима установка это­го стабилизатора в обоих типах корпу­сов.

Микросхема име­ет встроенный ге­нератор тактовой частоты 25 МГц и имеет возможность вывода рабочей час­тоты на выход CLKO . На плате предусмот­рена возможность использования этой частоты для обеспе­чения работы VGA - контроллера вместо предусмотренного генератора G 1 (ус­тановкой перемыч­ки). Это не очень ре­комендуемый вариант, такая опция несколько нарушит формальное соответствие сигнала VGA стандарту, хотя контроллер VGA продол­жает стабильно работать. Ещё имейте в виду, что сигнал CLKO исчезает при переходе микросхемы в энергосбере­гающий режим, а потребление контрол­лера в целом достаточно велико, более 1 Вт. В текущей версии прошивки вывод CLKO не активирован.

Не стоит ожидать, что компьютер сможет открывать веб-страницы и т. п., это нереально потому, что типичная веб-страница имеет объём 100. ..200 Кб при полезном объёме данных 2 Кб. В большей степени этот интерфейс заду­мывался для исходящих и входящих Telnet -соединений, специальных прото­колов типа Modbus TCP , получения/передачи данных через специально раз­работанные веб-сервисы. В этой вер­сии, кроме того, стек TCP сильно огра­ничен.

Работа с сетью достаточно сложна и будет рассмотрена отдельно. Отметим только, что управление микросхемы контроллера реализовано через про­граммные порты ввода/вывода (см. со­ответствующий раздел), а передача данных идёт в режиме прямого доступа к программной памяти ( DMA ), реализо­ванной на уровне МК ЦП.

Контроллер внешних устройств.

Контроллер внешних устройств (КВУ) выполнен на отдельном МК ATmega 328 P (DD5), подключённом к системной шине аппаратным интерфейсом SPI МК, и предназначен для решения следующих задач:

— формирование системной такто­вой частоты 20 МГц;

— работа с внешним СОМ-портом RS -232 (через преобразователь уров­ней);

— формирование сигнала ЗЧ одно­тонального синтезатора мелодий;

— работа со стандартной клавиату­рой PS/2;

— работы с опционными внешними устройствами блока GPIO ;

— формирование контента вывода контроллера VGA , включая задачи фор­мирования курсора и указателя мыши;

— формирование сигнала сброса / RESET головного МК;

— программируемый таймер СТС.

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

Формирование тактового сигнала 20 МГц обеспечено внешним кварце­вым резонатором ZQ 2 и штатными средствами вывода тактовой частоты на выход CLKO (РВО). Этот сигнал ис­пользуется в качестве генератора МК ЦП и МК контроллера VGA .

Периферийный разъём

Из-за ограниченного места на плате некоторые сигналы КВУ выведены на объединённый периферийный разъём (MFC или ОПР) ХР7 типа miniDIN-8F (гнездо на плату), на который выведено и питание +5 В через развязывающий диод, что позволяет питать внешние устройства от отдельного источника питания. При выборе разъёма настоя­тельно рекомендуется использовать экранированные разъёмы в металличе­ских корпусах, дешёвые пластиковые имеют крайне низкую прочность. Под­ключение внешних периферийных уст­ройств осуществляется через специ­альный разветвитель: с одной стороны разъём — mini - DIN -8 M (штекер), с другой — mini-DIN6-F (штекер) для под­ключения клавиатуры, DB9M — для подключения устройств RS -232 (в том числе принтера), любой подходящий четырёхконтактный разъём для шины подключения GPIO . Назначение выхо­дов ОПР приведено в табл. 4.

Таблица 4. Назначение выходов ОПР
Таблица 4. Назначение выходов ОПР

Пара небольших комментариев:

— ОПР в этой разработке не соот­ветствует никаким стандартам (напри­мер, Apple LocalTalk Bus и подобным), поэтому никакие стандартные переход­ники не подходят;

— если к порту RS -232 планируется подключать только внешний компьютер через переходник USB — RS-232, то мож­но сразу поставить разъём типа DB 9-F

СОМ-порт RS -232

Внешний СОМ-порт особенностей не имеет, подключён через специализи­рованную микросхему DD7 преобразо­вателя уровней МАХ232 ( Maxim ) и уп­равляется аппаратным выходом UART МК КВУ. Настройки порта "по умолча­нию" после рестарта: скорость — 19200 бод, 8 бит, один стоповый бит, без контроля чётности. Настройки мо­гут быть изменены программно (см. ра­боту с портами ввода/вывода). Работа с портом организована через системные порты ввода/вывода и стандартные функции ОС СР/М, в которой он ассо­циирован с каналом LST (см. соответст­вующие разделы).

Синтезатор мелодий

Синтезатор мелодий выполнен по простейшей схеме однотонального синтезатора с дискретным выходом. Вывод РВ1 МК через преобразова­тель уровня с фильтром высоких частот ( R 16 C 28 R 17) и разделительный конденсатор С29 подключён к микро­схеме усилителя мощности (УМ) DA 3 ( TDA 7052 A ), к выходу которой под­ключена миниатюрная динамическая головка мощностью 2 Вт сопротивлени­ем 8 Ом, расположенная в корпусе устройства. Сигнал выхода выведен также на внешний аудиоразъём ХР10 " SPK " и позволяет подключать внешние звуковоспроизводящие устройства.

Усиление УМ регулируют резисто­ром R 18. Его сопротивление, указанное на схеме, подобрано так, чтобы факти­ческая выходная мощность УМ была равна около 0,8 Вт. При желании этот резистор можно сделать переменным, например, использовав резистор типа RK097N , установив как регулятор гром­кости над аудиоразъёмом (можно вооб­ще не устанавливать последний) или на лицевой панели. Подключение вывода VC (вывод 4) DA 3 к общему проводу заглушает выходной сигнал, это можно использовать, например, установив миниатюрный выключатель " Mute ". В базовой версии это не предусмотрено.

Выходной сигнал формируется ап­паратными средствами МК, под эти цели задействован один таймер. Син­тезатор стандартно предназначен для проигрывания пользовательских мело­дий длительностью до 16 нот, каждая нота лежит в диапазоне от ля второй октавы до ре-диез малой октавы, дли­тельность — от одной до восьми "базо­вой" длительности, которая может быть установлена от 10 мс до 2,5 с. Мелодия загружается из исполняемой програм­мы через порты ввода/вывода. Преду­смотрено (при наличии разрешения), что окончание мелодии формирует сис­темное прерывание, благодаря чему могут проигрываться и более длитель­ные мелодии.

Сразу оговоримся, что качество зву­ка, мягко говоря, далеко от совершен­ства, хотя для игрушек вполне хватит. Эксперименты с различными LC -фильтрами немного улучшают ситуацию, но не сильно. Желающие могут ввести до­полнительный МК ( ATtiny 8 x вполне дос­таточно) и сделать формирование нор­мального инструментального звука, подобные проекты есть в Интернете. Поскольку такое формирование требу­ет почти полной загрузки МК, сделать его ресурсами КВУ возможности нет.

Клавиатура

КВУ поддерживает работу со стан­дартными клавиатурами PS/2, которые легко доступны и до сих пор массово выпускаются. В реализации контролле­ра клавиатуры имеется ряд особенно­стей, которые необходимо учитывать:

— стартовая настройка клавиатуры не производится, команда инициализа­ции не отправляется;

— поддерживаются только клавиату­ры, работающие по умолчанию в наборе символов SET 2 (это подавляющее боль­шинство клавиатур);

— настройка параметров клавиату­ры (скорость повторения символа и т. п.) не предусмотрена и используется только та, которая устанавливается по умолчанию;

— предусмотрена работа только стандартных клавиш 102-клавишной клавиатуры, специальные клавиши, та­кие как управление музыкой и т. п., не обрабатываются.

При опросе ЦП клавиатура выдаёт скан-коды PS/2 (с несколькими исклю­чениями) и коды клавиш в кодировке СР866. Тут следует сделать одно заме­чание: ОС СР/М, по своей сути, — семи­разрядная, равно как и многие про­граммы для неё. Поэтому весь клавиа­турный ввод обычно сначала обрабаты­вается командой AND 7 F . В наборе про­грамм компьютера предлагается вер­сия загрузочного образа и нескольких программ со снятым подобным ограни­чением, которые корректно работают. Но далеко не все программы могут быть так модифицированы. Поэтому есть возможность трактовать коды клавиш как семиразрядные, разбитые на два набора символов, как это часто дела­лось на практике, например, заглавные русские и латинские символы (набор 0) и заглавные/прописные русские симво­лы (набор 1). Подробнее см. раздел по аппаратной совместимости.

Клавиши стрелок, некоторые их ком­бинации и функциональные клавиши возвращаются в интервале кодов 1-31 (аналогично комбинации CTRL - A — CTRL - Z ), набор кодов выбран в соответ­ствии с кодами команд редактора WordStar (табл. 5).

Таблица 5. Выбранные наборы кодов
Таблица 5. Выбранные наборы кодов

Клавиши-модификаторы поддержи­ваются следующим образом:

— SHIFT , CTRL - полноценно;

— ALT возвращается флагом, в ком­бинации с цифровой клавиатурой выда­ёт символы псевдографики;

— WIN — не поддерживается;

— "правые" и "левые" клавиши-мо­дификаторы не различаются.

Клавиши переключения поддержи­ваются так:

— CAPSLOCK — стандартно;

— SCRLOCK — переключение рас­кладки РУС (вкл.)/ЛАТ (выкл.), при этом нажатие регистрируется и передаётся как клавиша с кодом 31;

— NUMLOCK не поддерживается и возвращается как обычная клавиша с кодом 30.

Цифровая клавиатура возвращает:

— код нажатия цифровой клавиши;

— в комбинации SHIFT + клавиша, клавиши трактуются как блок стрелок, см. табл. 5;

— в комбинации ALT + клавиша — символ псевдографики, одинарные ли­нии;

— в комбинации SHIFT + ALT + клави­ша — символ псевдографики, двойные линии.

Обработчик клавиатуры аппаратно обрабатывает комбинацию CTRL + ALT + SHIFT + ESC как команду принудитель­ной перезагрузки МК ЦП, это аналог клавиши RESET .

Обработка сигнала от клавиатуры выполняется через прерывания, вход CLK подключён к выводу PD 2 ( INTO ) МК ЦП. Если разрешены прерывания кла­виатуры, то по факту нажатия клавиши формируется соответствующее преры­вание и формируется сигнал PINT (ли­ния 12 жгута), см. раздел по системе прерываний.

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

Поддержка GPIO

Поддержка GPIO (блок входов/выходов общего назначения) обеспечива­ется через внешний блок расширителей на микросхемах PCF 8574 и/или PCF 8574A , подключённых к шине 12 С МК. Микросхемы PCF 8574* представляют собой восьмиразрядный 12 С-расширитель с двунаправленными порта­ми ввода/вывода. Поскольку расшири­тели с индексом и без индекса "А" имеют разные коды устройств, всего могут быть задействованы до 16 рас­ширителей или 128 портов GPIO . А при их каскадировании число выходов может быть увеличено на порядок.

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

Блок расширителей имеет типовую схему, изображённую на рисунке.

Схема блока расширителя
Схема блока расширителя

Входы АО—АЗ расширителей являются адрес­ными, их подключают к линии питания или к общему проводу (нельзя остав­лять неподключёнными) для задания уникального (для каждого типа микро­схем) адреса узла. При конструирова­нии своего блока GPIO следует учесть два фактора:

— "рабочим" выходным сигналом микросхемы PCF 8574* является низкий уровень, высокий уровень имеет очень низкую нагрузочную способность;

— на входе блока рекомендуется по­ставить специализированный шинный формирователь, например СРС5902, при числе расширителей больше трёх он является обязательным;

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

У МК КВУ задействован аппаратный блок работы с шиной 12 С, в линиях уста­новлены внешние резисторы, соеди­няющие с линией питания, установка дополнительных во внешнем блоке GPIO не требуется. Рабочая частота шины — 100 кГц. При необходимости назначение выводов может быть про­граммно изменено. Программно работа с блоком GPIO осуществляется через порты ввода/вывода.

В текущей версии имеется ограничение: поддерживаются только микросхе­мы, которые оперируют одним байтом данных в посылке (R/W ), поэтому ис­пользование, например, расширителей типа МСР23017 невозможно, но можно сделать своё ведомое 12 С-устройство, назначив ему уникальный идентифика­тор, ограничений по идентификаторам нет.

Таймер СТС

Программируемый таймер предна­значен в основном для формирования пауз фиксированной длительности от 10 мс до 2,5 с с шагом 10 мс. Управ­ление таймером — через порты ввода/вывода, при наличии разрешения таймер может формировать системное прерывание.

Видеоконтроллер VGA

Для вывода на экран в устройстве реализован видеоконтроллер (ВК), ко­торый работает в полном соответствии со стандартами Industrial VGA , формиру­ет монохромное (зелёное на чёрном фоне) изображение постоянной яркос­ти, поддерживает вывод буквенно-циф­ровой информации до 25 строк по 80 символов, псевдографики 160 x 96 то­чек, аппаратное отображение курсора. ВК поддерживает до шести фиксиро­ванных таблиц знакогенератора.

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

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

— отдельный тактовый генератор (ГЧП) задаёт базовую частоту пиксела 25,175 МГц в соответствии со стандар­тами видеосигнала 640 x 480 точек;

— отдельный МК DD 11 ( ATtiny 13) формирует сигналы строчной и кадро­вой развёрток (ГСИ), он тактирован ГЧП через делитель на 2 (12,5 МГц) на счёт­чике DD 10.1 , что обеспечивает его син­хронизацию с ГЧП;

— узел на логических элементах 2И-НЕ микросхемы DD 3 формирует сигнал начала символа (выход элемен­та DD 3.3);

— блок знакогенератора на МК DD 8 ( ATmega 328) с нужной периодичностью выводит на свою шину данных очеред­ные восемь горизонтальных точек;

— сдвиговый регистр DD 9 (74НС166) синхронного типа по команде начала символа записывает выведенный сиг­нал и далее с частотой ГЧП выводит данные на выход VGA -сигнала, когда нет вывода, регистр принудительно находится в обнулённом состоянии (порт РВ2, выв. 7 DD11).

Осциллограмма работы приведена на рисунке ( D6 — сигнал на выв. 11 DD 3, D3 — ГЧП, D4 — выв. 4 DD 0, D 5 — выв. 6 DD3, DO — выв. 7 DD 11), штрих- пунктирная линия синего цвета показы­вает момент записи восьмиразрядного блока в сдвиговый регистр. Задача — сформировать сигнал низкого уровня длительностью менее двух тактов ГЧП один раз на восемь тактов ГЧП так, чтобы на момент фронта импульса ГЧП был установлен низкий уровень. Поскольку МК ГСИ работает на частоте ГЧП/2, он формирует сигнал длитель­ностью два такта, что много. Синхрони­зация МК и генератора развёртки плюс внутренняя задержка элементов 2И-НЕ и применение синхронного сдвигового регистра позволяют достигнуть требуе­мое и получить качественную, без арте­фактов, картинку на экране. Важным является применение регистра именно синхронного типа.

Осциллограммы работы видеоконтроллера
Осциллограммы работы видеоконтроллера

Согласно стандарту видеосигнал VGA должен быть в интервале 0...0.7 В, формирование нужного уровня проис­ходит на цепи R 19 VD 8. Яркость сигнала выбрана на уровне приблизительно 80 % от максимальной, цвет изображе­ния — зелёный на чёрном фоне. При желании цвет изображения можно легко поменять на другой или даже инвертировать, сделав, например, чёр­ный текст на белом фоне, поскольку у микросхемы DD3 есть один незадействованный элемент.

Вообще говоря, ВК представляет собой вполне самостоятельное устрой­ство, которое может работать отдельно, вывод XTAL 2 не задействован и может быть использован для подключения кварцевого резонатора. Запись инфор­мации для отображения может про­исходить через аппаратные интерфейсы МК (12 С или SPI ) в моменты, когда МК ВК не занят рисованием экранной кар­тинки — во время обратного хода луча строчной и кадровой развёрток. Такая загрузка управляется со стороны МК ВК — формируется сигнал / RTR (готов к приёму, импульс длительностью три такта).

В данном случае в процессе форми­рования видеосигнала задействован МК КВУ: он передаёт на МК ВК содер­жимое видеопамяти, заменяя периоди­чески символ в позиции курсора на символ с кодом 0, который всегда явля­ется символом курсора. Передача дан­ных видеопамяти организована по от­дельной шине SPI , соединяющей МК КВУ и ВК ( VSPI ). Эта связь имеет несколько особенностей:

—"мастером" соединения выступа­ет МК КВУ, МК ВК является ведомым устройством;

— со стороны МК КВУ сигнал SPI формируется программно, поскольку аппаратный интерфейс занят взаимо­действием с МК ЦП, в ВК используется аппаратный интерфейс SPI ;

— передача данных от КВУ осу­ществляется только по сигналу готов­ности /RTR от ВК.

В текущей конфигурации поддержи­вается разрешение до 25 строк по 80 символов, что требует чуть меньше 2 Кб памяти. Это определяет выбор МК для ВК и КВУ: младшие модели не имеют достаточно памяти. Старшие модели с большим объёмом памяти больше по размерам, что неоправданно увеличило бы габариты устройства без реального выигрыша в функциональ­ности. Разрешение (пиксельное) ВК — 640 на 480 точек, что даёт размер зна­коместа 20 на 8 точек для 24 строк и 19 на 8 для 25 строк. Объём 32 Кб про­граммной памяти ВК при этом позво­ляет разместить шесть различных таб­лиц знакогенератора, которые могут переключаться программно. Это даёт возможность иметь богатый набор иг­ровых и специальных символов, а также обеспечить режим псевдографики 160 на 96 точек. Если рассматривать прак­тически, то этого более чем достаточно для такого компьютера.

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

Некоторые оценки скорости работы ВК. При частоте МК 20 МГц вывод вось­миразрядного шаблона должен про­исходить один раз примерно в 6,2 так­та, программно это шесть тактов вы­борки и вывода плюс периодические вставляемые команды пор синхрониза­ции. МК ВК синхронизирован сигнала­ми строчной и кадровой развёртки, но поскольку он работает асинхронно по отношению к ГЧП и кварцевые резона­торы имеют разброс, требуется под­стройка задержек вывода. Сейчас это реализовано через несколько вариан­тов прошивки, в будущих версиях пла­нируется сделать автоматическую син­хронизацию.

Во время вывода строки МК ВК на 100% занят этим процессом, синхро­низация видеопамяти происходит во время обратного хода луча, т. е. при­близительно 30 % времени. При сред­нем объёме исполняемой микропро­граммы МК КВУ в 500 тактов это соот­ветствует скорости обновления изобра­жения примерно 1/20 с, что более чем достаточно для комфортной работы и даже команды полного стирания или заливки экрана происходят незаметно для глаз. Внутренняя SPI -шина ВК рабо­тает на частоте примерно 5 МГц. Точная частота не может быть определена, поскольку формирование сигнала идёт программно, а МК КВУ обрабатывает поток прерываний. Но это не влияет на стабильность работы, поскольку прини­мающим является аппаратный буфер интерфейса SPI МК ВК. Визуально ника­ких задержек при перерисовке экрана и при отработке специализированных экранных тестов не замечается.

Таблицы знакогенератора загружа­ются стандартными средствами сис­темного программирования устройства (см. соответствующий раздел), сами таблицы разрабатывались с использо­ванием прекрасного знакогенератора ZEDITOR Виталия Поединка.

Системное ПЗУ

На плате установлено системное ПЗУ DS 2 типа 25 LC 1024 ( Microchip ) последовательного типа с интерфей­сом SPI объёмом 128 Кб, позволяющее сохранить два дампа памяти/снимка работы. Это элемент не очень обяза­тельный, для учебного детского ком­пьютера можно обойтись и без него, но в реальной практике он сильно помога­ет обеспечить:

— работу компьютера без карты памяти;

— быструю загрузку и начало рабо­ты;

— сохранение и восстановление рабочей сессии;

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

Это, конечно, не многозадачность, но для такой системы очень комфорт­ный вариант, например, в одной сессии открыт текстовый редактор, в другой — ОС с компилятором и настроено пере­ключение между сессиями через при­вычную комбинацию клавиш ALT + TAB .

В ПЗУ информация хранится двумя блоками по 64 Кб, при этом в самом конце блока расположен сегмент дан­ных сохранения сессии размером 48 байт, в котором сохраняется служеб­ная информация: состояние регистров, счётчик команд, важные переменные среды — настройка режима видео и позиция курсора. Обратите внимание, что сохраняется только содержимое ОЗУ, дополнительная память (см. раздел про организацию памяти) не сохраняет­ся и не восстанавливается.

Программно доступа к данным сис­темного ПЗУ не предусмотрено.

Центральный процессор

Центральный процессорный модуль (ЦП) DD 1 выполнен на базе МК ATmega 1284 P ( Microchip ) с программ­ным эмулятором системы команд мик­ропроцессора Z 80 ( Zilog ) и объединяет в себе функции микропроцессора, контроллера накопителя на SD -картах с DMA , программную часть контроллера Ethernet с DMA и решает другие задачи.

Вариант с эмулятором в данном слу­чае оказался предпочтителен по срав­нению с использованием настоящего микропроцессора ( Z 80 ещё продаются) сразу по нескольким причинам:

— банальная экономия места на печатной плате: настоящий процессор плюс внешний контроллер периферии с режимом прямого доступа к памяти DMA занимают гораздо больше места;

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

— получаемый "в подарок" режим DMA без конфликтов на шинах адреса и данных;

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

ЦП является мастером для систем­ной шины SPI , единственным "владель­цем" ОЗУ, точкой сбора и обработки сигналов прерываний, центром обра­ботки команд BIOS и блока эмуляции аппаратной совместимости. Кроме это­го, ЦП обеспечивает два интерфейса UART : коммуникационный, выведенный на внешнюю лицевую панель устрой­ства ( TTY ), и второй — для внутриси­стемного программирования, который работает только в момент начальной за­грузки, пока активен стартовый загруз­чик. Оба интерфейса описаны в соот­ветствующих разделах.

Особенности работы контроллеров SD -карты и Ethernet , взаимодействие с внешней ИМС ОЗУ описаны ранее.

Структура программной памяти

Упрощённая структура организации программной области ЦП показана в таблице.

Организация программной памяти
Организация программной памяти

Коммуникационный интерфейс UART TTY

К МК ЦП подключён второй интер­фейс последовательного порта ком­пьютера UART , ассоциированный с каналом ввода/вывода ОС TTY Разъём этого интерфейса (аудиоразъём — 3,5 мм ST -033, назначение контактов: А — GNG , В — RxD , С — TxD ) выведен на лицевую панель устройства. Этот ин­терфейс рассчитан на уровни сигналов цифровой логики 5 В или 3,3 В. Же­лательно использовать ''удлинённый" штекер. Управление и настройка осу­ществляются через порты ввода/вывода. В настройках системы он может быть указан как дублирующий для опе­раций вывода на экран и клавиатурного ввода.

Наплатные разъёмы и контрольные точки

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

Контрольные точки:

— "5 В" — контроль уровня питания +5 В, напряжение должно быть в интер­вале 4,9...5,1 В, размах пульсаций не должен превышать 200 мВ;

— "3,3 В" (КТ2 и КТ4 на рис. 3) — контроль уровня питания +3,3 В модуля SD -карты и контроллера Ethernet , напря­жение при отсутствующей в слоте кар­ты должно быть в интервале 3,2...3,4 В;

— " F " (КТ1) — системная тактовая частота, должна быть 20 МГц;

— " FV " — тактовая частота видео­контроллера, должна быть 25,175 МГц.

Назначение разъёмов:

— ХР5 — цепь сброса КВУ, приме­няется при необходимости прошивки программатором ЦП или КВУ. Следует быть осторожным с его использованием, поскольку МК в режиме сброса может воспринять сигналы ЦП по шине SPI как команды программирования и разрушить содержимое флэш-памяти;

— ХРЗ — шина SPI / ISP . Предназна­чен для внутрисхемного программиро­вания ЦП и КВУ, а с сигналом Y 7 ХР4 (индикатор SYS ) может быть использо­ван для подключения дополнительного внутреннего устройства к системной шине SPI . Разъём включает сигналы шины MOSI , MISO , SCK и дополнитель­ные сигналы / RESET и / VRST ;

— ХР4 — сигнал индикатора SYS ;

— ХР9 — цепь сброса МК генератора синхроимпульсов;

— ХР6 — внешние вводы/выводы преобразователя уровней МАХ232. За­действуются при необходимости сис­темного программирования компьюте­ра внешним сигналом RS -232;

— ХР1 — разъём UART системного программирования (обновления мик­ропрограмм всех МК на плате);

— ХР2 — разъём коммуникационно­го интерфейса UARTTTY ;

— +5 В — выход питания +5 В, может быть использован для питания компьютера от низковольтного источ­ника питания при необходимости.