Таблиця 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 з частотою мерехтіння.

Слід також зазначити, що під час виведення двісті сорок дев’ятого рядка зображення відбувається формування сигнал 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). Після цього емулятор ЦП виробляє читання байта відповіді клавіатури. Далі контролер клавіатури завершує процедуру переривання і повертається в основну програму.

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

Рис. 3 Складальний чер-

теж (вид з боку

TOP друкованої плати)


Підготовка до роботи.

Рис. 4 Складальний

креслення (вид з

боку BOTTOM

друкованої плати,

зображення

дзеркальне)

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

Робоче місце має бути оснащене заземленням. Вирішальну роль при відшуканні допущених дефектів монтажу зіграють настільна лампа, збільшувальне скло (10х) і осцилограф з розгорткою до 20 МГц.
Всі прилади і засоби вимірювання мають бути надійно заземлені на загальний контур заземлення. Не забувайте також про правила безпеки пі роботи з механічним і вимірювальними приладами.
Перед початком роботи перевірте комплектність радіоконструктора, звіривши її з переліком елементів. Перевірте також плату друковану на відсутність дефектів: обривів доріжок, замикань, неякісної металізації отворів. Користуйтеся при цьому збільшувальним склом і гарним освітленням. Креслення шарів TOP і BOTTOM друкованої плати наведено на рис. 5 і 6 відповідно. Особливу увагу приділяйте ділянкам плати, на які буде проводитися розпаювання мікросхем (див. рис. 3, 4).
Збірка.
Збірка радіоконструктора розбивається на кілька етапів. Після кожного етапу зборки виробляються:
а) очищення плати від каніфолі за допомогою бензину чи спітробензіновой суміші (користуйтеся при цьому кистю);
б) перевірка якості монтажу вузла і відсутність коротких замикань, допущених при пайку і при необхідності їх усунення (використовуйте збільшувальне скло, і настільну лампу, пристрій для прозвонки ланцюгів на коротке замикання);
в) включення пристрою з перевіркою функціонування відповідного вузла.