9

Radio Designer AVR ZX Spectrum V2_0 (La description, instructions de montage, instruction de programmation)

1. AperçuAVR ZX Spectrum V2_0Le dispositif décrit est un développement ultérieur de ZXSpectrum sur les microcontrôleurs AVRV1_0, déjà soumis plus tôt. Comme plus tôt, c'est un émulateur matériel-logiciel à part entière du célèbre ZXSpectrum PC à ce jour.

Spécifications techniques:

  • Résolution d'écran: 256 x 192 points;
  • Matrice de familiarité avec l'écran: 32 x 24;
  • Nombre de couleurs par familiarité: 2;
  • Afficher les couleurs de la zone: 8;
  • Nombre de couleurs de bordure: 8;
  • Le nombre de gradations de luminosité pour chaque couleur: 2;
  • Fréquence CPU équivalente: 2,333 MHz;
  • Ports d'E / S: 0xFE, 0x7FFD, 0xFFFD, 0xBFFD;
  • Interface clavier: PS / 2;
  • Nombre de clés utilisées: 82;
  • Nombre de canaux sonores: 4;
  • Liste des canaux sonores: gauche AY8910, droite AY8910, moyen AY8910, poivre;
  • Sorties vidéo: Sortie BW, Sortie RVB, sortie de synchronisation séparée;
  • Prise en charge du chargement / déchargement "sur bande": il y a;
  • Périphériques d'E / S supplémentaires: carte Micro SD;
  • Modèles ZXSpectrum pris en charge: Pentagone 128 K, zxspectrum 128 K, ZXSpectrum48 K, Spectre Zx + 2, Spectre Zx + 3, ZXSpectrum48 K` 2006; OPEN SE BASIC 128 K, OPENSEBASIC 48 K,
  • Système d'exploitation supplémentaire: SDDOS;
  • Système de fichiers: FAT32;
  • Connecteur de bus E / S: il y a;
  • conception: PCB double face 140 x 22 mm, installation à l'intérieur du clavier ou dans un boîtier séparé;
  • Alimenter l'appareil: connecteur mini-USB «F», tension +5 la.

Comme vous pouvez le voir à partir des caractéristiques techniques données, la version V2_0 diffère de son prédécesseur par un certain nombre de, améliorations matérielles et logicielles.

  1. Système d'exploitation de la carte SD et du disque SDDOS, s'exécutant sous le système de fichiers FAT32, vous permet de préparer facilement des fichiers sur un PC compatible IBM, les écrire sur la carte mémoire, et exécutez-les également instantanément dans SDDOS;
  2. Le clavier est maintenant considérablement étendu. Le clavier supplémentaire est entièrement utilisé, Touches F1…F12, «-», «+», «[», «]», «:», «/», «<», «>», «» », qui offre une commodité importante;
  3. Il est possible d'installer un connecteur clavier sur la carte. Ce qui rend plus pratique la conception de la disposition de la carte dans tous les cas.
  4. Émulateur de coprocesseur de musique AY8910(12) maintenant ne soude pas dans les vias, mais est connecté au bus système sur le connecteur;
  5. Les connecteurs séparés pour la programmation externe des microcontrôleurs ATMega128-16AU sont supprimés;
  6. L'appareil est maintenant alimenté via le connecteur mini-USB, installable sur carte, ce qui permet d'utiliser des chargeurs et des alimentations conventionnels pour les nombreux gadgets d'aujourd'hui pour alimenter l'appareil;
  7. Le CPU est maintenant correctement orienté sur la carte;

2. Diagramme schématique électrique

Le schéma de l'appareil est montré dans la figure 1.

L'appareil peut être divisé en les blocs fonctionnels suivants:

  • l'unité centrale de traitement est montée sur des éléments D2, C2, C2, R17…R19, R26, C10…C13, XS3, XP2;
  • le contrôleur de clavier est fait sur des éléments D4, C4, C6, BQ1, R11, R17, R26, XS1;
  • l'unité de traitement vidéo est réalisée sur les éléments D1, C1, R1…R8, XP1;
  • l'unité de mise en forme du signal vidéo est implémentée sur les éléments D3, C5, R9, R12…R41, VT1…VT5, VD1, VD2, K1…K7;
  • Le bloc RAM de pagination est réalisé sur les éléments D5…D7, C7…C9, VD1, VD2;
  • le bloc d'émulateur de coprocesseur musical est implémenté sur les éléments D8, C17…C24, R43…R46, BQ2, XS2 XS6, K8, K9;
  • bloc d'alimentation comprend des éléments DA1, C14, C15, XS5.

image 1 - schéma électrique AVRZXSpectrumV2_0

régime

Fig.1.

Le connecteur XS4 est pour la connexion de la carte mémoire micro-SD.

Comme le montre le diagramme, le dispositif est implémenté sur huit microcircuits. Les huit microcircuits fonctionnent sur la tension d'alimentation +5 la, qui est connecté via le connecteur mini-USB XS5. Une tension est nécessaire pour alimenter la carte micro-SD 3,3 la, qui est formé par le stabilisateur de tension DA1 ZR78L033G (remplacement possible - L78L33ACUTR, Paquet SOT-89).

Considérons séparément le principe de fonctionnement de chaque unité fonctionnelle.

Unité centrale de traitement exécuté sur le microcontrôleur D2 ATMega128-16AU (Paquet TQFP64). Il effectue la tâche d'émuler le microprocesseur Z80 Zilog et les ports d'E / S. Équipes Z80, émulé par le processeur central, situé dans la mémoire FLASH du microcontrôleur à partir de l'adresse physique 0X8000 en pages de 16 Pour chaque. ainsi, à partir de cette adresse, lors de la compilation du projet, vous devez placer les fichiers ROM de la ROM des machines émulées compatibles ZX-Spectrum. Une fois la tension d'alimentation appliquée, les dispositifs internes du microcontrôleur sont initialisés, utilisé par lui au travail, configuration du port d'entrée / sortie du microcontrôleur, formation de tables dans la RAM du microcontrôleur, utilisé lors de l'émulation des commandes Z80. Ensuite, il y a un processus cyclique de vérification d'une interruption masquée., récupérer l'instruction émulée, incrément du compteur de programme, transition et exécution du programme d'émulation de l'instruction sélectionnée et retour au début du cycle. S'il y a une interruption masquée activée, une transition vers le programme pour son traitement se produit.

Signal d'interruption masqué (signal MINT) vient au CPU du processeur vidéo D1 avec une fréquence d'images - 50 Hz. Pour le traiter, utilisez l'entrée AIN du comparateur analogique du contrôleur, puisque l'interruption du comparateur analogique peut être rapidement vérifiée avant d'échantillonner l'instruction suivante. Il peut également être facilement activé et désactivé., ce qui est utilisé lors de l'émulation des commandes EI et DI.

La RAM externe de la CPU est accessible de manière standard via l'interface de mémoire externe. В начале цикла обращения к внешнему ОЗУ микроконтроллер выставляет сигнал 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 et 5 при этом устанавливаются в «1», mais un peu 6 определяется старшим битом данных кода аналого-цифрового преобразователя контроллера, подключенного к разряду 6 порта F. АЦП контроллера настроен на величину опорного напряжения, равного напряжению питания. ainsi, если уровень сигнала 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. Бит 3 участвует в выборе обычного («0») или теневого «1») экрана. При этом при выборе режима «обычного экрана» сигналы A15_CP и A14_CP устанавливаются в «0» и «1» соответственно, а при выборе режима «теневой экран»в нули. Бит 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 (sortir), 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), для которых эта частота выше гарантированной в соответствии с фирменным техническим описанием (Fiche technique), так что они работают в режиме overclock,и как показывает практика, вполне устойчиво.

При подачи питания происходит инициализация контроллера, конфигурация и начальная установка его портов ввода/вывода. Сигналы KEYDATA (les données) и 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 (Paquet TQFP64). В его задачу входит чтение видеоданных из области видеоданных ОЗУ, чтение из ОЗУ атрибутов цвета, формировании видеосигнала, сигнала синхронизации, установке цвета бордюра, а также формировании эффекта мерцания (Éclat) знакомест с единичным значением бита 7 атрибута.

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

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

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

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

Как делается понятным, достоверными будут только те прочтённые данные, которые были прочитаны в отсутствии операций чтения/записи ЦП внешнего ОЗУ. При этом интерфейс со стороны ЦП внешней памяти закрыт, и линии A15_cp и A14_CP установлены ЦП в соответствии с выбранным экраном (voir. раздел о работе блока ЦП). При этом видеопроцессор всегда программно отключен от линий A15_CP и A14_CP, которые управляют работой страничного мультиплексора. ainsi, в это время в режиме обычного экрана A15_CP=0, A14_CP=1, SCRA16=0, страничный мультиплексор скоммутирован на передачу на выход сигналов секции А, et, ainsi, сигналы A17A14, определяющие старшие 4 бита адреса ОЗУ, установлены в значение «0010», чему соответствует область памяти ОЗУ, отведённая под обычный экран. В режиме теневого экрана A15_CP=0, A14_CP=0, SCRA16=0, страничный мультиплексор скоммутирован на передачу на выход сигналов секции А, et, ainsi, сигналы 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 À, регистре-защёлке младшего адреса D6 74AC373MTC (возможная заменаMC74AC373DT), корпус TSSOP-20 и страничном мультиплексоре D7 74AC257D, корпус SOIC-16. Пространство, адресуемое ЦП, составляет диапазон от 0X0000 до 0XFFFF (64 À). Старшие 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.

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

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

Même si, что реальный музыкальный сопроцессор AY8910(12) Il a 3 звуковых канала А, la, Avec, в эмуляторе их только два: L и R. Канал А подключен к левому L, канал С к правому R, а канал В программно разделяется и смешивается между каналами L и R. Также и сигнал бипера, подводимый на вход PD4 микроконтроллера (сигнал /BEEP), программно разделяется и смешивается между каналами L и R. Таким образом формируется готовый стерео выход.

3. Сборка

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

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

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

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

2

riz. 2 et

3

riz. 2 b

3

riz. 3.

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

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

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

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

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

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

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

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

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

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

4

riz. 4.

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

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

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

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

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

5

riz. 5.

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

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

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

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

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

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

6

riz. 6.

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

Émulateur de coprocesseur de musique AY8910(12) собирается на отдельной плате (voir. riz. 3), которая идёт в комплекте с основной платой.

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

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

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

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

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

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

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

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

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

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

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

Table 1

Контакт платы Назначение сигнала Контакт SCART Remarque
K1 RGB ON 16 Переключение видеоустройства в режим RGB (для SCART)или цепь питания +5 la (для кодеров 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 (conclusion 20) подаётся сигнал с выхода синхронизации SYNC устройства либо с его ЧБ видеовыхода, в зависимости от типа монитора.

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

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

Работа в SD DOS.

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

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

7

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

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

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

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

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

5. Программирование

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

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

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

6

riz. 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

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

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

D4 *

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

D8 *

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

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

~ Защита ПО

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

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

inclus

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

inclus

BODLEVEL1 V V
BODLEVEL0 V V
RSTDISBL Défaut Défaut
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. de plus, в EEPROM память D2 зашивается файл …\\ CPU (D2) \DAA_TABLE.hex из папки проекта, который является таблицей результатов и флагов для эмуляции команды DAA Z80.

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

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

6. Rétroaction

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

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

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

AVR ZX Spectrum V2_0 topAVR ZX Spectrum V2_0AVR ZX Spectrum V2_0 bottomАвтор выражает свою благодарность Ивану Косареву (Saint-Pétersbourg), Игорю Титарь (Магнитогорск) и участникам Zx.pk.ru за содействие при разработке проекта.

Archive du projet:

[Masquer le message] télécharger [/Masquer le message]

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

9 commentaires

  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 дисководов, в которые будет вставлен данный диск – UNE, B, C или D. Suivant – запустить TR-DOS любым стандартным для ZX Spectrum образом (через главное меню или из бейсика). Далее дать команду TR-DOS. par exemple, Listдля просмотра каталога диска, Loadдля загрузки с диска, LoadFilename” – для запуска файла с именем Filename.
    Vidéo:

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

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

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

Laisser un commentaire

Votre adresse email ne sera pas publiée.