Разделы

В сети

Пользователей: 218
Из них просматривают:
Аналоги: 104. Видео: 1. Даташиты: 79. Инструкции: 6. Новости: 8. Остальное: 3. Программы: 1. Профиль пользователя: 4. Расчёты: 2. Теги: 1. Форум: 8. Чат: 1.
Участников: 3
Гостей: 215

Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)

Написал Lisitsin 17.08.2012 23:00:00 (Просмотров: 92309)

Описываемое устройство было разработано на радость всем кто помнит старый добрый персональный ком-пьютер ZX Spectrum, разработанный в Англии в 80-х годах в Sinclair Research LTD, который стал, пожалуй, самым известным и популярным персональным компьютером практически во всём мире в 80-х и 90-х годах.



Инструкция по сборке и программированию

 
Устройство представляет из себя полноценный программно-аппаратный эмулятор ПК ZX Spectrum, поддер-живающий совместимость с моделями 48 К, 128 К, Pentagon, +2, +3 и имеющий потенциал аппаратных возможно-стей для реализации эмуляции моделей с объёмом памяти ОЗУ до 512 К и общим количеством страниц памяти ROM до 3 по 16 К каждая.

 
В устройстве программно реализована эмуляция документированных и недокументированных команд мик-ропроцессора Z80, порта #FE, порта #7FFD. Поддерживается функция отображения теневого экрана.


Принципиальная электрическая схема устройства и перечень элементов приведены на рисунках 1 и 2 соответственно.

схема

Рис. 1. Принципиальная электрическая схема устройства (увеличить)

 

таблица компонентов

Рис. 2. Перечень элементов

 
На микросхеме D2 ATMega128-16AU реализован блок эмуляции центрального процессора и портов #FE и #7FFD. Видеоконтроллер реализован на аналогичной микросхеме D1, мультиплексоре D5 74AC257 и классической схеме формирования видеосигнала на транзисторах VT1-VT4 КТ315. Оба эти устройства (блок эмуляции ЦП и видеоконтроллер) параллельно работают с блоком ОЗУ, реализованном на микросхеме CY7C4096D, восьмибитном параллельном регистре-защёлке младшего адреса D6 74AC373MTC и страничном мультиплексоре D8 74AC257. Контроллер интерфейса PS/2 стандартной клавиатуры реализован на микроконтроллере D4 ATTiny2313A-SU. Стабилизатор питания выполнен на микросхеме D3 L7805.

 
Теперь рассмотрим схему и принцип работы устройства более подробно.
Блок эмуляции ЦП и портов ввода-вывода начинает свою работу с момента включения питания. При появ-лении напряжения питания +5 В, формируемого стабилизатором D3, происходит внутренний сброс контроллера D2, начальная конфигурация портов ввода-вывода и всех его внутренних устройств. Далее стартует основная программа эмуляции. Эмулируемая программа хранится во Flash памяти микроконтроллера D2 начиная с физиче-ского адреса #0000 страницами по 16 К каждая. Номер текущей страницы ROM устанавливается в специально от-ведённом регистре – указателе ROMID, который устанавливается при инициализации и обращении к порту #7FFD. Так как адрес #0000 flash памяти контроллера оказывается занятым эмулируемым кодом, адрес всех векторов прерывания, включая RESET, перенесён в область памяти #FE00, что достигается установкой («0») бита конфигурации BOOTRST c незапрограммированными («1») битами конфигурации BOOTSZ1 и BOOTSZ0.

 

В ходе эмуляции команды происходит следующее:

1. Проверка внешнего прерывания MINT (аналог маскированного прерывания INT Z80) если оно было разрешено. В случае разрешенного маскированного прерывания и его наличием происходит его обработка.

2. Инкрементируется регистр регенерации памяти R, аналогичный присутствующему в Z80.

3. Происходит проверка указателя счётчика команд PC ( аналогичен присутствующему в Z80).

4. В том случае, если счётчик команд указывает на адрес памяти ROM (flash), происходит чтение кода команды из внутренней flash памяти микроконтроллера с учётом указателя страницы ROMID. В противном случае происходит чтение кода команды из ОЗУ.

5. В соответствии с прочтённым кодом операции во внутренней регистровой паре Z микроконтроллера происходит формирование адреса, по которому находится программа эмуляции данной команды и затем происходит переход по этому адресу.

6. Выполняется собственно программа эмуляции команды.

7. В завершении происходит возврат в начало цикла эмуляции (M1) c учётом необходимых временных задержек.

При эмуляции команд, предусматривающих обращение к ОЗУ, микроконтроллер производит операцию чтения или записи ОЗУ. Реализуется это по стандартной схеме с запиранием младшего байта адреса RAM по шине AD7:AD0 в регистре-защёлке D6 по спаду сигнала ALE, после чего происходит установка старшего адреса на шине A14_CPU:A13_CPU:A12:8 и формирование сигнала чтения RAM (~RD) или записи RAM (~WR). При обращении к ОЗУ эмулятор ЦП имеет наивысший приоритет. При обращении к RAM эмулятор ЦП сигнализирует об этом видеоконтроллеру переводом сигнала RBBCP из высокого состояния в низкое. Сразу после этого происходит цикл обращения к ОЗУ, который занимает 3 такта при чтении одного байта и 6 тактов при чтении двух байт. Сразу после обращения к RAM эмулятор ЦП сигнализирует об окончании работы с ОЗУ видеоконтроллеру переводом сигнала RBBCP из низкого состояния в высокое. При обращении к области памяти RAM #C000 - #FFFF происходит подключение страницы памяти RAM, номер которой устанавливается в порте #7FFD. При этом задействуется страничный мультиплексор D8. Адреса памяти #C000 - #FFFF имеют значение старших разрядов A15:A14 равное 11. Соответственно при обращении именно к этой области памяти оба сигнала A14_CPU и A15_CPU имеют высокий уровень. При этом сигнал управления на выводе 1 (~A/B) мультиплексора D8 переходит из низкого состояния в высокое и таким образом происходит переключение старших адресов памяти RAM A17:A16:A15:A14 из состояния 0:SCRA16:A15_CPU:A14_CPU в состояние MUXA17: MUXA16: MUXA15: MUXA14, а данные сигналы формируются программно при обращении к порту #7FFD (будут описаны ниже). Также требуется отметить, что во время, когда не происходит обращения к памяти, линии PC7 и PC6 эмулятора ЦП сконфигурированы как выходы и имеют значение 01, что позволяет страничному мультиплексору D8 находиться в состоянии «A», т. е. старшие адреса RAM установлены в состояние 0001 (SCRA16=0), что необходимо для работы видеоконтроллера, который использует это время для чтения видеоданных из области адресов #4000 - #5CFF.

 

При эмуляции команд, предусматривающих работу с портами ввода-вывода #FE и  #7FFD происходит формирование или чтение соответствующих сигналов, которые представлены в таблице 1.

 

Таблица 1

Сигнал

Порт

Чтение – R

Запись - W

Описание

сигнала

BORDERH

BORDERM

BORDERL

BORDERY

#FE:2

#FE:1

#FE:0

-

W

W

W

-

BORDERH:M:L – трёхбитный цвет бордюра, адресуется видеоконтроллеру.

BORDERY – сигнал уровня контрастности бордюра, адресуется видеоконтроллеру.

Постоянно установлена пониженная контрастность бордюра, однако контрастность

бордюра остаётся программно доступной для новых разработок.

BEEP

~BEEP

#FE:4

-

W
-

BEEP – звуковой сигнал.

~BEEP – в состоянии лог. «0», однако программно доступен.

TOTAPE

#FE:3

W

Вывод сигнала на магнитофон (устройство аудиозаписи)

FROMTAPE

#FE:6

R

Ввод с магнитофона (внешнего аудиоустройства). Линия FROMTAPE является входом микроконтроллера (3-е состояние), на который заведена через резистивный делитель R18R19 половина напряжения питания (2,5 В). Этот вход микроконтроллера (PF6_ADC6) является входом внутреннего 10-битного аналого-цифрового преобразователя микроконтроллера. АЦП при этом находится в режиме непрерывного преобразования, опорное напряжение +5 В. При чтении данных из порта #FE бит 6 данных получает значение старшего бита данных АЦП.

KEYH

KEYMH

KEYM

KEYML

KEYL

#FE:4

#FE:3

#FE:2

#FE:1

#FE:0

R

R

R

R

R

Сигналы на шине KEYH: KEYMH:KEYM:KEYML:KEYL составляют младшие 5 бит кода состояния (ответа) клавиатуры при операции чтения порта #FE.

 

 

 

MUXA17

-

-

Постоянно в состоянии лог. «0». Доступен программно для реализации в дальнейшем поддержки большего объёма памяти (ОЗУ).

MUXA16

MUXA15

MUXA14

#7FFD

#7FFD

#7FFD

W

W

W

Сигналы на шине MUXA16:15:14 совместно с сигналом MUXA17 составляют старшие 4 бита адреса RAM при обращении контроллера эмулятора ЦП к странице RAM #C000-#FFFF. Эти сигналы устанавливаются в соответствии с битами 2:1:0 байта данных порта #7FFD (эти биты устанавливают номер страницы (0-7), включаемой в область адресов RAM #C000-#FFFF).

 

 

Описание работы видеоконтроллера.

Видеоконтроллер производит чтение данных из области адресов видеоданных RAM (#4000 - #57FF для обычного экрана, #0000 - #17FF – для теневого экрана), чтение данных из области адресов атрибутов ((#5800 - #5AFF для обычного экрана, #1800 - #1AFF – для теневого экрана), формирование видеосигнала из прочтённых данных, а также формирует стандартную телевизионную синхросмесь строчных и кадровых синхроимпульсов (линия SYNC).

При появлении напряжения питания +5 В, формируемого стабилизатором D3, происходит внутренний сброс контроллера D2,  начальная конфигурация портов ввода-вывода и всех его внутренних устройств. Далее стартует основная программа формирования сигналов, участвующих в построении видеосигнала. Перечень и описание этих сигналов приведены в таблице 2.

 

Таблица 2.

Сигнал

Описание

SYNC

Синхросмесь строчных и кадровых синхроимпульсов. Аналогичен стандартному сигналу синхронизации.

PIXEL

Сигнал, определяющий свечение цветом «чернил» (лог. «1») или свечение цветом «бумаги» (лог. «0»)

элементарной точки видеоизображения при прямом ходе луча.

IR

IB

IG

Красная компонента цвета чернил.

Синяя компонента цвета чернил.

Зелёная компонента цвета чернил.

PR

PB

PG

Красная компонента цвета бумаги.

Синяя компонента цвета бумаги.

Зелёная компонента цвета бумаги.

Y/2

Сигнал уровня контрастности выводимой точки: лог. «0» – нормальная, лог. «1» – повышенная.

 

 

С началом первой строки видеоизображения во внутренних регистрах микроконтроллера уже хранятся прочтённые в предыдущем сеансе чтения данные (32 байта) для вывода первой строки. Также во внутреннем ОЗУ микроконтроллера хранятся уже

прочтённые к этому времени (во время вывода нижнего и верхнего бордюров экрана) 768 байт атрибутов видеоизображения. Происходит вывод видеоданных первой строки изображения в порт PB7 (линия PIXEL) микроконтроллера. Перед выводом каждого байта видеоданных видеоконтроллер выводит в порт E байт атрибута (который устанавливает цвета «бумаги» и «чернил» и уровень контрастности (нормальная или повышенная)). Далее происходит запись в порт B байта видеоданных. Длительность вывода одной точки видеоизображения занимает три такта микроконтроллера. За это время микроконтроллер успевает выполнить собственно

вывод видеоданных, команду логического сдвига влево байта видеоданных и одну дополнительную инструкцию, либо (после вывода последнего бита байта) чтение байта атрибута из внутреннего ОЗУ. Дополнительные инструкции, не участвующие в выводе

строки видеоизображения, составляют ряд программ, ориентированных на формирование адреса внешнего ОЗУ с которого будет производиться чтение видеоданных следующей строки видеосигнала, на формирование адреса внутреннего ОЗУ с которого будет производиться чтение данных атрибутов для следующей строки видеосигнала, на формирование байта цвета левого и правого

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

После вывода последнего байта видеоизображения каждой строки микроконтроллер выводит в порт E сформированный к этому времени (в соответствии с прочтёнными сигналами цвета бордюра BORDRRH:BORDERM:BORDERL и BORDERY, установленными эмулятором ЦП) байт цвета и уровня контрастности правого и левого бордюров текущей строки. Далее происходит чтение видеоданных для следующей строки изображения во внутренние регистры микроконтроллера. При этом сначала анализируется состояние линии RBBCP занятости RAM эмулятором ЦП, и, если она находится в состоянии лог. «1» (память в данный момент доступна) происходит чтение байта данных из требуемого адреса. Операция чтения занимает три такта. После чтения производится повторный анализ линии RBBCP. Если память в это время оказывается занятой, делается вывод о конфликте доступа к памяти, и цикл чтения повторяется. Если память была доступна и после чтения, происходит чтение следующего байта по тому же принципу. Также во время вывода правого и левого бордюров изображения (между ними) происходит формирование строчного синхроимпульса отрицательной полярности на линии SYNC.

Чтение атрибутов видеоизображения во внутреннее ОЗУ микроконтроллера происходит во время формирования нижнего и верхнего бордюров изображения, между которыми происходит формирование кадрового синхроимпульса отрицательной полярности с «врезками» строчных синхроимпульсов положительной полярности. При выводе нижнего и верхнего бордюров во время строчного синхроимпульса в каждой строке происходит чтение линий BORDRRH:BORDERM:BORDERL и BORDERY и формирование байта цвета и уровня контрастности бордюра для текущей строки. Чтение байтов атрибутов из области видеоатрибутов внешней RAM происходит по принципу, аналогичному чтению видеоданных (с анализом линии RBBCP). Эффект мерцания знакоместа достигается коррекцией прочтённого байта атрибута в соответствии со значением флага OCF3A внутреннего счётчика TCNT3, настроенного на формирование флага совпадения OCF3A с частотой мерцания.

Следует также отметить, что во время вывода 249-ой строки изображения происходит формирование сигнал MINT отрицательной полярности, который адресуется эмулятору ЦП и поступает на вход AIN1 его внутреннего аналогового компаратора. По флагу прерывания этого аналогового компаратора (если оно разрешено, а разрешается и запрещается оно при эмуляции команд EI и DI разрешения и запрета маскируемого прерывания соответственно) эмулятор ЦП производит выход на программу обработки маскированного прерывания INT, которое используется при опросе клавиатуры. Частота сигнала MINT соответствует частоте кадровой развёртки – 50 Гц.

Как становится ясным из изложенного выше, эмулятор ЦП и видеоконтроллер обращаются к одному и тому же внешнему ОЗУ одновременно, при этом приоритет доступа к памяти принадлежит эмулятору ЦП. Поэтому во избежание аппаратного конфликта одновременного обращения к памяти видеоконтроллер подключен к шинам адреса, данных и управления (линии A15:8, AD7:0, ALE, ~RD, ~WR) через резисторные ограничители тока (резисторы R1-R17).  

Схема формирования компонентного видеосигнала и его отдельных составляющих R, G, B на элементах D5, VT1-VT4 с соответствующей обвязкой идентична аналогичной в классической схеме ZX Spectrum 48.

 

Описание работы контроллера клавиатуры.

Контроллер клавиатуры поддерживает стандартный интерфейс клавиатуры PS/2. Микроконтроллер D4 ATTiny2313А-SU (допустимая замена ATTiny2313-20SU) работает в режиме запуска от внешнего кварцевого резонатора на частоте 20 МГц. В связи с этим биты конфигурации микроконтроллера CKSEL3: CKSEL2: CKSEL1: CKSEL0 и CKDIV8 при программировании не устанавливаются (не запрограммированы («1»)).  Контроллер клавиатуры также является источником синхросигнала для контроллеров D1 и D2 (линия MHZ20). Установкой (программированием в «0») бита конфигурации CKOUT достигается конфигурация порта PD2 контроллера как выход тактовой частоты. После включении напряжения питания на данном порте присутствует меандр частотой 20 МГц.

При появлении напряжения питания +5 В происходит внутренний сброс контроллера D4,  начальная конфигурация портов ввода-вывода и всех его внутренних устройств. Далее стартует основная программа. При ожидании скан-кода клавиатуры происходит анализ линии KEYCLK. По заднему фронту этого сигнала происходит чтение состояния линии KEYDATA и запись соответствующего бита данных. При получении байта данных с клавиатуры происходит его анализ. При получении байта-префикса (#F0 или #E0) происходит соответствующая установка флагов состояния клавиатуры, которые используются в дальнейшем. При получении скан-кода нажатой клавиши происходит заполнение внутреннего ОЗУ контроллера кодами ответов. Взаимодействие контроллера клавиатуры с эмулятором ЦП происходит следующим образом. Изменением уровня сигнала KEYMH из состояния логической «1» в состояние логического «0» эмулятор ЦП вызывает внешнее прерывание контроллера клавиатуры. Последний уходит на подпрограмму обслуживания прерывания и производит чтение байта данных с шины A15_CPU:A14_CPU:A13:A12:A11:A10:A9:A8 (выводов порта B), на которую к этому времени эмулятор ЦП выдаёт код опроса клавиатуры. В соответствии с этим кодом контроллер клавиатуры формирует адрес внутреннего ОЗУ, по которому уже хранится необходимый код ответа, читает его и выдаёт в ответ эмулятору ЦП в порт D (на линии KEYH:KEYMH:KEYM:KEYML:KEYL). После этого эмулятор ЦП производит чтение байта ответа клавиатуры. Далее контроллер клавиатуры завершает процедуру прерывания и возвращается в основную программу.

 

Сборка устройства.
Несмотря на то, что правильно собранное и запрограммированное устройство не нуждается в регулировке и настройке, и начинает корректно работать при первом включении, всё же существует определённый порядок сборки радиоконструктора, который позволяет вовремя выявить возможные дефекты (замыкания, некачественную пайку), допускаемые при монтаже. Рассмотрим подробно порядок сборки радиоконструктора.

Сборочный чертёж (вид со стороны TOP печатной платы)
Рис. 3 Сборочный чер-

тёж (вид со стороны

TOP печатной платы)

Подготовка к работе.
Для работы понадобятся:
- схема электрическая принципиальная устройства (рис. 1);
- перечень элементов (рис. 2);
- чертёж сборочный (рис. 3 и 4);
- настоящая инструкция;
- паяльник (желательно на напряжение питания 36 В) с заземлённым жалом;
- антистатический браслет;
- кисть для очистки от канифоли;
- припой (желательно легкоплавкий)
- сосновая канифоль;
- бензин или спиртобензиновая смесь;
- вольтметр постоянного тока (измерение напряжения до 20 В);
- устройство для прозвонки (индикации) короткого замыкания цепей;
- источник питания постоянного тока с напряжением 9 … 12 В;
- монитор со стандартным композитным видеовходом;
- стандартный кабеля «тюльпан – тюльпан»;
- стандартная клавиатура с интерфейсом PS/2.

Рабочее место должно быть оснащено заземлением. Решающую роль при отыскании допущенных дефектов монтажа сыграют настольная лампа, увеличительное стекло (10х) и осциллограф с развёрткой до 20 МГц.

 
Все приборы и средства измерения должны быть надёжно заземлены на общий контур заземления. Не забывайте также о правилах безопасности пи работе с электрическими и измерительными приборами.
Перед началом работы проверьте комплектность радиоконструктора, сверив её с перечнем элементов. Проверьте также плату печатную на отсутствие дефектов: обрывов дорожек, замыканий, некачественной металлизации отверстий. Пользуйтесь при этом увеличительным стеклом и хорошим освещением. Чертежи слоёв TOP и BOTTOM печатной платы приведены на рис. 5 и 6 соответственно. Особенное внимание уделяйте участкам платы, на которые будет производиться распайка микросхем (см. рис. 3, 4).


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

Сборка схемы стабилизатора питания.
Установите на плату печатную элементы X1, D3, C2, C3, C5. Произведите описанные выше действия а) и б).

  

Сборочный чертёж (вид со стороны BOTTOM печатной платы)
Рис. 4 Сборочный

чертёж (вид со

стороны BOTTOM

печатной платы,

изображение

зеркальное)

Подключите к соединителю X1 источник питания (напряжение 9 … 12 В). При этом соблюдайте полярность включения: плюсовой потенциал должен подводиться к штыревому контакту соединителя. После подачи питания проконтролируйте при помощи вольтметра напряжение на контактах 1 и 3 микросхемы D3 относительно общей цепи. Напряжение на контакте 1 должно соответствовать напряжению источника питания,  напряжение на контакте 3 лежать в пределах (4,8 … 5,2) В. При нвыполнении этих условий произведите поиск и устранение неисправности.

 
Проконтролируйте наличие напряжения питания  (5±0,2) В относительно общей цепи на контактных площадках выводов 21, 52, 64 микросхем D1 и D2 (при этом обратите внимание, что нумерация контактных площадок микросхемы D2 имеет обратный порядок, а микросхемы D1 – прямой), на контактных площадках выводов 20 микросхем D4 и D6, на контактных площадках выводов 16 микросхем D5 и D8, на контактных площадках выводов 9 и 27 микросхемы D7. При необходимости отыщите и устраните неисправность. Отключите напряжение питания.

 
Сборка узла контроллера клавиатуры.
Внимание !  Устанавливаемый на печатную плату микроконтроллер D4 Attiny2313A-PU должен быть предварительно запрограммирован. Если этого не сделано, обратитесь к разделу «инструкция по программированию».
Установите на печатную плату элементы D4, C8, C14, C15, R20, R21, R41, R42, Z1. Произведите описанные выше действия а) и б).

 
Подключите к соединителю X1 источник питания. Проконтролируйте наличие тактового сигнала на выводе 6 контроллера D4. Сделать это можно при помощи осциллографа, наблюдаемый на его экране сигнал должен напоминать симметричный меандр и иметь частоту 20 МГц. При отсутствии осциллографа можно проконтролировать напряжение на выводе 6 контроллера D4 при помощи вольтметра. Данное напряжение должно находиться в пределах (2,5±0,25) В. Проконтролируйте также, что данный сигнал присутствует на контактных площадках выводов 24 микроконтроллеров D1 и D2. В случае отсутствия тактового сигнала необходимо произвести поиск и устранение неисправности.

 

Чертёж слоя BOTTOM печатной платы (изображение зеркальное)
Рис. 6 Чертёж слоя

BOTTOM печатной

платы (изображение

зеркальное)

Сборка узла видеоконтроллера.
Внимание !  Устанавливаемый на печатную плату микроконтроллер D1 ATMega128-16PU должен быть предварительно запрограммирован. Если этого не сделано, после установки элементов видеоконтроллера на плату необходимо произвести внутрисхемное программирование микроконтроллера, руководствуясь разделом «инструкция по программированию».
Установите на печатную плату элементы D1, D5, C4, C6, R1...R17, R22...R40, VD1...VD3, VT1...VT4, X4, X10. Соедините при помощи перемычек выводы 25 (сигнал TOVCPU) и 9 (сигнал RBBCP) с цепью +5 В. Произведите описанные выше действия а) и б).

 
Подключите к соединителю X1 источник питания. При помощи осциллографа пронаблюдайте наличие синхросигнала цепи SYNC (вывод 54 D1, можно проконтролировать на контактной площадке резистора R25). Сигнал должен иметь размах порядка 4,8 В, иметь частоту строчных синхроимпульсов порядка 16,25 кГц, частоту кадровых синхроимпульсов порядка 50 Гц. Фронты импульсов не должны быть затянуты. Проконтролируйте сигналы PIXEL ( вывод 1 мультиплексора D5), сигналы R, G, B (выводы 12, 4, 9 мультиплексора D5). Сигналы также должны иметь размах порядка 4,8 В и резкие фронты. Проконтролируйте наличие видеосигнала на центральном контакте соединителя X10. Сигнал также должен иметь резкие фронты, ярко выраженные градации уровней и чёткие импульсы строчной и кадровой синхронизации. При невыполнении хотя бы одного из описанных условий произведите поиск и устранение неисправностей.

 
Подключите выход видеосигнала устройства (соединитель X10) к стандартному видеовходу монитора при помощи стандартного кабеля «тюльпан – тюльпан». Проконтролируйте наличие изображения на мониторе. Должны наблюдаться чётко выраженные прямоугольные границы видеополя и бордюр. Изображение должно иметь устойчивую строчную и кадровую синхронизацию. Разбивка изображения на знакоместа отсутствует. Должно присутствовать мерцание отдельных полей изображения с интервалом порядка 0,25 С. Должны различаться градации серого цвета. При невыполнении данных условий необходимо произвести поиск и устранение неисправностей.

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

 

чертёж слоя TOP печатной платы
Рис. 5 чертёж слоя

TOP печатной платы

Сборка узла ОЗУ.
Установите на плату элементы D6, D7, D8, C17, C16...C19, R43, VD4, VD5. Произведите описанные выше действия а) и б). Подключите к соединителю X1 источник питания. Подключите выход видеосигнала устройства (соединитель X10) к стандартному видеовходу монитора при помощи стандартного кабеля «тюльпан – тюльпан». Проконтролируйте наличие изображения на мониторе. Должны наблюдаться чётко выраженные прямоугольные границы видеополя и бордюр. Изображение должно иметь устойчивую строчную и кадровую синхронизацию. Присутствует разбивка изображения на знакоместа. В пределах каждого знакоместа должна существовать неизменная градация серого цвета бумаги и чернил, рисунок (заполнение знакоместа) должен быть неизменен. При этом допускается мерцание знакомест с интервалом порядка 0,25 С. Должны различаться градации серого цвета. При невыполнении данных условий необходимо произвести поиск и устранение неисправностей.
Отключите источник питания от соединителя X1 устройства, отстыкуйте кабель монитора от соединителя X10 устройства. Отпаяйте установленные ранее технологические перемычки.

 
Сборка узла эмулятора центрального процессора.
Внимание ! Устанавливаемый на печатную плату микроконтроллер D2 ATMega128-16PU должен быть предварительно запрограммирован. Если этого не сделано, после установки элементов эмулятора центрального процессора на плату необходимо произвести внутрисхемное программирование микроконтроллера, руководствуясь разделом «инструкция по программированию».

 

Внимание! В связи с особенностью разводки печатной платы (контроллеры D1 и D2 включены параллельно шинами адреса, данных, управления и целым рядом других цепей) контроллер D2 необходимо устанавливать на плату предварительно отформовав его выводы в противоположную сторону для достижения реверсивной нумерации выводов. Ключи контроллеров D1 и D2 при монтаже на плату оказываются расположенными друг под другом (в одном месте).

 
Установите на плату оставшиеся элементы схемы (B1, D2, C7, C9...C13, R18, R19, X2, X3). Произведите описанные выше действия а) и б). Подключите выход видеосигнала устройства (соединитель X10) к стандартному видеовходу монитора при помощи стандартного кабеля «тюльпан – тюльпан». Подключите к соединителю X1 источник питания. Пи этом наблюдайте на мониторе изображение, характеризующее инициализацию (сброс) и устойчивый старт установленной программной версии ZX Spectrum. В случае с версиями 48К – сообщение в нижней строке «@ 1982 Sinclair Research LTD», в версиях 128К и Pentagon появляется соответствующее меню. При невыполнении этого условия необходимо отыскать и устранить неисправность.

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

 
Подключение клавиатуры.
Распаяйте проводники контроллера стандартной клавиатуры на контактные площадки платы устройства в следующем порядке:
X11 – данные;
X12 – синхронизация данных;
X13 – общий провод;
Х14 – напряжение питания +5 В.
Произведите описанные выше действия а) и б).

 
Установите плату устройства, закрепив её внутри корпуса клавиатуры. На клавиши следует наклеить предварительно распечатанные на самоклеющейся бумаге и вырезанные этикетки клавиш ПК ZX Spectrum. Подключите выход видеосигнала устройства (соединитель X10) к стандартному видеовходу монитора при помощи стандартного кабеля «тюльпан – тюльпан». Подключите к соединителю X1 источник питания. Пи этом наблюдайте на мониторе изображение, характеризующее инициализацию (сброс) и устойчивый старт установленной программной версии ZX Spectrum. Войдите в режим загрузки программного обеспечения с ленты, подключите источник аудиосигнала к соединителю X2 устройства при помощи стандартного аудиокабеля и произведите грузку требуемого тестового программного обеспечения, программы или игры. Проконтролируйте точность прохождения тестов или корректность работы загруженной программы.

 
На этом этап сборки устройства можно считать завершённым.


Приобрести радиоконструктор можно непосредственно у разработчика, направив письмо по электронному адресу vasil.lisitsin@yandex.ru или связавшись с ним по телефону +7 952 126 87 07 (Василий).

 плата

Внешний вид (увеличить) Внешний вид (обратная сторона) (увеличить)

 

25
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Модератор
Модератор
Дата регистрации: 26.01.2010
Откуда: Тирасполь
Сообщений: 3926
не в сети
Конструкция весьма интересна, но только общим подходом в реализации эмуляции целого компьютера. Повторять ради ностальгии вряд ли кто-то будет- еще можно купить оригинальные компьютеры. С точки зрения схемотехники тоже мало интересного- не совсем удачный эмулирующий процессор выбран. Один корпус ARMа все бы прекрасно решил. Ну, и если не заниматься извращениями, то NIOS II крутил бы эмуляцию десятка процессоров Z80 аж со свистом.
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Главный Технолог
Главный Технолог
Дата регистрации: 10.01.2011
Откуда: Москва
Сообщений: 473
не в сети
А может кто-нибудь рассказать, как можно видео-сигнал вырабатывать на одной меге? Я в ASM-е нефига не понимаю, предпочитаю языки высокого уровня, например BASCOM-AVR или C...


Охота выводить текст и изображения... Сейчас просто хочется сделать управление так, чтобы например в верхнем правом углу показывался растровым методом текст...
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Студент
Студент
Дата регистрации: 10.08.2012
Откуда:
Сообщений: 6
не в сети
Про язык высокого уровня здесь надо забывать ))) Требуется подсчёт каждого такта. С мегой действительно было сложно, но у неё есть SPI интерфейс, который можно использовать для вывода видеосигнала, а также есть неплохой набор таймеров-счётчиков со всевозможными режимами работы, которые можно использовать при формировании синхросигнала. В общем невозможного ничего нет, особенно на частото 20 МГц )))
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Главный Технолог
Главный Технолог
Дата регистрации: 10.01.2011
Откуда: Москва
Сообщений: 473
не в сети
Есть люди, которые на 13-ой тине собирали чёрно-белый передатчик, и даже делали возможность наложения на изображение чего-либо по маске...
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Студент
Студент
Дата регистрации: 10.08.2012
Откуда:
Сообщений: 6
не в сети
Товарищи, если кто-то собрал девайс, хотелось бы услышать отзыв. Пишем, не стесьняемся !!!. Можно на Vasil.lisitsin@yandex.ru )))
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Студент
Студент
Дата регистрации: 10.08.2012
Откуда:
Сообщений: 6
не в сети
Внимание! Проект обновлён:
http://dl.dropbox.com/u/12408899/Aspe ... full%20project%20copy.zip

Залил на сервер. //MACTEP
Скачать архив
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Школьник
Школьник
Дата регистрации: 31.03.2013
Откуда: Украина
Сообщений: 1
не в сети
Эх, эту бы железяку да лет 10 назад - цены бы ей не было, а сейчас проще запустить эмуль ZX-са на малинке...
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Школьник
Школьник
Дата регистрации: 17.05.2013
Откуда: Moscow
Сообщений: 1
не в сети
У меня наконец получилось запустить данное устройство
учитывая что это мое первое устройство полностью собранное на SMD деталях то тот опыт который я получил при сборки  для меня уникален.
а уж ностальгия от устройства
 ASPECT 128 AVR ZX Spectrum Персональный компьютер (радиоконструктор)
Студент
Студент
Дата регистрации: 10.08.2012
Откуда:
Сообщений: 6
не в сети
Внимание!
В настоящее время разработано подключение к устройству эмулятора музыкального сопроцессора AY8910(12) и SD карты. Для поддержки SD карты реализована операционная система, совместимая с FAT32.
По всем вопросам отвечу по Vasil.lisitsin@yandex.ru

Разное

Интересно

Если "ревёт" один из дросселей резонансного стабилизатора, забейте деревянный клин между его катушками.

Похожие статьи