9

Funkkonstrukteur AVR ZX Spectrum V2_0 (Beschreibung, Bauanleitung, Programmieranweisung)

1. ÜberblickAVR ZX Spectrum V2_0Das beschriebene Gerät ist eine Weiterentwicklung von ZXSpectrum auf AVRV1_0-Mikrocontrollern, bereits eingereicht vorhin. Mögen vorhin, Dies ist ein vollwertiger Software- und Hardware-Emulator des weltberühmten PC ZXSpectrum.

Technische Eigenschaften:

  • Bildschirmauflösung: 256 x 192 Punkte;
  • Bildschirmvertrautheitsmatrix: 32 x 24;
  • Anzahl der Farben pro Vertrautheit: 2;
  • Anzeigebereichsfarben: 8;
  • Anzahl der Rahmenfarben: 8;
  • Die Anzahl der Helligkeitsabstufungen für jede Farbe: 2;
  • Äquivalente CPU-Frequenz: 2,333 MHz;
  • E / A-Ports: 0xFE, 0x7FFD, 0xFFFD, 0xBFFD;
  • Tastaturschnittstelle: PS / 2;
  • Anzahl der verwendeten Schlüssel: 82;
  • Anzahl der Tonkanäle: 4;
  • Liste der Tonkanäle: verließ AY8910, rechts AY8910, mittel AY8910, Pfeffer;
  • Videoausgänge: BW-Ausgabe, RGB-Ausgabe, separater Synchronisationsausgang;
  • Unterstützung für das Laden / Entladen "auf Band": ist verfügbar;
  • Zusätzliche E / A-Geräte: Micro SD Karte;
  • Unterstützte ZXSpectrum-Modelle: Pentagon 128 K, zxspectrum 128 K, ZXSpectrum48 K., Zxspectrum + 2, Zxspectrum + 3, ZXSpectrum48 K` 2006; OPEN SE BASIC 128 K, OPENSEBASIC 48 K,
  • Zusätzliches Betriebssystem: SDDOS;
  • Dateisystem: FAT32;
  • E / A-Busanschluss: ist verfügbar;
  • Design: doppelseitige Platine 140 x 22 Millimeter, Installation innerhalb der Tastatur oder in einem separaten Gehäuse;
  • Gerät mit Strom versorgen: Mini-USB "F" -Anschluss, Spannung +5 die.

Wie Sie an den gegebenen technischen Eigenschaften sehen können, Version V2_0 unterscheidet sich von seinem Vorgänger in einer Reihe von konstruktiven, Hardware- und Software-Verbesserungen.

  1. Betriebssystem für SD-Karte und SDDOS-Festplatte, läuft unter dem FAT32-Dateisystem, Mit dieser Option können Sie Dateien bequem auf einem IBM-kompatiblen PC vorbereiten, Schreiben Sie sie auf eine Speicherkarte, und führen Sie sie auch sofort in SDDOS aus;
  2. Die Tastatur ist jetzt deutlich erweitert. Die zusätzliche Tastatur ist voll ausgelastet, F1-Tasten…F12, «-», «+», «[», «]», «:», «/», «<», «>», «” », das bietet erhebliche Bequemlichkeit;
  3. Es ist möglich, einen Tastaturanschluss auf der Platine zu installieren. Dies macht es bequemer, das Layout der Platine in einem Gehäuse zu gestalten.
  4. Musik-Coprozessor-Emulator AY8910(12) Lötet jetzt nicht in Durchkontaktierungen, ist aber mit dem Systembus am Stecker verbunden;
  5. Separate Anschlüsse für die externe Programmierung von ATMega128-16AU-Mikrocontrollern sind entfernt;
  6. Das Gerät wird jetzt über den Mini-USB-Anschluss mit Strom versorgt, Board-installierbar, Dies ermöglicht die Verwendung herkömmlicher Ladegeräte und Stromquellen für die zahlreichen heutigen Geräte, um das Gerät mit Strom zu versorgen;
  7. Die CPU ist jetzt korrekt auf der Platine ausgerichtet;

2. Schaltplan

Das Diagramm des Geräts ist in der Abbildung dargestellt 1.

Die folgenden Funktionsblöcke können im Gerät unterschieden werden:

  • Die Zentraleinheit ist auf D2-Elementen montiert, C2, C2, R17…R19, R26, C10…C13, XS3, XP2;
  • Die Tastatursteuerung besteht aus D4-Elementen, C4, C6, BQ1, R11, R17, R26, XS1;
  • Die Videoprozessoreinheit besteht aus den Elementen D1, C1, R1…R8, XP1;
  • Die Videosignalformungseinheit ist auf D3-Elementen implementiert, C5, R9, R12…R41, VT1…VT5, VD1, VD2, K1…K7;
  • Der Paging-RAM-Block wird für D5-Elemente erstellt…D7, C7…C9, VD1, VD2;
  • Musik-Coprozessor-Emulatorblock, der auf D8-Elementen implementiert ist, C17…C24, R43…R46, BQ2, XS2 XS6, K8, K9;
  • Das Netzteil enthält DA1-Elemente, C14, C15, XS5.

Bild 1 - Schaltplan AVRZXSpectrumV2_0

Schema

Abb.1.

Der XS4-Anschluss dient zum Anschließen einer Micri-SD-Speicherkarte.

Wie aus dem Schema ersichtlich, Das Gerät ist in acht Mikroschaltungen implementiert. Alle acht Mikroschaltungen arbeiten mit Versorgungsspannung +5 die, die über den Mini-USB-Anschluss XS5 angeschlossen ist. Für die Stromversorgung der Micro-SD-Karte ist Spannung erforderlich 3,3 die, welches durch den Spannungsstabilisator DA1 ZR78L033G gebildet wird (möglicher Ersatz - L78L33ACUTR, Fall SOT-89).

Betrachten wir das Funktionsprinzip jeder Funktionseinheit separat.

Zentraleinheit ausgeführt auf Mikrocontroller D2 ATMega128-16AU (TQFP64-Paket). Es übernimmt die Aufgabe, den Z80 Zilog-Mikroprozessor und die E / A-Ports zu emulieren. Z80 Teams, vom Zentralprozessor emuliert, befindet sich im FLASH-Speicher des Mikrocontrollers von der physikalischen Adresse 0X8000 in Seiten von 16 Zu jedem. Auf diese Weise, Von dieser Adresse aus sollten Sie beim Kompilieren des Projekts die ROM-Dateien des ROM der emulierten ZX-Spectrum-kompatiblen Computer ablegen. Nach dem Anlegen der Versorgungsspannung werden die internen Geräte des Mikrocontrollers initialisiert, von ihm bei der Arbeit verwendet, Konfiguration des Eingangs- / Ausgangsanschlusses des Mikrocontrollers, формирование в ОЗУ микроконтроллера таблиц, используемых при эмуляции команд Z80. Далее происходит циклический процесс проверки маскированного прерывания, выборки эмулируемой инструкции, инкремента программного счётчика, перехода и выполнения программы эмуляции выбранной инструкции и возврат в начало цикла. При наличии разрешённого маскированного прерывания происходит переход на программу его обработки.

Сигнал маскированного прерывания (сигнал MINT) приходит на ЦП от видеопроцессора D1 с частотой кадровой развёртки – 50 Hz. Для его обработки используется вход AIN аналогового компаратора контроллера, так как прерывание от аналогового компаратора можно быстро проверить перед началом выборки очередной инструкции. Также его легко можно разрешить и запретить, что используется при эмуляции команд EI и DI.

Обращение к внешнему ОЗУ ЦП производится стандартным образом через внешний интерфейс памяти. В начале цикла обращения к внешнему ОЗУ микроконтроллер выставляет сигнал RBBCP, адресуемый видеопроцессору (активный низкий уровень). Этот сигнал «предупреждает» видеопроцессор о том, что ЦП занял внешнее ОЗУ для операции чтения/записи. Далее ЦП открывает внешний интерфейс памяти и выполняет операцию чтения или записи. При этом физический адрес ОЗУ определён сигналами A15_CP, A14_CP, A13…A8, AD7AD0, MUXA17MUXA14. Младший байт адреса выставляется для регистра-защёлки младшего адреса D6 на линиях AD7AD0 и переписываются в него по нарастающем фронту сигнала ALE контроллера. Далее происходит собственно операция чтения/записи ОЗУ, При чтении активируется сигнал ~RD, а при записи – сигнал ~WR контроллера. После выполнения операции чтения/записи контроллер закрывает интерфейс с внешней памятью и деактивирует (устанавливает в «1») сигнал RBBCP.

При эмуляции операции записи в порт 0xFE на линиях порта D микроконтроллера (сигналы BORDH:BORDM:BORDL) выставляется двоичный код цвета бордюра, который сохраняется на этих линиях до очередной операции записи в порт 0xFE. При этом сигнал TOTAPE устанавливается в соответствии с битом 3 числа, записываемого в порт, а сигнал BEEP (звук бипера) в соответствии с битом 4 этого числа. При эмуляции операции чтения из порта 0XFE происходит запрос клавиатурного контроллера D4. Запрос происходит формированием сигнала внешнего прерывания на линии KEYMH(по заднему фронту этого сигнала). При этом происходит активация сигнала RBBCP для запрещения операций чтения ОЗУ видеопроцессором на время выставления контроллеру клавиатуры кода опроса, установка кода опроса клавиатуры на линиях A15_CP, A14_CP, A13…A8. В ответ контроллер клавиатуры выставляет 5-битный код ответа на линиях KEYH:KEYMH:KEYML:KEYL порта F микроконтроллера. Этот код читается ЦП и участвует в формировании 8-бит данных операции чтения порта 0XFE. Биты 7 und 5 при этом устанавливаются в «1», а бит 6 определяется старшим битом данных кода аналого-цифрового преобразователя контроллера, подключенного к разряду 6 порта F. АЦП контроллера настроен на величину опорного напряжения, равного напряжению питания. Auf diese Weise, если уровень сигнала FROMTAPE/ на выводе PF6 менее половины напряжения питания, то разряд 6 порта 0xFE при чтении сбросится в 0, в противном случае – установится в 1. Аппаратно напряжение на этом выводе установлено равным половине напряжения питания при помощи резистивного делителя R18, R19.

При эмуляции операции записи в порт адреса музыкального сопроцессора 0XFFFDкод адреса выставляется на шину A15_CP, A14_CP, A13A8 при активном уровне (0) сигнала RBBCP, далее происходит активация (установка в «1») сигналов BC1 и BDIR, которые адресуются эмулятору музыкального сопроцессора на время, необходимое для его работы. После этого происходит деактивация сигналов RBBCP, BC1 и BDIR.

Аналогично происходит операция записи в порт данных музыкального сопроцессора 0XBFFD с той лишь разницей, что активация сигнала BC1 не происходит.

При операции записи в порт 0X7FFD (порт только для записи) три младших бита (2, 1, 0) байта участвуют в формировании номера страницы ОЗУ, подключаемую в область адресов 0XC000-0XFFFF. Номер страницы ОЗУ при этом определяется сигналами MUXA17MUXA14, адресуемыми страничному мультиплексору D7. Seite 3 участвует в выборе обычного («0») или теневого «1») Bildschirm. При этом при выборе режима «обычного экрана» сигналы A15_CP и A14_CP устанавливаются в «0» и «1» соответственно, а при выборе режима «теневой экран»в нули. Seite 4 определяет выбор страницы ПЗУ. Значение «0» соответствует младшей странице ПЗУ, значение «2»старшей. Запись в бит 5 значения «1» запрещает в дальнейшем возможность записи в этот порт.

Для внутрисхемного программирования ЦП в схеме предусмотрен разъём XP2. Сигналы PDI2, PDO2, SCK2 и ~RESET2 используются при внутрисхемном программировании и эквивалентны сигналам MOSI, MISO, SCKи ~RESET программатора. Также сигналы PDI2, PDO2, SCK2 вместе с сигналом ~CS_SD используются в качестве SPI интерфейса с micro-SD картой памяти, и эквивалентны сигналам SD_IN (вход), SD_OUT (Ausgang), CLK (синхронизация данных) и CS (выбор карты) интерфейса micro-SD карты. Согласование уровней происходит программно, логическая «1» на выходах контроллера PDO2 и SCK2 формируется путём включения подтягивающего резистора.

Контроллер клавиатуры выполнен на микроконтроллере D4 ATTINY2313A-SU (возможная заменаATTINY2313-20SU), корпус SOIC-20. Выполняет задачу эмуляции клавиатуры (порта 0XFE при операции чтения), реализует интерфейс PS/2 с клавиатурой, а также является источником тактовых импульсов для ЦП D2 и видеопроцессора D1.

Тактирование процессора происходит от внешнего кварцевого резонатора BQ1 частотой 20 MHz. Для контроллера это является предельной частотой работы в соответствии с его техническими характеристиками. Вывод PD2 сконфигурирован во fuse-битах при программировании как выход тактовой частоты для тактирования ЦП и видеопроцессора (сигнал MHz20), для которых эта частота выше гарантированной в соответствии с фирменным техническим описанием (Datenblatt), так что они работают в режиме overclock,и как показывает практика, вполне устойчиво.

При подачи питания происходит инициализация контроллера, конфигурация и начальная установка его портов ввода/вывода. Сигналы KEYDATA (die Daten) и KEYCLK (синхронизация данных) соответствуют интерфейсу PS/2 и являются входными для микроконтроллера. В основном режиме работы контроллер занят чтением скан-кодов клавиатуры и формированием в восьми о внутренних регистрах COLOMN7COLOMN0 матрицы состояния клавиатуры. Также контроллер формирует эмуляцию дополнительных клавиш путём установкой в регистрах матрицы клавиатуры одновременного нажатия сразу двух клавиш, одна из которых Capsshift или Symbolshift. При этом контролер работает в режиме разрешённого внешнего прерывания INT1 (сигнал KEYMH) по спадающему фронту этого сигнала. В режиме прерывания от ЦП D2 уходит в подпрограмму обработки прерывания, читает с линий A15_CP, A14_CP, A13…A8 (PORTB) код опроса клавиатуры, формирует код ответа путём объединения (операция AND) данных соответствующих (опрашиваемых) регистров COLOMN7COLOMN0). При этом в объединении данных участвует тот регистр, бит данных для которого сброшен в коде опроса клавиатуры. Сформированный код ответа выставляется в PORTB (линии KEYH:KEYMH:KEYML:KEYL) для ЦП.

Блок видеопроцессора выполнен на микроконтроллере D1 ATMega128-16AU (TQFP64-Paket). В его задачу входит чтение видеоданных из области видеоданных ОЗУ, чтение из ОЗУ атрибутов цвета, формировании видеосигнала, сигнала синхронизации, установке цвета бордюра, а также формировании эффекта мерцания (Blitz) знакомест с единичным значением бита 7 атрибута.

После включения питания происходит инициализация внутренних устройств контроллера и конфигурация его портов ввода/вывода.

Формирование синхросмеси из строчных и кадровых импульсов синхронизации (сигнал SYNC) происходит методом ШИМ. Для этого используется внутренний 16-разрядныйсчётчик TCNT1.

Чтение видеоданных из ОЗУ для очередной видеостроки происходит во время прямого хода луча после вывода текущей видеостроки и установки цвета бордюра. При этом происходит анализ сигнала RBBCP, разрешающего чтение из ОЗУ. Если этот сигнал активен («0»), то происходит ожидание его деактивации. Сразу после этого происходит чтение байта данных из ОЗУ и завершающий анализ сигнала RBBCP. Если RBBCPснова оказался активным, то делается заключение, что байт данных может быть недостоверен, и весь цикл его чтения повторяется. Следует сказать, что видеопроцессор подключен к блоку ОЗУ через токоограничительные резисторы R1…R7, что предотвращает аппаратный конфликт ЦП и видеопроцессора в случае, если произойдёт одновременное обращение мх к внешнему ОЗУ.

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

Как делается понятным, достоверными будут только те прочтённые данные, которые были прочитаны в отсутствии операций чтения/записи ЦП внешнего ОЗУ. При этом интерфейс со стороны ЦП внешней памяти закрыт, и линии A15_cp и A14_CP установлены ЦП в соответствии с выбранным экраном (sehen. раздел о работе блока ЦП). При этом видеопроцессор всегда программно отключен от линий A15_CP и A14_CP, которые управляют работой страничного мультиплексора. Auf diese Weise, в это время в режиме обычного экрана A15_CP=0, A14_CP=1, SCRA16=0, страничный мультиплексор скоммутирован на передачу на выход сигналов секции А, und, auf diese Weise, сигналы A17A14, определяющие старшие 4 бита адреса ОЗУ, установлены в значение «0010», чему соответствует область памяти ОЗУ, отведённая под обычный экран. В режиме теневого экрана A15_CP=0, A14_CP=0, SCRA16=0, страничный мультиплексор скоммутирован на передачу на выход сигналов секции А, und, auf diese Weise, сигналы A17A14, определяющие старшие 4 бита адреса ОЗУ, установлены в значение «0000», чему соответствует область памяти ОЗУ, отведённая под теневой экран.

Чтение атрибутов цвета происходит во время вывода строк нижнего и верхнего бордюров аналогично чтению видеоданных. При этом если бит 7 атрибута установлен, то есть включен режим мерцания знакоместа, происходит при необходимости его коррекция – биты цвета бумаги и биты цвета чернил меняются местами. Атрибуты сохраняются во внутреннем ОЗУ контроллера.

Во время прямого хода луча при формировании изображения происходит циклически вывод в порт B данных соответствующего регистра, сдвиг влево командой LSL данных этого регистра и один такт задержки. После последнего вывода (восьмого по счёту) видеоданных в порт цикл повторяется сначала до момента окончания вывода строки изображения. Байты атрибутов читаются из внутреннего ОЗУ при помощи команды POP после вывода предпоследнего бита каждого байта видеоданных, а их вывод в порт цвета атрибутов – PORTE – происходит непосредственно перед началом вывода очередного байта видеоданных. При этом в порте E контроллера на линиях Y/2:PG:PR:PB:IG:IR:IB присутствует код цвета бумаги (PG:PR:PB), код цвета чернил (IG:IR:IB) и сигнал градации яркости Y/2, которые предназначаются видеомультиплексору D3 74AC257D (корпус SOIC-16). Сигнал PIXEL при этом определяет какое значение цвета – цвета бумаги (PIXEL=0) или цвета чернил (PIXEL=1) участвует в формировании видеосигнала.

В начале каждого кадра (то есть с частотой 50 Hz) видеопроцессор вырабатывает сигнал MINT, активный уровень 0, который подаётся на вход аналогового компаратора ЦП для формирования маскированного прерывания.

Блок ОЗУ со страничной организацией построен на микросхеме статического ОЗУ D5 CY7C1049D-10VXI (возможная заменаAS7C4096A-12JIN), корпус SOJ-36, объёмом 512 K, регистре-защёлке младшего адреса D6 74AC373MTC (возможная заменаMC74AC373DT), корпус TSSOP-20 и страничном мультиплексоре D7 74AC257D, корпус SOIC-16. Пространство, адресуемое ЦП, составляет диапазон от 0X0000 до 0XFFFF (64 K). Старшие 16 К этого пространства (с адреса 0XC000 по 0XFFFF) отведены под страничную память, и управляются страничным мультиплексором D7. Для этого сигналы A15_CP и A14_CP, являющиеся двумя старшими сигналами адресной шины, объединены логической схемой «ИЛИ», выполненной на резисторе R10 и диодах VD1, VD2. При обращении к старшей странице памяти оба сигнала A15_CP и A14_CP находятся в состоянии «1» и напряжение на управляющем входе страничного мультиплексора высокое, так что он скоммутирован в режим «B» и на его выходах (цепи A17, A16, A15, A14) присутствуют сигналы MUXA17, MUXA16, MUXA15, MUXA14, определяющие номер подключенной страницы памяти. При обращении к любой другой странице памяти страничный мультиплексор скоммутирован в режим «A» и на его выходах (цепи A17, A16, A15, A14) присутствует прямой адрес обращения к памяти (численно соответствует 0:0:A15_CP:A14_CP).

Значение младшего адреса при обращении к ОЗУ переписывается в регистр-защёлку младшего адреса D6 по переднему фронту сигнала ALE. Чтение происходит активацией сигнала ~RD, а запись – активацией сигнала ~WR.

Блок эмулятора музыкального сопроцессора выполнен на микроконтроллере D8 ATTINY2313A-SU (возможная заменаATTINY2313-20SU), корпус SOIC-20, и представляет из себя самостоятельное устройство, подсоединяемое к соединителю XP3 основной платы при помощи соединителя XS6.

Устройство имеет два выхода аудиосигнала – левого и правого канала. Аудиосигнал формируется методом широтно-импульсной модуляции (Wohlstand). На элементах R44, R46 и C22 реализован ФНЧ правого, а на элементах R43, R45 и C21 – левого каналов. Кварцевый резонатор BQ2 обеспечивает частоту генерации на первой гармонике последовательного резонанса 28 MHz. При этом микроконтроллер работает в режиме «разгона», und, wie die Praxis zeigt, абсолютно устойчиво. Питание устройства осуществляется от цепи +5В основной платы, конденсаторы С23 и С24 выступают в роли дополнительных фильтров питания.

Интерфейс управления эмулятором состоит из восьмибитной однонаправленной шины данных (сигналы A15_CP, A14_CP, A13…A8) и шины управления, включающей в себя цепи BC1 и BDIR, аналогичные по назначению одноимённым сигналам AY8910(12).

Obwohl, что реальный музыкальный сопроцессор AY8910(12) es hat 3 звуковых канала А, die, C, в эмуляторе их только два: L и R. Канал А подключен к левому L, канал С к правому R, а канал В программно разделяется и смешивается между каналами L и R. Также и сигнал бипера, подводимый на вход PD4 микроконтроллера (сигнал /BEEP), программно разделяется и смешивается между каналами L и R. Таким образом формируется готовый стерео выход.

3. Montage

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

  1. при пайке следует использовать припой с низкой температурой плавления, температура жала паяльника не должна превышать 300 ° C;
  2. жало паяльника должно быть надёжно заземлено;
  3. при пайке должен использоваться антистатический браслет;
  4. Рабочее место должно быть хорошо освещено;
  5. После каждой сборочной операции необходимо при помощи тестера в режиме прозвонки проверить смонтированный узел на отсутствие коротких замыканий, в особенности между соседними выводами микросхем и между цепями питания;
  6. После каждой сборочной операции рекомендуется смыть следы флюса (kanifoli) с платы спирто-бензиновой смесью и тщательно просушить плату;
  7. Работать с SMD монтажом следует на оборудованном соответствующим образом рабочем месте с хорошим освещением;
  8. При сборке пользуйтесь сборочным чертежом (sehen. Bild 3).

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

Bild 2 – вид печатной платы (верхняя и нижняя стороны)

2

Reis. 2 und

3

Reis. 2 b

3

Reis. 3.

Bild 3 – сборочный чертёж платы

Сборка блока контроллера клавиатуры

Установите на печатную плату элементы XS5, C16, C1, C4, C6, R11, R17, R26, BQ1, D4. При монтаже пользуйтесь сборочным чертежом (sehen. Bild 3).

Примечание – микроконтроллер D4 перед установкой на плату должен быть запрограммирован. Указания по программированию см. в разделе «программирование».

Проверьте плату на отсутствие коротких замыканий и подведите к соединителю питания XS5 напряжение +5В. В качестве источника питания можно использовать зарядное устройство с кабельным разъёмом mini-USB. При помощи тестера проверьте напряжение питания на выводе 20 микроконтроллера D4 – оно должно быть в диапазоне от 4,8 zu 5,2 die. Проверьте напряжение на выводе 6 микроконтроллера D4 (выход тактовой частоты) – оно должно быть в диапазоне от 2,3 zu 2,7 die. При невыполнении этих требований необходимо отыскать и устранить неисправность.

Сборка блока видеопроцессора и блока формирования видеосигнала






Установите на печатную плату элементы R1…R9, R12…R15, R20…R24, R27…R33, R35…R41, C3, C5, D1, VD3…VD5, VT1…VT5, XP1. К контактам K7 (Allgemeines) и K6 (выход видео) подпаяйте технологический разъём RCA (Female) «Тюльпан». Проверьте плату на отсутствие коротких замыканий. Для дальнейшей работы потребуется видеоустройство со стандартным видеовходом (TV-Set, TVтюнер, монитор со стандартным видеовходом) и программатор типа ByteBlaster MV (http://www.zx-kit.ru/katalog-1/zxkit-003-1). Подключите питание устройства и произведите программирование видеопроцессора (указания по программированию см. в разделе «программирование»). Настройте монитор на видеовход и подключите к нему видеовыход устройства. На экране должно наблюдаться чёрно-белое изображение, аналогичное рис. 4

Изображение должно быть чётко засинхронизировано, поле изображения должно иметь чётко выраженную прямоугольную форму, должны различаться градации серого цвета и бордюр. Также на изображении должны присутствовать поля с эффектом мерцания – сменой прямого изображения на инверсное и обратно с частотой порядка 4 Hz. Допускается изменение цвета бордюра и цвета логотипа разработчика «LISITSINDEVELOPMENT» в верхнем поле бордюра. Если эти требования не выполняются, следует отыскать и устранить неисправность.

Отключите устройство от монитора и источника питания.

Bild 4 – видеосигнал устройства без блока ОЗУ.

4

Reis. 4.

Сборка блока ОЗУ

Установите на печатную плату элементы R10, VD1, VD2, C7, D5, C8, C9, D6, D7.

Соедините при помощи коротких проводников вывод 1 и вывод 5 страничного мультиплексора D7 с общей шиной (GND). Это позволит вывести мультиплексор D7 из страничного режима и зафиксировать адрес A16 ОЗУ. Проверьте плату на отсутствие коротких замыканий.

Подключите устройство к монитору и источнику питания. На экране должно наблюдаться чёрно-белое изображение, аналогичное рис. 5

Bild 5 – видеосигнал устройства с блоком ОЗУ и без блока центрального процессора

5

Reis. 5.

Должны наблюдаться чётко выраженные прямоугольные границы видеополя и бордюр. Изображение должно иметь устойчивую строчную и кадровую синхронизацию. Присутствует разбивка изображения на знакоместа. В пределах каждого знакоместа должна существовать неизменная градация серого цвета бумаги и чернил, Bild (заполнение знакоместа) должен быть неизменен. При этом допускается мерцание знакомест с частотой порядка 4 Hz. Должны различаться градации серого цвета. Допускается изменение цвета бордюра. При невыполнении данных условий необходимо произвести поиск и устранение неисправностей.

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

Сборка блока центрального процессора

Установите на печатную плату элементы R18, R19, R42, C10…C15, D2, DA1, XP2, XP3, XS1 и XS3. Проверьте плату на отсутствие коротких замыканий.

Подключите устройство к программатору через разъём XP2 и произведите программирование ЦП (указания по программированию см. в разделе «программирование»).

После программирования, если не было допущено ошибок, устройство начинает работать. На экране после старта появится изображение в соответствии с выбранной моделью ZX Spectrum (sehen. Reis. 6 – основное меню Pentagon 128). Для проверки работоспособности можно произвести загрузку тестов и другого программного обеспечения «с ленты» или micro-SD карты. Если тесты и программы исполняются корректно, можно переходить к сборку эмулятора музыкального сопроцессора AY8910.

6

Reis. 6.

Сборка блока эмулятора музыкального сопроцессора

Musik-Coprozessor-Emulator AY8910(12) собирается на отдельной плате (sehen. Reis. 3), которая идёт в комплекте с основной платой.

Установите на печатную плату элементы C17…C24, R44…R46, BQ2, D8, XS6. Проверьте плату на отсутствие коротких замыканий.

Примечание – микроконтроллер D4 перед установкой на плату должен быть запрограммирован. Указания по программированию см. в разделе «программирование».

Bemerkung 2 – в качестве кварцевого резонатора вместо указанного на схеме DSX321G 28 МГц возможно использование кварцевого резонатора HC49US 28 MHz (необходим кварцевый резонатор, работающий на основной частоте резонанса), который устанавливается в позицию BQ2* платы.

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

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

4. Подключение устройства и проверка работоспособности

Для подключения AVRZXSpectrumV2_0 с получением цветного изображения требуется видеоустройство (монитор) с RGBвходом, либо видеоустройство со стандартным видеовходом и кодер цветности PAL (SECAM). Для подключения AVRZXSpectrumк VGA монитору необходим RGB-VGA конвертор (zum Beispiel, http://www.zx-kit.ru/katalog-1/zxkit-001).

Подключение AVRZXSpectrumV2_0 следует выполнять в соответствии с таблицей 1, пользуясь рис. 3

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

Для подключения к устройству «магнитофона» потребуется аудиокабель «Джек 3,5 – Джек 3,5», при помощи которого соединитель XS3 стыкуется ко входу или выходу «магнитофона», в качестве которого может использоваться любое аудиоустройство с линейным выходом (Eingang). При работе с аудиоустройством следует отключать эквалайзер и все звуковые эффекты.

К соединителю XS2 (выход аудио) подключаются активные компьютерные колонки или вход усилителя НЧ, работающего на колонки. Можно также подключать высокоомные наушники.

Tabelle 1

Контакт платы Назначение сигнала Контакт SCART Bemerkung
K1 RGB ON 16 Переключение видеоустройства в режим RGB (для SCART)или цепь питания +5 die (для кодеров PAL (SECAM)). При работе с кодером PAL(SECAM) установите вместо резистора R36 перемычку.
K2 SYNC 20* Сигнал синхронизации
K3 BLUE 7 Синий компонент цвета
K4 RED 15 Красный компонент цвета
K5 GREEN 11 Зелёный компонент цвета
K6 GND 4,5,9,13,17 Общая цепь
K7 VIDEO 20* Выход ЧБ видеосигнала
K8 LEFT 6 Выход левого канала аудио
K9 RIGHT 2 Выход правого канала аудио

* На вход синхронизации SCART (Abschluss 20) подаётся сигнал с выхода синхронизации SYNC устройства либо с его ЧБ видеовыхода, в зависимости от типа монитора.

В последнюю очередь к соединителю XS5 подключается внешний источник питания (zum Beispiel, зарядное устройство с кабельным соединителем mini-USB), чего происходит старт прошитой системы.

Работа с AVRZXSpectrumV2_0 ни чем не отличается от работы с обычным ZXSpectrum, поэтому на любые связанные с этим вопросы можно получить из многочисленных книг по ZXSpectum. Для проверки работоспособности устройства можно загрузить и пройти такие тесты, как TESTPROG, AUMT, Z80TESTS, ZEXALLи т. n. Загрузить эти тесты можно как с «магнитофонного» входа, так и с SDкарты (sehen. раздел «Работа в SDDOS»).

Работа в SD DOS.

Дисковая операционная система SD DOS предназначена для работы с картами памяти micro-SD в качестве внешнего накопителя. Карту памяти micro-SD для работы в SD DOS необходимо предварительно отформатировать в файловой система FAT32 и записать на неё файлы ZX Spectrum поддерживаемого формата. В настоящее время поддерживаются файлы формата .Z80 и .SNA. Список поддерживаемых форматов файлов расширяется.

Старт SD DOS происходит при нажатии на клавиатуре клавиши «F12». При этом если карта памяти не вставлена, на экране появляется сообщение «INSERT SD CARD» с просьбой вставить карту в соединитель. Как только карта вставлена, начинается диалог с ней на аппаратном уровне. Результат диалога отображается на экране. so, zum Beispiel, можно видеть сообщение «SD CARD DETECTED», информирующее об обнаружении карты памяти, сообщение «INITIALISINGOK» говорит о нормальном завершении процесса инициализации SD карты, сообщение «FAT32 DETECTED» говорит о том, что файловая система FAT32 обнаружена. В конце диалога системы с картой появляется сообщение «STARTING COMMANDER … », предшествующее старту программы SD Commander, инструменту работы с файлами (sehen. Reis. 7).

7

Reis. 7 – старт файлового менеджера SD Commander

SD Commander представляет из себя две панели навигации (левую и правую) по файловой системе (файлам и директориям). В панелях отображаются списки файлов в выбранной директории (по умолчанию – в корневом каталоге). Навигация по директориям и файлам осуществляется при помощи клавиш управления «вниз» (следующий файл), «вверх» (предыдущий файл или предыдущий уровень вложения), «вправо» (переход в правую панель), «влево» (переход в левую панель), «ENTER» (выбор файла или директории). Auf diese Weise, для запуска файла необходимо пройти к нему по пути и выбрать его нажатием «ENTER».

Для сохранения файла на карту в формате .SNA необходимо в требуемый момент времени нажать и не отпускать клавишу F11, затем нажать F12. При запросе системы ввести имя файла с указанием расширения .SNA. Сохранённый файл появится в текущей директории.

В SD DOS также доступны следующие операции над файлами/директориями: переименование (F4), перемещение (F6), удаление (F8), создание ( F7для директорий).

Функции SD DOS расширяются, планируется поддержка самых распространённых форматов файлов для ZX Spectrum и всех стандартных операций работы с файлами, также планируется поддержка всех функций SD DOS на уровне команд Z80 типа EDхх, не занятых в микропроцессоре Z80. Также планируется функция смена программного обеспечения AVR ZX Spectrum с карты памяти, посредствам запуска ROM-файла, который будет записываться с карты памяти во внутреннюю FLASH память ЦП, что позволит не только обновлять ПО, но и загружать другие версии ZX Spectrum совместимых машин. О последних версиях программного обеспечения и новых функциях SD DOS можно узнавать у разработчика (контакты в конце статьи).

5. Programmierung

В схеме устройства четыре микроконтроллера AVR, требующие программирования. Два из них – контроллер клавиатуры D4 и контроллер эмулятора музыкального сопроцессора D8 – программируются до монтажа на плату, а оставшиеся два – видеопроцессор D1 и центральный процессор D2 программируются после установки на плату через специально предусмотренные разъёмы для внутрисхемного программирования XP1 и XP2 соответственно.

При программировании потребуется внутрисхемный программатор, использующий ISP-интерфейс – сигналы MOSI? MISO, SCK и RESET. Возможная схема программатора, подключающегося к компьютеру через LPT порт, приведена на рисунке 8 (http://www.zx-kit.ru/katalog-1/zxkit-003-1).

Bild 8 – схема LPT программатора ByteBlaster MV

6

Reis. 8.

Схема программатора сделана на основе ALTERA ByteBlaster MV (http://www.altera.ru/cgi-bin/go?35)
и адаптеров для программы AVREAL (http://real.kiev.ua/old/avreal/ru/adapters.html).
Для прошивки микроконтроллера ATMEL выведен дополнительный разъем по стандарту ATMEL.
Применяется один и тот же десятижильный шлейф, который подключается к соответствующей паре разъемов.
Питание платы программатора берется с прошиваемой платы.

Для программирования будем подключаться через соединитель XP2 (ALTERA). В качестве ПО можно использовать программу Ponyprog или AVREAL. Программатор требует напряжения питания +5В, которое в случае программирования D4 и D8 подаётся от внешнего стабилизатора, а в случае программирования D1 и D2 подводится от платы AVR ZX Spectrum, подключенной к источнику питания.

Для прошивки контроллера клавиатуры D4 и контроллера эмулятора музыкального сопроцессора D8 будем использовать файлы …\\Soft\ Контроллер клавиатуры (D4)\ zxkeyboard_v2_0.hex и … \\Soft\Эмулятор AY (D8)\ AY_Emul.bin соответственно. Эти модули прописываются во FLASH память микроконтроллеров и являются исполняемыми программами. Программирование EEPROM не требуется. Биты конфигурации должны быть установлены в соответствии с таблицей 2

Tabelle 2 – биты конфигурации контроллеров D4 и D8

Бит конфигурации Для контроллера

D4 *

Комментарий Для контроллера

D8 *

Комментарий
LOCK1 ~ Защита ПО

на Ваше усмотрение

~ Защита ПО

на Ваше усмотрение

LOCK2 ~ ~
DWEN
EESAVE ~ EEPROM не используется ~ EEPROM не используется
REPENT V По умолчанию SPI разрешён V По умолчанию SPI разрешён
WDTON WDT не используется WDT не используется
BODLEVEL2 Сброс по снижению напряжения питания

inbegriffen

Сброс по снижению напряжения питания

inbegriffen

BODLEVEL1 V V
BODLEVEL0 V V
RSTDISBL По умолчанию По умолчанию
CKDIV8 Деление частоты выключено Деление частоты выключено
CKOUT V Выход тактовой частоты разрешён
SUT1
SUT0 V
CKSEL3  

Сконфигурирован внешний кварцевый резонатор

 

Сконфигурирован внешний кварцевый резонатор

CKSEL2
CKSEL1
CKSEL0 V

* «V» означает активное (запрограммированное, «0»), «-» – неактивное (не запрограммированное, «1»), состояние бита конфигурации, «~»на усмотрение пользователя.

При программировании видеопроцессора D1 и центрального процессора D2 программатор подключается к разъёму XP1 и XP2 соответствен6но и к устройству подводится питающее напряжение. Во FLASH память D1 зашивается файл …\\Soft\Видеопроцессор (D1)\videocpu.hex из папки проекта, во FLASH память D2 зашивается один из файлов …\\Soft\Центральный процессор (D2)\Pentagon128.hex (ZX_Spectrum_48K.hex, ZX_Spectrum_128K.hex, Open_se_basic 48 К.hex, Open_se_basic 128 К.hex) из папки проекта в зависимости от желаемой модели ZX Spectrum. Außerdem, в EEPROM память D2 зашивается файл …\\ CPU (D2) \DAA_TABLE.hex из папки проекта, который является таблицей результатов и флагов для эмуляции команды DAA Z80.

При прошивке также устанавливаются (программируются, «0») следующие биты конфигурации (одинаково для D1 и D2): EESAVE, BOOTRST, CKSEL3, CKSEL2, CKSEL1, CKSEL0.

Примечание – при программировании D1 рекомендуется устанавливать D2 в режим сброса установкой джампера на контакты 5 und 6 разъёма XP2, а при программировании D2 рекомендуется устанавливать D1 в режим сброса установкой джампера на контакты 5 und 6 разъёма XP1.

6. Rückkopplung

Если у Вас есть замечания, пожелания по усовершенствованию устройства или вопросы к разработчику, просьба писать на Vasil.lisitsin@yandex.ru.

Приобрести готовое устройство или печатные платы для самостоятельной сборки April ZX Spectrum V2_0 можно у разработчика, электронная почта Vasil.lisitsin@yandex.ru, ICQ 615692808, Василий Лисицын. Также у автора можно узнать о последних версиях ПО и новых функциях устройства, получить консультацию по сборке, программированию устройства и поиску неисправностей.

Автор выражает свою благодарность Ивану Косареву (Sankt Petersburg), Игорю Титарь (Магнитогорск) и участникам Zx.pk.ru за содействие при разработке проекта.

AVR ZX Spectrum V2_0 obenAVR ZX Spectrum V2_0AVR ZX Spectrum V2_0 untenАвтор выражает свою благодарность Ивану Косареву (Sankt Petersburg), Игорю Титарь (Магнитогорск) и участникам Zx.pk.ru за содействие при разработке проекта.

Archiv des Projekts:

[hidepost] Herunterladen [/hidepost]

Видео о Радиоконструкторе AVR ZX Spectrum V2_0:

9 Bemerkungen

  1. В настоящее время в AVR ZX Spectrum реализована поддержка TR-DOS. Последнюю версию прошивки можно взять здесь: http://zx-pk.ru/showthread.php?t=23671&page=8
    Для открытия диска TR-DOS необходимо через дисковую операционную систему SD-DOS (которая также поддерживается) выбрать файл образа TR-DOS диска с расширением .TRD и на запрос SD-DOS указать один из 4 дисководов, в которые будет вставлен данный диск – EIN, B, C или D. weiter – запустить TR-DOS любым стандартным для ZX Spectrum образом (через главное меню или из бейсика). Далее дать команду TR-DOS. zum Beispiel, Listдля просмотра каталога диска, Loadдля загрузки с диска, LoadFilename” – для запуска файла с именем Filename.
    Video:

    • Модуль TurboSound с интерфейсом Kempston джойстика для AVR ZX Spectrum успешно разработан, проект поддерживается, желающие приобрести обращаются к разработчику)

  2. раз все сделано на новой элементной базе? то и подключение к TV желательно сделать безпроводным, скажем по Wi-Fi.

    • Уважаемый, как Вы это себе представляете? Принимать на TV строковые данные?

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht.