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

Самодельный 8-разрядный компьютер. Часть 5. Печатная плата. Сборка и наладка

Оглавление

Я приветствую читателей на своем канале и продолжаю рассказ о самодельном 8-разрядном компьютере КРИСС СР/М

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

Во второй части я рассказал о концепции а также опубликовал схемы компьютера

В третьей части более подробно рассказано об основных узлах компьютер периферии

Четвертая часть посвящена особенностям программной эмуляции процессора Z80

Итак я продолжаю рассказ о компьютере #КРИСС ср-м

Сборка и наладка устройства

Компьютер имеет одноплатную архитектуру, он собран на плате из фольгированного с двух сторон стекло­текстолита толщиной 1,5 мм с металли­зированными отверстиями. Толщина платы важна для монтажных панелей. Чертёж печатной платы устройства приведен на рисунках 1а и 1б

Рис.1а Печатная плата со стороны деталей
Рис.1а Печатная плата со стороны деталей
Рис.1б Разводка платы со стороны печатных проводников. ВНИМАНИЕ!!! Вид сверху НЕ ОТЗЕРКАЛЕНО
Рис.1б Разводка платы со стороны печатных проводников. ВНИМАНИЕ!!! Вид сверху НЕ ОТЗЕРКАЛЕНО

Изменения на схеме

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

— добавлены дополнительные бло­кировочные керамические конденсато­ры в цепи питания ёмкостью 0,1 мкФ, на плате они имеют позиционные обозна­чения С38—С40;

— вывод / RST (вывод 1) микроконт­роллера DD 11, левый по схеме вывод резистора R 15 и верхний по схеме кон­такт разъёма ХР9 подключены к выводу порта РС2 (вывод 25) микроконтролле­ра DD 8, вследствие чего у него освобо­дилась шина lz C для случая использова­ния видеоконтроллера как отдельного устройства;

— задействована вторая половина сдвоенного счётчика DD 10 со счётным входом — выводом 13, а не первая половина, как на схеме рис. 3;

— изменилась структура подключе­ния многофункционального разъёма ХР7, новая цоколёвка подобрана так, что для максимально простого вариан­та устройства, "лайт"-версии, вместо запланированного разъёма MD 8 F мо­жет быть установлен MD 6 F с возмож­ностью прямого подключения клавиату­ры без дополнительных переходников. Новая цоколёвка разъёма приведена в табл. 1 (через дробь указан номер вывода для MD 6 F ), при использовании разветвителя необходимо соответст­вующим образом скорректировать его подключение.

Таблица 1
Таблица 1

Кроме того, генератор тактовых им­пульсов частотой 25,175 МГц должен иметь позиционное обозначение G 2, а не G 1 , разъём " LAN " HR 91 1105А должен иметь позиционное обозначение А2, а не А1, как указано на схеме

Расположение элементов на плате показано на рис.3

Рис.3 Расположение элементов на плате
Рис.3 Расположение элементов на плате

Сборка устройства

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

В устройстве применены микросхе­мы в корпусах DIP , выводные резисторы мощностью рассеяния 0,125 (1/6) Вт, керамические конденсаторы с расстоя­нием между выводами 2,54 мм ём­костью 0,1 мкФ и 20 пФ, с расстоянием 5,25 мм — ёмкостью 1 мкФ. Сопротив­ление резисторов может быть немного изменено, например, можно применить все резисторные сборки сопротивлени­ем 2,2 кОм, резисторы в цепях линий RESET ( R 1 1, R 13, R 15) сопротивлением 4,7—10 кОм, в цепях подтяжки линий INT сопротивлением 2,2—4,7 кОм. Ёмкость оксидного конденсатора С2 (1000 мкФ) может быть в пределах 470—1000 мкФ, а ёмкость конденсато­ров С22, С23, С35, С36 (20 пФ) — в ин­тервале 18—22 пФ. Ориентируйтесь на документацию к соответствующим мик­росхемам. Микроконтроллер ATtiny 13 ( DD 11) можно использовать на частоту 20 или 16 МГц, поскольку его рабочая частота — около 13 МГц. Его может за­менить МК ATtiny 13 A - PU . В компьюте­ре применена микросхема ОЗУ W24512 A -15, которая заменима W 24512 A -10. Диод SR 260 ( VD 7) можно заменить на SR 160, он чуть меньше по размерам.

Индикаторные светодиоды HL 2— HL 5 предназначены для индикации режимов работы на лицевой панели устройства. Есть несколько вариантов их монтажа. Самый простой вариант — использовать любые маломощные све­тодиоды диаметром 3 мм, изогнув их выводы под углом 90° и рассчитав по­ложение так, чтобы центр линзы был на высоте 5 мм от платы. Более красиво будет выглядеть установка специальных монтажным стоек LED -301( B ) или уже готовых сборок L -934**/1* D фирмы Kingbright . Но тут есть нюанс: яркость свечения светодиодов этих сборок небольшая, поэтому можно уменьшить сопротивление резисторов в цепях их подключения ( R 8, R 9, R 1 2) до 1,5 кОм. При установке отдельно мон­тажных стоек для распространённых типов светодиодов их придётся рассверлить сверлом 4,5 мм из-за "юбки". Специальные же светодиоды для стоек L -934** не отличаются от предустанов­ленных в вышеупомянутые стойки. Отверстия в панели рекомендуется закрыть световодами.

Сборку устройства начинают с мон­тажа слота для SD -карт, после чего устанавливают все остальные компо­ненты, кроме предохранителя F1. Микроконтроллеры, микросхемы ОЗУ и ПЗУ рекомендую устанавливать на панельки, сами микросхемы устанавливают после сборки и предварительных процедур налаживания.

Устройство рассчитано на сборку в стандартный корпус GAINTA G 738, в лицевой и задней панелях вырезают отверстия по чертежу на рис.3 и наносят необходимые надписи. При заказе изготовления выбирайте толщи­ну панелей 2 мм. Плату фиксируют вин­тами М3 с диаметром головки 5,2 мм. Это чуть меньше стандарта, но такие винты легко доступны. Под каждый винт укладывают изолирующую шайбу из волокна/картона диаметром 5 мм. На нижнюю часть корпуса рекомендуют приклеить ножки, для этого идеально подходят защитные мебельные протек­торы из ПВХ.

Рис.3  Чертежи передней и задней панелей
Рис.3 Чертежи передней и задней панелей

На верхней крышке устройства в центре закрепляют динамическую го­ловку, её приклеивают за монтажные выступы или по периметру клеем "Момент". К плате головку подключают тонким двойным шлейфом с разъёмом на конце. Разъём для подключения мо­жет быть любой с шагом контактов 2,54 мм. Если не устанавливать разъём ХР10 подключения внешней динамиче­ской головки (обычно он не нужен), то комфортно размещается разъём CWF -2. Провод подключения делайте достаточ­но длинным, чтобы при открывании крышку корпуса можно было убрать в сторону без отключения головки. Сама динамическая головка — любая миниа­тюрная, максимально плоская, с сопро­тивлением катушки 8 Ом и мощностью 0,5—2 Вт. С заявленными на схеме эле­ментами громкость звука достаточно большая, для домашнего применения можно уменьшить сопротивление ре­зистора R 18 до 47 кОм, сопротивление резистора R 17 (56 кОм) может быть в интервале 10—56 кОм. Звук "меандровый”, но приемлемый, немного улучша­ет качество звука тонкая поролоновая прокладка толщиной 1 мм между диф­фузором и крышкой корпуса.

Устройство подключают к сети пере­менного тока 230 В шнуром с выключа­телем, на который одевают резиновый проходной изолятор (кабельный ввод) диаметром 4 мм. Мощность устройства небольшая, поэтому прекрасно подхо­дят бытовые кабели для бра — они тон­кие, гибкие и весьма надёжные. Для подключения к плате используют со­единитель кабель—плата WF -4 с шагом контактов 2,54 мм (используют крайние два контакта) или PHU -2 с шагом 5,25 мм. Первый вариант удобнее, хотя и не предназначен для коммутации вы­сокого напряжения, в нашем случае это решено использовани­ем только двух крайних контактов четырёхвы­водного разъёма.

Налаживание устройства

После подачи пита­ния проверяют напря­жение на выходе AC / DC преобразовате­ля А1, оно должно быть в интервале 5...5,2 В с пульсациями, не пре­вышающими 100 мВ. Такие преобразовате­ли за много лет работы зарекомендовали себя с положительной сто­роны и отказы у ориги­нальных изделий не встречались.

Далее на двухвыводный разъём, уста­новленный около се­тевого разъёма, пода­ют питание +5 В от ла­бораторного источника питания и проверяют потребляемый устрой­ством ток, который не должен превышать 100 мА. После этого проверяют напряже­ние питания контроль­ных точек 3,3 В и нали­чие генерации импуль­сов 25,175 МГц в конт­рольной точке " F " ря­дом с генератором G 2.

Если всё в норме, то предохранитель F 1 устанавливают на плату, и сборку можно счи­тать оконченной.

Рекомендую сборку производить, начиная с минимальной рабо­тоспособной конфигу­рации. Внешний вид собранной платы в та­кой минимальной кон­фигурации, на которой отсутствуют "опцион­ные" элементы, пока­зан на рисунке в заголовке статьи. В этом случае не устанавли­вают микросхему ЧРВ DS 1305 N ( DD 4), контроллер Ethernet ENC 28 J 60 ( DD 6), преобразователь уровней МАХ232СРЕ ( DD 7), микросхему ПЗУ 25 LC 1024- l / P ( DS 2), стабилизатор LD 1 117-33 ( DA 2), разъём " LAN " HR 911105 A (А2), кварцевые резонаторы 32768 Гц ( ZQ 1) и 25 МГц ( ZQ 3), резисторы R 14, R 23— R 28, конденсаторы С17, С18, С24—С27, СЗЗ— С37, дроссель L 2 и элемент питания G 1 .

Если устройство сразу собирают в варианте с сетевым контроллером, есть особенность установ­ки резистора R 14 — на плате он разведён как два параллельных резистора и обозначен как R 14*. Дело в том что микросхема ENC 28 J 60 ( DD 6) имеет несколько так называемых ревизий. Для устаревших версий требуется ре­зистор сопротивлением 2,7 кОм, для более современных — 2,32 кОм (по до­кументации). При сборке сначала уста­навливают резистор сопротивлением 2,7 кОм, после запуска устройства и проверки версии микросхемы ( REVID ) при значении 06 параллельно ему уста­навливают резистор сопротивлением 16 кОм. Заранее узнать номер ревизии возможности нет. Номинальное сопро­тивление резисторов R 23— R 26 по до­кументации к микросхеме ENC 28 J 60 — 49,9 Ом, такие резисторы доступны в исполнении для поверхностного мон­тажа (на них написано 49 R 9). Разводка платы допускает установку этих резис­торов как выводных, так и поверхност­но монтируемых типоразмера 0805 или 1206. В случае их отсутствия можно установить резисторы ближайшего стандартного номинала (51 Ом), точно­го соответствия спецификации при этом не будет, но работоспособность сохранится.

Если запланировано подключение принтера, как альтернативу необходи­мости сборки переходника-разветвите­ля можно установить разъём ХР7 MD 6 F для прямого подключения клавиатуры, а разъём ХР10 использовать для порта RS -232, перерезав дорожки, ведущие к усилителю мощности DA 3, и соединив его контакты перемычками со стороны монтажа с выводами 4 и 7 ХР7 или соот­ветствующими выводами микросхемы DD 7.

Программирование микроконтроллеров

Микроконтроллеры (МК) необходимо предварительно подготовить, установив разряды конфигурации и загрузив мик­ропрограммы стартовых загрузчиков (далее будем называть их бутлоадерами), кроме МК ATtiny 13 ( DD 11), который прошивают сразу. После этого для изме­нения микропрограмм их доставать уже не потребуется, поэтому при желании после подготовки их можно запаять в плату без колодок. Настройка разрядов конфигурации (FUSE-bit) приведена в таблице. Не забывайте, что сначала надо загрузить прошивку бутлоадера, а только потом устанавливать конфигурационные раз­ряды, поскольку все МК работают или с внешними тактовыми импульсами, или с внешним кварцевым резонатором.

Fuse-bit для микроконтроллеров.
Fuse-bit для микроконтроллеров.

После прошивки и установки разря­дов конфигурации микросхемы устанав­ливают на плату. Стандартный цикл пер­воначальной загрузки устройства такой:

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

— МК видеоконтроллера стартует в рабочем режиме с выводом на экран приветственного сообщения из EEPROM ;

— МК контроллера внешних уст­ройств (КВУ) стартует в режиме бутлоа­дера и ждёт команды от МК ЦП;

— МК ЦП выдерживает паузу 1 с для инициализации внешних и наплатных устройств, что сопровождается индикацией светодиода " SYS ", после чего ожи­дает на командном порту UART 0 сигнала на программирование 1 с, не получив его, формируется короткий звуковой сигнал и вы­даётся команда на старт КВУ, через 1 с после этого запускает­ся основная програм­мами ЦП.

После запуска сис­темы в МК, которые имеют только бутлоадеры, нормальным поведением является мигание светодиода " SYS " в течение 1с, короткий звуковой сиг­нал, и далее всё повто­ряется.

Для программиро­вания необходимо использовать стандартный преобразова­тель UART — USB (именно UART , а не RS -232!). Программирование выполня­ют с помощью специальной консольной программы под ОС Windows , для запус­ка необходимо использовать стандарт­ную консоль cmd.exe или менеджер FAR . Для программирования выполните действия в следующем порядке:

— подключите устройство к линии питания 230 В, но не включайте его;

— подключите преобразователь к разъёму ХР1, соблюдая назначение вы­водов (1 — TxD , 2 — RxD , 3 — GND ), обыч­но порядок подключения справа— нале­во (по расположению элементов на плате рис. 8) по цветам преобразователя та­кой: белый (вывод 1) — зелёный (вы­вод 2) — чёрный (вывод 3); красный не используется и должен быть надёжно заизолирован;

— подключите преобразователь к порту USB компьютера с ОС Windows любой версии, убедитесь, что все драй­веры установлены, посмотрите в кон­фигурации оборудования номер назна­ченного COM -порта, если есть возмож­ность, поменяйте его на 15;

— из пакета установочных программ запустите файл upload _ start.bat , заме­нив в нём "15" в первой строке сразу за именем исполняемого файла на свой номер СОМ-порта;

— программа выведет служебные со­общения и перейдёт в режим ожидания;

— включите устройство выключате­лем на шнуре питания;

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

— после успешного окончания рабо­ты программы прошивки (обычно это занимает одну—две минуты) отключите питание устройства и отключите пере­ходник UART — USB .

На этом процедура подготовки уст­ройства к работе практически заверше­на. Имейте в виду, что выводы UART 0 МК ЦП используются в работе, поэтому оставлять переходник подключённым категорически не рекомендуется. Про­граммирование идёт в режиме реаль­ного времени с контролем таймаутов, иногда возникают сбои. Если програм­ма зависнет или не доработает до кон­ца, перезапустите процедуру програм­мирования.

Впоследствии обновления устанав­ливают по аналогичной процедуре, но загрузка идёт уже не полная, а выбороч­ная, только изменённых компонентов. Bat -файл для каждого случая или на­стройки программы включается в со­став пакета обновлений.

Запуск и загрузка

Подключите к устройству клавиатуру PS/2 и включите питание. Устройство должно вывести сначала тестовый экран VGA -контроллера, потом загру­зочный экран системы (рис. 4). На этапе загрузки опрашивается установ­ленное периферийное оборудование и выполняются базовые настройки.

Рис.4 Загрузочный экран
Рис.4 Загрузочный экран

Как было описано в разделе про опи­сание видеоадаптера, качество работы зависит от точности тактовых частот 20 и 25,175 МГц. Если изображение на экране нестабильно, с пропуском сим­волов или, наоборот, с лишними пробе­лами (это как раз бывает при сильном отклонении номиналов частот кварце­вых резонаторов от заявленных значе­ний), рекомендую попробовать поме­нять кварцевый резонатор 20 МГц и генератор 25,175 МГц.

Для работы необходим загрузочный образ SD -карты, который может быть либо записан из тестового образа в комплекте программ (рекомендуется для этой процедуры использовать про­грамму Win 32 Disklmager ), либо подго­товить его самостоятельно, воспользо­вавшись описанной ниже процедурой.

Сначала в отдельный каталог устано­вите файловый менеджер FAR и плагин Multiarc к нему. FAR не требует установки и работает из любого каталога. В настройках плагина в файл Plugins \ MultiArc \ Formats \ custom . ini до­бавьте в конец файла настройки для работы с образами дисков СР/М, кото­рые будут иметь расширение .срт (см.табл).

-9

Далее скачайте и установите бес­платный пакет программ cpmtools , не­обходимо установить его в корневую папку диска / cpmtools , добавив этот путь в системный PATH . В файл конфи­гурации пакета diskdefs добавьте на­стройки для работы с образами дискет 819 кБ, которые как базовые исполь­зуются в данном проекте (табл.).

-10

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

Перезапустите FAR и откройте в нём пустой образ дискеты из комплекта программ fdd 819. cpm . Если все настройки выполнены правильно, откро­ется пустой каталог. Скопируйте в него необходимые программы.

Для работы с SD -дисками служит специальное приложение под MS Windows R1715 sd.exe , при вызове кото­рого необходимо указать букву диска, ассоциированного с SD -картой. Если вы используете карту первый раз, то необходимо на неё программой Win 32 Disklmage.exe записать любой файл в виде образа. Он использоваться не будет, но разрушит форматирование и даст знать программе, что это не "обычная" SD -карта. При попытке запи­сать на отформатированный диск про­грамма выдаст ошибку — минимальная защита.

Организация SD -карты включает блоки предзагрузки и образы дис­кет, каждый имеет своё название, своё название имеет и каждая карта. После запуска список ко­манд можно посмотреть, набрав знак вопроса В названиях можно использовать русский язык, консольные программы ра­ботают в кодировке СР866, анало­гичной кодировке КРИСС. Типо­вые команды работы с програм­мой (в планах подключение к multiarc , но пока не реализовано):

— форматирование карты: f Имя карты — инициализирует карту для дальнейшей работы;

— загрузка загрузочного блока: за­дайте имя блоку командой n fO [имя за­грузочного блока], после чего загрузите образ из файла командой р 00 имя_ файла;

— загрузка образа дискеты: задайте имя дискете командой п 01 [имя диске­ты], после чего загрузите образ из файла командой s 00 имяфайла;

— загрузите образы других дисков при необходимости наборами команд: п 02/р 01, п 03/р 02 и т. д.;

— посмотреть содержимое карты можно командой d .

По умолчанию дискета s 00 считает­ся вставленной в дисковод A :, s 01 — в дисковод В:. Дисководы С: и D : в теку­щей версии загрузочного образа не используются. На карту можно записать до 32 образов дискет, переключение осуществляется через системную кон­соль, вызываемую после загрузки ОС комбинацией клавиш Ctrl - Alt - Del .

При загрузке компьютера карта должна быть вставлена до включения питания, после инициализации будут показаны имя карты и имя загрузочного образа. Если необходимо поменять карту во время загрузки, то после сме­ны карты нажмите ввод и карта снова реинициализируется. Укажите номер загрузочного блока "О" и нажмите ввод. После загрузки ОС появится привет­ственное сообщение СР/М "А:". Вы теперь внутри ОС, можно работать — принципы работы в ОС СР/М много­кратно описаны, см., например, [5]. Перезагрузка, напомним, выполняется в любой момент комбинацией клавиш Ctrl - Shift - Alt - ESC .

КРИСС СР/М корректно работает с большинством программ, написанных для СР/М, в частности для Robotron 1715, но есть и особенности, которые будут описаны далее в разделе про сис­темное программи­рование.

Дополнительная информация

Немного дополнительной информа­ции, которая может быть полезна.

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

-11

При желании реализовать обработ­чик манипулятора мышь на МК DD 5 следует быть крайне осторожным. С одной стороны, выводы GPIO могут быть использованы, и для работы есть свободное прерывание PCI . Но в теку­щей версии прошивки этот МК обраба­тывает поток SPI -запросов от МК ЦП в режиме реального времени, без сигна­ла подтверждения обработки. Это зна­чит, что задержка между отправляемы­ми байтами должна быть такой, чтобы гарантировать их обработку. Этот МК обрабатывает два прерывания: от кла­виатуры INTO и от канала SPI , причём клавиатурное имеет больший приори­тет, возможную задержку надо учесть. Сейчас это прерывание минимизиро­вано, насколько это возможно, даже размещено в области векторов преры­ваний, чтобы исключить лишнюю ко­манду перехода rjmp , но всё равно с учётом времени входа/выхода из пре­рывания, входа/выхода прерывания SPI при пакетной отправке в МК ЦП приходится вставлять задержку для стабильной работы. При реализации ещё одного обработчика эта задержка неизбежно возрастёт, что несколько снизит производительность МК ЦП, особенно в части вывода на экран. Как альтернативный вариант можно рас­смотреть подключение мыши через дополнительный МК с подключением на шину I2С МК КВУ, что позволит вы­нести опрос в асинхронный режим.

На плате предусмотрено несколько разъёмов, в частности ХРЗ и ХР5. Их можно использовать при необходимос­ти обновления микропрограмм бутлоадера МК DD 1 и DD 5 без демонтажа микросхем, но использовать этот путь нужно с осторожностью и только когда нет других возможностей, например, установив микросхемы на колодки. Порядок программирования МК DD 1 такой:

— устанавливают перемычку на разъём ХР5, тем самым блокируется работа МК DD 5;

— к контактам 2—6 разъёма ХРЗ подключают ISP -программатор и загру­жают микропрограмму.

Такой вариант имеет риск, что МК DD 5 может воспринять команды как "свои" и некорректно их обработать, поэтому, возможно, процедуру придёт­ся повторить. Для программирования DD 5 процедура аналогична:

— контакты 1 и 5 разъёма ХРЗ замы­кают с его контактом 6, блокируя рабо­ту МК DD 1 и DD 8;

— к разъёму ХР5 и контактам 2—4 разъёма ХРЗ подключают ISP -програм­матор и загружают микропрограмму.

Сменить прошивку МК DD 8 анало­гичным образом возможности нет. ISP -программирование МК DD 11 вы­полняется после замыкания контактов 1 и 5 разъёма ХРЗ с его контактом 6 и ус­тановки перемычки на контакты разъ­ёма ХР5, все необходимые сигналы вы­ведены на внешние разъёмы. Это един­ственный способ смены микропро­граммы МК DD11.

А вот видео сборки компьютера КРИСС СР/М (не мое)

Файлы к статье

Печатная плата в Sprint Layout

Комплект микропрограмм файлов начальной прошивки в одном архиве, bat-файл в комплекте

CP/M 2.2 на базе ОС SCPX компьютера Robotron 1715

Пакет программ CPMTOOLS, преднастроенный для работы с образами дискет 819 кБ - официальный релиз

Программа для управления образами SD-карт