/
Author: Златаров В.К. Иванов Р.М. Михов Г.С.
Tags: радиотехника електротехника инженерство електроника радиоелектроника
Year: 1984
Text
Проф. к. ф. м. н. В. ЗЛАТ АРОВ, к. т. н. Р. ИВАНОВ,
к. т. н. Г. МИХОВ
ПРИЛОЖЕНИЕ
НА МИКРОПРОЦЕСОРНИ
СИСТЕМИ В ЕЛЕКТРОННИ
УСТРОЙСТВА
KN34PC, 5 юли 2008 година
ДЪРЖАВНО ИЗДАТЕЛСТВО „ТЕХНИКА*
СОФИЯ, 1984
УДК 681.3
В предложената книга се разглеждат конкретни въпроси
по проектиране на модули за електронни устройства с микро-
процесорно управление. Отделено е внимание на управлението
на различии периферии устройства за съхраняване на цифрова
информация върху магнитен носител, управление на клавиатури
и цифрови индикатори, управление на аналогово-цифровн и циф-
рово-аналогови преобразуватели, управление иа печатащи устрой-
ства, изобразяване на буквено-цифрова и графична информация
с телевизионни дисплеи, програмиране на памети от типа EPROM
и др. Разгледани са осноъиите проблемн при настройка и диаг-
ностика иа електронни устройства с микропроцесорно управление.
Киигата е ориентирана изцяло към използуването на микропро-
цесорната фамилия М6800. За по-добро изясняване на действие-
то на някои от предложеннте схеми са дадени и управляващи
программ.
Книгата е предназначена за специалиста, конто проектират
и използуват микропроцесорни системи в електронното уредо-
строене.
©Васил Кръстев Златаров
Рано Маринов Иванов
Георги Славчев Михов, 1984
с/о Jusautor, Sofia
681.3
ПРЕДГОВОР
От появата на първата микропроцесорна система (МПС) из-
мина само около едно десетилетие, но днес вече почти няма об-
лает и направление на електрониката и техниката, в конто не се
прилагат или не могат да се прилагат микропроцесори (МП).
Повсеместното използуване на микропроцесорите от широк
кръг специалисти предполага добро познаване на принципи-
те им на работа и възможностите за приложението им. Самите
микропроцесори се появиха благодарение на развитието и взаимо-
действието на две специфични области на електрониката — мик-
роелектрониката и изчислителната техника. Днес обаче микропро-
цесорите и големите интеграл >и схеми (ГИС) от микропроцесор-
ните фамилии служат като градизни елементи на цялата електро-
ника, каквито са например операционните усилватели, логически-
те елементи и другите интегрални схеми с различна степей на ин-
теграция. Разбира се, микропроцесорите имат по-сложно устрой-
ство и по-широка облает на приложение от „класическите" инте-
грални схеми. Именно благодарение на тях със средствата на
електрониката днес се решават сложни задачи за събиране, ре-
гистриране, обработка и съхраняване на информация.
В нашата страна се обръща голямо внимание на микропро-
цесорната техника (МПТ). Усвоено е производството на различии
ГИС от микропроцесорните фамилии. Разработени са устройства
и системи с микропроцесорно управление за разнообразии прило-
жения в народного стопанство.
Ускореното внедряване на микропроцесорите, както и разра-
ботката и внедряването на микропроцесорните системи,зависи в
голяма степей от знанията и уменията на специалистите, конто
се занимават с това, а следователно и от наличната литература
за подготовка и повишаване квалифпкацията им. У нас са изда-
дени редица оригинални и преводни книги по микропроцесори
[4, 5, 11, 12, 15, 24, 25 и др.]. Широко се използуват така също
и книги на руски език [1, 3, 8, 14, 17, 20, 27 и др.], както и раз-
личии периодични и фирмени издания. Тази литература е посве-
теиа главно на основите на микропроцесорната техника и на уни-
версалните микрокомпютри.
Настоящата книга няма за цел да даде пълни и всеобхватни
знания по въпросите на микропроцесорната техника, нито да въ- >
веде читателя в тази облает, каквато задача има по-голямата част
от посочената по-горе налична у нас литература в областта на
тази техника. Книгата е резултат на многогодишната работа на
3
авторите за решаване на конкретни задачи по разработката на
микропроцесорни устройства и система с различно предназначение
и приложение. Тя представлява опит да се разширят знанията по
конкретни схеми и устройства с микропроцесорно управление
(МПУ). Авторите се надяват, че по такъв начин допълват и кон-
кретизпрат съществуващата у нас литература в тази облает.
Книгата е ориентирана към най-разпространената у нас мик-
ропроцесорна фамилия — МС68О0, по-голяма част от интегрални-
те схеми на която се произвеждат и у нас като микропроцесор-
на фамилия СМ600. Дадени са конкретни разработки с тяхното
програмно осигуряване. Разгледани са съществени въпроси от
работата на микропроцесорите и периферните адаптери. По-голя-
мо внимание е обърнато на периферните адаптери и устройства
като евързващо звено с източниците и потребителите на инфор-
мацията, обработвана с помощта на МПС.
Глава 1 представлява въведение в областта на микропроце-
сорите и тяхното приложение. В глава 2 е разгледана организа-
цията на МПС с различна сложност. Глава 3 е посветена на въп-
росите на въвеждането и извеждането на цифрова и аналогова
информация в МПС, а глава 4—на проектирането и настройката
на МПС. В глава 5 са описани накратко микропроцесорни модули
и устройства с 1МПУ, разработени от авторите.
Материалът в книгата може да се използува рационално са.
мо ако читателят е запознат предп това с действие™ на микро-
процесорите и МПС. За целта могат да послужат посочените ве-
че издадени у нас книги. В такъв случай книгата помага да се
вникне по-дълбоко в проблемите на конкретного използуване на
микропроцесорите и тяхното решаване.
Накрая бихме желали да благодарим на рецензентите д. т. н.
проф. Ю. Маринов, ст. н. с. И. Доцински и ст. н. с. М. Димит-
рова за старателното преглеждане на материала и за критичните
и пенни забележки по отношение на оформянето му. Освен това
изказваме благодарността си на н. с. П. Петков, инж. М. Митев,
инж. X. Пенев и к. т. н. Е. Димитров за съдействието им при
написване на книгата.
Отзиви и мнения отпоено съдържанието и оформянето на
книгата се приемат на адрес: София 1000, бул. Руски № 6,
ДИ „Техника".
Авторите
4
ГЛАВА 1
ВЪВЕДЕНИЕ
През третото и четвъртото десетилетие на нашия век радио-
електрониката започна да разширява сферата на проблематиката и
приложенията си извън областите на радиотехниката и съобгце-
нията. Появиха се промишлената електроника, силовата електроника,
електронното уредостроене, медицинскаталелектроника, ядрената
електроника и др. По-късно бяха разработени електронноизчислител-
ните машини, чието бързо развитие беше осигурено по-нататък на
базата на полупроводниковата техника. Създадените полупроводни-
кови прибори и ичтегрални схеми намериха разнообразии прило-
жения и в други области-—в научнитс изследвания, в бита, в ав-
томббилостроенето и др. Днес трудно може да се намери облает
на човешката дейнсст, в която не се използуват илн не могат да
се използуват различии електронни устройства. При това поради
редица предимства все повече се прилагат цифрови електрон-
ни устройства.
Особено голямо постижение в областта на цифровата елек-
тронна техника през последното десетилетие е разработваието и
внедряването на микропроцесорите. Благодарение на тях
се създаде ново поколение електронноизчислителни машини —
микрокомпютрите. Освен това разработват се все повече електрон-
ни устройства с микропроцесорно управление, конто намират при-
ложение в промпшлепостта, бита, научните изследвания, управле-
ние™, медицината и другаде. В тези устройства обаче особено
голяма роля играят входните и изходните блокове и схеми, кон-
то преработват съответно постъпващата входна и получената из-
ходна информация (данни) с оглед по-нататъшното й използува-
не, а самите микропроцесори са важен блок (елемент), на конто
са поверени управление™ и изпълнението на редица аритметпчнп
и логически операции.
По своята елементна база и структурна схема съвременните
електронни устройства с микропроцесорно управление са сходни
със специализираните микрокомшотри. Въпреки това обаче елек-
тронии устройства, като например електронннте волтметри, оецн-
лоскопите, медицинските и други апаратури с микропроцесорно
управление, не трябва да се причисляват към класа на специали-
зираните микрокомпютри, защото тези устройства имат много
специфични особености, блокове и схеми, част от конто са общи.
5
Именно общите входни, изходни и други блокове и схеми, при-
лагани в електронните устройства с микропроцесорно управление,
са главен обект на разглеждане в настоящата книга.
1.1. ОБЛАСТИ НА ПРИЛОЖЕНИЕ НА МИКРОПРОЦЕСОРИТЕ
/ Управление
Z на
/ие^производ -
/ ^\ството
'Авиация X
космос X.
/б’х
Информационна
-измервател-
натехни-^s J
ка
% /7\\
^Съэбщителни/ / \'
\ система / I \
\ /Изчис-1 \
\ Улителна! \
\zтехника /„ 1
Х/3% IВоенно
X. IrexHUKt
/Аруги \
—''''Учебн^А
-УшзаВехданД
'~~'<Ц>анспор2т1
,Медици>'~~1
\на
SumoSK
1 техника'
Фиг. 1.1. Процентно разпределение на нзпол-
зуванего на микропроцесорите
Селско стопанство:
/5%
Микропроцесорната техника навлезе повсеместно във всички
области на живота. Според никои автори конкретните приложения
на микропроцесорите днес са десетки и даже стотици хиляди.
Едно приблизително раз-
пределение на процентного
използуване на микропро-
цесорите в различните об-
ласти е дадено на фиг. 1.1 [1]
Тук са изброени по-
съществените възможни
приложения на микропро-
цесорите.
Промишленост: управ-
ление на производството;
технологични и контролно-
измервателни съоръжения;
промишлени роботи и ма-
нипулатори; контрол на ка-
чеството на продукция-
та; материално-техническо
снабдяване; пласмент на
продукцията; контрол на
разхода на електроенер-
гия, вода, газ н др.
на селскостопански машини;
управление на кравеферми, инкубатори и др.; планиране работата
по засаждането, събирането на реколтата и др
Наука: математическо и физическо моделиране на процеси;
анализ и обработка на резултатите от експерименти; планиране и
ръководене на експерименти: статистическа обработка на резулта-
ти; управление на научни апаратури и устройства.
Радиоелектроника: електронни измервателни устройства; уп-
равление на уреди и устройства; моделиране на електронни схеми;
автоматизация на инженерния труд.
Транспорт: управление на транспортни средства (автомобили,
самолета и др.); осигуряване на безопасността; отчитане на дви-
жение™ на пътници, товари и транспортни средства; оптимизира-
не на превозите.
Енергетика: управление работата на електростанции; отчита-
тане на разпределението на енергията; управление работата на
енергетични съоръжения.
6
Медицина: диагностика и назначаване на лечение; управление
на изкуствени органи; управление на медицински учреждения.
Освен това микропроцесорите все по-широко се използуват в
банките, библиотеките, геофизиката, съобщенията, криминалисти-
ката, метеорологията, полиграфията, образованието, спорта в би-
та и друга де.
1.2. ХАРАКТЕРИСТИКИ НА МИКРОПРОЦЕСОРИТЕ
Характеристиките на микропроцесорите могат да се разделят
на две групи. Първата група са характеристики на микропроце-
сорите като цифрови електронни устройства:
—разредност на паралелно обработваната информация:
— възможности за адресираче на памет и периферии адаптери.
— магистрална организация; ’
— брой на вътрешните регистри;
— видове прекъсвания и възможностите им;
— програмно осигуряване.
Втората група са характеристиките на микропроцесорите
ка то ИС:
— технология на получаване;
— бързодействие;
— консумирана мощност;
— съвместимост с ТТЛ логически схеми;
— захранващи напрежения;
— надеждност.
1.3. КЛАССИФИКАЦИЯ НА МИКРОПРОЦЕСОРИТЕ
Класификацията на микропроцесорите може да се извърши
по няколко признака.
По технологията на производство микропроцесорите биват
PMOS, NMOS, CMOS, ТТЛ, ЕСЛ и И2Л. По-голямата част от
микропроцесорите се произвеждат по NMOS технология (МС6800,
СМ601, Intel 8080 и др.) Микропроцесорите, произведен!! по CMOS
технология, са с малка консумация, висока шумоустойчивост и
сравнително голямо бързодействие. С голямо бързодействие са и
микропроцесорите, изпълнени по ЕСЛ и ТТЛ технология. Поради
по-голямата консумирана мощност обаче тези микропроцесори се
изпълняват с по-малка разредност (2 или 4 bit), но имат възмож-
ност за паралелно свързване за увеличаване на разредността.
По разредност микропроцесорите могат да бъдат 2-, 4-, 8-,
12-, 24- и 32-битови. 4-битовите микропроцесори са с ограничен!!
възможности и се използуват главно за управляващи устройства
на битови електроуреди. 8-битовите микропроцесори са най масо-
7
во използуваните (МС6800, Z80 Intel 8080, българският микропро-
цесор СМ601 и др.)- 16- и 32-битовите микропроцесори по въз-
можностите си се изравняват с миникомпютрите (най-разпростра-
нени от тях са Intel 8086, Z8000, MC68000 и др.) и са предназ-
начени за обработка на големи масиви от данни.
По предназначението си микропроцесорите се класифицират
като универсалии или специализирани. Специализираните микро-
процесори имат най-често допълнителни инструкции за конкретни
задачи.
Може да се направи класификация и по броя на ИС, необхо-
дими за една минималка микропроцесорна конфигурация. По този
показател се забелязват две основни тенденции. Едната е към
повишаване разредността, респ. изчислителната мощност на мик-
ропроцесорите. Втората тенденция е окрупняване и обединяване
на микропроцесора, паметите RAM, ROM или EPROM и изводите
вход/изход (периферните адаптери В/И). Такива са микропроцесо-
рите Intel 8748, МС687О1, МС68705 и др. Те са изключително
удобна за вграждане в малки измервателни и управляващи устрой-
ства.
Класификацията на микропроцесорите може да се извърши и
по други признаци — бързодействие, брой на регистрите и др.
1.4. ОСНОВНА БЛОКОВА СХЕМА НА МИКРОПРОЦЕСОРНА СИСТЕМА
На фиг. 1.2 е дадена основната блокова схема на микропро-
цесорна система. Микропроцесорът (МП) е свързан с останалите
блокове на системата чрез три магистрали (адресна магистрала,
магистрала данни и управляваща магистрала). За осигуряване на
работата на МП е необходим тактов генератор (ТГ) за двете
тактови честоти Ф1 и Ф2. Повечето микропроцесорни фамилии са
снабдени с генераторни ИС Генераторът може да се реализира
също и с ТТЛ ИС. Той трябва да позволява на системата да ра-
бот с динамични памети, да има възможност за директен достъп
до паметта и др. Към него има и определени изисквания, кон-
кретни за всеки микропроцесор.
Чрез адресната магистрала, магистралата за данни. и
управляващата магистрала микропроцесорът извършва обмен
на информация с паметите RAM и ROM и с адаптерите В)И.
В микропроцесорните системи се използуват статична и динамич-
на памет RAM. Като статични памети RAM се използуват съвме-
стими с ТТЛ ИС памети (СМ8102 с организация IK X 1 bit,
СМ8104 с организация 256x4 bit). Голямо разпространение са
получили статичните памети RAM 2102 (IK X 1 bit), 2101
(256X4 bit), 2114 (1 К X 4 bit), 6116 (2 К X 8 bit) и др.. Тези па-
мети се произвеждат от различии фирми (тук не се дават фирми-
те-производители). Динамичните памети RAM изискват опре-
8
сняване на всеки 32 или 16 p.s, което е един сыцествен техен
недостатък. Обемът на тези намети е по-голям от обема на ста-
тичните памети при равни други условия. У нас се произвежда
Фиг. 1.2. Обобщена блокова схема на електронно устройство с микропроцесорно
управление
динамичната памет СМ8108 (4КХ 1 bit). Произвеждат се сыцо
динамични памети с обем 16 К X 1 bit и 64 К X 1 bit.
Основните операции, чрез конто микропроцесорът извършва
обмен на данни с останалите блокове от системата, са четене (R)
и запас (W). Тези операции се извършват с помощта на трите
вида магистрали. Освен паметите ROM и RAM към основните
елементи на микропроцесорната фамилия спадат и блоковете за
последователен и паралелен интерфейс (PIA и ACIA). Чрез тях
се осъществява връзката на микропроцесорната система с други
електронни устройства, с датчици, с оператора и др.
Много важни за конкретните електронни устройства са на-
чинът и средствата за въвеждане, извеждане и съхраняване на
информацията. Използува се ръчно въвеждане на информацията
с бутони, ключове и клавиатури, като може да се въвежда циф-
рова и буквено-цифрова информация (най-често в код ASCII, да-
ден в приложението). Получената в резултат на обработката ин-
формация се подава най-често на цифрови индикатори (със све-
тодиоди, с течни кристали, с цифрови лампи и др.) и телевизион-
ни дисплеи за буквено-цифрово и графично изобразяване (хистогра-
ми, графики и др.). Информацията се извежда и с печатащи
устройства (ВИПУ, ТТУ, модел 310 и др.). За по-продължително
съхраняване на информацията се използува записването й върху
9
магнитен носител. От съображения за малък обем и ниска цена
наустройствата за тази цел се използуват главно касетофони за
звукозапис с подходящ блок, преобразуващ цифровата информа-
ция, както и запомнящи устройства с гъвкав магнитен диск (англ,
floppy disk ). Записите върху касетофон имат ред недостатъци:
последователен достъп, бавно намиране на необходимия запис
(файл) и бавно въвеждане на записа в микропроцесорната систе-
ма. Най-често записът върху касетофона е със скорост 300 bit/s.
Устройствата с гъвкави дискове имат много бърз обмен — 220 К
bit/s при обем на записа върху една дискета 300 Kbit формати-
ран запис. Има също и миниустройство с гъвкави днскове с по-
мадки дискетн и опростена механика с обем на паметта на една
дискета 70 Kbit форматиран запис. За да може да се осигури
връзка с различии датчици, са необходими средства за въвеж-
дане на аналогова информация в микропроцесорната система.
Това се прави с многоканални аналогово-цифрови преобразувате-
ли (АЦП) за преобразуване на аналоговата информация в цифро-
ва. Използува се и обратното преобразуване от цифрова в анало-
гова информация (ЦАП).
В следващите глави се разглеждат изискванията, начините на
решаване и конкретните решения на въпросите по оргаиизацията
на микропроцесорните системи, въвеждането, извеждането и съ-
храняваяето на информацията. Тъй като тези въпроси включват
както схемотехнически, така и програмяи проблеми, разглеждане-
то се прави комплексно — схемотехнически и програмно.
ю
ГЛАВА 2
ОРГАНИЗИРАНЕ НА МИКРОПРОЦЕСОРНА СИСТЕМА
2.1. ОСНОВНИ ЕЛЕМЕНТИ НА МИКРОПРОЦЕСОРНАТА
ФАМИЛИЯ М6800
Главен елемент във всяко управлявано от микропроцесор
електронво устройство е централният процесор. От него се опре-
дели организацията на управляващата микропроцесорна система.
Фирмите — производителям на микропроцесорни фамилии, осигуря-
ват почти всички необходими елементи за осъществяването на
микропроцесорни системи. Не е обаче задължително свързаните
в една микропроцесорна система елементи да принадлежат към
една микропроцесорна фамилия, защото, подчинявайки се на един
от основните принципи на електронната техника, повечето от еле-
ментите, произвеждани от различии фирми, са съвместими. Това
се отпася най-вече за постояините памети, паметите с произволен
достъп, буферните схеми и т. н. Същевременно обаче във всяка
микропроцесорна фамилия влизат и специфични само за нея еле-
менти, чието заменяне е или изключително трудно, или невъзмож-
ио. На първо място това е микропроцесорът, определяю, облика
на фамилията. Някои от фупкциите на интерфейсните адаптери би-
ха могли да бъдат реализирани с други елементи, но тогава се
губи гъвкавост и удобство при управление™ им.
Микропроцесорната фамилия М6800 понастоящем включва го-
лям брой интегрални схеми, улесняващи значително работата на
потребителя. Като основни предимства на тази фамилия могат да
се посочат малкият брой на допълнително необходимите компо-
ненти, единно захранване от +5V, простота както в схемотехни-
ческо, така и в програмно отношение, съвместимост с ТТЛ ИС.
•Във фамилията М6800 се използува единно поле на адресиране
както на паметта, така и на другите компонента. Процесорът об-
щува с тях както с клетки от паметта, което значително облек-
чава управлението на магистралите.
2.1.1. Централен процесор (MPU) МС6800
8-битовият NMOS централен процесор МС6800 е монолитна
интегрална схема, изпълняваща основните управляващи функции
във фамилията М6800 на фирмата „Motorola". Той е съвместим
11
с ТТЛ ИС и се нуждае само от един токоизточник с напрежение
+ 5V. Вътрешната блокова схема на централния процесор МС6800
е дадена на фиг. 2.1. Той притежава 16-битова адресна магистра-
ла за пряко адресиране на 64К адреса, 8-битова двупосочна ма-
Ajy Ац Ац А„ А|0 Aj Ag Ay Ag А$ Aj, Ад А2 Л, Ао
Dy Ds ^2 В*
H- старта част ; L - младша част
Фиг. 2.1 Блокова схема на централния процесор МС6800
гистрала за данти и управляваща магистрала. Вътрешните му ре-
гистри са 6, от конто двата акумулатора (АССА и АССВ) и ре-
гистърът на кода на условията (CCR) са 8-битови, а броячът на
командите (PC), индексният регистър (IX) и стековият показалец
(SP) са 16-битови. Аритметичните и логическите операции се из-
пълняват в 8-битовото аритметично-логическо устройство (ALU).
Управлението и синхронизацията на микропроцесора МС6800
се осыцествява от външни сигнали, под чието въздействие се
формират вътрешните състояния, вътрешните сигнали и изходни-
те управляващи сигнали. В следващото описание са обяснени всич-
ки линии на микропроцесора МС6800.
Входни линии за сиихроимпулси „фаза 1“ и „фаза 2м
(Фр Ф2). На два от изводите на микропроцесора се подават две
непокриващи се по фаза тактови поредици Ф2 и Ф2 с амплитуда
12
4-5V. Тези необходими за работата на микропроцессора тактови
поредици са показани на фиг. 2.2. Максималната стойност нанис-
кото ниво на <1»! и Ф2 е 0,3V. а минималната стойност на ви-
сокото ниво —4,7V. Фронтовете на двете фази не трябва да бъ-
Ijismin 10 jts так
50 ns max
ф,
430ns min'
30 ns max
$2
Ons min Ons min j
'0,3V
50 ns 'пах
f ^500 ns 7ПДХ
b30ns min
b,TV
VO,3Y
_50ns max
Фиг. 2.2. Тактови поредици за MC680J
дат по-продължителни от 50 ns. Тактовите входове на микропро-
цесора имат входен капацитет 804-160 pF и консумират входен
ток 100 рА. Честотата на тактовите поредици може да се про-
меня в граници от 100 kHz до 1 MHz. Не е необходимо двете
фази да бъдат еднакви по продължителност* но минималната про-
Дължптелност на всяка от фазите е ограничена на 430 ns, а макси-
малната — на 4500 ns. Времето от един положителен фронт на
до следващия положителен фронт на Ф, представлява един микро-
процесорен цикъл. Той съдържа в себе си активного време на Фх
и следващото го активно време на Ф2.
Изходна магистрала за адрес (А04-А16). Микропроцесорът
МС6800 притежава 16-битова адресна магистрала, за конто са из-
ползувани 16 извода от корпуса му. Всяка линия от адресната ма-
гистрала има на изхода си буфер с три състояния, който може да
управлява един стандартен ТТЛ товар с капацитет до 130 pF.
Изходна линия „действителен адрес на паметта" (УМА).
Този изход указва в какво състояние е микропроцесорът през
текущий цикъл: ако при даден цикъл микропроцесорът общува
с паметта, на линията VMA има логическа 1, а ако микропроце-
сорът се обръща към вътрешните си регистри, на линията VMA
има логическа 0. Ако в два или повече последователни цикъла
микропроцесорът се обръща към паметта, VMA стой постоянно
в логическа 1, т. е. преходните процеси на установяване на адрес-
ните линии за тези цикли ще се извършат при VMA=1. Изходът
VMA няма високоимпедаисно състояние и може да управлява един
стандартен ТТЛ товар с капацитет до 30 pF.
Входно-изходна магистрала за данни (D04-D7). Линиите от
•Активного време на фазите е времето, през което съответната фаза се
намира на нисоко ниво, така че под «продължителност на фаза Ф. . .“ се разби-
ра именно това време.
13
магистралата за данни заемат 8 извода на микропроцесора. Те са
дпупосочни и служат за обмен на информация между микропро-
цесора и паметта. Тези линии имат входно-изходни буфери с три
състояния, конто могат да управляват един стандартен ТТЛ то-
вар с капацитет до 130 pF при операцията „запис в паметта". Те
са съвместими с ТТЛ ИС и при четеие от паметта.
Входна линия „разрешение на магистралата за данни"
(DBE). Този вход се използува за управление на състоянието на
входно-изходните буфери на магистралата за данни. Те са разре-
шени, когато DBE=1, и са забранени при DBE=0. Входът из-
исква ТТЛ нива на сигнала DBE, като обаче за правилна работа
на микропроцесора е необходима синхронност с тактовата поре-
дица Ф2. Когато няма специални изисквания към обмена на данни
между микропроцесора и паметта, сигналите DBE и Ф2 са еднак-
ви по време. Ако е необходимо магистралата за данни да бъде
предоставена на друго устройство, на входа DBE трябва да бъде
подадена логическа 0.
Изходна линия „четене/запис" (R/W). Изходът R/W е с бу-
фери с три състояния и може да управлява един стандартен ТТЛ
товар и капацитет до 130 pF. Сигналът R/W съобщава на паметта
дали микропроцесорът се намира в състояние на четене (R/W ==
— 1) или запис (R/W = 0). В зависимост от състоянието на линия
R/W входно-изходните буфери на магистралата за данни действу-
ват като входове при R/W=l и като изходи при R/W = 0. Съот-
ношенията по време при изпълнение на операцията „четене от па-
метта" са показани на фиг. 2.3. За реализираие на тази операция
е необходим един цикъл на синхронизиращите импулси Ф] и Ф2.
При положителния фронт на Ф! микропроцесорът формира сигна-
лите R/W, VMA и адреса. След известно закъсне ше, което е по-
малко от 300 ns, сигналите R/W и VMA се установяват в логи-
ческа 1, а на адресната магистрала се получава новият адрес. По
време на фазата Ф2 на избраната намет се разрешава да изпрати
към микропроцесора данните, конто трябва да се установят на
магистралата за данни най-малко 100 ns преди отрицателния фронт
на Ф2, под чиято команда те се зареждат във вътрешен регистър
на микропроцесора. Състоянието на магистралата за данни тряб-
ва да остане непроменено поне 10 ns след отрицателния фронт
на Ф2. Съотношенията по време при изпълнение на операцията
„запис в паметта" са дадени на фиг. 2.4. При положителния фронт
на Фх микропроцесорът формира сигналите R/W, VMA и адреса.
След закъснение, по-малко от 300 ns, сигналът R/W се устано-
вява в логическа 0, VMA — в логическа 1, а на адресната маги-
страла се получава новият адрес. С постъпването на положител-
ния фронт на сигнала DBE микропроцесорът предава данните по
магистралата за данни, конто се установяват не по-късно от 225 ns
от този момент и се задържат поне 10 ns след отрицателния фронт
на DBE. Избраната памет трябва да приеме данните под команда
14
на отрицателния фронт на DBE. Ефективното време за достъп до
паметта може значителяо да се увеличи, ако положителният фронт
наЯЭВЕ се „изтегли" преди положителния фронт на Ф2. Трябва
да/се има предвид, че минималното време на състоянието DBE = 0
Фиг. 2.3. Времедиаграми на цикъл ,четене“
Ф,
R/W
Адрес
VM
D8E
Данни
от MPU
Ф2
Фир. 2.4. Времедиаграми на цикъл ,запис“
е 150 ns. По аналогичен начин продължителността на състояние-
то DBE=1 може да се намали (положителният фронт на DBE да
бъде след положителния фронт на Ф2), но не бива да стане по-
мадка от 450 ns.
15
Изходна линия „достъпни магистрали" (ВА). При работа на
микропроцесора на изхода ВА има логическа 0. Когато мпкро-
процесорът спре вследствие на подадена логическа 0 на входа му
HALT или при изпълнение на инструкцията WAI, изходът ВА се
установява в логическа 1. С това се показва, че всички линии,
притежаващи буфери с три състоячия, са се установили във ви-
сокоимпедансното си състояние, а линията VMA—-в логическа 0.
В състояние ВА=1 е разрешен достъпът на друго устройство до
микропроцесорните магистрали. Изходът ВА може да управлява
един стандартен ТТЛ товар с капацитет до 30 pF.
Входна линия „начално установяване" (RESET). Този вход
служи за установяване на микропроцесора в начално състояние и
стартиране на работата му. Използува се винаги след включване
на захранващото напрежение или при необходимост от ново на-
чално стаотиране. Сигналът на входа RESET трябва да бъде ло-
гическа 0 най-малко 8 тактови периода на Фх от момента, кога-
то след включване на захранващото напрежение то достигне
4,75V. След първите 8 такта наФ„ докато RESET=0, на адрес-
ната магистрала на микропроцесора има адрес FFFE, но VMA = 0,
a R/W = l. След катовходът RESET премине в логическа 1, VMA
се установява също в логическа 1 и през първия следващ микро-
процесорен цикъл от адрес FFFE се извлича старшият байт, а
през втория следващ микропроцесорен цикъл от адрес FFFF —
младшият байт на началния адрес на програмата. Този адрес се
зарежда в брояча на командите и през третия следващ микро-
процесорен цикъл започва изпълнението на програмата оттам.
Сигналът RESET може да бъде напълно асинхронен спрямо син-
хроимпулсите на микропроцесора. Ако положителният му фронт
дойде не по-късно от 200 ns преди положителния фронт на Ф1;
микропроцесорът започва процедурата RESET в предстоящий ми-
кропроцесорен цикъл. За повторно стартиране на микропроцесо-
ра от работно състояние е необходимо сигналът RESET да бъде
логическа 0 поне три микропроцесорни цикъла. Сигналът RESET
установява в 1 бит I (маска на прекъсването) от регистъра на
кода на условията. Времедиаграмата на процеса на начално уста-
новяване,е показана на фиг. 2.5. ___
Входна линия „заявка за прекъсване" (IRQ). При постъп-
ването на логическа 0 на този потенциален вход се дава заявка
на микропроцесора за изпълнение на програма, обслужваща пре-
късването. Заявката за прекъсване се възприема при положение,
че битът за маската на прекъсване I в регистъра на кода на усло-
вията не е 1. При получаване на тази заявка микропроцесорът
започва изпълнението на подготвителна процедура за обслужване
на прекъсването. Той изчаква завършването иа текущата инструк-
ция, конто е започнала преди пристигането на сигнала IRQ или
16
2 Приложение иа микропроцесорни
диии
___-----г._^____ PC 8+15 PC 0-7 Пър-
ЗА ;’:Л.< ""-''-у-'у^ЖтаК____)(____________ва инструкция___________
Г ' ] Нсрпре5рле>'3 С1ст.:яние
Lu— 3 '
Фиг. 2.5. Времедиаграми на сигнала RESET
до 200 ns след него. Съ-
държанието на брояча на
командите (PC), индексиият
регистър (IX), акумулато-
рът А (АССА), акумулато-
рът В (АССВ) и регистърът
на кода на условията (CCR)
се запомнят в стека. След
тази подготвителна проце-
дура микропроцесорът ус-
тановява в 1 бита за мас-
ка на прекъсваяе I, забра-
нявайки по този начин въз-
приемането на други заяв-
ки за прекъсване, извлича
от адрес FFF8 старшия
байт, а от адрес FFF9
младшия байт на началния
адрес на програмата за об-
служване на прекъсването.
Този адрес се зарежда gb
брояча на командите и от
него започва изпълнението
на програмата. Във входа
FRQ могат да бъдат обеди-
нени няколко заявки за пре-
късване чрез „монтажно
ИЛИ“. За целта се пре-
поръчва той да бъде
свързан през резистор 3
kQ към +5V.
Входна линия „нема-
скируемо прекъсване"
(NMI). При отрицателен
фронт на сигнала, действу-
ващ на този вход, микро-
процесорът трябва да из-
пълни програма, обслуж-
ваща немаскируемото пре-
късване. Битът за маската
на прекъсване I в регис-
търа на кода на условията
не влияе върху възприема-
нето на сигнала NMI. Как-
то и при сигнала IRQ, мик-
ропроцесорът изчаква за-
вършването на инструк-
цията, чието изпълнение
е започнало преди при-
стигането на NMI или
до 200 ns след него.
Съдържанието на броя-
ча на командите, индек-
сният регистър, двата
акумулатор а и регистъ-
рът на кода на условия-
та се запомнят в стека.
Микропроцесорът уста-
новява в 1 бита за мас-
ка на прекъсване I и
извлича от клетки FFFC
и FFFD старшин и млад-
шия байт на началния,
адрес на програмата,
обслужваща немаскиру-
емого прекъсване. Този
адрес се зарежда в броя-
4а на командите и от
него започва изпълнение-
го на програмата. За оп-
гималното управление на
аяколко прекъсвания,
эбединени във входа
MMI чрез „монтажно
ИЛИ", се препоръчва
зключването на външен
резистор 3 kfi между
гози вход и +5V.
За ускорено обслуж
зане на прекъсваиията
в програмния комплект
la МС6800 е предви-
дена инструкция „очак-
зане на прекъсване'
(WAI). При изпълнение
на тази инструкция мик-
ропроцесорът запомня
в стека съдържанията
на брояча на команди-
ре, индексния регистър,
Двата акумулатора и
регистъра на кода на
^словията, т. е. изпъл-
Фиг. 2.7. Времедиаграми на инсгрукцията WAI
19
нява подготвителната процедура при обслужване на пре-
късване. След това всички линии, имащи буфери с три състоя-
ния, се поставят във високоимпедансното състояние, а изхо-
дът VMA — в логическа 0. Това продължава, докато не при-
стигне сигнал IRQ, NMI или RESET. При пристигането на такъв
сигнал само се извличат началните адреси на съответните програ-
ми и се преминава към изпълнение на тези програми. На фиг. 2.6.
са показани времедиаграмите при обслужване на прекъсване, а на
фиг. 2.7—’Времедиаграмите на инструкцията WAI.
В набора инструкции на централния процесор МС6800 е пред-
видена инструкция „программ прекъсване" (SW1). При нейното
изпълнение в стека се запомня съдържанието на вътрешните ре-
гистри на микропроцесора и от клетки FFFA и FFFB се извличат
съответно старшият и младшият байт на началния адрес на про-
грамата, обслужваща програмното прекъсване, и се преминава към
нейното изпълнение.
В табл. 2.1. е показано разположението на векторите на пре-
късване в полето на паметта на МС6800.
Входна линия „стоп" (HALT). При появата на логическа 0
на потенциалния вход HALT микропроцесорът завършва изпълне-
нието на текущата инструкция и спира, като установява логи-
ческа 1 на изхода си ВА и логическа 0 на VMA, а всички линии
с три състояния на изхода си минават във високоимпедансното
си състояние. Това продьлжава, докато на входа HALT не се
възстанови логическата 1. За правилна работа на микропроцесо-
ра е необходимо сигналът HALT да не се установи в логическа 0
през последните 250 ns на такта Ф, от последняя микропроцесо-
рен цикъл на текущата инструкция. Препоръчва се отрицател-
ният фронт на HALT да бъде синхронизиран с положителния фронт
на Ф,. Ако сигналът HALT стане логическа 0 в интервала до 100 ns
след положителния фронт на Ф, в последний цикъл на текущата
инструкция, микропроцесорът ще спре след изпълнение на тази
инструкция. Когато се появи сигнал HALT = 0 след този интервал
в последняя цикъл на дадена инструкция, микропроцесорът ще
Таблица 2.1
Be ктор Предназначение
стзрши банд* младши байт
FFF8 FFF9 IRQ —заявка за прекъсване
FFFA FFFB SWI — програмно прекъсване
FFFC FFFD NMI — немаскируемо прекъсване
FFFE rb'FF RESET — начално уста новяване
20
спре след завършване на следващата инструкция. Ако микропро-
цесорът е спрял чрез HALT = 0 и получи заявка за обслужване на
прекъсване (IRQ или NMI), заявката се запомня и се изпъл-
нява, след като сигналът HALT премине в логическа 1. Ако
Последен иипл на текишата инстоикиия единична инструкций
Фиг. 2.8. Времедиаграми на сигнала HALT н поединнчно изпълняване на инструкции
при НАСТ—0 пристигне сигнал RESET, микропроцесорът се уста-
новява в следчото състояние: VMA=0, ВА = 0, R/W=l, магистра-
лата за данни във високоимпедансно състояние, на адресната ма-
гистрала — установен адрес FFFE. След като HALT стане логи-
ческа 1, се изпълнява процедурата на началното установяване. На
фиг. 2.8 са дадени съотношенията по време при наличието на сиг-
нал HALT=0.
Последователността на работа на микропроцесора и изпълне-
нието на различните видове прекъевания се поясняват допълни-
телно от алгоритмичния модел на работа на централния процесор
МС6800, показан на фиг. 2.9.
Входна линия „управление на третото състояние" (TSC).
При работа на микропроцесора нивото на този вход е логи-
ческа 0. При преминаването му в логическа 1 адресната магистра-
ла и линията R/W се установяват във високоимпедансното си съ-
стояние, а изходите VMA и ВА — в логическа 0. Така адресната
магистрала е достъпна за други устройства при директив адреси-
ране на паметта. Сигналы на входа TSC не въздействува върху
21
Фиг. 2.9. Алгоритмичен модел яа централния процесор МС6800
I — буферен бит. Използува се като междинно звено при изчистване на бит I от CCR st
въвеждане на эакъснеиие от един период на микропроцесорния цикъл
22
буферите на магистралата за данни, конто се разрешават от сиг-
нала DBE. Използуването на входа TSC трябва да се съпътству-
ва с подходяще управление на тактовия генератор на микропро-
цесора, както е показано на фиг. 2.10. Установяването на TSC в
Фиг. 2.10. Времедиаграми на сигнала TSC
логическа 1 трябва да стане синхронно с положителния фронт
на ФР Еновременно с това трябва да се спрат синхроимпулсите
на микропроцесора—Ф! въВ високо ниво, Ф2 в ниско ниво (точ-
ка А\ Сигналъг DBE трябва да стане логическа 0, за да се уста-
новят изходните буфери на магистралата за данни във високо-
импедансното си състояние. Връщането на TSC в логическа 0 и
тук трябва да се извърши по положителния фронт на Ф: (точка В),
а освобождаването на двете фази и DBE — по следващия поло-
жителен фронт на Ф! (точка С). Трябва да се има предвид, че
микронроцесорът реагира на сигнала TSC не по късно от 700 ns
след неговото установяване. Тъй като МС6800 е динамично устрой-
ство, спирането на неговите синхроимпулси не трябва да бъде за
повече от 4,5 ps, за да не се разруши информацията във вътреш-
ните му регистри.
Вътрешните регистри на централния процесор МС6800 са по-
казана на фиг. 2.11. Те са програмно достъпни чрез набора от
инструкции. Тези регистри са следните:
Брояч на командите (PC) —16-битов регистър, съдържащ
адреса на текущата команда.
23
Стеков показалец (SP)—16-битов регистър, съдържащ адре-
са на следвашата клетка от организирания стек. При МС6800 стекът
е външен по отношение на микропроцесора.
Индексен регистър (IX)—16-битов регистър, съхраняващ
данни или адрес при индексна адресация.
15
CCR
7 0
ЛССА Акумулатор А
7 0
леев Акукулитор В
о
Инёексеч регистър
_о
~ j Ьрсг.ч на кСнандите
IX
PC
SP
7
екои показалец
: "гпа кеда
К
Пренос (от йот 7)
— Препълване
-- Резултат пула
- Отрицателен резултат
- Маска на прекъсване
Пол у пронес (от Сит 3)
Фиг. 2.11. Вътрешни рсгистри на МС6800
Акумулатори (АССА и АССВ) — два 8-битови акумулато-
ра — А и В. В тях се съхраняват операндите и резултатът от из-
пъляението на операциите в аритметично-логическото устройство.
Регистър на кода на условията (CCR)—8-битов регистър,
съдържащ признаците на резултата при завършване на операция
в микропроцесора. Двата най-старши бита не се използуват и са
постоянно в 1. Останалите битове имат следното значение: Н —
полупренос, I — маска на прекъсването, N — отрицателен резултат,
Z — резултат нула, V — препълване, С —• пренос или заем.
2.1.2. Периферен интерфейсен адаптер (Р1А) МС6820
За паралелното въвеждане и извеждане на информация в
микропроцесорна система, изградена на базата на фамилията
М6800, е разработен специализираният периферен интерфейсен
24
адаптер МС6820. На фиг. 2.12 е показана блоковата схема на
PIA МС6820. Използуването му в системи изисква решаването на
два типа проблеми. На първо място това е осъществяването на
връзката между PIA и микропроцесора. Втори, но не по-маловажен
Фиг. 2.12. Блокова схема па PIA МС6820
въпрос е връзката на периферния интерфейсен адаптер с външни-
те устройства.
Обменът на информацията между микропроцесора и PIA се
осъществява по осемте двупосочни линии, за данни (Do-^DJ.
Техните буфери представляват устройства с три състояния и се
намират непрекъснато във високоимпедансното си състояние
освен в случая, когато микропроцесорът изпълнява операцията
„четене от Р1А“.
Посоката на предаване на информацията между микропроце-
сора и Р1А се управлява посредством подадения сигнал на входа
за четене/запис RIW. Логическа 0 на този вход разрешава
въвеждането на информация в PIA, ако той е избран и разрешен.
Обратно, при логическа 1 на входа R/W изходните буфери на
линиите за данни се разрешават ( ако PIA е избран и разрешен)
за подаване на информацията към микропроцесора.
25
Като разрешение за периферния интерфейсен адаптер служи
логическата 1 на входа Е. Същевременно фронтовете на импул-
сите на този вход се използуват за съгласуване по време на
всички сигнали в PIA. Тъй като информацията между микропро-
цесора и PIA се обмена по време на сигнала DBE, нормално този
сигнал се подава на входа Е. Ако в микропроцесорната система
има организирана динамична памет или канал за директен достъп
до паметта, изискващ спиране на сигнала DBE за известно време,
към входа Е на включените периферии интерфейсни адаптери
трябва да бъде подаден неспиращият сигнал Ф2 (тактът за па-
метта), за да не бъде нарушена синхронизацията им.
Избирането на PIA се осъществява от трите входа за из-
бор на чип (CS0, CSV CS2). За да бъде избран PIA, е необходи-
мо на входовете му CS0 и CS! да има логическа 1, а на входа
CS2 — логическа 0. Входовете са потенциални и подадените към
тях сигнали не трябва да се променят, докато микропроцесорът
се обръща към PIA.
От гледна точка на микропроцесора PIA представлява четири
адресируеми клетки от паметта. За избирането на някоя от тях
се използуват двата входа на PIA за избор на регистър (RS^
и RSJ). Нормално към тях се свързват двете младши' адресни
линии на микропроцесора — Ао и АР
Общо нулиране на всички вътрешни регистри на PIA се из-
вършва чрез подаване на логическа 0 на в>. ода му RESET.
PIA има две независими страна — А и В, с помощта на кон-
то се осъществява връзката му с периферните устройства. Всяка
една от страните може да подава заявка за прекъсване към ми-
кропроцесора— изходи 1RQA и IRQB. Тези изходи са с отворен
колектор и могат да бъдат обединени в „монтажно ИЛИ“ и по-
дадени към входовете IRQ или NMI на микропроцесора.
Всяка от страните на PIA има две управляващи линии и 8-
битова паралелна магистрала за въвеждане и извеждане на инфор-
мация от и към външни по отношение на микропроцесорната си-
стема устройства.
Управление™ на всяка от страните на PIA се осигурява от
по три регистъра:
— регистър за посока на данни DDRA (В);
— изходен регистър ORA(B);
— управляващ регистър CRA(B).
Общо тези регистри са 6, но за микропроцесора те представ-
ляват четири клетки от паметта, защото изходният регистър и
регистърът за посока на данни на всяка страна се намират на
един и същи адрес. Изборът между тези два регистъра е вътре-
шен за PIA и се определя от състоянието на бит В2 на съответния
управляващ регистър.
Регистърът за посока на данни DDRA(B) е 8-битов. Всеки
26
негов бит съответствува на едноименната периферии линия. Дадена
периферна линия ще бъде ориентирана като вход, когато в съот-
ветствуващия й бит от DDRA(B) е записана 0, и като изхоД —
при записана 1.
Когато микропроцесорът записва в изходните регистри ORA
и ORB информация, по отрицателния фронт на сигнала Е тази
информация излиза само на онези периферии линии, конто са
програмирани като изходи. Информацията, намираща се на пери-*
ферните информационни линии, програмирани като вход, се стро-
бира по положителния фронт на сигнала Е в изходните регистри
и може да бъде прочетена от микропроцесора. Има малка разли-
ка при четенето на програмираните като изходи периферии линии
от страна А и страна В. В страна В има буфери с три сьстояния
между регистъра ORB и периферните линии и при нея информа-
цията в ORB за периферните линии, програмирани като изходи,
не се влияе от външното им натоварване. При страна А информа-
цията, която се намира на периферните линии действува върху
Към шипи
данни
От OR А
Периферия А
Изходен буфер на страна А
Периферия В
Фиг. 2.13. Изходни буфери на PIA МС6820
ORA независимо от това, дали линиите са програмирани като вход
или изход. Битовете в ORA, ориентирани като изходи, ще бъдат
прочетени от микропроцесора правилно само ако външното нато-
27
варване на периферните линии не е по-голямо от допустимою, за
да не промени ТТЛ нивата. На фиг. 2.13 са дадени изходните
буфери на страните А и В.
Всяка страна има по две външни управляващи линии. Те до-
пълват връзката на PIA с периферните устройства и спомагат за
по-гъвкавото й изграждане. Линията СА] (CBj) е ориентирана са-
мо като входна за PIA. Чрез ней външните устройства могат да
подават към PIA сигнал за обслужване. Линията СА2 (СВ2) може
да бъде ориентирана както като вход, така и като изход. Тя има
няколко режима на работа, позволяващи организирането на удо-
бен обмен между PIA. и периферните устойства. Различните режи-
ми на работа на тези управляващи линии се определят изцяло от
съдържанието на двата управляващи регистъра — CRA и CRB,
както следва (вж. табл. 2.2).
Битът В2 на управляващия регистър CRA (В) определя да-
ли се избира изходният регистър или регистърът за посока на
данни, когато микропроцесорът се обръща към техния общ адрес:
при В2==0 микропроцесорът избира DDRA(B);
при В2=1 микропроцесорът избира OR А (В).
Битовете В{„ Bt и B-t на съответния управляващ регистър
определят режима на работа и използуването на периферната ли-
ния САг (СВ]). Сигналите на CAj (СВХ) могат да въздействуват
върху PIA само при фронтовете си.
Битът В7 представлява флаг на заявка з? прекъсване от
СА! (СВ]). Той се установява в 1 винаги и само при активен фронт
на сигнала по тази линия. Нулира се при четене на изходния ре-
гистър ORA (В) или при подаване на сигнал RESET.
Определянето на активния фронт па СА] (СВ,) за установя-
ване на бит В7 в 1 се извършва от състоянието на бит Вг на
CRA (В). Ако В] = 0, като активен фронт се определя отрицател-
ният, а ако BL=1—положителният.
Битът Во разрешава или забранява подаването на заявка за
прекъсване от изхода IRQA (В) към микропроцесора при активен
фронт на САХ (СВ|). Ако Во=О, подаването на заявка за прекъс-
ване при активен фронт на САХ (СВд) се забранява, а ако Bj = l,
подаването на заявка за прекъсване се разрешава. Тогава при
активен фронт на САХ (CBJ битът В7 се установява в 1 и съще-
временно на изхода IRQA (В) се появява логическа 0, която стой
Таблица 2.2
В, 1 1 Be 1 в6 в4 В, в. В1 в.
Флаг IRQA(B)! Флаг Управление на Trqa(B)7 > САз (Св2) Достъп до DDRA (В) Управление 1 на CA,(CBi)
28
дотогава, докато Во се установи в 0 или се нулира В7 [при по-
ложение, че в този момент не се подава заявка за прекъсване от
СА2 (СВ2)]. Ако при разрешаване подаването на заявка за пре-
късване от САХ (СВХ) битът В7 на CRA(B) е бил установен в 1,
на изхода 1RQA(B) ще се появи логическа 0.
Състоянието на битовете Вя, B.it Въ и Вл на съответния
управляващ регистър определят режимите на работа на перифер-
ната линия СА2(СВ2).
Ако ВБ=0, линията СА, (СВ2) е ориентирана като вход и из-
пълнява същата функция, както и линията CAt (CBJ. Тогава би-
товете В6, В4 и В3 изпълняват спрямо СА2 (СВ2) същата функция
както битовете В7, В( и Во спрямо СА( (CBj). Битът BG е флаг на
заявка за прекъсване от СА2 (СВ2) и се установява в 1 при акти-
вен фронт на СА2 (СВ2), а се нулира при начално установяване
(логическа 0 на входа RESET) или при прочитане на изходния
регистър ORA (В). Битът В4 определи активная фронт на СА2 (СВ2).
При В4=0 активен фронт е отрицателният, а при В4=1—поло-
жителният. Битът В3 разрешава (В3=1) и забранява (В3 = 0) пода-
ването на заявка за прекъсване, когато Ве се е установил в 1.
Ако ВБ = 1, линията СА2 (СВ2) е ориентирана като изход и
може да работи в три режима — потенциален, импулсен и потен-
циално-импулсен. Когато В4—-1, линията СА2 (СВ2) работи в п о-
тенциален режим, като повтаря състоянието на бит В3 [ако
В3 = 0, СА2 (СВ2) = 0; ако В3= 1, СА2 (СВ2) = 1[. Импулсният и
потенциално-импулсният режим на СА2 и СВ2 са различии
При импулсен режим на СА2 състоянието на битовете е
В5 = 1, В4 = 0 и В3=1. Тогава СА2 става логическа 0 след четене
на изходния регистър от страна А и се връща отново в логичес-
ка 1 от следващия фронт на импулса Е. След четече на ORA се
получава кратък отрицателен импулс, който информира външното
устройство, че микропроцесорът е прочел информацията от ORA
и то може да подаде следващата информация.
При потенциално-импулсен режим на СА2 състоянието
на биговете е В3== 1, В4 —0 и В,---0. Тогава СА2 преминава в ло-
гическа 0 след четене на изходния регистър от страна А и се
връща в логическа 1, когато В7 на CRA се установи в 1 вслед-
ствие на активен фронт на САР При този режим на външното
устройство се съобщэва, че микропроцесорът е прочел информа-
цията от ORA и то може да подаде следващата информация, ка-
то съобщи от своя страна за това чрез активен фронт на САГ
Поведението на СВ2 в импулсен и потенциално-импулсен ре-
жим е подобно на СА, с тази разлика, че тези режими се реали-
зират чрез запис в ORB. Пои импулсен режим на СВ2, когато
микропроцесорът записва в ORB, на изхода СВ2 се появява кра-
тък импулс, който съобщава на външното устройство, че инфор-
мациям му е подадена и то може да я прочете. При потенциално-
импулсен режим на СВ2 на външното устройство се съобщава,
29
че микропроцесорът е записал информацията в ORB и то може
да я прочете, потвърждавайки за това чрез активен фронт на СВР
Имяулсният и потенциално-импулснияг режим на СА2 и СВ2
не могат да се реализират при запис в ORA и при четене на ORB.
В такива случаи се прибягва до използуването на допълнителни
инструкции в програмата, чиято цел е изкуствено да осъществят
тези режими. Например инструкцията за запис в страна А може
да бъде последвана от инструкция за четене на ORA, както и
инструкцията за четене на страна В може да бъде последвана от
инструкция за запис в ORB.
В микропроцесорната фамилия М6800 понастоящем се произ-
вежда и периферен интерфейсен адаптер под номер МС6821. Той
е функционален еквивалент на МС6820 с тази разлика, че пери-
ферните му линии имат товароспособност два ТТЛ входа, докато
тези на МС6820 имат товароспособност само един ТТЛ вход.
2.1.3. Асинхронен последователен интерфейсен адаптер
(ACIA) МС6850
Асинхронният последователен интерфейсен адаптер МС6850
е елемент от микропроцесорната фамилия М6800, осигуряващ
връзка между микропроцесора и периферии устройства, изисква-
щи асинхронен последователен обмен на информацията. Обменът
се нарича асинхронен, тъй като информацията се предава от
ACIA към периферното устройство или обратно по всяко време,
без да бъде синхронизирана, като се използува стандартен фор-
мат, показан на фиг. 2.14. Всеки символ се състои от 7 или 8
информациоини бита, конто се предхождат от един стартов бит и
са последвани в края от 1 или 2 стопови бита. Преди стоповите
Полна информационна дима
/ —
О- —
ЧДО Д, Рг D3 Ds РВ/
7или 8 информационна бита
1 или 2
стопови
бита
Стартов бит
Контролен бит
Фиг. 2.14. Формат на думите за асинхронен последователен
обмен на информация
битове може да има контролен бит за четност или нечетност.
Стартовият бит е логическа 0 и по него се синхронизира
приемникът на данни. Стоповите битове са логическа 1 и се изпол-
зуват при крайна проверка за синхронизация на символа.
30
ACIA преобразува получените от микропроцесора данни от
паралелен в последователен формат, допълва ги със стартов, сто-
пов и контролен бит и ги изпраща към съответното периферно
устройство. Обратно, при получаване на последователна информа-
Фиг. 2.15. Вътрешна блокова схема на ACIA МС6050
ция от периферно устройство ACIA я преобразува в паралелен
формат за изпращане към микропроцесора. На фиг. 2.15 е показа-
на вътрешната блокова схема на асинхронния последователен нн-
терфейсен адаптер МС6850. Микропроцесорът записва в регистъ-
ра за предавани данни информацията, която ще се извежда чрез
ACIA. Управляващата логика в предавателната част прибавя към
нея стартов, стопов и контролен бит. Така синтезираната инфор-
мационна дума постъпва в изходния преместващ регистър, такту-
ван от външен генератор. Инфбрмацията излиза последователно с
младшия бит напред. При приемане данните постъпват от външ-
ното устройство във входния преместващ регистър, тактуван от
външен генератор. Когато цялата последователна дума влезе в
31
премествэщия регистър, информационната й част се прехвърля в
регистъра за приемами данни и микропроцесорът може да я про-
чете оттам.
Свързването на ACIA към микропроцесорните магистрали се
извършва чрез 8-битова магистрала за данни, три линии за избор
на чипа, линия за избор на регистрите, линия за разрешение, ли-
ния за сигнала R/W и линия за изпращаяе заявка за прекъсване
към микропроцесора.
Двупосочната магистрала за данни на ACIA (Do^-D-J се
свързва към магистралата за данни на микропроцесора. Тя е
снабдена с изходни буфери с три състояния, конто се намират във
високоимпедансното си състояние, освен в случайте, когато мик-
ропроцесорът чете регистрите на ACIA.
Разрешение за работа на входно-изходните буфери за данни
на ACIA се дава само тогава, когато на входа „разрешение* (Е)
има логическа 1 Нормално за този вход се подава сигналът DBE
от микропроцесора. Импулсите на Е синхро.зизират дейността на
вьтрешните регистри на ACIA. Ако в организираната микропро-
цесорна система се използуват режими на работа, при конто за
определено време сигналът DBE се спира, към входа Е на ACIA трябва
да се подаде неспираш синхросигнал Ф2 (тактът за паметта).
Посоката, в конто преминават данните през входно-изходните
буфери за данни на ACIA, се определи от състоянието на входа
„четене!запис" (R/W), конто се свързва към микропроцесорната
линия R/W. При R/W = l микропроцесорът чете от ACIA, а при
R/W = 0 — записва в ACIA. Освен това сигналът R/W служи и за
избор на регистрите само за четене и само за запис.
Три от входовете служат за избор на ACIA. Това са CS0,
CS, и CS2. Когато на CS0 и CSX има логическа 1, а на CS2 — ло-
гическа О, ACIA е избран.
Асинхронният последователен интерфейсен адаптер има чети-
ри програмно достъпни регистъра, два от конто са само за четене
(регистър за предавани данни TDR и управляващ регистър CR),
а други два — само за завис (регистър за приемани данни RDR
и регистър на състоянието SR). Въпреки това за микропроце-
сора адаптерът ACIA представлява две адресируеми клетки от
паметта. На единия адрес се намира регистърът за приемани дан-
ни и регистърът за предавани данни, конто се избират, когато на
входа за избор на регистър (RS) има логическа 0. На втория
адрес се намират управляващият регистър и регистърът на съ-
стоянието, конто се избират, когато на входа RS има логическа 1.
Обикновено входът RS се свързва към адресната линия Ао на
микропроцесора.
ACIA има изход за подаване на заявка за прекъсване
(IRQ) към микропроцесора. Този изход е с отворен колектор и
активното му ниво е логическа 0. В зависимост от програмиране-
то ACIA може да изпраща сигнал IRQ или когато регистърът за
32
Фиг. 2.16. Такюви честотн за ACIA
МС6850
приемани данни е запъляен, или когато регистърът за предавани
данни е празен, или при положителен фронт на входа DCD.
ACIA има разделени канали за приемане и предаване на дан-
ни. Информацията се предава към периферията през изхода за
предаване на данни (ТxD), а се
приема през входа за приемане
на данни (RxD). Тактуването
на информацията при приемане
и предаване се извършва чрез
външно подавани импулси на
синхронизиращите входове за
приемане (RxC) и за преда-
ване (ТхС). Изискванията към
двете тактови честоти са пока-
занинафиг. 2.16. Честотата на предаване и приемане на данни може
да бъде кратна на тактовата честота. Чрез подходяще програмиране
на ACIA могат да се използуват три различии коефициента на
кратност—1/1, 1/16 и 1/64. Най-често се използува коефициен-
тът 1/16. Това означава, че за 16 входни тактови импулса ще се
предаде или приеме 1 бит информация. При използуване на коефи-
циенти 1/16 и 1/64 се облекчава синхронизирането на приёмника.
Така например при задзден коефициент на кратност 1/16 прием-
никът изчаква 8 тактови периода след първия отрицателен фронт
на информационната дума и отново проверява нивото на входнйя
сигнал, за да се убеди, че това е стартов бит. Останалите битове
се прочитат от този момент в интервали от по 16 тактови периода,
като по този начин отчитането става в средата на информацион-
ните битове (фиг. 2.17) и известна промяна в скоростта на полу-
чаваната информация няма да се отрази на правилното й приема-
не. В предавателния канал данните излизат на изхода TxD при
отрицателен фронт на ТхС след известно закъснение, което е не
Момент на отчитано
t I
Момент на отчитане
Фиг. 2.17. Сиих ронизиране на приеманите данни от ACIA МС6850, рабо*
тещ с коефициент на кратност 1/16
по-голямо от 1 (is (фиг. 2.18). В приемния канал получаваните дан-
ни се стробират по положителен фронт на RxC, ако те са били
валидни поне 500 ns и остават непроменени най-малко още 500 ns
след този фронт на RxC (фиг. 2.19).
з Приложение на микропроцесорни 33
Три от изводите на ACIA служат за управляващи сигнали
при връзка с модем, но могат да се използуват и за други цели.
Изходып „заявка за предаване“ (RTS) позволява на ACIA
да управлява периферно устройство или модем. Състоянието на
фиг. 2.18. Времедиаграми
при предаване па данни
от МС6850
Фиг. 2.19. Времедиаграми при прие-
мане на данни от МС6850
RTS се определя от съдържанието на битовете CR6 и CRe на
управляващия регистър CR. ___
Входып „свободно за предаване" (CTS) може да се изпол-
зува от периферии устройства или модеми, за да укажет на ACIA,
че са свободни за приемане на информацията му. Това се из-
вършва чрез подаване на логическа 0 на входа CTS. Премина-
ването на този вход в логическа 1 не нулира предавателя, а са-
мо установява в 1 бит SRs от регистъра на състоянието SR.
Входът „открнт. носател на информация" (DCD) управ-
лява приемната част на ACIA и се използува тогава, когато е не-
обходимо периферните устройства или модемът да укажат, че са
завършили предаването си или че постъпващата в ACIA инфор-
мация е недействителна. Това се извършва чрез подаване на ло-
гическа 1 на входа DCD. При такова състояние на входа DCD
приемането на нови символи се спира (регистърът за приемани
данни не си променя състоянието) и синхронизиращата логика в
приемната част се поставя в начално състояние за приемане на
символи. Същевременно бит SR8 от регистъра на състоянията се
установява в I и се подава заявка за прекъсване, ако прекъсване-
то при приемане е разрешено.
Ако входовете DCD и CTS не се използуват, за правилна
работа на ACIA е необходимо те да се свържат към маса.
Действието на адаптера ACIA се управлява от съдържанието
на управляващия регистър CR. Това е програмно достъпен за
микропроцесора регистър само за запис. Всеки от неговите 8 би-
та (CR0-?CR7) изпълнява строго определена функция (вж. табл. 2.3).
Най-младшите два бита — CR0 и CRt — определят коефи-
циента на кратност между честотата на входните тактови импул-
си и тактуването иа информационната дума в TxD и RxD. Тези
два бита се използуват и за начално установяване на ACIA, при
Таблица 2.3
CR, С R, CR, CR, CR, CR, CR, CR,
Управление на IRQ за приемане Управление на IRQ за предаване, RTS и сигнал .Break" Формат КоесЬициент иа кратност и на- чално установя- ване
което се изтрива безусловно
съдържанието на регистъра
на състоянието без битовете
SRs и SR3. Начал юто уста-
новяване не засяга Другите
битове на управляващия реги-
стър. Трябва да се има пред-
вид, че ACIA има вътрешна
схема за автоматично начал-
но установяване след включ-
Таблица 2.4
CR, CR, Коефициент на кратност
0 0 : 1
0 1 : 16
1 0 : 64
1 1 Начално установяване
Таблица 2.5
CR, CR, CR, Формат
0 0 0 7 бита + четност 4-2 стопови бита
0 0 1 7 бита 4-нечетност 4-2 стопови бита
0 1 0 7 бита-|-четност4-1 стопов бит
0 1 1 7 бита4-нечетност4-1 стопов бит
1 0 0 8 бита без контрол4-2 стопови бита
1 0 1 - 8 бита без контрол 4-1 стопов бит
1 1 0 8 бита 4-четност 4-1 стопов бит
1 1 1 8 бита4-нечетност-|-1 стоповбит
ване на захранването, при което е необходимо задължително
установяване на коефициента на кратност. В табл. 2.4 са пока-
зани значенията на комбинациите на битовете CR0 и CRV
Следващише три, бита —СR^ CR3 и CRi—указват форма-
та на асинхронната последователна дума, като значенията на ком-
бинациите на техните стойности са дадени в табл. 2.5.
Битовете CRS и CRe управляват предавателната част на ACIA.
С тях се разрешава подаването на сигнал IRQ към микропроце.
сора, когато се изпразни регистърът за предавани данни, управля.
ва се изходът RTS и автоматично се предава сигнал „Break"
(изходът TxD се установява в логическа 0). В табл. 2.6 са даде-
ни значенията на четирите комбинации на тези битове.
35
Таблица 2.6
CR, CR, Функция
0 0 RTS =0; забранено прекъсване за предаване
0 1 1 0 RTS =0; разрешено прекъсване за предаване RTS =1; забранено прекъсване за предаване
1 1 RTS=0; забранено прекъсване за предаване; автоматично предаване на „Break*
Таблица 2.7
S/?, SR, SR, SR, SR, SR, SR, SR,
IRQ грешна четяост препъл- ване грешен формат cts DCD празен TDR пълен RDR
Битът CR7 разрешава подаването на сигнал IRQ към мик-
ропроцесора при приемане, т. е. когато се напълни регистърът
за пблучавани данни, или при положителен фронт на входа DCD.
Разрешение се дава при CR7==1, а забрана — при CR7=0.
Микропроцесорът може да получи информация за състоя*
нието на ACIA от 8-битовия регистър на състоянието SR
(SRo+'SRi), който е регистър само за четене (вж. табл. 2.7).
Битът SR0 (пълен регистър за приемани данни) се установя-
ва в 1, когато информационната част на получената дума се пре-
хвърли от входнйя преместващ регистър в регистъра за прие-
мани данни (RDR). SR0 се нулира след прочитане на регистъра
за приемани данни или след начално установяване. Логическа 1
на входа DCD също нулира SR0.
Битът SRX (празен регистър за предавани данни) показва нали-
чието на информация в регистъра за предавани данни (TDR). Той се
нулира след запис в този регистър, а се установява в 1, когато
регистърът изпрати своего съдържание в изходния преместващ
регистър. По този начцн се индицира, че регистърът за предава-
ни данни се е изпразнил и може да поеме нова информация.
Битът SRt (открит носител на информация) отговаря на съ-
стоянието на входа DCD. Положителен фронт на входа DCD уста-
новява SR2 в 1. SRt остава в това състояние и след като DCD
се нулира. Връщането на SRt в 0 се извършва или след прочи-
тане на регистъра на състоянието и последвало прочитане на ре-
гистъра за приемани данни, или след начално установяване. Ако
входът DCD остане в логическа 1 след прочитане на регистъра на
36
състоянието и последвало прочитане на регистъра за приемани
данни или след начално установяване, то SR2 също ще остане в
1 и ще се нулира при нулирането на DCD-
Битът SR3 (свободно за изпращане) е идентичен по своето
състояние със състоянието на входа CTS. Началното установя-
ване не засяга този бит.
Битът SR4 (форматна грешка) дава информация за наруше-
ние в синхронизацията на приеманите данни, грешно приети дан-
ни или за приемане от линията на сигнал „Break". Той се уста-
новява в 1, когато в резултат на посочените причини липсва
първият стопов бит в приеманите данни. SR4 се нулира от след-
вашата постъпила информационна дума, ако са отстранени причи-
ните за липсата на първия стопов бит.
Битът SR5 (препълване на приемника) в състояние 1 показ-
ва, че в регистъра за приемани данни са постъпили повече от
един символи, конто не са прочетени. След първо прочитане на
регистъра за приемани данни при наличие на препълване битове-
те SRe и SR0 оставят в 1. Те се нулират след следващото про-
читане на регистъра за приемани данни или при начално уста-
новяване.
Битът SRe (грешка по четност) се установява в 1 винаги,
когато броят на единиците в приетия символ не съответствува
на заявената четност или нечетност. SRe се нулира автоматично
при следващия правилно приет символ или при началио установя-
ване. Ако заявеният формат на снмволите е без контрол по чет-
ност или нечетност, SRe не се активира и е постоянно нулиран.
Битът SR7 (заявка за прекъсване) в състояние 1 съобщава,
че АС1А дава заявка за прекъсване към микропроцесора чрез
изхода си IRQ. При разрешена заявка за прекъсване тя може
да се предизвика от установяване в 1 на битовете SR0, SR4 или
SR2. При нулиране на съответния бит, предизвикал заявка за
прекъсване, SR7 се нулира и се прекратява подаването на сиг-
нал IRQ от ACIA. Това се предизвиква и от началното устано*
вяване.
2.2. МИНИМАЛНА МИКРОПРОЦЕСОРНА КОНФИГУРАЦИЯ
Всяко електронно устройство с микропроцесорно упргвление
освен микропроцесорът съдържа и Други интегрални схеми, при-
надлежащи към микропроцесорната фамилия или съвместими с
нея. Съвкупността от микропроцесора и тези интегрални схеми
се нарича микропроцесорно, система. Централно място в нея
заема самият микропроцесор с необходимия му тактов генера-
тор. В системата задължително се включва постоянна памет,
ROM или EPROM, в конто е записана работната програма на
37
Фиг. 2-20. Минималка микропроцесорна конфигур ация
38
устройство™. Необходимо е също така и оперативна памет RAM
за запомняне на входни и изходни данни, междинни резултати и
сменяема програма. Връзката на микропроцесорната система с дру-
ги блокове от устройството се осъществява обикновено с по-
мощта на специализирани схеми за входно-изходен интерфейс.
Микропроцесорна система, съдържаща минимално количество от
тези схеми, конто, свързани подходящо, осигуряват функциони-
рането й, се нарича минимална микропроцесорна конфигу-
рация.
Примерно и пълненче на минимална микропроцесорна конфи-
гурация е показано на фиг. 2.20. Тя съдърж) микропроцесор
iMPU) МС6800, постоянна памет (EPROM) 2708, статична опера-
тивна памет (RAM) 2101, периферен интерфейсен адаптер (PIA)
МС682О и асинхронен последователен интерфейсен адаптер
(ACIA) МС6850. Към конфигурацията принадлежат тактовият ге-
нератор, синхропи!иращ работата на системата, и допълнителна
логика. Адресното поле на микропроцесора е разпределено
между схемите, включени в системата. За целта адресите са раз-
делена първоначално на четири области с помощта на дешифра-
тора 74155. Всеки един от четирите mv използувани изхода съ-
ответствува на една от тези области. На изходите се появява
логическа 0, когато микропроцесорът издана адрес от съответ-
ствуващата им облает. Като разрешение за дешифриране служи
сигналът VMA. В табл. 2.8. са показани адресите, конто заема
всяка една от интегралните схеми. Областта от 4000 до 7FFF
не се използува.
Адресните линии А10, Ап, А12, А13 не се използуват. PIA и
ACIA са разположени в една и съща облает на адресите и за
да не се адресират едновременно, за допълнителяо декодиране
са свързани линиите А3 към PIA и А3 към ACIA. От таблицата
се вижда, че използуваната постоянна памет EPROM заема ад-
ресите от С000 до C3FF, но вследствие на непълната дешиф-
рация тя ще може да се адресира в цялата облает от С000 до
FFFF, обхвашайки по този начин и вскторите на прекъсване на-
микропроцесора. Това означава, че когато бъдат изпратени адре-
си от FFF8 до FFFF, ще отговори EPROM с клетките
Таблица 2.8
ИС VMA A1S AI4 . Адресии линии At Ag A7 Ae Ag Ag Ag Aj Aj A(f Заети адреси
от до
RAM 1 0 0 XXX X X X X X 0000 C OFF
PIA 1 1 0 1 X X 8004 8007
ACIA 1 1 0 1 X 8008 8009
EPROM 1 1 1 X X X X X X X X X X COOO C3FF
39
си, намиращи се съответно иа адреси от C3F8 до C3FF. Памет-
та EPROM от типа 2708 има недостатъка, че иэисква тризахран-
ващи напрежения (+5V, +-12V, —5V). Тя може да бъде замене-
на с EPROM от типа 2716, конто е с едно захранващо напреже-
ние 4-5V. В такъв случай е необходимо към нея да бъде свър-
зана допълнително адресната линия А10 и тогава паметта ще за-
ема адресите от С000 до C7FF. Като оперативна памет се из-
ползува статичната памет RAM от типа 2101, която е с органи-
зация 256X4. С Две интегрални схема 2101 се организират
256 8-битови думи. Интегралните схеми 2101 имат разделени
входове и изходи за данните, конто в разглежданата конфигура-
ция са свързани накъсо. Към входовете OD (управление на из-
ходите за данни) на 2101 е подаден сигналът R/W.
Управляващите линии включват линиите за сигналите DBE
и R/W, свързани към RAM и периферните адаптери, линията за
сигнала IRQ, свързаза с едновременните изходи наР1А и ACIA, и
линията на сигнала RESET, свързана къмМР11и PIA. Изходите
IRQ на периферните адаптери са с отворен колектор и затоза
при свързването им в „монтажно ИЛИ" с входа IRQ на микро-
процесора се включва резистор със стойност 3kQ към + 5V.
Към минималната микропроцесорна конфигурация е предви-
дена и схема на автоматично начално установяване след
включване на захранващото напрежение. Схемата е изпълнена с
помощта на D-тригер—1/2 7474. В момента на включване на за-
хранването кондензаторът Q е разреден и на входовете D и /?
има логическа 0, при което изходът Q се намира в състояние
на логическа 0. Ci започва да се зарежда от +5V през резисто-
ра Ri и от входните токовена/?и D. Щом напрежението върху
него достигне дол аата допустима граница на ТТЛ логическата
1, D-тригерът се превключва синхронно с предния фронт на Фх
и на изхода Q се установява логическа 1. Получената логическа
0 на изхода Q въздействува върху входа S, задържайки три-
гера в това му състояние. При изключване на захранването кон-
дензаторът Сх се разрежда през диода Д1 подготвяйки се за но-
ва процедура на начално установяване. Външен сигнал RESET
може да се подаде ръчно чрез бутона
Тактовият генератор е кварцово стабилизиран. Получената от
осцилатора честота се дели на две с тригера за симетриране
на двете фази. RG-групите, и /?5С8 въвеждат известно за-
къснение на предште фронтове съответно на Фг и Ф2. С това
се постига незастъпване на двете фази. Високото ниво на Ф2 и
Ф2 трябва да бъде не по-ниско от +4.7V. Затова в крайните
стъпала на двете фази са включени PNP транзисторите Т\ и Г2.
Тези транзистори трябва да бъдат бързодействуващи, за да се
получат стръмни фронтове на фазите. За предпочитане е логичес-
ките елементи ЛЕ^-~ ЛЕв да бъдат с отворен колектор.
40
Увеличаването на микропроцесорната конфигурация се огра-
ничава от максималната товароспособност на изходите на изпол-
зуваните схеми. Най-тежко е положението при лините за дан-
ни, където има свързани освен входове на приемници и изходи
на предаватели, конто имат известен утечен ток и паразитен ка-
пацитет. Всеки вход на PIA и АС1А товари линиите за данни с
утечен ток 10 рА и капацитет около 10 pF. Приблизително съ-
щото натоварване.оказват предназначените за фамилията памети
RAM и ROM. При това всеки един от изходите на включените
интегрални схеми при логическа 1 може да бъде натоваренс ток
100 рА и капацитет 130 pF за оптимално бързодействие. Затова
максималната небуферирана микропроцесорна конфигурация се
ограничава до 74-10 ИС, като се предвижда и паразитен монтажей
капацитет по 25 + 30pF за всяка линия.
По-нататъшното разширяване на микропроцесорната система
изисква задължително буфериране на линиите.
2.3. МОДУЛНА ОРГАНИЗАЦИЯ
Характерна тенденция при средно големйте микропроцесорни
конфигурации е използуването на принципа на м одулната ор-
ганизация. Този принцип изисква съответните устройства да
се изграждат на базата на определен набор от модули. Под м о-
дул в дадения случай се разбира функционално обособен блок,
изпълняващ самостоятелно или в съвкупност с други модули оп-
ределена задача. Модулният подход при изграждането на елек-
тронни устройства с микропроцесорно управление дава възмож-
ност да се съкрати времето за проектиране, опростява евентуал-
ното разширяване на системата и спомага за стандартизация на
елементите. От друга страна, той води винаги До преразход на
елементи.
Основен въпрос при модулното организиране на микропро-
цесорна система е въпросът за функционалния състав на моду-
лите, т. е. какво да включва даден модул и какви задачи за из-
пълнява. При решаването му се сблъскват две противоположни,
взаимно изключващи се изисквания към модулите — универсал-
ност и специализираност.
Универсалността дава възможност на модула да изпълня-
ва няколко функции или разновидности на една функция, при кое-
то той може да бъде използуван в по-голям брой устройства.
При това обаче в конкрекретното устройство не могат да се
оползотворят всички заложени възможности на модула и той не
се използува напълно ефективно. Повишената универсалност се
третира като средство за съкращаване на номенклатурата, за
бързо проектиране на системи, за осъществяване на голяма серий-
ност при производството на модулите.
41
На другия полюс стой специализираността на модулите—
изпълняване на строго определена функция. Тя дава възможност
модулът да се използува максимално ефективно според предна-
значението му. Едновременно с това обаче силно сестеснява не-
говата облает на приложение.
Между тези две противоречиви изисквания конструкторът
трябва да избере едно оптимално компромисно решение, съобра-
зявайки се с много странични фактори. Като препоръка може да
се каже, че при много големи системи, конто подлежат на раз-
ширяване и развитие в процеса на тяхната експлоатация (т. нар.
отворени системи), се дава предпочитание на универсалиост-
та на използуваните в тях модули. Обратно, при по-малки си-
стеми, предствляващи завършени и неподлежащи на промяна
устройства, се предпочита специализираността на модулите. Ре-
шаващ фактор може да се окаже и серийността на изделието.
При голяма серийност всеки спестен елемент от устройството
води до съществена икономия и в този смисъл специализираност-
та на модулите е за предпочитане.
Обособяваните в микропроцесорната система модули могат
да бъдат разделени функционално на две основни групи — уп-
равляващи модули и изпълнителни модули. Признак за това раз-
деляне е отношението им спрямо адресната магистрала. Управ-
ля в а щ и са тези модули, конто генерират и изпращат адреса по
магистралата. Това са микропроцесорните модули, модулите за
организира ie на директен достъп до паметта и др. Изпъл ни те л-
ните модули се явяват приемници на адреса. Такива са модулите
на оперативната памет, на постоянната памет, входно-изходните
модули и др. Това разделение е условно, тъй като могат да
сыцествуват модули, конто едновременно са и управляващи, и
изпълнителни. В следващото изложение на материала изпълни-
телните модули ще бъдат наричани само модули, а за управля-
ващите модули ще се указва техният тип.
2.4. МАГИСТРАЛНА ОРГАНИЗАЦИЯ
В тясна връзка с модулния принцип на изграждане на микро-
процесорно управляваните устройства е магистралната
структура на връзката между модулите.
Магистралата представлява трупа съединителни линии,
обединени по функционален признак, към конто паралелно се
включват отделните модули.
Магистралният метод на организация осигурява об-
мена на информация между модулите с помощта на магистрали,
обединяващи входните и изходните линии. Той осигурява стан-
дартност на връзките между модулите, опростява обмена на
информацията, придава гъвкавост на системата при преустройство,
минимизира броя на изводите.
42
При електронните устройства с микропроцесорно управление
обикновено само част от връзките между модулите имат маги-
стрална организация. Например връзката на микропроцесорния мо-
дул с останалнте модули има магистрална структура (т. нар. про-
цесорни магистрали), докато връзките на модулите с входно-из-
ходните блокове, с блоковете за предварителна аналогова обра-
ботка на сигнали и с други подобии блокове могат да нямат ма-
гистрална организация.
Посочените по-горе процесорни магистрали между модулите
могат да се разделят на три вида — адресни, информационни и
управляващи.
Адресна магистрала. В повечето случаи адресната магистра-
ла е еднопосочна, като адресите се предават от микропроцесор-
ния модул към останалите. Изключение правят случайте, когато в
системата има модул за организиране на канал за директен до-
стъп до паметта, който също може да издава адреси, или когато
няколко микропроцесорни модула работят с общи магистрали. Ед-
на 16-битова адресна магистрала има възможност за пряко адре-
сиране на 216 = 65 536 клетки от паметта.
Информационна магистрала (магистрала за данни). Тази
магистрала е двупосочна, което означава, че всеки модул може
да приема и предава данни от нея, като посоката на информа-
цията се определя от сигнала за четене или запис. В много редки
случаи се практикува разделянето на информационната маги-
страла на две части, едната от конто служи само за приемане, а
другата — само за предаване на данни.
Управляваща магистрала (магистрала за управляващи сиг-
нали). Линиите, конто се включват в управляващата магистрала,
сиихронизират действието на модулите в системата. Някои от
управляващите сигнали се издават от микропроцесорния модул,
а други се изпращат към него. Необходимо е да се отбележи
че .сигналите в управляващата магистрала в общия случай не са
напълно идентични с управляващите сигнали на микропроцесора.
В управляващата магистрала намират място и такива сигнали,
конто не са присъщи на микропроцесора MG6800 като заявка за
опресняване на динамични памети, готовност на работа с бав-
ни памети, такт за паметта и др. Освен това могат да бъ-
дат видоизменени съществуващите управляващи сигнали на мик-
ропроцесора, каквито са обединението DBE. VMA, TSC и др. По-
ради изпълняваните от нея функции управляващата магистрала е
с най-голямо значение за работа на системата и затова на нея
трябва да се обръща максимално внимание, особено при синте-
зирането на нови управляващи сигнали.
43
2.5. ДЕКОДИРАНЕ НА АДРЕСНОГО ПОЛЕ
Микропроцесорът МС6800 може пряко да адресира чрез своя
16-битов адресен код 65 536 клетки (64 Kbyte). Шестнадесетични-
те стойностя на тези адреси са от 0000 до FFFF. Тяхната съв-
купност образува адресното поле на микропроцесора (пълната
карта на паметта). Всеки един модул заема определено място
в адресното поле. Той трябва да влезе в обмен с микрэпроцесо-
ра само когато се адресира никоя принадлежаща на модула клет-
ка. Ето защо в микропроцесорната система се включват декода-
ращи (дешифраращи) схеми. Тези схеми осигуряват активиране-
то само на този модул, към когото се обръща микропроцесорът.
2.5.1. Първично декодиране на адресното поле
Често декодиращата логика се намира в микропроцесорния
модул. Това решение е известно като първично декодиране на
паметта. При него цялото адресно поле на микропроцесора се
разделя на няколко (обикновено равни по големина) области,
наричани понякога зон и или страници*. На всяка облает се
предоставя по една линия от управляващата магистрала, конто се
активира само когато микропроцесорът адресира клетка от тази
облает. В първичното декодиране у^аствуват старшите адресни
линии на микропроцесора, а разрешение на декодиране обикнове-
но се дава от сигнала VMA. Броят на областите, на конто се
разделя адресното поле, зависи от броя на старшите адресни
линии, конто се декодират. При декодиране само на А1В обла-
стите са само две — от 0000 до 7FFF и от 8000 до FFFF. При
декодиране на А)В и Аи областите са четири. Първичен декодер
за четири зони, реализиран с интегралната схема 74155, е изпол-
зуван всхематана минималната микропроцесорна конфигурация от
фиг. 2.20. Най-често се прилага първично декодиране на три ад-
ресни линии — Ахз, А14 и А1В. Тогава се получават осей едчакви
по големина области, всяка от конто съдържа по 8К адреса.
Пример за такова декодиране е показано на фиг. 2.21 заедно с
разпределението на паметта. Използуван е двоично-десетичният
дешифратор 7442, като входът D служи за разрешение при де-
шифриране. На него е подаден сигналът VMA. Когато VMA=0
(VMA = 1), двоичната комбинация на входовете на дешифратора
е по-голяма от числото 7, при което няма да бъде активиран ни-
тоедин от изходите от 0 до 7, т е. няма разрешение за декоди-
ране. Ако за първичен декодер на адресното поле се използува
* Понятието .страница' се употребява и за озтчаване на памгт, заемаща
цялото адресно поле на микропроцесора.
44
дешифратор на 16 (например 74154), в декодирането се включва
и адресната шина Alg. Тогава се получават 15 области, всяка от
конто съдържа по 4К адреса.
Особеност на изброените дотук първични декодери е, че
УМА -*[>- >. tn ' ы 7442 е>| —I ro| Gal -с-1 0.1 сг>| —al 1 -gl £1 §1 1111 1 ш ЕООО -i- FFFF &
СООО -? HFFF
А ООО tBFFF
8000 -F9FFF
^0 6000 -1FFF
9000 +5FFF
А13 2000 ~3FFF
ОООО -г 1FFF
Фиг. 2.21. Първично декодиране иа адресного поле на 8
области
Ац
М
А И
УМА
Фиг. 2.22. Първично декодиране на адресного поле с ТТЛ
памет ROM
разделят адресното поле на микропроцесора на равни по обем
области, следващи една след друга в строго определен ред. Раз-
делянето на адресното поле на произволни по обем области мо-
же да се извърши, като за първичен декодер се използува про-
грамируема логическа матрица или памет от типа ROM. На
фиг. 2.22 е показано използуването на памет ROM с организация
32x8(74188) като декодер на адресното Поле. Адресните вхо-
дове на паметта ROM се свързват към старшите адресни линии
на микропроцесора. Изходите за данни на паметта ROM служат
като изходи на първичен декодер за активиране на съответните
области от адресното поле. Разрешение на декодиране се издава от
сигнала VMA, свързан към входа „избор на ROM“. В дадения
пример минималният обем на облает, която се декодира, е 2К
45
адреса. При използуването на памети ROM като декодери трябва
да се държи сметка за тяхното бързодействие. Най-подходящи
за целта са ТТЛ паметите ROM.
Възможни са и други изпълнения на първичните декодери.
В някои от тях разрешение за декодиране се издава от синтези-
рания сигнал УМА.Ф2. В този случай достъпът до модулите се
съкращава до времетраенето на Ф2 и те трябва да имат по-го-
лямо бързодействие. Това се използува, когато е необходимо по
време на Фх магистралите да бъдат свободни за използуване
от другото устройство (например при директен достъп до па-
метта).
2.5.2. Вътрешномодулно декодиране на адресиото поле
Фиг. 2.23. Вътрешномодулен декодер със схе-
ми И-НЕ
Друго също често срещано решение е всеки модул да съ-
държа в себе си необходимата декодираща логика за адресната
облает, която заема. Това решение е известно като вътрешномо-
дулно декодиране на адресного поле. В този случай микропро-
цесорният модул не съдържа първичен декодер на адресного
поле.
В самия модул най-
често с помощта на ком-
бинационна логика се син-
тезира сигнал „избор на
модул" (MS). В зависи-
мост от нуждите той мо-
же да бъде с активно със-
тояние логическа 0 или ло-
гическа 1.3а разрешение на
декодера и тук се изпол-
зува сигналът VMA, а в
някои случаи — УМА.Ф2.
На фиг. 2.23 е показан
вътрешномодулен декодер,
изпълнен с помощта на
схема за логическо умно-
жение. Декодираните ад-
ресни линии могат да уча-
ствуват както в права, та-
ка и в инверсна форма и
в зависимост от това се
определи зоната на сигна-
ла MS. В дадения случай
Фиг 2.24. Вътрешномодулен декодер с циф-
ров компаратор
тя е от 4000 до 5FFF с обем 8К адреса. Превключвателите
служат за преадресация на модула. При положение, че се изпол-
зува 8-входов елемент И-НЕ, може да се стесни обемът на деко-
дираната облает до 512 адреса.
46
Удобна за преадресиране схема за вътрешномодулно декоди-
ране се получава при използуването на цифровая компаратор 7485.
Такава схема е показана на фиг. 2.24. Декодираните адресни ли-
нии се свързват с входовете А на компаратора, а на входовете
му В се задава областта за декодиране. Сигналът VMA постъп-
ва на входа А=В, а в изхода А=В се получава сигналът MS.
В случая обемът на декодираната облает е 4К адреса.
Срещат се и други схеми на вътрешномодулни декодери, из-
ползуващи програмируеми логически матрици, памети от типа
ROM и др. Никои от тях ще бъдат пояснени в описанието на
конкретни модули.
2.5.3. Непълно декодиране на адресното поле
На практика приложенията на микропроцесорните системи, в
конто се използува цялото адресно поле, са малко. Затова ши-
роко се използува методът на непълното декодиране. Непълно
декодиране има тогава, когато за дадена част (схема, модул или
блок) от микропроцесорната конфигурация е отделена адресна
облает, конто е по-голяма по обем от фактически намиращите се
в тази част адресируеми клетки. Типичен пример за такова не-
пълно декодиране е минималната микропроцесорна конфигурация
от фиг. 2.20. Всички схеми, участвуващи в нея, са обект на не-
пълно декодиране. Напэимер постоянната памет EPROM заема
цялата зона от GOOO до FFFF, повтаряйки се последователно
16 пъти в нея.
Всеки непълно декодиран модул заема цялото адресно поле,
което му е отделено, независимо от броя на собствените му клет-
ки. При това той се повтаря в тази облает толкова пъти, колко-
то пъти е отношението между обема на отделената му облает и
собствения му капацитет. Получават се еднакви подобласти, вся-
ка от конто представя модула. Подобластта с най-малки адреси
се дефинира като базова (основна) подобласт. За микропроце-
сора е безразлично в коя подобласт ще се обръща към модула,
стига там да не се получава припокриване на адреси с друг мо-
дул. Такова припокриване обаче може да настъпи — например в
минималната микропроцесорна конфигурация от фиг. 2.20 на ад-
рес 800С се отзовават и PIA, и ACIA. Това няма да бъде преч-
ка, ако микропроцесорът се обръща към тях в базовите им под-
области. На практика именно това се прави в повечето случаи.
2.5.4. Комбинирано декодиране на адресното поле
В резултат на изложеното дотук може да се направи съ-
поставка и оценка на методите на декодиране на адресното поле
на микропроцесора. За малки микропроцесорни конфигурации, къ-
47
дето схемите и модулите са включени с непълно декодиране, не-
подходящ е методът с първично декодиране на паметта. Разхо-
дите на елементи при него са по малки, а преадресирането на
модулите се извършва лесно и удобно само чрез включването им
към друга изходна линия на първичния декодер. За големи ми-
кропроцесорни конфигурации, където адресного поле е почти из-
цяло запълнено, по-удобен е методът с вътрешномодулното де-
кодиране. Нормално различните модули са с различен обем клет-
ки. Синтезираието на първичен декодер, кой го да осигурява тях-
ното цълно декодиране, е много сложно и нецелесъобразно, а
освен това се губи и гъвкавостта на системата. В този случай не-
удобно е всеки модул да включва собствения си декодер на ад-
ресного поле. Вътрешномодулните декодери са независими един
от друг и без затруднения могат да декодират произволни по
обем и разположение области.
И двата метода имат свои предимства и недостатъци. Едно
компромисно решение на въпроса представлява комбинирано-
то прилагане на двата метода за декодиране на адресного поле,
широко използувано при микропроцесорни системи със средна го-
лемина. При него съществува първичен декодер на адресного по-
ле, който го разделя на няколко равни по големина области (най-
често по 8К адреса). Тези модули, конто имат количество адре-
сируеми клетки, колкото една облает, нямат собствен вътрешно-
модулен декодер, а направо използуват линиите на първичния де-
кодер. По-малките модули са снабдени със свой вътрешномоду-
лен декодер, който се активира от първичния декодер и извър-
шва декодиране на адресного поле вътре в областта. Този метод
позволява включването на модули и с непълно декодиране, кога-
то то е възможно. По разход на елементи комбинираното деко-
диране заема средно място между първичното и вътрешномодул-
ното декодиране. То позволява изграждането както на малки, та-
ка и на големи микропроцесорни конфигурации.
В по-нататъшното изложение на материала разгледаните кон-
кретни схеми се основават на комбияирания метод на декодира-
не на адресного поле, който ще бъде допълнително изяснен.
2.6. БУФЕРИРАНЕ НА МАГИСТРАЛИТЕ
При модулна организация на микропроцесорната система към
магистралите могат да бъдат включени значителен брой модули.
Това предполага предавателите за магистралите на всеки модул
да бъдат с голяма товароспособност, а приемниците — с макси-
мален входен импеданс. Входно-изходните буфери на интегрални-
те схеми от микропроцесорната фамилия обикновено не отгова-
рят на тези изисквания. Поради това при изграждането на моду-
ли допълнително се включват специално предназначени за целта
буфери на процесорните магистрали.
48
Фиг. 2.25. Буферирана модулно изградена микропроцесорна система
4 Приложение на микропроцесорни
49
м На фиг. 2.25 е показана обща блокова схема на буферирана
одулно изградена микропроцесорна система. Буферите са разде-
лени на три групи според това, коя магистрала буферират — ад-
ресни буфери, буфери за информационната магистрала и буфери
за управляващите сигнали. Управлението на буферите се осъщест-
вява от логика, издаваща необходимите разрешения за работата
им и определяща посоката на информацията през тях.
Конкретно изпълнение на магистрални буфери за управляващ
модул са дадени при разглеждането иа микропроцесорния модул.
В настоящата точка ще бъде разгледано буферирането на сигна-
лите в изпълнителните модули.
2.6.1. Буфериране на адресната магистрала
Изпълнителните модули са само приемници на адреса. Той се
приема от адресната магистрала и през буфери се изпраща към
схемите на модула. За модула RAM няма значение дали буфери-
те са инвертиращи или не, докато за модулите ROM и входно-
изходните модули това трябва да се взема предвид. Като едно-
посочни буфери могат да се използуват ИС 7404 (6 инвертора)
с товароспособност 10 нормални ТТЛ входа. Ако се използуват
повторителите 7407, чиито изходи са с отворен колектор, трябва
да се добавят външно резистори. Най-подходящи за адресни бу-
фери са интегралните схеми 8Т95, 8Т96, 8Т97 и 8Т98, притежа-
ващи изходи с три състояния. Те имат по 6 буфера в корпус и
се различават по вътрешните схеми за управление на високоим-
педансното им състояние, като завършващите на четни номера
са инвертиращи, а завършващите на нечетни номера — неинверти-
ращи. Входовете на буферите съдържат PNP транзистор, вклю-
чен като повторител, поради което входният ток е малък. функ-
ционални еквиваленти на тези схеми в ТТЛ серията 74 са ин-
тегралните схеми от 74365 до 74368.
Когато няма никакви специални изисквания, адресните буфе-
ри са постоянно разрешени. В случайте, когато адресните входо-
ве. на интегралните схеми в модула трябва да бъдат използуваии
за други цели (например при опресняване на динамични памети),
буферите за адресната магистрала се разрешават само когато мо-
дулът е избран.
В някои модули за буфериране на адресната магистрала се
използуват интегралните схеми 8Т26, на конто едновременно се
разрешават и предавателите, и приемниците. Това позволява да
се разполага с правата и инверсната форма на адреса, което мо-
же значително да улесни декодирането на модула.
50
2.6.2. Буфериране на информационната магистрала
Информационната магистрала е
спецификата на буферите за нея. Те
предаватели за данни. Съществуват
равление на буферите за информа-
ционната магистрала, конто се
различават по управление™ на
приемниците. И при трите способа
предавателите се разрешават само
когато модулът е избран и опера-
цията е „четене от модула” (R/W=
= 1). За буфериране на информа-
ционната магистрала най-често се
използуват интегралните схеми
8Т26 и 8Т28, който се различават
помежду си по това, че 8Т26 съ-
държа инвертиращи, а 8Т28 —
неинвертиращи предаватели и
приемници. Входовете на преда-
вателите и изходите на приемни-
ците са изведени поотделно, дока-
то изходите на предавателите са
свързани вътрешно с входовете на
съответните им приемници.
При първия способ за буфе-
риране на информационната маги-
страла, показан на фиг. 2.26, при-
емниците са разрешени, когато
двупосочна, което определя
се състоят от приемници и
три основни способа за уп-
Фиг. 2 26. Буфериране на магистра-
лата за данни със съвместно управ-
ление на приемниинте и предава-
телите
модулът не е избран и когато мо-
дулът е избран и операцията
е „запис в модула”. При този
способ през времето, когато мо-
дулът не е избран, буферите са разрешени за информацията от
магистралата към схемите в модула. При прилагането на способа
тази особеност трябва да се взима предвид.
При втория способ за буфериране на информационната ма-
гистрала, показан на фиг. 2.27, приемниците са разрешени само
когато модулът е избран и операцията е „запис в модула”. Спо-
собът се характеризира с възможност за повсеместно приложе-
ние, но изисква по-голям разход на елементи за логиката, управ-
ляваща буферите.
Докато изложените два способа могат да се използуват как-
то при схеми с обединени входове и изходи за Данни, зака и при
схеми с разделени входове и изходи за данни, третият е прило-
жим само в последний случай. При него приемниците са посто-
янно разрешени (фиг. 2.28).
51
При реализирането на всеки един от трите способа за буфе-
риране на информационната магистрала трябва да се обърне го-
лямо внимание на управляващата логика за буферите. Сигналът
MS, необходим за избор на модула, се генерира от първичния
Фиг. 2.27. Буфериране на магистра-
лата за данни с разделено управле-
ние на прнеминците и предавате-
лите
Фиг. 2.28. Буфериране на магистралата
за данни за памет с разделени вход
и изход
или вътрешномодулння декодер на паметта и е с активна логи-
ческа 0. Той съдържа в себе си сигнала VMA. В повечето слу-
чаи към управляващите сигнали на буферите не е необходимо
да се включва Ф2. Тъй като информацията по информационната
магистрала се разпространява по време на Ф2, по-добре е, ако
буферите за данни бъдат предварително разрешени в необходима-
та посока и това разрешение продължи малко след Ф2. В случай-
те, когато е необходимо магистралите да бъдат освободени по
време на фаза Ф1(Ф2=0), се практикува включването на сигнала
Ф2 в управлението на буферите за данни. Това може да се из-
върши, като Ф2 се въведе за разрешаване на първичния или вът-
решномодулния декодер, при което MS ще съдържа Ф2. Вторият
52
начин за въвеждане на Ф2 в управлението на буферните данни,
показан с прекъсната линия на фиг. 2.26, 2.27 и 2.28, е Ф2 да се
включи пряко в логиката за управление на буферите.
Срещат се и модификации на разгледаните схеми на буфери-
ране на информационната магистрала. От друга страна, за тази
цел могат да се използуват и други интегрални схеми — например
8226 и 8216 (съответчо инвертиращи и неинвертиращи), конто са
подобии на 8Т26 и 8Т28 с тази разлика, че работата им се раз-
решава от сигнал „разрешение на чип“ (СЕ), а посоката на дан-
ните през тях се определя от сигнала R/W. Без допълнителяа
логика с тях може да се организира вторият способ на буфери-
ране. Със Същото управление се характеризират интегралните бу-
фери 8Т125. Те съдържат осей двупосочни буфера в корпус, чии-
то предаватели и приемници са вътрешно свързани и не могат
да се използуват за буфериране на схеми с разделени вход и
изход за данни. В ТТЛ серията 74 техен функционален еквива-
лент (но неинвертиращ) е 74245. Многорбразието на произвежда
ните буфери е голямо и схемните варианти с тях са изключител-
но много.
2.6,3. Буфериране на управляващата магистрала
За буфериране на управляващата магистрала обикновено се
използуват еднопосочни буфери. Най-често управляващите сигна-
ли участвуват в логиката на модула с правата и инверсната си
форма. Поради това е удобно да се използуват буферните инте-
грални схеми 8Т26 с одновременно разрешена предаватели и
приемници. В останалите случаи намират приложение еднопосоч
ни буфери както при буфериране на адресната магистрала. Ши-
роко се използуват и ТТЛ буфери. Стремежът е всеки модул да
не натоварва линия от магистрала с повече от един ТТЛ вход.
2,7. ИЗГРАЖДАНЕ НА МИКРОПРОЦЕСОРНА СИСТЕМА
В тази точка се разглеждат конкретни реализирачи модули
за изграждане на микропроцесорна система. Предложените реше-
ния позволяват запознаване с общите принципи за модулно орга
низиране на системи.
2.7.1. Микропроцесорен модул
Обособяването на самостоятелен микропроцесорен модул се
прилага при организирачето на средно големи микропроцесорни
конфигурации. Микропроцесорният модул е управляващ мо-
53
дул. В него се намира микропроцесорът заедно с* буферите за
магистралите на системата. Освен това той съдържа тактов ге-
нератор за сиахроимпулсите Фх и Ф2, както и цялата необходима
логика за работа на системата с бавни и динами чни памети и за
------------------------------------------------------------------------------------------------------------------------------------------1
Фиг. 2.29. Блокова схема на микропроцесорен модул
осигуряване на възможност за канал с директен достъп до па-
метта. Към него принадлежи и първичният декодер на адресното
поле. На фиг. 2.29 е дадена блокова схема на организиран микро-
процесорен модул.
Най-общо логиката върху микропроцесорлия модул може да
бъде обособена на три отделни части:
1. Буфери за магистралите и управлява ща логика.
2. Първичен декодер на адресното поле.
3. Тактов генератор.
На фиг. 2.30 е показано примерно изпълнение на буферите
за процесорните магистрали и първичния декодер на адресно-
то поле. Магистралата за данни е буферирана с интерфейсните
ИС 8Т26. Ако е необходимо данните да не се инвертират, могат
да се използуват интерфейсните ИС 8Т28. Приемниците за данни
на буферите се разрешават от входовете RE само когато микро-
54
Фиг. 2.30. Магистрали» буфери и първичен декодер на микропро-
цесорен модул
55
процесорът чете. За тази цел през ЛЕХ на тези входове се по-
дава сигнал R/W. По-сложно е управлението на предавателите на
буферите за данни. Те се разрешават само когато микропроцесо-
рът записва в паметта (R/W = 0), и то при условие, че няма изис-
квания за установяване на изходите на микропроцесорния модул
във високоимпедансно състояние. Установяване във високоимпе-
дансно състояние се прилага при следните случаи:
1. Микропроцесорът е преустановил работа вследствие на
подаден към него сигнал HALT.
2. Микропроцесорът изчаква заявка за прекъсване след из-
пълнение на инструкцията WAI.
3. Подаден е сигнал DMA за организиране на канал за ди-
ректен достъп до паметта.
В първите два случая микропроцесорът дава сигнал, че е
преустановил работата си посредством изхода си ВА, на който
се появява логическа 1. В показаната схема сигналът ВА се обе-
динява със сигнала DMA в JlEt и през ЛЕ3 управлява разреша-
ващите входове на адресните буфери. Чрез допълнително обе-
Динение на получения сигнал със сигнала R/W в ЛЕ± се управ-
ляват входовете за разрешение на буферите за данни (DE). Сиг-
налът DMA се изработва от схемата на тактовия генератор.
Като адресни буфери за микропроцесорния модул са изпол-
зувани интерфейсните ИС 8Т97. В една от тях се извършва и
буферирането на сигнала R/W.
От микропроцесора към магистралите, свързващи модулите,
е изведен сигнал VMA вместо VMA, като инверторът ЛЕЪ е с
отворен колектор. В ЛЕ& може да се извърши умножението
VMA. Ф2, като за целта се осъществи връзката между т. 1 и 2.
Тогава към магистралата ще бъде изведен сигнал УМА.Ф2 В
някои случаи се налзга адресните буфери и предавателите на бу-
ферите за данни да бъдат разрешавани само по време на Ф2. Та-
къв е случаят, когато се организира канал за директен достъп
до паметта, работещ през времетраенето на ФР За реализирането
на тази възможност е необходимо изходът на ЛЕ7 да се свър-
же с единия вход на ЛЕ3 (т. Зет. 4).
Към магистралата е изведен и сигналът ВА', който се уста-
новява в логическа 1 винаги когато магистралните буфери на ми-
кропроцесорния модул са във високоимпедансното си състояние.
В схемата от фиг. 2.30 е показан първичен декодер на ад-
ресното поле, изпълнен с ИС 7442. Цялото адресно поле е раз-
делено на 8 области по 8192 адреса (8К адреса) и за всяка об-
лает е осигурен изходен сигнал „избор на зона". Входни сигна-
ли за дешифратора са сигналите от адресните линии А13, Аи и
А16, а разрешение за работата му се дава от VMA. Всички те-
зи линии са подведени от изходите на магистралните буфери на
микропроцесорния модул. По този начин, когато адресните линии
56
са във високоимпедансно състояние, първичният декодер може да.
бъде управляван от други управляващи модули.
На фиг. 2.31 е показана принципната схема на тактов генера-
тор за микропроцесорния модул и необходимата допълнитслна
Фиг. 2.31. Тактов генератор за микропроцесорен модул
логика за организиране на обмен с бавни и динамични памети,
както и за осигуряиане на канал за директен достъп до паметта.
Генераторът е кварцово стабилизиран. За осцилатор е използуван
D-трйгерът Тгг (1/4 7475). Получената от него честота се дели с
брояч 7490 или 7493 до получаване на необходимия микропроце-
сорен цикъл. Ако е необходимо той да бъде 1 ps, използуваният
кварцев рёйонатор трябва Да генерира на честота 2, 4, 8, 10 или
57
16 MHz. Двутактните крайни стъпала за Ф1 и Ф2 са изпълнени с
логическите елементи ЛЕЛ и ЛЕ3, и транзисторите 7\ и Т2. Те
трябва да бъдат бързодействуващи, за да се получат стръмни
фронтове. Незастъпването на фазите се осигурява от вътрешно-
то закъснение на използуваните схеми и допълнително — от вклю-
чения кондензатор между изходите Q и Q на тригера Тгг.
При обслужване на бавни и динамични памети, както и при
осигуряване на възможност за канал с директен достъп до па-
метта трябва да се спрат двата синхроимпулса Ф, и Ф2 и сигна-
лът DBE. За тази цел пред крайните стъпала на двете фази са
включени D-тригерите Тг3 и Гг4 (1/4 7475). Когато на тактовия
им вход има логическа 1, те пропускат входния сигнал, докато
при логическа 0 съхраняват старото си състояние. Заявката за
обслужване на бавни памети MR се възприема по положител-
ния фронт на Фг чрез D-тригера Тг5 (1/2 7474). Входните сигна-
ля TSC и REF („управление иа трето състояние" и „опреснява-
не на динамични памети") се възприемат по положителния фронт
на Ф1 (респ. по отрицателния фронт на Ф'2) в тригерите на ИС
7495, ако не е пристигнала заявка за работа с бавни памети. Та-
ка възприетите сигнали „блокират" D-тригерите Тг3 и Тг4 чрез
входовете им Т и двете фази се задържат в положението, в
което са били. От сигналите TSC и REF е синтезиран выреш-
ният сигнал DMA, установяващ магистралните буфери на микро-
процесорния модул във високоимпедансно състояние.
Времедиаграмите при обслужване на бавни памети са пока-
зани на фиг. 2.32. На фиг. 2.33 и 2.34 са дадени съответно |ре-
(тпактп запамепа)
Фиг. 2.32. Времедиаграми при обслужване на бавни памети
медиаграмите при обслужване на динамични памети и при осигу-
ряване на канал за директен достъп до паметта. При буферирани
адресни линии и линии за данни на микропроцесора входът му
TSC не се използува и се свързва към маса. Подаваният към
58
микропроцесорния модул сигнал TSC установява във високоим-
Педансно'състояние магистралните буфери и спира Фх и Ф2, без
обаче микропроцесорните изходи да се установяват във високо-
импедансното си състояние.
DMA
Фиг. 2.33. Времдиаграмм при обслужване на динаиични памети
Фиг. 2.34. Времедиаграми при осигуряване на канал за директен достъп до
паметта
В показаната па фиг. 231 схема е извършено синхромизира-
но подаване на сигнал HALT към микропроцесора по положител.
ния фронт на Въведен е и автоматичен сигнал RESET при
включване на захранващото напрежение.
В схемите от фиг. 2.30 и 2.31 е необходимо инверторите’ ЛЕ6,
ЛЕа, ЛЕ9 и ЛЕц да бъдат с отворени колектори. Повторители-
те JlExi~ ЛЕ19 са от типа 8Т97.
59
В микропроцесорната фамилия М6800 е разработена интег-
ралната схема МС6875, изпълняваща всички необходими функции
на тактов генератор за МС6800. На фиг. 2.35 е показана прин-
ципна схема на тактов генератор с МТ6875. Схемата има само
Фиг, 2.35. Тактов генератор за микропвоцесорен модул,
изпълнен с интегралиата схема МС6875
един вход (DMA) за синхронно спиране на микропроцесорните
тактове (Ф| — във високо> ниво, а Ф2— в ннско ниво). Този вход
се използува както при осигуряване на канал за директен достъп
до паметта, така и при обслужване на динамични памети. И в
два та случая се изработва ответен сигнал DMA/REF GRANT с
активна логическа 1. През инвертор към системната магистрала
може да се изпрати и инверсията на този сигнал. Вграденият в
схемата осцилатор генерира четири пъти по висока честота от
необходимата. Затова, ако е необходимо микропроцесорният ци-
къл да бъде 1 ps, трябва да се използува кварцов резонатор с
честота 4MHz. Схемата позволява замества ето на кварцовия pe-
so-штор р кондензатор. В такъв случай генерираната честота се
определя от формулата
4/ 320
Jc~ C(R+Q,n)+'2Z ’
където Се в pF, R—в kQ, a fc~ в MHz. _______
При включване на захрацващото иапрежение на изхода RESET
60
автоматично се изработва импулс с ииво на логическа 0, чиято
продължителност се определи от свързания към входа RES кон-
дензатор. Вътрешно този вхрд е свързан към +5 V през резистор
със съпротивление 50 Ш. В показаната схема към изхода RESET
са включени двата инвертора ЛЕ6 и ЛЕ$, като Л Ес, е с отворен
колектор, за да може линията RESET да се управлява и от други
устройства. В ИС МС6875 не се извършва синхронизиране на по-
давания към микропроцесора сигнал HALT. В тактовия генератор
от фиг. 2.35 това е извършено с допълнителния D-тригер 1/2
7474, тактуван от сигнала MEM CLK. Сигналите Ф2ТТЬ, DBE и
RG, конто се изпращат към системните магистрали, са буфери-
рани с интерфейсни ИС 8Т97.
В някои схемни решения на микропроцесорен модул в него
(между микропроцесора и магистралните буфери) се включват
памети или интерфейсни схеми, заемащи част от адресного поле.
В такъв случай е необходимо, когато микропроцесорът се об-
ръща към тях, да се забранят приемниците на магистралните бу-
фери за Дании. В схемата от фиг. 2.30 това се извършва, като
към единия вход на ЛЕг (т. 5) се подаде сигнал с активна ло-
гическа 0, когато микропроцесорът се обръща към тези заети
части от адресного поле.
2.7.2. Организиране на статична оперативна памет
При статичиата памет RAM запомнянето на всеки бит инфор-
мация се извършва в отделен тригер. При четене тази информация
ие се изтрива. Статичната памет RAM е много удобна, тъй като
не се нуждае от опресняване на информацията и затова тя се
използува широко при организираието на оперативна памет.
На фиг. 2.36 е показана блоковата схема на модул статична
оперативна памет RAM. Адресната магистрала през входни адрес-
аи буфери се свързва с масива памет. От управляващата маги-
страла се използуват сигналите MS („избор на модул“), R/W и
DBE. Буферите за данни са двупосочни и евързват масива памет
с информационната магистрала. С помощта на управляващата
логика се еннтезират необходимите управляващи енгналн за ма-
сива памет като разрешение за запис (WE) и избор на схеми (CS).
Същевременно тази логика разрешава буферите за данни само
когато модулът е избран.
Паметите от тип статична RAM са по-сложни и са с по-мал-
К9 степей па интеграция от динамичните памети (вж. т. 2.7.3).
Затова за организиране иа статична оперативна памет с голям
рб?м обикцовено се налага евързването ца няколко интегрални
схеми. На фиг. 2.37 е показано формррането на масив RAM с
61
обем 1 Kbyte с интегрални схеми 2101, всяка от конто има ка-
пацитет 1024X1. За целта 8 такива ИС се свързват към адрес-
«ите линии паралелно. Всички входове за избор на паметите (CS)
са обединени и се активират одновременно от общия сигнал за
Фиг. 2.36. Блокова схема на модул статична оперетативна нам
Фиг. 2.37. Формиране на 8-битова дума
от интегрални памети с организация
по 1 bit
Фиг. 3.38. Формиране на 8-битова ду.
ма от интегрални намети с орга-
низация по 4 bit
избор на масива, генериран от управляващата логика. Всяка ИС
от масива памет съдържа по I bit от всички думи.
Ако се използуват интегрални схеми с организация по 4 bit
(например 2114, която е с организация 1024X4), масыв с обем
62
Към микропроцесорните магистрали
Фиг. 2.39. Буфери и управляйте логика за модул статична оперативна памет
към масива памет
63
1 Kbyte се получава само от две схеми, както с показано на
фиг. 2.38.
Примерно изпълнение на модул статична памет RAM е пока*
зано на фиг. 2.39 и 2.40, като на фиг. 2.39 са дадени буферите
Фиг. 2.40. Масив статична оперативна памет, изпълнен с интегралните схеми 2102
на модула за магистралите и управляващата логика. Адресните
линии от Ао до Аи са буферирани с ломощта на едИопосочнитё
буфери 8Т97, конто са постоянно разрешени. От управляващата
64
магистрала са необходнми сигналите R/W, DBE и MS, и тъй като
в управляващата логика те участвуват както в прав, така и в
инверсен вид, тяхното буфериране е извършено с ИС 8Т26, на
която едновременно са разрешени и предавателите, и приемниците.
Фиг. 2.41. Масив статична оперативна памет, изпълненс интегралнитесхеми2114
Същото се отнася и за адресната линия Ац. Информационната
магистрала е буферирана с двупосочните буфери 8Т26, управля-
вани от управляващата логика. Когато модулът не е избран
(MS — 1), разрешени са приемниците на 8Т26, а предавателите са
забранени, т. е. разрешената посока на данните е от магистралата
към модула. При положение, че модулът е избран (MS=0), по-
соната ва данните в буферите се управлява от състоянието иа
линията R/W. Управляващата логика генерира н сигнал „разре-
шение за запис" (WE) към масива памет, който е с активна ло-
гическа О, когато R/W—0 и DBE = 1. Линията MS е една от ли-
ниите на първичния декодер. Чрез сменянето й се получава пре-
адресация на модула. Областта, която тя дешифрира, е с обем
8К адреса. Вътре в модула е включен декодер, който се разре-
шава от MS и допълнително раздели областта на 8 подобласти
с обем по 1 К адреса, генерирайки за всяка от тях сигнал за из-
бор. Тези сигнали се използуват за избор на ИС от масива памет.
На фиг. 2.40 е показан масив статична памет, организираи с
ИС 2102. Дадени са само две колони от масива, но техинят брой
може да бъде увеличен до осем в зависимост от мястото върху
печатната платка. На фиг. 2.41 е показан същият масив памет,
но организираи с ИС 2114. Тук също са дадени само две колони,
като техният брой може да се увеличн до осем. Тъй като ИС 2114
не са с разделени входове и изходи за данните, при организира-
5 Приложение на микропроцесорни
65
нето на масив памет с тях иэходът на приемника и входът на
предавателя за съответния бит от буферите за данни се свърз-
ват накъсо.
Запис
Валиден адрес
Фиг, 2.42. Времедиаграми на операциите »четене“ и ,запис*
при статична оперативна памет
Необходимо е да се знае, че няма никакво значение дали
буферите за данни ще бъдат инвертиращи или не. Също така
няма значение, ако адресните линии се инвентират или ако се
подведат към схемите от масива памет в ред, различен от изло-
жения във фирменото им описание.
Времедиаграмите на операциите „четене" и „запис" за орга-
низираната статична оперативна памет са дадени на фиг. 2.42.
2.7.3. Организиране на динамична оперативна памет
При проектиране на големи масиви оперативна памет се нз-
ползуват динамични памети. При тях запомнянето на всеки бит
информация се извършва върху кондензатор, поради което пе-
риодично се налага нейното опресняване. За повечето динамични
памети периодът на опресняването е около 2 ms. При тях се
постига приблизително 4 пъти по*голяма плътност на записаната
66
информация и съответно по-малка цена за 1 bit, отколкото при
статичните памети.
В разгледания по-долу пример за проектиране на динамична
оперативна памет с обем 8 Kbyte са използувани интегралните
памети 2107. Тяхната вътрешна организация е 4096X1, т. е. за
синте^иране на 8-битова дума са необходими 8 ИС. Затова масив
памет с обем 8 Kbyte ще се получи с 16 ИС. Свързването им е
подобно на показаното на фиг. 2.37. ИС 2107 има разделени вход
и изход за данни, при това изходът за данни е инвертиран. За
разрешение на изходния информационен буфер служи сигналът
логическа 0 на входа CS. Входът WE определя режима на рабо-
та —логическа 1 за четене и логическа 0 за запис. Разрешението
за работа иа схемата се определя от състоянието на входа СЕ.
Това е единственият извод, чиито нива не са съвместими с ТТЛ ИС
Когато на него има 0 V, работата със схемата е забранена, а при
+ 12V — разрешена. Съдържащите се 4096 bit са матрично под-
редени и се адресират от 12-те адресни линии, от конто млад-
шите 6 определят колоните на матрицата, а старшите 6 — нейните
редове. Опресняването на информацията в чипа трябва да се из-
вършва всеки 2 ms, като се опресняват последователно всичките
64 колони. При това на входа СЕ трябва да има ниво 4-12 V, а
на входа CS — логическа 1. Опресняването е еквивалентно на
операцията „четене".
На фио» 2.43 е показана блоковата схема на модул динамична
оперативна памет. От адресната магистрала постъпват адресните
линии от Ао до Ап. След буфериране те се разделят на две ча-
сти, като старшите 6 (от Ав до Ап) се свързват непосредствено
с масива памет. Младшите 6 адресни линии (от Ао до Ав) също
се свързват с масива памет, но преминавайки през мултиплексор,
където в режим на опресняване на информацията се заменят със
сьщия брой линии, идващи от брояча на колоните. Буферите за
данни са двупосочни и свързват масива памет с магистралата за
Дании. От управляващата магистрала се използуват сигналите MS,
R/W, Фа (такт за паметта) и RG (разрешение за опресняване). От
паметта към микропроцесорния модул се изпраща сигналът REF
{заявка за опресняване).
Управляващата логика синтезира необходимите управляващи
сигнали за масива памет като WE, CS и СЕ. Същевременно тя
разрешава буферите за данни само когато модулът е избран. От нея
се изработва и сигналът REF. Когато пристигне отговор RG, тя
дава сигнал на мултиплексора да превключи изходите на брояча
на колони към младшите адресни линии на масива памет и уп-
равлява сигналите СЕ и WE за извършване на опресняване. След
завършване на опресняването се прибавя единица към брояча на
колони, за да се получи адресът на следващата колона за опре-
сняване.
67
На фиг. 2.44 е показан масив динамична памет с обем 8 Kbyte.
Схемите са обединени в два блока по 4 Kbyte всеки. Адресните
линии и линията WE са свързани към всички ИС. Двата блока
Фиг. 2.43. Блокова схема На динамична оперативна памет
имат отделяй сигналя СЕ и CS. Линиите за данн1| свързват изво-
дите за данни на едноименните ИС от двата блока.
Буферирането на адресната магистрала и магистралата за
данни е показано на фиг; 2.45. За адресната магистрала са изпол-
зувани неинвертиращи еднопосоччи буфери 8Т97. Буферите за
линиите от Ав до Ап, конто отиват непосредствено към масива
памет, са постоянно разрешени. Вместо мултиплексор за младшите
адресни линии е използувана възможността на ИС 8Т97 да се
установяват във високоимпедансно състояние на изходите си.
Броячът на колони е изпълиен с две ИС 7493. Изходите на тези
схеми преминават през буфер 8Т97, който се разрешава само ко- е
гато Пристигне разрешение за опресняване. През това време се
забраняват буферите -за младшите 6 адреса. Изходите на буфе-
рите за Младшите аДресй са свързани накъсо с изходите на бу-
ферите за брояча иа колоните и постъпват към масива памет.
За буфериране на линиите за данни са използувани двупо-
сочните инвертиращи буфери 8Т26. Тъй като ИС 2107 имат ин-
вертиран изход и неиЯвертиран вход за данни, за осъществяваие
на еднаквост между изходите на приемниците за данни и инфор-
68
Фиг. 2.44. Масив динамична оперативна памет, изпълнен с интегралните схеми 2107
Фиг. 2.45. Буфери за динамична оперативна памет
ТО
мационните входове на паметите се включват инвертора от ти*
ца 7404.
На същата фигура е показано получаването на захранващо
напрежение—5V за масива памет от напрежението 4-12V. Преоб-
Фиг. 2.46. Логика за управление и за опресняване на информацията в динамична
оперативна памет
разувателят се тактува от сигнали с честотата на разрешението
за опресняване, разделена на две с един от тригерите на 7493.
На фиг. 2.46 е дадена принципна схема на управляващата
логика за модула динамична оперативна памет. От микропроцесор-
ния модул постъпра сигналът MS, декодиращ облает с обем 8К
адреса. С допълнително декодиране на линията А12 се получават
сигналите CSX и CS». От тях с допълнително разрешение от Фа
се синтезират сигналите СЕХ и СЕ2. По време на опресняване
71
(RG=O) СЕ! = СЕ2= + 12V. Сигналы DE разрешава предавателите
яа буферите за данни само когато е избран мбдулът и микропро-
цесорът чете от него. За масива памет се изработва сигнал WET,
който по време на запис става логическа 0 около 200 ns след
положителния фронт на Ф2 (когато данните от микропроцесора са
станалн валидни) и се установява в логическа 1 заедно с отри-
цателния фронт на Ф2. Необходимого закъснение се осигурява от
чакащия мултивибратор 1/2 74123. Другата половина на 74123 се
използува за определяне времето, през което ще се опреснява
паметта. Продължителността на неговия импулс е 31 ps. След
свършване на импулса към микропроцесорния модул се изпраща
заявка за опресняване (REF). Полученото разрешение за опресня-
ване (RG) стартира отново чакащия мултивибратор и изчиства
заявката за опресняване. Схемата е разработена така, че незави-
симо дали модулът е изпратил заявка за опресняване, щом при-
стигне разрешение за опресняването, то се изпълнява. Сигналът
Фиг. 2.47. Времедиаграми иа операциите .четене* и .запис* в
динамична оперативна памет
REF може да се свързва в „монтажно ИЛИ“’с едноименните сиг-
внали от други модули динамична памет. По този начин всички те-
и модули ще се опресняват едновременно при най-често подава-
ната заявка.
72
На фиг. 2.47 са показани времедиаграмите на циклите „чете-
не** и „запис" в организираната динамична оперативна памет.
За модулите оперативна памет няма никакво значение дали
буферите за данни и адрес са инвертиращи илн неинвертиращи.
В показаните принципни схеми са използувани по-разпространени-
те буфери.
Грэи бързлте динамични паметн е целесъобразно организира-
нето на т. нар. „скрито' опресняване. То се извършва само по време на
фаза Фр а през време на Ф* паметта е свободна за достъп от микропро-
цесора. На фиг. 2.48 е показано организирането на динамична опера-
тивна памет с обем 64 Kbyte. Използувани са интегралните памети
от типа 4116, имащи организация 16КХ1. За съставянето на масив
64 Kbyte памет са необходими четири колони по 8 ИС 4116. Тях-
ното свързване е подобно на това от фиг. 2.40. ИС 4116 има 7 ад-
ресни входа, конто приемат 14-битов адрес на две части (7-те ад-
реса, определящи редовете на матрицата памет, се приемат под
действието на стробиращ импулс на входа RAS, а 7-те адреса,
определящи колоните на матрицата памет —под действието на
сторбиращ импулс на входа CAS). Тя има разделени вход (DI) и
изход (DO) за данни и вход WE, който, получавайки логическа О,
определи операцията „запис" в паметта. Опресняването на инфор-
мацията в ИС4116 се извършва последователно за всички 128
колони. При това на входа WE трябва да има логическа 1.
За управление на памети от този тип са разработени контро-
лерът за динамична памет МС3480 и адресният мултиплексор
МС3242 на фирмата „Motorola**, с чиято помощ е организираи мо-
дулът динамиина памет RAM от фиг. 2.48.
Контролерът за динамични памети МС3480 съдържа цялата
необходима логика за осигуряване режима на работа на паметта.
Той генерира сигнала CAS за всички памети и четири сигнала RAS
в зависимост от състоянието на входовете си Аи и А1В. Сыце-
временно тойизпраща сигнал RowE към адресния мултиплексор
за превключване на адресните линии за редовете към ИС4116.
Под управление на тактови импулси, подавани на входа му Ref. Cl,
контролерът МС3482 генерира сигнал Ref. req. (заявка за опрес-
няване) и при получаване на отговор-потвърждение Ref. gr. изра-
ботва сигналите Ref.E (разрешение за опресняване) за брояча
на колоните за опресняване и CAS за паметта. Формирането на
всички сигнали от контролера от МС3480 се извършва под управ-
лението на пет външно подавани импулси В предложената
схема те се генерират отчакащи мултивибратори 74123 (ЧМ^~ ЧМ4).
Тези импулси започват едновременно при отрицателния фронт на
МС (МС е инверсия на МС=Ф2), т. е. при положителния фронт
на Ф2, и имат различна продължителност. При поява на заявка за
73
Кьм микрспроцессрните нагистрсли
Фиг. 2.48. Модул динамична памет с обем 64 Kbyte
опресняване отговор се дава от МС и групата чакащи мултнвиб-
ратори се пуска от положителния фронт на МС (отрицателният
фронт на Фа), с което опресняването се извърщва по време на
74
Ф1> Достъпът на микропроцесора до паметта е възможен само
когато на входа СЕ на МС3480 има логическа 0. Тъй като пока-
заната памет заема цялото адресно поле на МС6800, в управле-
нието на СЕ участвува само сигналът VMA. Същевременно е
въведен сигналът BL, който с логическа 0 забранява паметта.
Този сигнал трябва да се изработва от други модули само за
адресата облает, конто те заемат.
Адресният мултиплексор МС3242 извършва мултиплексиране
на адресите за редовете и за колоните на паметите 4116 под уп-
равление на сигнала Row.E. Същевременно той съдържа и 7-би-
тов брояч на опресняваните колони, чието съдържание се включ-
ва към адресните входове на 4116 при сигнал Ref.E.
Определен недостатък на динамичните памети от типа 4116
е необходимостта от три захранващи напрежения ( + 5V, 4-12V
и —5V). По-съвършени са динамичните памети от типа 4164,
изискващи едно захранване +5V и имащи организация 64КХ1.
Те имат в повече само един адресен вход (А7). По показаната
на фиг. 2.48 схема могат да се организират четири страници па-
мет с обем 64 Kbyte всяка, като вместо ИС 4116 се използува
ИС 4164. Промените, конто трябва да се внесат в схемата в този
случай, са показани на фиг. 2.49. Необходимо е да се осигури
мултиплексиране на адресите А14 и А)5 от микропроцесорната
магистрала за осмия адресен вход на 4164. Освен това трябва Да
Фиг. 2.49. Допълнителна логика за обслужване на памет от
типа 4164
се въведе още един бит на брояча на колоните за опресняване,
което е извършено с тригера 1/2 7474. В схемата от фиг. 2.49
генераторът за опресняване е изпълиен с таймера 555, генериращ
на честота 64 kHz. При работа с ИС 4164 към адресните входо-
75
ве Au и А16 на ИС МС3480 трябва да се подава номерът на
страницата памет с обем 64 Kbyte, към която се обръща микро-
процесорът в текущия цикъл.
2.7.4. Организиране на постоянна памет
Постоянната памет е абсолютно необходима за всяка микро-
процесорна система. В нея се съхраняват работната програма,
константи, таблици и др. В микропроцесорната фамилия М68ОО
е разработена постоянна памет (ROM) с организация 1024x8.
Това е ИС МС6830. Нейното използуване е ограничено само за
изделия, конто фирмата предлага, тъй като записването на ин-
формацията в тях се извършва в технологичния цикъл на произ-
водството.
Най-широко приложение в микропроцесорните системи са
получили постоянните памети от типа EPROM (изтриваема про-
грамируема постоянна памет). Те'се програмират по електрически
път от потребителя, а изтриването им се извършва с помощта
на ултравиолетови лъчи. Трайността на записа се гарантира за
десетки години. Поради голямото им разпространение в настоя-
Фиг. 2.50. Блокова схема на модул постоянна памет
щата точка се разглеждат именно модули постоянна памет, из-
градени на базата на EPROM.
На фиг. 2.50 е дадена блокова схема на модул постоянна
76
рамет. Тя съдържа буфери за процесорните магистрали, управля-
Ваща логика за буферите и за изработване на сигналите CS (избор
на чип), както и масив постоянна памет.
На фиг. 2.51 е показано организирането на масив постоянна
I
I
t
A9
Я
Aa
As
Ач
A3
At
A
A
ЖПШП—
§ 2708(2508)
ЕТЧШШ
0,
Об
0s
03
0г
O<
0o
Фиг. 2.51. Масив постояна памет с EPROM 2708
памет с обем 8 Kbyte, изпълнен с EPROM 2708 или 2508, имащи
организация 1024X8. Всички изводи на интегралните схеци се
свързват паралелно, с изключение на изводите за сигналите за
избор на чип (CS), конто се извеждат поотделно. Разликата меж-
ду паметите 2708 и 2508 е тази, че 2708 изисква три захранващи
напрежения (+ 12V, +5V и —5V), докато 2508 — само едно ( + 5V).
Когато се използуват памети 2708, сигналът CS може да включва
захранващото напрежение +5V на избрания чип. Това е възможно,
тъй като напрежението +5V захранва само изходните буфери
на паметта EPROM 2708. По такъв начин общата консумация ще
спадне.
На фиг. 2.52 е показана схемата на буферите за процесорни-
те магистрали и управляващата логика. Адресната магистрала и
линията за сигнала R/W са буферирани с ИС8Т97. Управляващата
77
логика разрешава буферите за данни само когато е избран мо-
ду лът и операцията е „четене*. В същото време се разрешава
работата на вътрешномодулния декодер, който дешифрира до-
пълиително към MS адресните линии А12, Ап и А10 и изработва
78
сигналите CS за съответната ИС от масива на паметта. Декоде-
рът е изпълнен с ИС7442. Буферирането на магистралата задан-
ии е извършено с ИС8Т26. Тъй като от модула само се чете,
приемниците и предавателите на буферите за данни са насочени
към магистралата и се
разрешават едновремен-
но. Ако магистралата
е за инвертирани данни,
тя се свързва към изхо-
дите на предавателите,
а в противен случай —
към изходите на прием-
ниците. Трябва само да
се има предвид, че при-
емниците са по-малко-
товароспособни от п{.е-
давателите.
Широко разпрост-
ранени са и постоянните
памети EPROM от типа
2716 и 2516 (функцио-
нално еквивалентни),
конто са с организация
2048x8 и изискват са-
Мо едно захранващо
напрежЛие +5V. Раз-
работенн са и статични
памети с произволен
достъп (RAM), имащи
•също организация 2048 X
Х8 и съвместими по из-
води с паметта EPROM
2716. Такива са CMOS
паметите RAM от типа
Фиг. 2.53. Масив памет с EPROM 2716
(RAM 6 116)
6116. Това дава основание да се разработят еднакви модули, кон-
то в зависимост от включените в тях интегрални схеми ще бъдат
оперативна памет, постоянна памет или смесени. Разликата между
EPROM 2716 и RAM 6116 е в предназначение™ на извода 21.
Извод 21 на 2716 (Vpp) при работа трябва да се свърже към
+5V, докато при 6116 на извод 21 (WE) трябва да се подава
логическа 0 при операция .запис** и логическа 1 при операция
.четене**. На фиг. 2.53 е показано организиране на масив памет
от ИС 2716 или 6116. Извод 21 на всяка ИС се превключва или
към 4-5V (за 2716), или към линията WE (за 6116).
На фиг. 2.54 е дадено примерно изпълнение на буферите за
информационната магистрала и управляващата логика на този мо-
79
Фиг. 2.54. Буфери и управляваша логика
за модул памет с EPROM 2716 (RAM 611®)
има предвид, че Vpp е вход, изнскващ
дул. Буферйрането на адресната магистрала може да се извърши
както на фиг. 2.52. Модулът съдържа 16К адреса. Затова е необ-
ходимо да бъдат обединени Два сигнала MS от първичния деко-
дер на адресното поле — MSX и MS2. За вътрешномодулен деко-
дер е използуван двойният
дешифратор 74155. Той ге.
нерира осемте сигнала CS,
всеки от конто декодира
по 2 К адреса за избор на
всяка една от интегрални-
те схеми в масива памет.
Сигналът WE се изработ-
ва от комбинационна ло-
гика. Той е логическа О
по време на Ф2 само кога-
то операцията е „запис"
(R/W = l). Сигналът ОЁ
разрешава изходните бу-
фери на интегралните па-
мети и затова представля-
ва инверсия на сигнала
R/W. Възможно е изводът
21 (Vpp) на EPROM 2716
да бъде свързан към ли.
нията WE (на нея има ло-
гическа 1 при четене) и
по този начин да се из-
бягнат превключвателите
за 2716 и 6116. Този вари-
ант е предвиден на фиг.
2.54 чрез включване на по-
казаната с прекъсната ли-
ния трупа и реализиране
на логнческите елементи
с ИС от типа
7437. Трябва обаче да се
сравнително голям ток за
управление (около —15 mA при свързване' към маса и около
4mA при свързване към 4-5V).
2,7.5. Периферии модули
Периферните модули служат за връзка на микропроцесорната
система с външните спрямо иея блокове в устройството. Чрез
тях се осъществява паралелно и последователно въвеждане и
80
извеждане на информация към и от микропроцесорната система.
Въпреки голямото им разнообразие периферните модули се
подчиняват функционално иа блоковата схема от фиг. 2.55. Ос-
новно звено в тях са периферните контролери и интерфейсните
адаптери. Това могат да
бъдат PIA — за паралел-
но въвеждане и извеж-
дане на информация,
ACIA — за асинхронен
последователен обмен
на информация, кон-
тролери за гъвкави маг-
нитни дискове, контро-
лери за връзка с теле-
Фиг. 2.55. Блокова схема иа периферен модул
визионен монитор, кла-
виатурни контролери и
др. Тяхното свързване
към процесорните ма-
гистрали се извършва посредством вътрешния интерфейс, включ-
ващ буфери за данни, адресни буфери и управляваша логика. От
друга страна, свързването на интерфейсните адаптери и контролери
с външните блокове се осъществява чрез външен интерфейс. В
зависим оГт от задачите, изпълнявани от периферните модули, той
включва в себе си мощни буфери, преобразуватели на нива, мо-
дулатори и демодулатори, елементи за галванично разделяне
преобразуватели и др.
В настоящата точка се разглеждат само някои конкретни из-
пълнения на вътрешен интерфейс от периферен модул, свързващ
интерфейсните адаптери с процесорните магистрали. Въпросите,
свързвани с външните иитерфейси на периферните модули, ще
бъдат разгледани в следващите глави чрез конкретни схеми.
На фиг. 2.56 е дадена принципната схема на вътрешен ин-
терфейс за периферен модул с два паралелни интерфейсни адап-
тера. Той включва буфери за информационната магистрала, ад-
ресни буфери и буфери за управляващата магистрала, вътрешно-
модулен декодер и управляваща логика. Микропроцесорът МС 6800
третира периферните схеми като клетки от паметта. Повечето
периферии модули обхващат само малка част от цялото адресно
поле. Например в показания случай двата PIA заемат общо само
8 адреса. По тази причина е необходимо включването на декодер,
дешифриращ голям брой адресни линии. От първичния декодер
на Микропроцесорния модул идва линията MS („избор на модул"),
дешифрираща 8К адреса. За да се получи пълно дешифриране
на два адаптера PIA, във вътрешномодулння декодер трябва да
бъдат обхванати и адресните линии от А3 до А12. Те са буфери-
рани с ИС8Т26, на конто са разрешени едновременно и предава-
телите, и приемниците. По този начин адресните линии могат да
в Приложение на микропроцесорни
81
Кгм макрос рэцоСОрни гпё Магистрали
Фиг. 2.56. Вътрешен интерфейс ня периферен модул с адаптери PIA МС6820
82
Към микропроцесорните магистрали
5»
Фиг. 2.57. Вырешен интерфейс на периферен модул с адаптер ACIA МС 6850
участвуват в декодирането или с правата, или с инверсната си
форма, чрез което се избира декодирана облает за двата PIA.
Вътрешномодулният декодер е изпълнен с комбинационна логика
(един 8-входов и два 4-входови ТТЛ елементи И-НЕ). За пока-
заното положение на декодерните превключватели Р1А0 обхваща
адреси от 8000 до 8003, a PIА 2 — от 8004 до 8007, като MS де-
кодира зоната от 8000 до 9FFF (8/9). За информационната ма-
гистрала са използувани буферите 8Т26. Това е възможно, ако
данните по микропроцесорната магистрала са инвертирани. Ако
те са неинвертирани, трябва да се използуват буферите 8Т28.
Управляващата логика ги разрешава в посока към маг-истралата
само когато е избрано едно от периферните устройства и опера-
цията е „четене*. Адресните линии Ао и А] се евързват към вхо-
довете за избор на регистри на периферните адаптери. Изводите
на тези адаптери за прекъсване са обединени и могат да бъдат
свързани към линиите IRQ или NMI на микропроцесора. Разре-
шение за работа на адаптерите се дава от сигнала Ф2 (такт за
паметта). Ако в системата не се използуват бавни и динамични
памети или няма организиран канал за директен достъп до па-
метта, изискващи спиране на двете фази, вместо Ф2 може да се
използува сигналът DBE. Адаптерът PIA синхронизира работата
си по сигнала на входа Е и ако този сигнал спре, може да бъде
пропусната външна заявка за прекъсване.
На фиг. 2.57 е показана подобна схема на вътрешен интер-
фейс за периферен модул с ACIA. Адаптерът ACIA заема само
два адреса от паметта и за да се получи пълна дешифрация, е
необходимо във вътрешномодулния декодер да бъдат включени
адресните линии от Ах до А12. За разлика от интерфейса на
фиг. 2.56 тук вътрешномодулният декодер е изпълнен с помощта
на диодна логика. Тя се характеризира с по-ниска шумоустойчи-
вост, но в замяна на това е изпъляена по-просто. Промяна в де-
кодирането на областта може да се извърши чрез смяна на раз-
положението на диодите. В показания пример ACIA се намира на
адреси 8008 и 8009, като MS декодира зоната от 8000 до 9FFF.
Друга разлика от предишната схема е, че входът R/W на ACIA
не се евързва непосредствено към линията R/W на микропроце-
сора, а към логиката за управление на буферите за данни. За
ACIA това е напълно безразлично, а на линията R/W от микро-
процесорната магистрала се спестява натоварване от един MOS
вход. За този модул също важи условието, че могат да се из-
ползуват инвертиращи буфери за данни само ако данните по
магистралата са инвертирани.
84
ГЛАВА 3
ВЪВЕЖДАНЕ, ИЗВЕЖДАНЕ И СЪХРАНЯВАНЕ
НА ЦИФРОВА И АНАЛОГОВА ИНФОРМАЦИЯ
3.1. УПРАВЛЕНИЕ НА ЦИФРОВА ИНДИКАЦИЯ
Много често се налага да се индицира различна цифрова ин-
формация. Съществуват иного видове цифрови иидикатори — ци-
фрови лампи с газов разряд, седемсегментни индикатори със све-
тодйоди, седемсегментни индикатори с течни кристали и др. В
Фцг. 3.1. Статична индикация с дешифратора
този раздел се разглеждат начините за управление на някои ци-
шпови индикатори и връзката им с микропроцесорната система.
За извеждане на цифровата информация често се използува перй-
ферният адаптер Р1А, в случая СМ602.
85
На фиг. 3.1. е показан един от начините за управление на
цифрова индикация с използуване на PIA (СМ602), дешифратори
(7447) и седемсегментните индикатори (TIL302, VQB71, MAN71 и
др.). Програмното осигуряване на тази схема за цифрова индика-
ция се състои в преобразуване на получения резултат от двоич-
на вЗдвоично-десетична форма, запис на резултата едва байта и
запис на тези байтове в PIA. ИС СМ602 е свързана по такъв на-
чин, че да отговаря на адрес <>8060 (символът <> означава, че
адресът е шестнадесетичен). За да се осъществи това, линията
CS0 е свързана с А6, CSj — с А6 и CS, — с линията 8000 от де-
шифратора на адреса.
За да се инициализират изводите А и В на PIA като изходи,
се използуват следните инструкции:
PAGE 001 PR
0001 NAM PR
0002 ОРТ 0
0003 0000 0RG пОООО
0004 0000 СЕ FF04 LDX #aFFO4
0005 0003 FF 6060 STX □8060
0006 0006 FF 8062 STX □8062
0007 ENB
TOTAL ERRORS 00000
Цифровата информация, конто трябва да се индицира, е необ-
ходимо да се подава на адресите <>8069 и <>8062. За да се ин-
дицира тази цифрова информация, трябва да се изпълни следната
програма:
PAGE 001 PR
0001 ПАМ PR
0002 ОРТ 0
0003 0000 0RG о0000
0004 0000 0001 RABI RMB 1
0005 0001 0001 ЯАВ2 RMB 1
0006 1000 ORG о 1000
0007 1000 96 00 LDAA RAB1
0008 1002 В7 8060 STAA О8060
0009 1005 96 01 ’LDAA RAB2
0010 1007 В7 8062 STAA О8062
0011 END
TOTAL ERRORS 00000
Една такава реализация на цифрова индикация има известно
предимство, тъй като след запйса на информацията не се нуждае
от допълнително обслужване от микропроцесора, т. е. микропро-
цесорът е эает минимално време за обслужване на цифровата
индикация.
86
За да се индицират повече цифри с един адаптер PIA, може
да се използува принципната схема, показана на фиг. 3.2. Изво-
дите В на PIA се използуват, напълио и през тях към индикация-
та се предават паралелно по две цифри. Изводите Ао, At и А2
служат за избор на двойката цифри (използуван е дешифратор
7442), а изходът А3 управлява входа D на дешифратора и кога-
то на този изход има логическа 1, двойките ИС7475 са бло-
кирани (на входовете им Т има логическа 0). Показаната схема
обслужва 16 цифрови индикатора.
Действието на схемата е следното. След преобразуване на
данните от двоична в двоично-десетична форма те се записват в
работни клетки за обслужване на индикацията. Инициализира се
PIA (адресът е същйят):
PAGE 001 PR
0001 NAM PR
0002 ОРТ 0
ООО? 0000 ORO nOOOO
0004 0000 FE FF04 LDX nFF04
0005 000? FF 8060 STX 08O6O
0006 0006 FF 8062 STX n8062
0007 END
TOTAL ERRORS''ООО 00
Следва запис на 0 на адрес 8060 (т. е. на изводите А0ч-А3
се подава 0 и съответно на изхода 0 на 7442 се получава логи-
ческа 0). Инвертираната логическа 0 се подава на входовете Т на
първата двойка ИС 7475 за обслужване на индикацията. На адрес
Ф8062 се подава съдържанието на първата работна клетка за об-
служване на индикацията. Следва запис на логическа 1 в изход-
ния регистър А и съответно иа изход 1 на 7442 се получава
87
логическа 0. Инвертираната логическа 0 се подава на втората
двойка ИС 7475. След това на адрес <> 8062 се подава съдържа-
нието на втората работна клетка за обслужване на индикацията
и т. н. до последиата работна клетка.
Ако в работните клетки от паметта RAB0 до RAB7 са запи-
сани по двойки цифрите, конто трябва Да се изведат на индика-
ция, подпрограмата за обслужване на цифровата индикация е
следната:
PAGE 001 PR
Э001_ НАМ PR
0002 ОРТ 0
ООО? 0000 ORG □0000
0004 0000 0008 RA30 RMB 8
0005 1000 ORG □ 1000
0006 1000 ЕЕ FF04 №2 LDX □FF04
0007 100? ЕЕ 8060 STX □8060
0008 1006 ЕЕ 8062 SIX □8062
0009 1009 СЕ 0000 LDX #RAB0
0010 100С 4F CLRA
0011 100D Е6 00 L00P1 LDAB O.X
0012 10OF В7 8060 STAA □8060
0013 1012 F7 8062 STAB □8062
0014 1015 08 INX
0015 1016 4С INCA
0016 1017 81 08 CMPA #08
0017 Ю19 26 F2 BNE L00P1
0018 101В В7 8060 STAA □8060
0019 Ю1Е 39 RTS
0020 END
TOTAL ERRORS 00000
Така оформената подпрограма с етикет IND2 може да се извик-
ва от основната програма само при необходимост. Цифрите за
индициране се зареждат в работните клетки RAB0 до RAB7 от
главната програма.
За да се изведе по-голямо количество информация, може да
се използува динамична индикация. На фиг. 3.3 е показана ди-
намичен тип индикация с 8 цифри, управлявана с PIA (изводите
Ао4-А7). Подаваните сигнали от PIA СМ602 постъпват на входа
на дешифратора 7447 и чрез ограничителните резистори R (1004-
200 Я) управляват сегментите на седемсегментните индикатори
TIL 302. Всички едноименни сегмента от тези 8 индикатора с а
свързани паралелно, а анодите на индикаторите се свързват към
захранващото напрежение (+5 V) чрез транзисторите 7\~TS. Тези
транзистори се управляват от дешифратор 7442. Чрез подаване на
логическа 1 на входа D на 7442 сё гасят всички индикатори ед-
новременно. Още по-подходящ за целта е дешифраторът 7445,
тъй като неговите изходи са с отворен колектор.
При обслужване на индикацията най-напред трябва да се за-
88
редят необходимее за целта данни в работните клетки (RABO-b
RAB7), като в младшите битове (Do до D8) на съответната клет-
ка се записва цифрата, конто трябва да се индицира, а в стар-
Фиг. 3.3. Динамична индикация с дешифратори
шите битове (D< до D7) — поредният номер на индикатора, в кой-
то трябва да се иидицира тази цифра.
Подпрограмата, обслужваща схемата от фиг. 3.3, е:
PAGE 001 PR
0001 NAM PR
0002 ОРТ 0
0005 0000 ORG nOOOO
0004 0000 0007 RAB0 RMB 7
0005 0007 0001 RAB7 RMB 1
0006 1000 ORG O100O
0007 ЮОО FE FP04 IND5 LDK oFF04
0008 1005 FF 8060 STX a8060
0009 1006 СЕ 0000 1DX #RABO
0010 1009 09 DEI
0011 100А 08 L00P1 INI
0012 100В Е6 00 LDAB 0,1
0015 100D F7 8060 STAB a8060
0014 1010 86 FF LDAA #oPF
0015 1012 4А LOOP2 DECA
0016 1015 26 FD BNE LOOP 2
0017 1015 8С 0007 CPI #RAB7
0018 1018 26 F0 BNE LOOP1
8019 Ю1А 86 80 LDAA #□80
0020 101С В7 8060 STAA П8060
0021 101F 59 RTS
0022 END
TOTAL ERRORS 00000
Първэначалнэ подпрограмата IND3 извършва инициализира-
не на PIA. Адресът на клетката RAB0 се записва в индексния
регистър. Намаляването ма съдържанието на индексния регистър
89
и след това увеличаването му с единица (инструкциите DEX и
INX), се налаг^ за да може цикълът да се организира по-удобно.
Чрез индексна адресация акумулаторът В се зарежда със съ-
държанието на клетката RAB0 и при следващата инструкция това
съдържание се записва в ORA. По този начин светва първата
цифра, индицираща съдържанието на клетката RAB0. Следващи-
те инструкции осигуряват закъснение за включване на следваща-
та цифра приблизително 1,5 ms. Съдържанието на индексния ре-
гистър се сравнява с адреса на клетката RAB7 и ако не се рав-
ни, подпрограмата се връща на етикет LOOP1, а ако са равни,< в
акумулатора А се записва <>80, което след това се подава на
ORA на PIA, за да не свети нито един цифров индикатор.
Тази схема за индикация може да се използува само при по-
ложение, че микропроцесорът не изпълнява други програми през
това време. Програмата може да се организира и. така, че през
няколко милисекунди да се извика подпрограмата IND3A,
която зарежда поредната цифра в ORA и се връща към основна-
та програма:
>page 001 PR
0001 0002 оооз 0000 NAM PR OPT 0 ORG Q0000
0004 0000 0007 RABO RMB 7
0005 0007 0001 RAB7 RMB 1
0006 0007 0008 1000 0002 POINT RMB 2 ORG пЮОО
0008 0009 1000 1002 DE 08 INB3A LDX POINT 08 I NX
0010 1003 DF 08 3TX POINT
0011 1005 E6 00 LDAB 0,X
0012 1007 F7 8060 STAB П8060
0013 100А 8C 0007 CPX #RAB7
0014 100D 2b 06 BNE L1
0015 0016 1 OOF 1012 CE 0000 LDX #RABO 09 DEX
U017 1013 DF 08 STX POINT 0018 1015 39 L1 RTS 0019 END TOTAL ERRORS 00000
Забележка. В основната програма в работайте клетки от
паметта POINT и POINT +1 е зареден адресът на клетката RAB0-1
и е направена инициализация на PIA.
При извикваие на подпрограмата индексният регистър се за-
режда със съдържанието на POINT и POINT-J-1, т. е. с адреса
на RAB0-1. Увеличава се съдържанието на индексния регистър,
с индексна адресация в акумулатора В се записва съдържание-
то на работната клетка RAB0 и това съдържание се записва в
ORA. Следва сравняване дали е прочетена последната работая
90
клетка RAB7 — ако тя не е прочетена, програмата отнва на ети-
кет L1, а ако е прочетена, адресът на RABO се зарежда в индекс-
ния регистър, намалява се с единица и се запомня в POINT, след
което следва инструкция RTS. При тази подпрограма през ня-
колко милисекунди трябва да бъде извиквана, за да бъде равно-
мерна яркостта на светене на цифровите индикатори.
На фиг. 3.4 е показана схема на динамична индикация с 8
цифри без дешифратори. Регистърът ORA е буфериран с транзистор-
91
ни ключове и управлява сегментите (всички едноименни сегмента
на цнфровите индикатори са свързани паралелно). Регистърът
PRB управлява чрез транзисторните ключове анодите на цифрови-
те индикатори. За да се обслужва тази цифрова индикация,мик-
ропр;щесорът трябва програмно да дешифрира съответната циф-
ра и да определи кои сегменти трябва да се включат, за да се
изобрази тя. Например, за да се изобрази на първия индикатор
цифрата 1, т. е. да се включат сегментите в и с, е необходимо
да се запише 06 в ORA и след това да се запише 01 в ORB.
След едно закъснение от няколко милисекунди се записват съ-
ответннте управляващи сж нали за втория индикатор и т. н. Такъв
тип цифрова индикация се нуждае от по голяма програма и заема
повече време на микропроцесора за обслужването й. За да светят
цифрите от 0 до 9, в ORA трябва да се запишат следните ком-
бинации: за 0—3F, за 1—06, за 2—5В, за 3—4F, за 4—66, за
5—6D, за 6—7D, за 7—07, за 8—7F, за 9—6F.
От записаната в работните клетки информация за индицира-
не се намира коды на всяка цифра по следната програма:
PAGE 001 PR-
ООО) НАМ PR
0002 ОРТ 0
ООО? 0000 ORG □0000
0004 0000 СЕ 000D LDX #TABL
ООО? оооз 09 DEX
0006 0004 08 L00P1 1ЯХ
0007 ООО? 4А DECA
0008 0006 26 FC BNE L00P1
0009 0008 Аб 00 I.DAA 0,X
0010 000А В7 8060 STAA □8060
0011 000D 3F TABL FCB Dn?F,D06,n?B,D4F,n66
ОООЕ 06
000F ?В
0010 4F
001 1 66
0012 0012 6D FCB D6D,n7D,nO7,n7F,n6F
0013 70
0014 07
001? 7F
0016 6F
001? 0017 59 RTS
0014 END
TOTAL ERRORS 00000
В индексния регистър се зарежда началният адрес на табли-
цата TABL (при влизане на програмата в акумулатора А е запи-
сана цифрата за индициране). Следва един цикъл на увеличаване
на съдържанието на индексвия регистър и намаляване съдържа-
ннето на акумулатора А. Когато съдържанието на акумулатора А
стане равно на нула, в индексния регистър ще бъде записан
адресът, от който трябва да се прочете комбинацията, съответ-
ствуваща на дадената цифра. След това тази комбинация се за-
92
писва в ORAs Програмата 1ND4, обслужваща процеса на самото
индициране, конто е показана по-долу, се извиква през няколко
милисекунди. Предварително вработните клетки RABST и RABST +1
е записан адресът на RAB0, а в RABSH — числото 01.
PAGE 001 PR
0001 NAM PR
0002 OPT 0
0005 0000 ORG □0000
0004 0000 0002 RABST RMB 2
0005 0002 0001 RABSH RMB 1
00'л6 0005 0007 RABO RMB 7
OOvZ 000А 0001 RAB7 RMB 1
Со08 000В TABL FQU *
0009 1000 ORG □ 1000
0010 1000 DE 00 IND4 LDX RABST
001 1 1002 А6 00 LDAA o.x
1>01 2 1004 D6 02 LDAB RABSH
0015 1006 4С INCA
0014 1007 СЕ 000В LDX #TABL
001 5 100А 09 DEX
001 6 100В 08 L00P1 INX
001 7 юос 4А DECA
9018 100D 26 ЕС BNE 'LOOP1
001 9 1001’ А6 00 LDAA O.X
0020 1011 В7 8060 STAA □8060
0021 1014 Р7 8062 STAB □8062
0022 1017 58 ASLB
0025 1018 D7 02 STAB RABSH
0024 101 А ЕЕ 00 LDX RABST
0025 101С 8С 000А CPX #RAB7
0026 1 01 Р 27 04 BEQ L1
0027 1021 08 INX
0028 1022 DE 00 STX RABST
0029 1024 59 RTS
0050 1025 СЕ 0005 L1 LDX #RABO
0051 1028 DF 00 STX RABST
0052 102А С6 01 LDAB #n01
0055 102С D7 02 STAB RABSH
0054 102Е 59 RTS
0055 END
TOTAL ERRORS 00000
При избор на управлението на цифровата индикация трябва
да се вземат предвид следните съображения:
— от колко цифри ще се съетои цифровата индикация;
— непрекъснато ли ще се индицира информацията;
— какво е натоварването на микропроцесора по отношение
на времето.
След изясняване на тези въпроси може да се пристъпи към
извор на схема. Ако основната програма не ангажира през цяло-
то време микропроцесора, може да се избере динамичен тип циф-
рова индикация без дешифратори. Това решение е най-икономично
по отношение на елементи, но нрограмно най-много ангажира
микропроцесора. Когато е необходимо индикацията да свети,
93
микропроцесорът трябва да я обслужва непрекъснато (за да не
се получи неприятно мигане на цифровите индикатори). През това
време той може да бъде ангажиран с други дейности не повече
от 5 до 10% от времето. Трябва да се има предвид, че колкото
повече от времето на микропроцесора е ангажирано с основната
програма, толкова подпрограмата за обслужване на цифровата
индикация трябва да бъде по-кратка. Най-кратки са подпрограмите
при схемите от фиг. 3.1 и 3.2 — следователно в този случай
трябва да се проектират такива схеми (с повече ИС и по-малко
програмно осигуряване). В тази глава са показали схеми и про*
грами за реализиране на цифрови индикации с PIA и ТТЛ ИО
Развитието на микропроцесорната техника (по-специалчо на раз-
личните видове периферии адаптери и контролери) осигури и
специални ИС-контролери за обслужване на цифрови индикации.
Те са проектирани с оглед минимално заангажиране на микропро-
цесора с обслужването им и самостоятелно обслужване на циф-
ровите индикатори (динамичен тип индикация).
3.2. УПРАВЛЕНИЕ НА КЛАВИАТУРА
Изградените на базата на микропроцесори електронни устрой-
ства могат да се прияислят към т. нар. „интелигентни" устрой-
ства. Това предполага реализиране на диалог между „интелигент-
ните‘ устройства и човека, който се осъществява основно чрез
клавиатура.
Клавиатурата има сравнително лесно програмно осигуряване и
обслужване. Нейното прилагане е най-целесъобразно, когато тряб-
ва да се вьвежда малък обем данни и бързодействието не е
критично. Тук се изясняват принципите на обслужване на бутонна
клавиатура, без да се разглежда обработката на въведените данни,
коя то заврси от конкретните задачи.
Клавиатурата се състои от определен брой бутони (в зави-
симост от конкретните условия), като на всеки бутон отговаря
някакъв поредей номер. При натискане на никой от бутоните в
микропроцесорната система се формира неговият код. Извършва се
тестване на този код и в зависимост от заложената програма се
изпълнява съответното му действие.
Когато бутоните са малко, е възможно те да бъдат непо-
средствен© свързани към ORB на PIA фиг. 3.5). При отпус-
нати бутони на входовете В04-В7 ще има логическа 1. При
натискане на бутон на съответния вход на PIA ще се появи ло-
гическа 0. В зависимост от това иа кой вход на PIA се е появи-
ла логическата 0 микропроцесорът определя кода на натиснатия
бутон. Например логическа 0 на вход В2 означава, че е натиснат
бутон №2 и т. н. Чрез логический елемент ЛЕг се подава заявка
94
за прекъсване (IRQ), така че клавиатурата да се чете само ко-
гато има натиснат бутон.
Иници^лизацията в основната програма е:
PAGE 001 PR
0001
0002
0005 0000
С0С4 0000
0005 0003
оооб
СЕ 0007
FF 8062
NAM PR
ОРТ О
ORG пОООО
LDX #пООО7
SIX П8062
END
Фиг. 3.5. Обслужване на клавиатура с отделен вход за всеки бутон
При такава инициализация в CRB на Р1А и при положителен
фронт на вход CBj ще се генерира заявка за прекъсване.
Подпрограмата, обслужваща клавиатурата, е следната: (Вж.
фиг. 3.5 а.)
Тя е оформена като подпрограма (CLAV) и се извиква и из-
пълнява при получаване на заявка за прекъсване. Първоначално
в индексния регистър X се зарежда 7FF, след като следва един
цикъл за иамаляване съдържанието на X. По този начин се реа-
яизира едно закъснение от около 16 ms, за дасеизбегне влияние-
то на механичните вибрации при натискане на бутоиите. След то-
ва в акумулатора А се записва съдържанието на ORB. От така
прочетените данни трябва да се дешифрира кой бутон е натис-
нат, което става чрез преместване на съдържанието на акумула-
тора А наляво (предварително съдържанието на акумулатора А
се инвертира). Програмата е организирана така, че след всяко
преместване на съдържанието на акумулатора А наляво се про-
верява дали преносът Cel. Ако след първото преместване този
95
TAGS 001 PR
0001 NAM PR
0002 ОРТ О’
0003 0000 ORG пОООО
0004 0000 СЕ 07FF CLAV LDX #aO7FF
0005 0003 09 L1 DEX
0006 0004 26 FD BNE L1
0007 0006 В6 8062' LDAA П8062
0008 0009 43 СОМА
0009 000А 44 LSRA
0010 000В 25 15 BCS во
0011 000D 44 LSRA
0012 ОООЕ 25 13 вез В1
С Л 3 0010 44 LSRA
0014 0011 25 11 вез В2
0015 0013 44 L3RA
0016 0014 25 OF вез ВЗ
0017 0016 44 L3RA
0018 0017 25 0D вез B4
0019 0019 44 LSRA
002О 001А 25 ОВ вез B5
0021 001С 44 L3RA
0022 001D 25 09 вез В6
0023 001F 44 L3RA
0024 0020 25 07 вез ВТ
0025 0022 01 ВО NOP
0026 0023 01 В1 НОР
0027 0024 01 В2 КОР
0028 0025 01 ВЗ NOP
0029 0026 01 В4 НОР
0030 0027 01 В5 НОР
0031 0028 01 В6 NOP
0032 0029 01 В7 НОР
0033 002А ЗВ RTI
0034 EHD
TOTAL ERRORS 00000 Фиг 3.5 а
пренос е 1, програмата отива към етикет ВО. Следва второ пре-
мествале на съдържанието на А . наляво и проверка на преноса—-
при 1 програмата отива към етикет В1 и т. н. След осей пре-
мествания програмата се връща към главната програма. След
етикетите ВО, В1 и т. н. с NOP е означено, че в тази част про-
грамата съдържа конкретни инструкции в зависимост от пред-
назначението на отделяйте бутони.
При по-сложна клавиатура схемата от фиг. 3.5 не е ефектив-
на и често се прилага схемата, показана на фиг. 3.6. Линиите
A0-j-A3 са изходни, а линиите А4-?А7— входни. При натискането
на който и да е бутон се свързват една входна и една изходна
линия. Към всяка исходна линия са свързани по 4 бутона, т. е.
общо бутоните са разделени на 4 групп. По този начин микропро-
цесорната система има възможност да опипва последователно
всяка трупа от бутони. Ако бутоните не са натиснати, на линии-
те А4Ч-А7 ще има логическа 1. Микропроцесорът търси натиснат
бутон, като най-напред подава 0 на Ао, а на Aj, А2 и А8 има 1.
Ако е натиснат някой от бутоните с номер 0, 4, 8 или С, на една
96
от линните А44-А7 ще има ниво, различно от 1. Ако няма натис-
нат бутон от тази група, на всички тези линии ще има 1. Тогава
логическата 0 от Ао се премества на Ах и отново се прави про-
верка на линиите А4ч-А7 за логическа 0. Това продължава, дока-
Фиг. 3.6. Обслужване на клавиатура с бугони за въвеждане на шестнадесетични цифри
то циркулиращата нула се подаде на линията А3. Ако не е на-
тиснат бутон, цикълът отново се повтаря и т. н. За да бъде сигур-
но откриването на натиснат бутон, той трябва да се задържи на-
тиснат за време, по-дълго от един цикъл на търсене, което ви-
наги се осъществява поради бързото сканиране. Програмата CLAV,
обслужваща клавиатурата на фиг. 3.6, е следната: (вж. фиг. 3.6а).
Оформена като подпрограма, CLAV първоначално извършва
инициализация на PIA, след което започва непрекъснато да търси
натиснат бутон. След откриване на натиснат бутон се извършва
програмното му дешифриране. Номерът на бутона се записва в
акумулатораТТ и след това става връщане към главната програ-
ма. Удобно би било, ако подпрограмата CLAV се извиква само
при натиснат бугон. Това може да се осъществи, ако вместо да
се инициализира в CLAV, PIA се инициализира в главната про-
грама чрез и аструкциите (вж. 3.6 б)
и освен това инструкцията BEQ L1 се замести с BEQ KRAI, а
KPAI RTS—с KRAI RTI. Така програмата ще се изпълнява чрез пре-
късване и ще отнема минимално време на микропроцесора.
Тази схема е на класически реализирана клавиатура, конто
има съществени недостатъци като: използуване на голям брой
линии, трудно дешифриране на номера на натиснатия бутон и не-
обходимост от програма за дешифриране.
За да се избегне програмното дешифриране и да се намали
необходимият брой периферии линии, може да се реализира схе-
7 Приложение на микропроцесори*
97
PaGE 001 PR
0001 NAM PR
0002 OPT 0
0003 0000 ORG □0'100
0004 0000 CE 0F04 CLAV LDX #n0F04
0005 0003 FF 8060 STX □8060
0006 0006 C6 FF L1 LDAB #nFF
0007 0008 F7 8060 STAB □8060
0008 OOOB B6 8060 LDAA □8060
0009 OOOE 84 FO ANDA #nF0
0010 0010 26 08 BNE OBR
0011 0012 59 ROLB
0012 0013 04 ?7 ANDB #nF7
0013 0015 27 EF BEQ LI
0014 0017 7E 0045 JMP KRAI
0015 001A CE 07FF OER LDX #o07FF
0016 001D 09 L3 DEX
0017 001E 26 FD BNE L3
0018 0020 B6 8060 LDAA □8060
0019 0023 FE 8060 LDX □8060
0020 0026 CE 0035 LDX 0TABL
0021 0029 C6 FF LDAB #nFF
0022 002B 09 DEX
0023 002C 08 L4 IliX
0024 002D 50 INCB
0025 002E A1 00 CMPA 0,X
0026 0030 27 13 BEQ KRAI
0027 0032 7E 002C JMP L4
0028 0035 EE TABL FCB □EE,nED,nEB,nE7
0036 ED
0037 EB
0038 E7
0029 0039 DE FCB □DE.nDD,nDB.nDT
003A DD
003B DB
003C D7
0030 003D BE FCB □BE,nBD,пВВ,oB7
003E BD
003F BB
0040 B7
0031 0041 7E FCB □7E,n7D,n7B,n77
0042 7D
0043 7B
0044 77
0032 0045 39 KRAI RTS
0033 END
TOTAL ERRORS 00000
Фиг. 3.6 a
?AGE 001 PR
0001 NAM PR
0002 OPT 0
0003 0000 ORG □0000
0004 0000 CE 0F07 LDX #nOFO7
0005 0003 FF 8060 STX □8060
0006 END
TOTAL ERRORS 00000
Фиг. 3.6 6
98
мата за обслужване на клавиатура от фиг. 3.7, конто обаче е не-
сложна схемотехнически. Тук посредством логическите елементи
ЛЕ44-ЛЕ8 е изграден дешифратор, чиято таблица на истинност,
валидна.при А5 = 1, е дадена в табл. 3.1.
Фиг. 3.7. ОЗслужване на клавиатура с директно получаване на кода от символа
<Т 0 до F
При Аб = 0 клавиатурата е в състояние на изчакване на на-
тискане на бутон. При натискане на бутон на входа СВ4 се полу-
чава логическа 1 и по положителния фронт се генерира пре-
късване.
Чрез логическите елементи ЛЕ9-~ЛЕи е изграден шифратор,
чиято таблица на истинност е дадена в табл. 3.2.
Ако не е натиснат бутон, състоянието на линиите Хо До Ха
ще бъде 1 и трите линии А2, А3 и А4 ще имат състояние 0. При
натискане на някой бутон
състоянието поне на една Таблица 3.1
от тези линии ще стане раз-
лично от 0, защото сигналът
става 0 на една от линиите
Х0-~Х3. Благодарение на под-
ходящото шифриране номе-
рът на натиснатия бутон се
получава директно върху ли-
ниите А3, Аа, Ах и Ао (линия-
та А4 служи само като по-
А, А, X, X, X, X,
0 0 0 1 1 0 1 1 1110 110 1 10 11 0 111
99
Таблица 3.2
X, х, х, х„ А4 А, Ах
1 1 1 1 0 0 О
1 1 1 0 1 0 0
1 1 0 1 0 0 1
1 0 1 1 0 1 0
0 1 1 1 0 1 1
мощен бит за установяване
на натиснат бутон с номера
О, 1, 2 и 3). Например при
натиснат бутон с номер 9,
когато от микропроцесора се
подаде Ах=0 иА0=1, на из-
ходите ще се получи А4=
= 0, А3 = 1 иА2 = 0. Информа-
цията от А3, А2, Ах и Ао е
точно 1001, което е числото
9 в двоична бройна система.
Обслужването на клавиатурата се извършва по два начина.
Първият начин е, когато в реда на работната програма е отделе-
но време за програмата за обслужване и извличане данните от кла-
виатурата. При този начин след завършване на въвеждането на дан-
ните клавиатурата се изключва и става пасивна към външно въз-
действие, докато в работната програма не се достигне обслуж-
ващата я подпрограма. Този начин обикновено се използува
при еднократно въвеждане на данни в началото на програ-
мата. Вторият начин се прилага, когато е необходимо по
време на изпълнение на основната програма тя да се прекъсне за
въвеждане на една или повече входни данни или някакво условие.
За реализиране на този начин е необходимо при натискане на
който и да е бутон да се генерира прекъсване (IRQ). Схемата на
фиг. 3.7 има предвидена тази възможност.
Програмата, оснгуряваща обслужването на тази клавиатура, е
дадена по-долу, като предварително се извършва инициализация:
PAGE 001 PR
0001 NAM PR
0002 ОРТ 0
0005 оооо 0RG. □0000
0004 0000 СЕ 2507 LDX #□2507
0005 0005 FF 8060 STX □8060
0006 END
TOTAL ERRORS 00000
Програмата за обслужване на клавиатурата е оформена като
подпрограма (виж. фиг. 3.7 а).
Изпълнението на подпрограмата започва с увеличаване съдър-
жанието на акумулатора А с 1, необходимо за правнлното орга-
низиране на цикъла. Проверката на бутоните започва от произ-
водна позиция в зависимост от първоначалното състояние на аку-
мулатора А. Използуват се само двата младши бита на акумула-
тора А. Бит 5 на акумулатора А се установява в 1 (вж. фиг. 3.7
за ролята на А5). Съдържанието на акумулатора А се изпраща в
ORA на PIA. Акумулаторът В приема съдържанието на ORA на
100
PAGE 001 PB
ООО» NAW PR
0002 ОРТ’ 0
0005 0000 ORG лОООО
0004 0000 4С CLAV INCA
0005 000» 84 05 ANDA #□05
0006 0005 8А 20 ORAA #□20
ООО? 0005 В7 8060 STAA □8060
0008 0008 F6 8060 LDAB □8060
ООО? 000В С5 1С BIT» #n1C
0010 000» 27 Ft BEQ CLAV
0011 000F 86 FF Lt LDAA #aFP
0012 0011 4А DECA
0015 0012 26 FB BNE L1
0014 0014 В6 8060 L2 LDAA □8060
0015 0017 84 1С ANDA #n1C
0016 0019 26 F9 BNE L2
0017 001В 7F 8060 CLR □8060
0018 001Е С4 OF ANDB' #□0?
0019 0020 59 RTS
0020 END
TOTAL ERRORS 00000 Фиг. 3.7a
PIA. Чрез логического умножение се извършва проверка на бито-
вете 2,3 и 4 от акумулатора В, т. е. дали е натиснат бутон. При
резултат от проверката нула управлението се връща в началото
на подпрограмата, а в противен случай се преминава към следва-
щата инструкция. Следват инструкции за генериране на интервал
от врем», необходим за отстраняване на влиянието на вибрациите на
бутоните. С проверката и изчакване дали е отпуснат натиснатият
бутон се осигурява еднозначност на приетата информация. След
това се изчиства регистърът ORA на PIA. Чрез логическо умно-
жение се отделят само младшите четири бита на акумулатора В
(те съхраняват номера на натиснатия бутон). С това завършва из-
пълнението на подпрограмата. Ако се използува обслужване с
прекъсване, подпрограмата трябва да завършва с инструкция RTI.
Голямо мзпространенне са получили кодираните клавиату-
ра в код AS&H (вж. табл. 3.3) Това е 7-битов код, включващ
128 различии двоични комбинации, представляващи 93 знака и 35
управляващи команди. В клавиатурите ASCII е предвиден бутон
за смяна на регистрите. По този начин всеки бутон може да има
две функции, което позволява да се намали общият брон на бу-
тоните в клавиатурата. Основният блок в кодираните клавиатури
е клавиатурната (бутонната) матрица. На фиг. 3.8 е по-
казана синтезирана 64-бутонна матрица, състояща се от осем хоризог-
тални и осем вертикални шини. Всеки бутон при натискането си свърз-
ва накъсо една хоризонтална и една вертикална шина. Хоризои-
талните шини са включени, от една страна, към базите на клю-
човнте транзистори 7\ч- Т9, а от друга — към маса през резисто-
ра 16 kQ. Вертикалните шини са включени към входовете на ТТЛ
повторители с отворен колектор 7407 и към +5V през резистори
101
+5К
1бк
8*2T360<t
f X X £ У £ ч ( I ( 1 £ 1} )" ( Ч^ f BEL \
X Z 5 Z ( ’г с. 1 \ S S ь с Л J > Ч £ <ЛГ ч
р £ 5 а я ( . 5( j. Z D V )z ( р и m Ч / / \ VV п \ г 7 0 ч
н 5 I \ Ч ( J уа ( } К / ( 3 L f ( мС / с Г— >7
<а( / tf ( В Ч ( { г f £( Z \ f 5 / ч” / ? с 7е ? у
( ) 0 * 1 V Z у к + 2 Ч f У \ 3 ч / ) < 4 S / • 5 / 6 ) 7 X
к 1 ' 1 CAN ’ < \ » ЕН ) # SUB ч с V ESC Ч ( Z FS ч t i &S \ / ) х< RS \ / 7— US X
BS ( У нт Г ( > IF ¥Г Г С FF Г ( Г J so МС \ / 5Y* \ Л ) ЕГВ ч
к. м / V зон z V 57Х S V нх .Е01 EW Z X АСК ✓ X 5Н1 X
Вертикални изходи Хоризонтални изходи
Фиг. 3.8. Клавиатура матрица
102
Таблица 3.3
7-битов код ASCII
Старше част ООО 001 010 Oil 100 101 110 111
М л а дша ча ст 0 1 2 3 4 5 6 7
оосо=о NUL DLE SP 0 0 P p
0001 = 1 SOH DC1 ! 1 A Q a q
0010=2 STX DC2 » 2 В R b г
0011=3 ЕТХ DC3 + 3 C S c s
0100=4 EOT DC4 $ 4 D T d t
0101=5 ENQ NAK % 5 E U e u
0110=6 АСК SYN & 6 F V f V
0111=7 BEL ETB • 7 G W g w
1000=8 BS CAN ( 8 H X h X
1001=9 НТ EM ) 9 I Y 1 у
1010=А LF SUB * J z j k z
1011=В VT ESC + К [ {
1100=С FF FS L 1
1101 = D CR OS — M 1 A m
Ш0=Е, SO RS N n
1Ш = Р SI US / ? 0 о DEL
Управляващи команда.
NUL —Null— Празно
SOH — Start of Heading - Начало на заглавен блок
STX — Start of Text—Начало на текст
ЕТХ —End of Text —Край на текст
EOT —End of Transmission—Край на предаване
ENQ — Enquiry—Запитване
АСК —Acknowledge —Потвърждаване
BEL —Bell—Звънец
BS —Bijjirfcspace—Връщане една позиция назад
НТ —Horizontal Tabulation —Хоризонтална табуляция
LF —Line Feed —Нов ред
VT —Vertical Tabulation—Вертикална табулация
FF —Form Feed —Нова страница
CR —Carriage Return—Връщане на каретата
SO — Shift Out—Излизане от кодовата таблица
SI —Shift In—Влизане в кодовата таблица
DLE —Data Link Escape—Промяна на свързващите символи
DC —Device Control—Управление на устройство
NAK — Negative Acknowledge—Отказ
SYN —Synchronous Idle—Синхронизация на празен ход
ЕТВ —End of Transmission Block—Край на предаваиия блок
CAN — Cancel—Анулиране
ЕМ —Eid of Medium —Край на носителя
STB —Substitute—Заместване
ESC —Escape—Изход
FS —File Separation—Разделител иа масив
103
GS —Group Separation—Разделител на трупа
RS —Record Separation—Разделител на запис
US —Unit Separation —Разделител на елементи
SP —Space—Интервал
DEL — Delete—Изтриване
16 kQ. Когато няма натиснат бутон, хоризонталните и вертикални-
те изходи имат висок импеданс. При натискане на бутон съответ-
ните му хоризонтална и вертикална шина се активират. Транзи-
сторът, който е включен в активираната хоризонтална шина, се
насища и в изхода му се установява логическа 0. Същевременно
на входа на повторителя, включен в активираната вертнкална ши-
на, се установява напрежениечо UBE на отпушения транзистор и
изходът на повторителя преминава в логическа 0. По този начин
при натиснат бутон на един хоризонтален и един вертикален из-
ход се установява логическа 0.
Към клавиатурната матрица са включени допълнително още
три управляващи бутона и два превключвателя. Буточът CTRL,
натиснат заедно с друг бутон, предизвиква получаване на код на
управляваща команда от първите две колони на кодовата табли-
ца ASCII. Бутонът RPT, натиснат заедно с бутон от матрицата,
предизвиква непрекъснато повторение на получавания код. Буто-
нът SHIFT смени регистъра при натискане. Превключвателят SH
определя основния регистър за работа. Състоянието на ключа K/L
се използува като допълнителен осми бит на генерирания код. С
иегова помощ бронт на възможните комбинации се увеличава на
256. Най-често той се използува за цялостно прекодиране на кла-
виатурата от кирилица в латиница.
На фиг. 3.9 е показана управляващата логика за кодиране на
клавиатурата. Хоризочталните и вертикалните изходи на клавиа-
турната матрица се подават към два шифратора (ZZZj и ZZZ2)
74148, конто кодират информацията в 6-битов код. Сигналът SHIFT
формира седмия бит. Младшите четири бита на така получения
7-битов код съответствуваг на младшите четири бита на кода
ASCII, докато старшите три бита трябва да се разместят по под-
ходящ начин. Разместването е реализирано с мултиплексора
74153. По този начин се получава правилно съответствие между
кодовете на символите от долния регистър (ненатиснат бутон
SHIFT), от една страна, и кодовете на символите от горния ре-
гистър, от друга (натиснат бутон SHIFT). В долния регистър са
заложени кодовете на символите от колоните 0, 2, 4 и 5 на кодо-
вата таблица ASCII, а в горния — съэтветно от колоните 1, 3, 6
и 7. При натиснат бутон CTRL съвместно с Друг бутон от бу-
тонната матрица се н/лират старшите два бита от получения код
ASCII. Нулиране не се извършва, ако полученият код ASCII е от
колони 2 и 3 на кодовата таблица. При натискане на бутон в из-
хода GS на шифратора ZZZj се появява логическа 0. При това се
задействува чакащият мултивибратор ЧМГ и генерираният от не-
140
го импулс със задния си фронт стробира D-тригера Тги на чийто
изход се появява положителен фронт (строб „задействуван бу-
тон“). Ако има натиснати повече ст един бутон едновременно,
схемата за съвпадение, изградсна с транзистсрите Т\ и Tt, пода-
Фиг. 3.9. Схема на декодиране на клавиатурна матрица
ва през ЛЕХ логическа 0 на входа D на тригера Тгх. Тогава строб
„задействуван бутон" не се изработва. Продължителността на им-
пулса на равна на минималното време (около 20 ms), през
което задействуването на два бутона се възприема за едновре-
менно.
Разглежданата схема на кодирана клавиатура е предназначе-
на за свързване към микропроцесорна система чрез Р1А. Когато
получи строб „задействуван бутон" по СА^ адаптерът PIA про-
пита генерирания код на линиите РА04-РА7 и връща „квитанция”
чрез изхода си СА. Стробът от САа задействува чакащия мулти-
вибратор ЧМЪ чийт о импулс определи продължителността на зву-
ковия сигнал за натиснат бутон. Същевременно, ако е натиснат
105
бутонът RPT, изходният импулс от ЧМ2 през ЛЕК и ЛЕ$ се по-
дава към разрешаващия вход Е на шифратора Това пред-
извиква периодично повторение на строба GS — изпълнява сефунк-
цията повторение на задействувания бутон. За започване на по-
вторгнието при натискане на бутона RPT през диференциращата
трупа Ct—Rlt R2 се подава кратък импулс за активиране на раз.
решаващиа вход Е на Ген^раторът на звуковия сигнал е из-
граден с интегралния таймер 555, който генерира с честота 2 kHz.
Получената от него честота се раздели на две с коефициент на
запълване 1/2 от тригера Тг2.
Така реализираната клавиатура може да се прекодира по про-
грамен път. За целта в паметта на микропроцесорната система
се залага таблица, в конто се осъществява съответствието между
генерирания от клавиатурата код и новата стойност на кода.
3.3. УПРАВЛЕНИЕ И ИНТЕРФЕЙСИ ЗА ПЕЧАТАЩИ УСТРОЙСТВА
Печатащите изходни устройства са необходима звена в микро-
процесорно управляваните електронни системи, когато се налага
документиране на информация — входни данни, междилни и край-
ни резултати. Твърде често те са обединени с входни устройства
и обособени в самостоятелни входно-изходчи терминали. Като та-
кива те се използуват масово в електронните устройства с про-
грамно управление за общуване с оператора.
Измежду големия брой различии видове печатащи устройства
в тази точка се разглеждат управлението и интерфейсите само на
никои от най-разпространените.
3.3.1. Телетайпен интерфейс
Телетайпът е входно-изходно устройство с последователно
действие. Предаването към и от телетайпа е асинхронно. Необ-
ходими са 11 bit за всяка предавана дума, от конто 1 стартов,
7 информационни, 1 за контрол по четност и 2 стопови бита. При
стандартния телетайп скоростта на предаване и приемане е 110 bit/s.
Информацията, конто телетайпът предана и приема, представлява
поредица оттоковиимпулси, като логическата 1 се представя с ток
20 mA, а логическата 0 — с липса на ток.
На фиг. 3.10 е показана интерфейсна схема за връзка меж-
ду ACIA и телетайп. Много телетайпи имат също перфоратор и
четец за перфолента. Перфораторът се включва от оператора па-
ралелно на печатащия механизъм. Вграденият перфочетец се уп-
равлява от реле, което се задействува чрез оптрона, включен в
изхода RTS на ACIA. В никои модели телетайпи за стартиране
106
и спиране на перфочетеца се използуват управляващи символи
ASCH (съответно DC1 и DC3), конто се декодират в телетайпа.
Перфолен тэта е хартиена лента с широчина 25 mm, в която се
пробиват отвори според използувания код (най-често ASCII). За-
+JV +3V
Изход
Маса
+ 12V
2A5606jqq
£>1 4. J- -Вход
Z \ 2Д5606
и------—/2/
150
ZZD-^Четец
<ъ
2
>Е
Е
53
Фиг. 3.10. Интерфейс за телетайп
писът върху перфолентата се групира в блокове, като се изпол-
зуват различии формати. Един от най-често използуваните форма-
ти — SO, Si, S9 — е подробно обяснен в т. 3.4.
За правилен обмен на информация между адаптер ACIA и
периферно устройство е необходимо тактовата честота за прием-
ника и предавателя на ACIA да съответствува на скоростта, с коя-
то периферното устройство приема и предава информацията. При
асинхронен последователен обмен на данни за означаване скорост-
та на предаване на информацията широко се използува понятие-
то бод. Скорост 1 бод означава предаване на информация 1 bit
за 1 s. Необходимата тактова честота за приемника и предавате-
ля на ACIA се изчислява, като се раздели скоростта на обмен в
бодове на програмирания вътрешен коефициент на кратност на
ACIA. Напрцмер при коефициент на кратност 1/16 и скорост на
обмен ПО бода необходимата тактова честота е 1,76 kHz.
На фиг. 3.11 е показана схема за получаване на основните
необходими честоти за синхронизиране работата на ACIA при об-
мен на информация. Указаните скорости са валидни в случая, ко-
гато се използува вътрешен коефициент на кратност на ACIA,
равен на 1/16. Осцилаторът е изпълнен с интегралния таймер 555,
генериращ на честота 153,6 kHz (9600 бода). С помощта на де-
лители се получават честотите за всички останали скорости. Мал-
107
ко по-различно е получаването на честота за телетайп със скорост
ПО бода. Тази честота се получава приблизително от честотата
за скорост 2400 бода с последващо деление на 22. Генераторът
KiM ТхСц RxC
+5V
Фиг. 3.11. Тактов генератор за ACIA
*9600 бода
153,8 К Hl
2*2Д560Ь
4MHi
Фиг. 3.12. Честотен делител с коефициент на деление 6,5
може да се спре чрез подаване на напрежениг 0V на извод 4 на
интегралния таймер 555.
Много близки честоти до указаните могат да се получат от
тактовата честота на микропроцесора, ако тя е 1 MHz. На фиг.
3.12 е показан честотен делител с коефициент на деление 6,5. С
иегова помощ от честотата 1 MHz се получава 153,8 kHz, конто е
много близка до честотата за скорост 9600 бода. Коефициентът
на деление 6,5 се запазва при положение, че честотата 1 MHz е с
коефициент на запълване 0,5.
3.3.2. Управление на входно-изходно печатащо
устройство ИЗОТ 0232
Използуват се входно-изходни печатащи устройства (ВИПУ)
или с паралелен, или с последователен интерфейс. Последовател-
ният интерфейс е удобен за свързване към микропроцесорни си-
108
стеми, тъй като без преработка могат да се използуват повечето
фирмени мониторни программ, ориентирами към последователен
обмен с периферии устройства чрез адаптер ACIA.
Последователният интерфейс на ИЗОТ 0232 се състои от по-
Фиг. 3.13. Интерфейс за входно-изходно печатащо
ус1ройство ИЗОТ 0232
следователей вход и изход с логически нива 0 и —15 V и изхо-
дяща линия „готовност за приемане“, сигналите по която са с ТТЛ
нива. Предаването на информацията към ВИПУ е разрешено са-
мо когато сигналът „готовност за приемане“ е логическа 0. Ин*
формационните думи се обменят с висока скорост, обаче между
тях се оставят паузи, така че средната скорост е около 300 бода.
Продължителността на паузите е различна при различните думи и
зависи от времето, необходимо на ВИПУ да отработи получена-
та дума. По време на паузите сигналът „готовност за приемане1*
е логическа 1.
На фиг. 3.13 е показан интерфейс за връзка между ИЗОТ
0232 и микропроцесорна система чрез адаптер ACIA. Сигналът
„готовй^ст за приемане" се подава към входа CTS на ACIA. При
това свързване е необходимо след всеки байт информация микро-
процесорът да изпраща към ACIA и поне 1 byte нули (NUL). Това
изискване внася известно затруднение, тъй като голяма част от
фирмените мониторни програми, използуващи ACIA за връзка с
периферията, не изпращат този байт нули.
Затруднение™ може да се избегне, ако сигналът „готовност
за приемане“ не управлява входа CTS на ACIA, а спира (с логи-
109
ческа 1) тактовия генератор на ACIA. За целта обаче е необходи-
мо известно преработване на схемата от ВИПУ, генерираща сигна-
ла „готовност за приемане*, тъй като той се установява в логи-
ческа 1 още след постъпването на втория информационен бит в
последователната дума. Положителният фронт на сигнала „готов-
ност за приемане* трябва да се измести след възприемането на
цялата информационна дума. Затова е необходимо на платка 2015
от ВИПУ сигналът „инф. 32'М“да се изведе от изхода Q (извод
6) на последния тригер във входнйя преместващ регистър от по-
зиция ЗС-1 (нормално той е изведен от изхода Q на третия три-
гер във входнйя преместващ регистър).
Този режим на управление на ACIA изисква строга синхрон-
ност между тактовия генератор на ACIA и този на ВИПУ. Зато-
ва се препоръчва за ВИПУ да бъде осигурена външна тактова
честота от генератора иа ACIA. Подаваната честота към ВИПУ
трябва да бъде двойно по-виска от честотата, тактуваща ACIA
при използуван коефициент на кратност 1/16. За целта на платка
2019 от ВИПУ се прекъсва колекторната верига на транзистора Т04
от позиция Е2 и в тази точка се подава външната честота. Деле-
нето иа честотата може да се извърши на самата платка, като на
празната позиция С1 се поставя D-тригер 7474, свързан като де-
лител на две. Тук обаче се получава едно неудобство — сигна-
лът „готовност за приемане* спира тактовия генератор на ACIA,
при което спира и тактът на ВИПУ и в резултат сигналът „го-
товност за приемане* не може да се нулира. Поради това вътреш-
ният генератор иа ВИПУ за последователния интерфейс се оста-
вя да работи и неговите импулси се подават към схемата за из-
работване на сигнала „готовност за приемане*. За целта е необ-
ходимо иа платка 2019 от ВИПУ към извод 13 на двувходовия
логически елемент И-НЕ от позиция АЗ-4 да се подадат импулси
от вътрешния генератор на ВИПУ.
В по-старите модели на ИЗОТ 0232 съществува особеност
при отработването на символите от кирилицата и латиницата. На
платка 2015 от ВИПУ извод 1 на двувходовия елементИ-НЕ от пози-
ция 4Н-1 има превключвател за свързването му към маса или
към изхода Q (извод 6) на първия тригер от входнйя премест-
ващ регистър от позиция 4Е-1. При свързване към маса се от-
работват само главните букви от кирилицата. При свързване към
изхода Q на първия тригер от входнйя преместващ регистър от-
работването на символите се определи от състоянието на този
изход. Ако то е логическа 1, отработват се главните буквн от ла-
тиницата, а ако е логическа 0 — главннте букви от кирилицата.
Това изисква управление с осмия бит иа информационната дума.
За да се използува 7-битовия код ASCII, е необходимо да се ви-
доизмени това управление. За целта към извод 1 на двувходовия
логически елементИ-НЕ от позиция 4Н-1 трябва да се подаде сиг-
110
нал, получен от логического умножение на сигналите от изходи-
те Q на втория и третия тригер в преместващия регистър (съот-
ветно извод 9 иа тригера от позиция 4Е-2 и извод 5 на тригера
от позиция 4D-1). Най-лесно това се извършва чрез схема на „ди-
одно И“. По този начин управлението на ИЗОТ 0232 може да се
извършва чрез широко използуваните в микропроцесорните систе-
ма кодове ASCII и КОИ-7.
3.3. УПРАВЛЕНИЕ НА ПЕЧАТАЩО УСТРОЙСТВО ЦПУ-310
Когато извежданата цифрова информация е малка по обем, е
удачно Да се използуват минипечатащи устройства, каквото е
ЦПУ-310. То може да отпечатва 16 колони на ред, като третата
колона отдясно наляво е винаги празна. Във всички останали ко-
лони могат да се отпечатват по 12 различии символа, както е
показано на фиг. 3.14. Максималната скорост на отпечатване е
2,5 реда/s. Принципната схема на ЦПУ-310 е показана на фиг. 3.15
и работи със следните основни сигнали: включване на детектора;
старт на двигателя; стоп на двигателя; синхронизиращ сигнал;
селекторни сигнали за включване електромагнитите на печатащи-
те дискове за отделните колони; сигнал за управление цвета на
печата.
Сигналът за включване иа детектора трябва да се подаде
повече от 400 ms преди започване на цикъла за отпечатване, за
111
да премине преходният процес при включването на светлинния
източник на детектора. Времедиаграмата на работа на ЦПУ-310
е показана на фиг. 3.16. Сигналите, означени със звезда, се пода-
ват от микропроцесора. Сигналът за начало на печата е и сигнал
Детектор (-) f ♦—1 I— V | —**15 Детектор (+)
Синхронизирасц сигнал Магнит за колона Ntt — N33 —N?7 —«— №ff 3 ° If <м« " й 1 5° 1 Й—1 | L-«- 1—й— —16 ° п -ро 18 у* * 19 J*o 20 Магнит за колона Nil — » - Nt it —» — № 6 —» — N!8 —— №10
7 1 Й—I 1—К— Т*° 21 -р-<>22 -р>23 -+**25 -***2б —о 27 —**28
U'Lм f 1—И—
—н— №13 — я~Н!15 Стоп на двигателя Стоп на двигателя Авигател (+) I й—I raov<w^_ 1 Й—1 1—ка— I к »— № 12 — u — NUk
I й—1 12 °- l 13 °* ]ч= /4см Ж — n— N?16 Магнит за смяна цвета на печата Старт на двигателя Двигател (-)
Фиг. 3.15. Принципы а схема иа печатащо устройство ИЗОТ 310
* Старт на
дбигателя
Стоп на
двигателя
Синлронизираш
сигнал
» Отпечатване
на „0"
“ Отпечатване
на ,1"
* Отпечатване
на„1~
* Сигнал за цвят
50 ms
Фиг. Зл6.,Времедиаграми на работа на печатащо устройство ИЗОТ 310
а стартиране на двигателя, при подаването на който хартията
започва да се придвнжва. Двигателят привежда в движение печа
тащите дискове. На всеки сектор (съответствуващ на един отпе
112
чатван символ) фототранзисторът Тф се осветява от светлинния
източник и произвежда един синхронизиращ импулс. В зависимост
от това, крй символ трябва да се отпечата в дадена колона, тряб-
ва да постъпи селекторен импулс не по-късно от 1,5 ms след
предния фронт на съответния синхронизиращ импулс Тп(п = О—12).
Задният фрочт на селекторния импулс трябва да съвпада с пред-
ния фронт на следващия синхронизиращ импулс. По време на
селекторния импулс протича ток през бобината L на електромаг-
нита за дадения отпечатващ диск. Включването на електромагни-
та води до спиране завъртанею на този диск. На времедиагра-
мата са показани селекторни импулси за отпечатване на цифрите
О, 1, 2. В случай че е необходимо да се смени цветът на отпе-
чатвания ред, се подава селекторен импулс на бобината на елек-
тромагнита за цвета на печата с продължителност от четвърти
до осми синхронизиращ сигнал.След постъпването на дванадесетия
синхронизиращ сигнал Г12 автоматично се отпечатва избраната
информация на един ред. Ако по време на завъртането на печата-
щите дискове не се включва нито един електромагнит, се полу-
чава празен ред. При появата на предния фронт на сигнала „стоп
на двигателя" се прекратява входният сигнал „старт на двига-
теля". Отпечатвакето на нов ред може да започне след време, не
по-малко от 50 ms, което е необходимо за връщане на печата-
щите дискове в изходно състояние.
Сигналът за спиране на двигателя може да бъде и задният
фронт на сигнала за възстановяване /?. В този случай е необхо-
димо да се изчака повече от 30 ms до започване на нов цикъл
за печат.
Принципната схема за връзка на микропроцесора ЦПУ-310
е показана на фиг. 3.17. Тя е изпълнена с помощта на един пара-
лелен интерфейсен адаптер PIA МС6820. Регистрите ORA и ORB
на интерфейсния адаптер служат като изходи за управление на
електромагнитите на печатащите дискове и за управление цвета
на печата. Те управляват електромагнитите посредством инверто-
ри и транзистори, осигуряващи необходимия ток за включване на
електромагнитите. Включването на електромагнитите става при
подаване на логическа 1 в изходната страна на PIA. Ето защо
след инициализацията на PIA е необходимо на всички изходи да
се подаде логическа 0 за изключване на електромагнитите. Съот-
ветствието между изходните линии на Р1А и колоните на печата
е, както следва:
РА0 — изход, управление цвета на печата;
РА] — изход, управление на електромагнита за колона 16;
PAS— изход, управление на електромагнита за колона 15;
РА3 — изход, управление на електромагнита за колона 14;
РА4 — изход, управление на екектромагнита за колона 13;
РА6 — изход, управление не електромагнита за колона 12;
РАв—изход, управление на електромагнита за колона И;
8 Приложение на микропроцесорни
из
РА7— изход, управление на електромагнита за колона 10;
РВ0 — изход, управление на електромагнита за колона 9;
РЕ?! — изход, управление на електромагнита за колона 8;
РВа —изход, управление на електромагнита за колона 7;
Фиг. 3.17. Схема за управление на печатащо устройство ИЗОТ 310 с микропроцесор
РВ3 — изход, управление на електромагнита за колона 6;
РВ4 —изход, управление на електромагнита за колона 5;
РВ5 —изход, управление на електромагнита за колона 4;
РВе — изход, управление на електромагнита за колона 2;
РВ7— изход, управление на електромагнита за колона 1.
Управляващите линии на PIA се използуват, както следва;
СА, — вход, на който се получава сигнал за стоп на двигате-
ля. Активният фронт е 0—»1.
CBj — вход, на който постъпва синхронизиращият сигнал.
Активният фронт е 0—»1. Ограничаване на нивото на
входния сигнал до 5 V се постига посредством диода Дг.
СА2 — изход за включване на двигателя. Активното ниво е
логическа 0. Необходимият ток се осигурява от тран-
зисторните ключове 7\ и 1\.
114
СВ2— изход за включване на детектора. Активното ниво е
логическа 0. Токът на детектора (около 100 mA) про-
тича през транзисторния ключ Г4.
По-долу е приложена програма за управление на печатащо
устройство ЦПУ-ЗЮ, написана на езика Асемблер. В програмата
се използува прекъсване IRQ за обслужване на синхронизиращи-
те сигнали и стоповия импулс за двигателя. Програмата работи в
следната последователност. При стартиране на микропроцесорна-
та система се извършва инициализация на PIA. Изходните линии
РАоч-РА7 и РВ0-?ВВ7 се установяват в състояние 0. Входните
управляващи линии СА1 и СВ7 са забранени. Изходните управля-
ващи линии СА2 и СВ2 се установяват в състояние 1. Преди из-
викване на програмата PRINT за отпечатване на заредената инфор-
мация в масива U (съдържащ номерата на отпечатваните пози-
ции от дисковете) се включва детекторът, след което се изчаква
400 ms за приключване напреходния процес (под програма DL400),
В началотона подпрограмата PRINT на изход :ата управляваща ли-
ния СА2 се подава логическа 0, т. е. сигнал за старт на печата.
В същото време се разрешават заявките за прекъсване по вход-
ната управляваща линия СВ(. В двете работни клетки IRQ се за-
режда началният адрес HIRQ на подпрограмата за обработка на син-
хронизиращите импулси. Нулира се броячът на синхроимпулсите
COUNT. След това микропроцесорът влиза в безкраен цикъл до
поява на заявка за прекъсване IRQ. В някои случаи до появата
на това прекъсване микропроцесорът може да изпълнява друга
задача.
В подпрограмата HIRQ се зареждат двете буферни клетки
BUF в зависимост от съдържанието на масива U и поредния но-
мер на синхронизиращия импулс, т. е. от това, дали е необходимо
включване на електромагнитите на някои от дисковете за прекра-
тяване движението им. След появата на 12-ия синхронизиращ
импулс входната управляваща линия СВ7 се забранява, а входна-
та управляваща линия CAj се разрешава за приемане на сигнал
за стоп на двигателя.
В работните клетки IRQ се зарежда началният адрес на под-
програмата SIRQ за обслужаване при появата на сигнал за стоп
на двигателя. В подпрограмата SIRQ се забранява входната управ-
ляваща линия СА], а изходната управляваща линия СА2 се уста-
новява в състояние 1, т. е. двигателят се спира. След това се из-
чаква 50 ms (подпрограма DL50) за възстановяване на печатащо-
то устройство и указателят на стека се увеличава с 6 единици.
Ако няма да се извежда друга информация на печат, детекто-
рът се изключва.
115
0001 MAM PRINT
">002 ♦
',003 * *****************************************************
0004 ♦ ПОДПРОГРАМА ЗА УПРАВЛЕНИЕ НА
0005 * ПЕЧАТЫДО УСТРОЙСТВО ЦПУ-310
0006 *
0007 * ВХОДНА ИНФОРМАЦИЯ
0008 * и - 16 БАЙТА
0009 ♦ U - ЦВЯТ НА ПЕЧАТА, ПРИ СТОИНОСТ =0 - ЧЕРЕН
0010 • ПРИ СТОИНОСТ #0 - ЧЕРВЕМ
001 1 * U+1 - ОТПЕЧАТВАНАТА ПОЗИЦИЯ ОТ ДИСКА ЗА КОЛОНА 16
0012 * U+2 - ОТПЕЧАТВАНАТА ПОЗИЦИЯ ОТ ДИСКА ЗА КОЛОНА 15
001 з ♦ • .
0014 * и+13- ОТПЕЧАТВАНАТА ПОЗИЦИЯ ОТ ДИСКА ЗА КОЛОНА 4
0015 * U+14- ОТПЕЧАТВАНАТА ПОЗИЦИЯ ОТ ДИСКА ЗА КОЛОНА 2
0016 * U+15- ОТПЕЧАТВАНАТА ПОЗИЦИЯ ОТ ДИСКА ЗА КОЛОНА 1
0017 *
0018 * РАБОТНИ КЛЕТКИ
0019 * COUNT - БРОЯЧ НА СИНХРОНИЗИРАЩИТЕ СИГНАЛИ
0020 * BUF - 2 БАЙТА, ЗА УПРАВЛЕНИЕ НА МАГНИТИТЕ
0021 * SHIFT - 1 БАЙТ
0022 ♦ IRQ - 2 БАЙТА, СЪДЪРЛА НАЧАЛЕН АДРЕС НА
0023 * ПОДПРОГРАМАТА ЗА IRQ ПРЕКЪСВАНЕ
0024 *
0025 * *****************************************************
0026 *
0027 * ДЕФИНИРАНЕ НА КЛЕТКИТЕ
0028 *
0029 ОРТ 0
0030 8080 PIAORA EQU n8080
0031 8081 PIAORB EQU o8081
0032 8082 PIACRA EQU D8082
0033 8083 PIACRB EQU 08О8З
0034 0000 ORG оО
0035 0000 0010 U RMB 16
0336 0010 0001 COUNT RMB 1
0037 0011 0001 SHIFT RMB 1
0038 0012 0002 BUF RMB 2
0039 0014 0002 IRQ RMB 2
0040 *
0041 * ИНИЦИАЛИЗАЦИЯ НА IPIA
0042 *
0043 1000 ORG оЮОО
0044 1000 86 FF LDAA #£11111111
0045 1002 B7 8080 STAA PIAORA СТРАНИ ЛИВ ИЗХОДИ
0046 1005 B7 8081 STAA PIAORB
0047 1008 86 3C LDAA #£00111100
0048 100A B7 8082 STAA PIACRA CA1 ЗАБРАНВИ, 0A2=1
0044 100D 86 3E LDAA #/00111140
0050 100F B7 8083 STAA PIACRB CB1 ЗАБРАНЕН, CB2=1
0051 1012 86 00 LDAA #0
0052 1014 B7 8080 STAA PIAORA МЗКЛЮЧВАНЕ НА МАГНИТИТЕ
0053 1017 B7 8081 STAA PIAORB
0054 *
0055 *
0056 * ВКЛЮЧВАНЕ НА ДЕТЕКТОРА
0057 *
0058 101A C6 36 LDAB #/00110110
116
00? 9 ОиоО С0о1 00 э 2 101 С 1011' F7 8083 STAB JSR PIACRB DL400 ЛИНИЯ CB2=0
Ы) 1400
♦
ООэЗ * ПОДПРОГРАМА ЗА ПЕЧАТ
0Эо5 1022 86 34 PRIHT LDAA #^00110100
О'.) б 6 1 024 В7 8082 STAA PIACRA СТАРТ НА ДВИГАТЕЛЯ СА2=0
7 1 027 Е6 8081 LDAA PIAORB ФИКТИВНО Ч2ТЕНЕ
С 0о8 1 02 Л ОЕ CLI
оо-ч 1023 86 37 LDAA #£00110111
(УОО 1 02D В7 8085 STAA PIACRL СЫ РАЗРЕШЕН
О’ ’71 1 050 СЕ 103В LDX 4HIRQ
00 72 ЮЗЗ DF 14 STX IrtQ ЗАРЕ1ДЛЧЕ НА ПОДПРОГРАМАТА ЗА IRQ
9 >73 1 0 5 5 7? 0010 CLP. COUNT НУЛИРАНК НА БРОЯЧА
Оо74 Ю58 01 NOP БЕЗКРАЕН ПИКЬЛ ЗА ИЗЧАКВАНЕ
Ю75 10J9 20 ?э BRA E4 НА IRQ ПРЕКЪСВАНЕ
0’076
0077 * ПОДПРОГРАМА SA ОБРАБОТКА HA
0078 * СИНХР0НИЗИРАДИТЕ ИМПУДСИ
0079 *
0080 103В 7F 0012 HIRQ CLP. BUF
0081 ЮЗЕ 7? 0013 CLP. BUF+1
0082 1041 7С 0010 IRC COURT
0085 1044 96 10 LDAA COUNT БРОЯ НА СИИХ.ИМПУЛСИ В АСС.А
0084 1 046 61 оэ CH FA ti'5 ПРОВЕРКА ЗА 15 СИНХ.ИМПУЛС
0085 1 048 27 45 BKQ H7
0086 1 04А СЕ ооое LDX #U
0087 104D Сб 01 LDAB #,400000001
0088 1 04? 07 11 STAB SHIFT
0089 1051 20 ОА BRA H4
00^0 1 055 А1 00 НЗ СИРА o,x
ОО01 1050 2b Об BNE H4
.0092 1 057 1)6 11 LDAB SHIFT
0093 1059 DB 12 ADDB BUF
0094 Ю5Ь 07 1 2 STAB BUF
0095 ,105В А1 08 Н4 CMPA 8,X
0096 105? 26 Об BNE H5
0097 1061 D6 11 LDAB SHIFT
0098 1063 DB 13 ADDB BUF+1
0099 1065 07 1'5 STAB BUF+1
0100 1 067 78 0011 Н5 ASL SHI PT
0101 1 ОбА 08 IKX
0102 ЮбЬ 8С оооа CPX #U+o
0105 1Q6E 26 ьз I-.HE H3
0104 1070 81 09 CMPA 49
0105 1072 20 ОУ bOE Ho
01 Об 1074 81 05 CMPA 45
0107 1076 20 ов BLT H6
0108 1078 7D ООО» T3T u
0109 107В 27 Об ЬЕО Ho
0110 1070 Сб 01 LDAB //«00000001
01 1 1 107? DB 12 ADDB №? ВКЛЮЧВАНЕ МАГНИТА ЗА ЦВЕТА
01 1 2 1081 07 1 2 STAB BUF
01 1 5 1083 DB 1 2 Н6 LDX BUF
0114 1 085 В7 8080 STAA PIAORA ЗАРЕЕЛАНЕ НА BUF И BHF+1 В PIA
011 5 1 008 BD 1 40А JSR DL3 ЗАДЬРЯАНЕ 3 МИЛИСЕКУНДИ
-'1 1 6 1 08в F6 8081 LDAB PIAOP.b ФИКТИВНО ЧЕТЬНЕ
117
0117 108Е ЗВ
0118 1081' DE 12
0119 1091 FF 8080
0120 1094 Сб 36
0121 1096 F7 8083
0122 1099 F6 8080
0123 1090 С6 35
0124 109Е F7 8082
0125 10А1 FE 10А7
0126 10А4 DF 14
0127 10А6 ЗВ
0128
0129
0130
0131 10А7 С6 зс
0132 10А9 F7 8082
0133 ЮАС BD 1405
0134 10AF 31
0135 10В0 31
0136 10В1 31
0137 10В2 31
0138 10ВЗ 31
0139 10В4 31
0140 10В5 39
0141
0142
0143
0144
0145
0146 10В6 С6 ЗЕ
0147 10В8 F7 8083
0148
0149
01 50
0151 0152
0153 1400
0154 1405
0155 0156 0157 140A
RTI
Н7 LDX BUF
STX PIAORA ИЗКЛЮЧВАНЕ НА МАГНИТИТЕ
LDAB #5600110110
STAB PIACRB СВ1 ЗАБРАНЕН
LDAB PIAORA ФИКТИВНО ЧЕТЕНЕ
LDAB #5600110101
STAB PIACRA CA1 РАЗРЕШЕН
LDX SIRQ
STX IRQ ЗАРЕ1ДАНЕ НАЧАЛНИЯ АДРЕС ЗА IRQ П
RTI
* ПОДПРОГРАМА ЗА ОБРАБОТКА НА СТОП НА ДВИГАТЕЛЯ
SIRQ LDAB ##00111100
STAB PIACRA CA1 ЗАБРАНЕН, CA2=1
JSR INS INS INS INS INS INS RTS DL50
ИЗКЛЮЧВАНЕ НА ДЕТЕКТОРА
LDAB #5^00111110
STAB PIACRB ЛИНИЯ СВ2=1
.......................................*
* ВХОДНИ ТОЧКИ ЗА ЗАКЬСНЕНИЯТА
DL400 EQU О1400
DL50 EQU п14О5
DL3 EQLT О140А
END
TOTAL ERRORS 00000
ASSEMBLE: (L,O,E)
>
3.4. СЪХРАНЯВАНЕ НА ИНФОРМАЦИЯ ВЪРХУ МАГНИТНА
ЛЕНТА ЗА ЗВУКОЗАПИС
Предимствата на магнитната лента спрямо перфолентата
при запомняне на информация са безспорни. Магнитната лента е
по-удобна за експлоатация и позволява многократно презаписване,
което я прави предпочитана при микропроцесорните системи. Въз-
можността за иаползуването на магнитофони за звукозапис (ролко-
ви и касетъчни) като външжа памет на микропроцесорните систе-
ми разшири неимоверно прнложението на магнитофоните. Трябва
да се има предвид обаче, че за разлика от специалните ленти
за цифров запис, магннтните ленти за звукозапис са значително по-
нискочестотни и затова скоростта на запис не може да бъде го-
лима, При тях иай-често се използува честотно кодиране на ин-
118
формацията— логическата 0 се представя с една честота, а логи-
ческата 1 — с друга.
В често използувэния за микропроцесорните системи начин
на запис „Канзас* логическата 0 се представя с четири периода
Логическа 1 Логическа 0 Логическа 1
2400 Нг 1200 Hl 2400Hi
Фиг. 3.18. Честогно кодиране на информация според начина
на запис „Канзас"
от сигнална поредица
с честота 1200Hz, а
логическата 1 — с
осем периода от сиг-
нал за поредица с
честота 2400Hz (фиг.
3.18). Информация 1
bit се предава за
3,33 ms, а скоростта
н а обмена е 300 bit/s.
За по-добро органи-
зиране на обмена меж-
ду микропроцесораи . __
магнитофона инфор- Фиг' 3'19’ Блоков “ върху магиитиа лента
мацията върху маг-
нитната лента се записва на блокове с определена дължина. На
фиг. 3.19 е показан общият вид на блоков запис върху магнитна лен-
та. В начат го на записа се поставят няколко байта нули за синхро-
низация. Същотакивасинхронизиращисимволи се оставят и между
блоковете. Записът започва с начален блок, следват няколко ин-
формационни блока и зазършва с краен блок. Всеки блок има
своя структура според използувэния формат.
Най-голямо приложение в микропроцесорните системи е на-
мерил форматътп8Э, S1, .£9“. На фиг. 3.20 е показан общият вид
на блоковете при този формат. Всеки байт, който трябва да се
запише, се раздели на две шестнадесетични цифри и всяко от
тези числа се представя със съответствуващия му символ от код
ACSII. В началото си блоковете съдържат символи за управление
на каретата на печатащо устройство (0D, 0А, 00). Следват сим-
волът S, означаващ старт на блока, и число, показващо типа на
записа. По нататък с двуцифрено шестнадесетично число се оз-
начава броят на следващите байтове в блока, а с четирицифрено
119
шестнадесетично число — абсолютният адрес на първия байт дач-
ии в блока. Следват байтовете на данните и най-накрая блокът
завършва с еднобайтова контролна сума. В контролната сумд се
включват байтовете данни, адресът и броят на байтовете. На
1
2
3
Jt_
5
в
7
8
3
Н-2
N-t
N
— Синхронизиращи нули (NUL)
- *— (CR)- врьщане на карета
— (LF)- нов рей
- — (Ы’Л)
- «— 5 = Старт на блока
— — XX = Тип на записа
л— брой байтове в записа
(Шестнадесетичен)
•*—Айрес на пьрвия байт
данни
-—Данни
——Кочтролна сума
Фиг. 3.20. Общ вид на блок от формат .SO, SI, S9“
ХХ~31
Инфврмационен
блок
XX =30
Начален
блок
53
31
31
36
31
31
30
30
1100
38
OF
XX =39
Краен
блок
Фиг. 3.21. Видове блокове от формат ,S0, SI, $9“
фиг. 3.21 е показано примерно съдържание на трите типа блоко
ве. Обикновено началният блок (S0) съдържа текстова информа-
ция за името на записа. При някои записи този блок може да.
120
липсва. Крайният блок (S9) служи за указание, че записът е свър-
шил. Съдържащият се в него адрес може да не съответствува
на адреса на последний байт данни. Твърде често крайният блок
се използува в съкратен
ния запис на крайния
блок се поставят сим-
волите S9, без да бъ-
дат предхождани от
символи за управле-
ние на карета на пе-
чатащо устройство
Разглежданият
формат не е единст-
вен. В много устрой-
ства се използуват
собствени формати на
запис, при конто бай-
товета данни се запис-
ват върху магнитната
лента, без да се пре-
образуват в код ASCII.
Такъв е записът при
развойните микропро-
вид, като в края на записа вместо пъл-
Фиг. 3.22. Свързване на Магнитофон към микро-
процесорна система
цесорни системи, работещи с мониторна програма JBUG.
Свързването на магнитофон за звукозапис към микропроце-
сорна система обикновено се извършва чрез адаптер ACIA и спе-
циална схема (модем) за връзка с магнитофона, както е показано
на фиг. 3.22. Адаптерът ACIA преобразува информацията от па-
ралелен в последователен код при предаване на данни към мо-
дема и обратно — при приемане на данни. От своя страна при
запис на магнитна лента модемьт изработва двете честоти за
предаване на логическата 0 и лэгическата 1. При приемане мо-
демът детектира данните и изработва тактова честота за син-
хронизиране на приемния канал на ACIA, като тази честота е
съобразе о с вътрешния коефициент на кратност на ACIA.
Врз 8 :ата между микропроцесорната система и магнитофона
може да бъде реализирана без модем и ACIA, като се използуват
някои от изходите на PIA, но тогава всички операции по моду-
лиране и демодулиране трябва да се решат по програмен път.
На фиг. 3.23 е показана схема на модем за връзка между
ACIA и магнитофон. Схемата се характеризира с повишена шумо-
ус гойчивост. Предназначена е да работи при вътрешен коефи-
циент на кратност на ACIA, както при приемане, така и при пре-
давзне, равен на 1/16.
Задачата на приемния канал (демодулатора) е да разпоз-
нае в идващия от магнитофона сигнал двете честоти, отговарящи
на логическа 0 и логическа 1, да детектира данните и да възста-
121
нови сиихронизиращага честота за тяхното приемане от ACIA.
На фиг. 3.24 са дадени времедиаграмите в различии точки на
приемния канал (демодулятора), изясняващи принципа на неговата
работа. Получаваният от магнитофона сигнал (т. А) се преобра-
зува в напрежение с правоъгьлна форма и ТТЛ нива посредством
интегралния компаратор LM311 (т. В). В изхода иа логический
елемент (т. С) се получават кратки положителни импулси
122
(около 5 |is г) при всеки фронт на изходния сигнал от компаратора.
В същата точка е включен кондензатор със стойност InF, пред*
отвратяващ трептенията при фронтовете на импулсите. Логиче-
л v V V V V V v \У Xyvvk/vV
В П П П П П П П Г—| |—I I—I I—Ш_ТТ_П_П_Г
с lUUULIUlJlJL^^
Л------------Unjnjnjnunj_Lnj-------
е шишииииииш
f тпгттгттги ттпппппг
&------------1лппппплгтлплпл1------
Състояние на брояча
при детектиране
на логическа О
| Състояние на
брояча при детектиране
на логическа 1
Фиг. 3.24. Времедиаграми на демодулятора
ският елемент ЛЕг е включен само като инвертор. От така полу-
чените импулси се за действу ва чакащият мултивибратор 4MV
който генерира импулс с продължителност 280 (is (т. D). По то-
зи начин при входяща честота от магнитофона 2400Hz (логиче-
ска 1) ЧМГ ще се задействува на всеки 208 (is, а при входяща
честота 1200Hz (логически 0) — на всеки 417 (is, т. е. цри вхо-
дяща честота 2400г ЧМг ще се задействува отново, преди да е за-
вършил генерирането на собствения си импулс, докато при вхо-
дяща честота 1200Hz той ще успее да го завърши. От отрица-
телния фронт на импулса в изхода Q на ЧМХ чрез диференцира-
не се изработва кратък импулс, който се прибавя към импулсите
от изхода на ЛЕг и в изхода на ЛЕ9 (т. Е) се получава сигнал
с възстаиовената честота за синхронизираче на приемника на ACIA.
Импулсите в т. D са неравномерно разпределени при входяща
честота от магнитофона 1200Hz, но това няма значение за рабо-
тата на ACIA. Важното е, че за всеки бит информация се полу-
чават по 16 тактови импулса.
За Детектиране на данните е използуван реверсивен брояч
74193, който едновременно с това осигурява шумоустойчивостта
на пряемния канал. По време на детектирана логическа 1 такто-
вите импулси се подават на сумиращия му тактов вход Т+(т. Е),
а по време на детектирана логическа 0 — на изваждашия му так-
тов вход Т~~ (т. G). Разделянето на тактовите импулси се извър-
123
шва от логическите елементи ЛЕЪ и ЛЕй, управлявани съответно
от изходите Q и Q на ЧМ}. Детектираните данни се взимат от
изхода на 74193 (т. Н). На фиг. 3.24 е показано и в аналогов
вид състоянието на реверсивния брояч при детектиране на реду-
ващи се логическа 0 и логическа 1. Както вече бе споменато, при
детектирането на логическа 1 възстановената тактова честота
постъпвана входа 7'+на74193. Саед осмия тактов импулс изходът
Q3 се установява в логическа 1. Този фронт се диференцира и
полученият при това отрицателен импулс се подава през ЛЕ± на
зареждащия вход L на брояча, при което той принудително се
установява в състоя 'ие 1111. Всички следващи импулси, постъп-
ващи на входа 7'+, задържат брояча в това състояние чрез цри-
нудителното му зареждане с 1111. При детектирането на логи-
ческа 0 възстановената тактова честота постъпва на входа Т~.
След осмия такто в импулс изходът Q3 се установява в логическа 0. То
зи фронт се диференцира и през J1E-, нулира брояча. Следващите
импулси, постъпващи на входа Т~, задържат брояча в това съ-
стояние чрез принудителНото му нулиране.
При получаване на информация ACIA стробира данните на
всеки 16 тактови импулса от средата на стартовия бит, т. е. в
средата на всеки информационен бит. Показаната схема има това
предимство, че случайни грешки в детектирането не се отразяват
на прочитаните данни. За да се детектира логическа 0, е необхо-
димо да постъпят най-малко два периода от сигнала с честота
1200Hz, а за логическа 1 —най-малко четири периода от сигнал з
с честота 2400Hz.
С логическите елементи ЛЕ^-^ЛЕ^ е синтезиран мултипле-
ксор, който превключва към ACIA детектираните данни и тактова
честота. Превключването се осъществява автоматично от чака-
щия мултивибратор V/W, при наличие на входящ сигнал от маг-
нитофона. Продължителността на импулса на ЧМ2 трябва да бъ-
де по-голяма от полупериода на най-ниската приемана честота.
Предавателният канал (модулаторът) трябва да осигури на
изхода си синусоидален сигнал с честота 1200 Hz за логическа О
и с честота 2400 Hz за логическа 1. За целта той използува так-
товата честота на ACIA за изпращане на данни, конто е 4800Hz,
като за записване на логическа 1 я дели на две, а за записване
на логическа 0 — на четири. С помощта на формировател от
правоъгълните импулси се получава сигнал с форма, близка до
синусоидална.
На фиг. 3.25 са показани времедиаграмите в различии точки
на предавателния канал (модулатора), изясняващи неговата рабо-
та,. Първият тригер Тгг се тактува от отрицателния фронт на
сигнала (т. /) ТхС (ЛЕ16 инвертира ТхС). Когато ACIA изпраща
логическа 0 (т. /), на входовете и 5 на Тгг има логическа 1 и
той работи като делител на две. Когато ACIA изпраща логическа 1,
на входа 7? на Тгг има логическа 0, а на 5 през ЛЕ-ц постъпват
124
инвертирани импулсите ТхС и изходът Q на 7'г1 повтаря ТхС
(т. /0. Вторият тригер Тг2 работа като?делител на две (т. L). От
правоъгълните импулси през интегрираща верига се получава
трионообразно напрежение (т. М). За да се постигне добра линей-
I пл^гщллллшишл]^^
J-------------1_____________I-------
Фиг. 3.25. Времедиаграми на модулятора
ноет, напрежението върху интегриращия кондензатор е избрано
около 100 mV от връх до връх. Когато се предава логическа 0,
с ключовия транзистор Т\ допълнително се включва още един
интегриращ кондензатор. С помощта на транзистора Г2 трионо-
образното напрежение се преобразува в ток, от който върху дио-
дите Д1 и Д2 се формира почти синусоидално напрежение с
максимална стойност 500 mV (т. N) С изходния делител това
напрежение може да се намали до необходимата стойност.
Тестването и настройването на модема се извършва според
дадените времедиаграми. За целта е необходимо изходът на мо-
дулатора- да се евърже с входа на демодулятора, което дава въз.
можност’за едновременно тестване и на двете части, без да с
използува магнитофон. При самото тестване и настройване с пое
мощта на дадената по-долу програма през изхода TxD на ACIA'
се извежда информация, състояща се от редуващи се логическа 0
и логическа 1.
РАСЕ 001 МОРЕЙ
0001 КАЙ MODEM
0002 ОРТ L
0005 8008 ACIA EQU □ 8008
0004 0000 OHG 0
0005 *-**_* ****************
0006 0000 86 03 LDAA #3
0007 0002 В7 8008 STAA ACIA НАЧАЛНО УСТАНОВЯВАНЕ
0008 0005 86 15 LDAA #□15
0009 0007 В7 8008 STAA ACIA ИНИЦИАЛИЗАЦИЯ HA ACIA
0010 000А 86 55 LDAA #□55
001 1 000С 1’6 8008 11 LDAB ACIA ПРОВЕРКА ЗА ПРАЗЕН
0012 000F 54 LSRB РЕГИСТЬР ЗА
0013 0010 54 . LSRB ПРЕДАВАНИ ДАННИ
0014 001 1 24 ?9 BCC L1
0015 0013 В7 8009 STAA ACIA+1 ЗАПИС В РЕГИСТЪРА
0016 0016 20 1'4 BRA L1 ЗА ПРЕДАВАНИ ДАННИ
0017 END
TOTAL ERRORS ООООО
При съставячето на программ за четене и запис от и на маг-
нитна лента е необходимо да се вземат предвид изискванията на
използувания формат. За формат „SO, SI, S9“ допълнително изяс-
няване изисква само синтезирането на контролната сума. Тя се
образува, като се съберат без пренос влззащите в нея байтове
информация и полученият резултат се инвертира побитово.
3.5. ИЗОБРАЗЯВАНЕ НА БУКВЕНО-ЦИФРОВА И ГРАФИЧНА
ИНФОРМАЦИЯ НА ЕЛЕКТРОННОЛЪЧЕВА ТРЪБА
(ВИДЕОДИСПЛЕЙ)
3.5.1. Изобразяване на бквено-цифрова информация
Изобразяването на буквено-цифрова информация е много че-
сто срещана необходимост. Днес това се извършва главно върху
телевизионен екран. Информацията, която ще се изобразява, се
записва в паметта RAM в код ASCII и чрез подходяще преобра-
зуване се подава иа телевизионния екран. На фиг. 3.26 е дадено
примерно изобразяване на буквено-цифрова информация. Броят на
знаците на един ред е най-често 16, 32, 64, 80 или 128, а броят
на редовете —16, 24 или 32. В зависимост от броя на избраните
знаци на ред и от броя редове се определи обемът на паметта
RAM (често наричана опресняваща памет RAM — Refreshing
Брой знаци на ред
1 2 з
I ред
Пред
ВИДЕОТЕРМИНАЛ
ЗА ИЗОБРАЗЯВАНЕ НА
БНКВЕНО-ЦИфрОВА
ИНФОРМАЦИЯ
п-тпи ред
Фиг. 3.26. Изобразяване на буквено-цифрова информация
Video RAM). Например при 80 зчака на ред и 24 реда паметта
RAM трябва да бъде 1920 byte. Изобразяването на отделни зна-
ци се осъществява с помощта на знаков генератор (ЗГ). Всеки
знак е записан в таблична форма в знаковия генератор (памет
126
ROM или EPROM). Той се състои от определен брой редове f и
определен брой колони. В табл. 3.4 е показан записът за циф-
рата 1.
Използуват се знакови генератора с матрица (таблица) 5x7, 7X9
Таблица 3.4
Прав ход
2
0J о
в О|
Колони
1 2 3 4 5
0 0 10 0
0 110 0
0 0 10 0
§ Л ° loo
б|о 0 10 0
6;о 0 10 0
7 О о ! 0 о
Обратен- ход____
горизонтален
Синхронпулс,
и Вертикален
синхроинпулс
Фиг. 3. 27. Дгижениена електронния лъч върху екраиа
и др. С колкото повече точки се изобразява всеки знак, толкова
по-точно ще бъде изобразен той (без стъпки). Обаче увелнчава-
нето на матрицата на знаковия генератор води, от друга страна,
до по-високи изисквания кьм видеоусилвателя (при един и същи
брой знаци на ред).
Както е известно, при телевизионного изображение върху
електроннолъчева тръба електронният лъч описва сложно дви-
жение (фиг. 3.27). Изобразяването започва от горния ляв ъгъл на
екрана, като се изобразява първият ред, следва хоризонтален син-
хроимпулс, с който се управлява началото на втория ред, и т. н
След последний изобразен ред следва вертикален синхроимпулс
чрез който електронният лъч се изпраща в началото, т. е. в гор-
ния ляв ъгъл на екрана. По този начин се изобразява един кадър.
Телевизионного изображение на приетия у нас стандарт се състои
от 625 реда с продължителност от хоризонтален синхроимпулс
до следващ хоризонтален синхроимпулс 64 [xs и продължителност
от вертикален синхроимпулс до следващ вертикален синхроимпулс
20 ms. Разбира се, тези времена включват освен времето за изо-
бразяване и времето на синхроимпулсите. Броят на изобразявани-
те редове е 625 (максимално), но фактически при видеотермина-
лите те са 312 (максимално), поради това, че не се използува
презредова развивка. Използуването на презредова развивка не е
целесъобразно, тъй като се получава „мигане“ на екрана. На прак-
тика не е възможно да се използуват повече от 300 реда и това
ограничава броя на редовете на ЗГ и броя на буквено-цифровите
редове.
127
3.5.2. Контролер за телевизионен приемник, използуван
като електроннолъчев дисплей
С оглед на по-лесно изобразяване на буквено-цифрова инфор-
мация на електроннолъчева тръба са разработени ИС, предназна-
чени за управление на такива дисплеи (контролери CRCT). Така-
ва ИС, съвместима с микропроцесора МС6800, е МС6845. Тя има
универсално предназначение и възможност за съгласуване с раз-
личен тип дисплеи. Мястото и връзките на контролера CRTC в
един микропроцесорно управлявши видеодисплей са дадени на
фиг. 3.28. В паметта RAM Video е записана информацията, подле-
жаща на изобразяване, в код ASCII. Максималната адресируема
памет RAM Video за тази ИС е 16 Kbyte, като в зависимост (от
пи салка
Фиг. 3.28. Контролер за растеров видеодисплей
съдържанието на регистрите на контролера CRTC може да се
изобразява определена част от тази памет. Управлението на кон-
тролера CRTC се извършва с помощта на 19 вътрешни регистъра.
128
Адресиране на вътрешните регистри
CS 1 RS 4 3 X 2 X 1 X 0 X Регистър Наименование на регистъра
X X X He e избран контролерът CRTC
0 0 X X X X X X Адресен регчстър
0 1 0 0 0 0 0 Ro Хоризонтален сумарен регистър
0 1 0 0 0 0 1 R1 Хоризонтален регистър на изображението
0 1 0 0 0 1 0 Ra Положение на хоризонталния синхроимпулс
0 1 0 0 0 1 1 R3 Продължителност на хоризонталния синхроим- пулс
0 1 0 0 1 0 0 Ri Вертикален сумарен регистър
0 1 0 0 1 0 1 R5 Вертикален съгласуващ регистър
0 1 0 0 1 1 0 Re Вертикален регистър на изображението
О 1 0 0 1 1 1 r7 Положение на вертикалния синхроимпулс
0 I 0 1 0 0 0 Ra Управление на режима на работа
0 1 0 1 0 0 1 Ro Брой редове на ЗГ
0 1 0 1 0 1 0 Rio Начало на указателя4'
0 1 0 1 0 1 1 Rn Край на указателя*
0 1 0 1 1 0 0 R12 Начален адрес (старта част)
0 1 0 1 1 0 1 R13 Начален адрес (младша част)
0 1 -о 1 1 1 0 R11 Положение на указателя (старша част)
0 1 0 1 1 1 1 Rn Положение на указателя (младша част)
0 1 1 0 0 0 0 Rig Адрес, стробираи от светлинната писалка (стар- ша част)
0 1 1 0 0 0 1 Ri? Адрес, стробиран от светлинната писалка (младша част)
Описание на вътреш.чйте регистри
Адресен регистър — 5-битов, само за запис. В него се запис-
ва адресът на един от останалите 18 регистъра.
Хоризонтален сумарен регистър (/?0) — 8-битов, само за за-
пис. В него се записва в условии единици „знакового време" (вре-
мето за изобразяване на един знак). Той включва изобразяваното
и неизобразяваното „знаково време1* минус 1.
Хоризонтален регистър на изображението (&)—&6итов
регистър, само за запис. Съдържанието му определи броя на изо-
бразяваните знаци на един ред.
Положение на хоризонталния синхроимпулс (/?2) — 8-битов
регистър, само за запис. Съдържанието му определи положеиие-
то на хоризонталния синхроимпулс.
Продължителност на хоризонталния синхроимпулс (7?3)—
4 битов регистър, само за запис. Съдържанието му определи про-
дължителността на синхроимпулса.
Вертикален сумарен регистър (/?4) и вертикален съггасу-
ващ регистър — съответно 7-битов и 5-битов регистри, само
за запис. Съдържанието им определи периода на вертикалните
синхроимпулси. Изчисленият период е обикновено цяло число плюс
дробно число (измервател<ата единица е времето за изобразяване
Указателя? показпа къде на екрана ще се изобрази следа ащият знак.
9 Приложение на микропроцесорни
129
на един буквено-цифров ред), за да се получи точно честота на по-
вторение 60 или 50 Hz. Цялото число минус 1 се записва в R4, а
дробното число — в Rs.
Вертикален регистър на изображението (/?в) — 7-битов ре-
гистър, само за запис. Съдържанието му определя броя на изо-
бразяваните знакови редове.
Положение на вертикалния синхроимпулс (/?-)— 7-битов
регистър, само за запис. Съдържанието му определя местополо-
жението на вертикалния синхроимпулс. Продължителиостта на вер-
тикалния синхроимпулс е 16 единици.
Управление на режима на работа (R8) — 2-битов регистър,
само за запис. Съдържанието му определя режима на развивка-
та — редова или презредова.
Брой редове на ЗГ (/?9) — 5-битов регистър, само за запис.
Съдържанието му определя броя иа редовете на ЗГ, включител-
но и празното пространство между буквено-цифровите редове.
Начало на указателя (Rw) — 7-битов регистър, само за за-
пис. Съдържанието му управлява формата на указателя. Бит 5е
за управление на честотата на мигаие иа указателя. При бит 5=0
честотата иа мигане е 1/16 от честотата на вертикалните синхро-
импулси, а при бит 5«=1 — 1/32.
Край на указателя (Rn)— 5-битов регистър, само за запис.
Съдържанието му определя края иа указателя.
Начален адрес (RJ2 и /?13) — общо 14-битов адресен регистър,
само за запис. Съдържанието му определя първия адрес от па-
метта RAM Video, информацията от който ще се изобразява на
екрана.
Положение на указателя (Ru и /?1В) —общо 14-битов ад-
ресен регистър, за четене и запис. Съдържанието му определя по-
ложението иа указателя на екрана.
Адрес, стробиран от светлинната писалка (Ri6 и /?17) —
общо 14-битов адресеи регистър, само за четене. Съдържанието,
му покаэва местоположеиието на светлинната писалка иа екрана.
Управляващи линии от контролера CRTC
Вертикална синхронизация (VSYNC) — сигналът служи за
директив управление иа монитора или се подава на блока за по-
лучаване иа комплексен видеосигнал.
Хоризонтална синхронизация (HSYNC) — сигналът служи
за директив управление на монитора или ое подава на блока за
получаване иа комплексен видеосигнал.
Адресиране на RAM Video (Л4ДО4-МЛ18).
Управление на ЗГ (/?Лв-гТ?Л4).
Разрешение за изобразяване (DE) — сигналът служи за ди-
ректив управление на монитора илн се подава на блока за полу-
чаване на комплексен видеосигнал.
130
Вход за светлинна писалка (LPSFB)— подава се сигнал от
светлинната писалка.
Указател (Cursor) — сигналът се подава на блока за полу-
чаване на комплексен видеосигнал.
Всички управляващн линии са съвместимн с ТТЛ ИС.
3.5.3. Изобразяване иа информация върху
растеров видеодисплей
На фиг. 329 е показана блокова схема на видеотерминал с
буквено-цифров видеодисплей с микропроцесорно управление. Ос-
новиият блок в него е вндеодисплейната памет. Тази памет съхра-
нява информацията, която трябва да се изобразява на телевизион-
ния екран. Всяка клетка от паметта помни кода ASCII на един
символ, който ще се изобразява. Клетките се зареждат и могат
да бъдат прочетени от микропроцесора по магистралата за дан-
ни. Последователното извеждане на информацията от видео-
дисплейиата памет и изпращането й към кодовия преобразувател
се управлява от контролера CRTC, който изработва и необходи-
мите синхроимпулси за телевизионного изображение.
Фиг. 3.29. Блокова схема на видеотерминал
В кодовия преобразувател се извършва преобразуването на
кода ASCII на информацията от вндеодисплейната памет в после
дователна видеоинформация, която се подава към смесителя.
131
В смесителя п ютъпват видеойн^ормацията и формираният
сигнал „разрешение на дисплея" (DE) от кодовия преобразувател,
и синхроимпулсите от CRTC. В изхода на смесителя се получава
комплексният видеосигнал. Той се подава към видеовхода на спе-
циализиран монитор. За да може да се използува обпкнове'и би-
тов телевизор вместо монитор, в схемата на видеодисплея е вклю-
чен високочестотен (ВЧ) блок. В i.ero се изработва посещать че-
стота за те-левизиоипия сигнал, която се модулира от комплёксния
сигнал, след което тя се подава към анте ния вход на телеви-
зионния приемник.
Операторът може да въвежда информация посредством кла-
виатура, свързана с видеодисплея чрез адаптер PIA. Ор' анизира-
нето и обслужването на клавиатурата е описано подробно в т. 3.2.
Терминалните функции на видеодисплея се реализират чрез по-
следователен обмен на данни с друго устройство посредством
адаптер ACIA. Общото управление се осъществява от микропро-
цесора посредством заложената в паметта ROM работна програ-
ма. Към видеодисплея е включена памет RAM, необходима за
съхраняване на даннн, междинни резултати, организиране на стек
и др. Цялостната синхронизация на работата на видеодисплея се
осъществява от Тактовия генератор.
Принципната схема и времедиаграмите на тактовия генератор
са показани на фиг. 3.30. Осцилаторът е кварцово стабилизиран.
Периодът на генерирачите от него сигнали Т е равен на продъл-
жителността на една елементарна точка от изобразявания символ.
С помощта на делител, изпълнен с брояча 741(51, се получава так-
товият сигнал Cl CRTC за тактуване на контролера CRTC. Про-
дължителността на един хоризонтален телевизионен ред между
два синхроимпулса е 64 p.s. Около 20п/п от това време се губи
за обратния ход на лъча по редове. Използуваната част о г реда
за изобразяване на информация не бива да бъде повече от 51 p,s,
като се отделят още 2-?3 p,s за запас. Например при използувэ-
нето на кварцов резонатор с честота 13,5 MHz могат да се изо-
бразяват 64 символа в ред по 10 точки всеки, като това заема
47,7 pS от активния ход на лъча по редове. Получената тактова
честота за контролера CRTC е 1,35 MHz. CRTC извежда адреса
за видеодисплейната памет по задняя фронт на тактовия ей им-
пулс. Необходимо е синхронизирано обръщане на микропроцесо-
ра към вндеодисплейната памет, за да не се получава тречкане
на изобразените на екрана символи. Когато честотата на сигнала
Cl CRTC е по-малка от 1 MHz, е възможно той да служи и за
тактова поредица Ф1 на микропроцесора Тогава синхровното обръ-
щане на микропроцесора към видеопаметта се осъществява ав-
томатично, тъй като Ф2=С1 CRTC. В даде-шя пример обаче това
е невъзможно, тъй като честотата на тактовия сигнал Cl CRTC
е по-голям от 1 MHz. Затова тук микропроцесорът трябва да ра-
боти с двойно по-ниска честота от тази на сигнала Cl CRTC. 3j
1:32
този случай с помощта на допълнителна логика е синтезиран сиг-
нал Е (разрешен достъп на MPU до видеодисплейната памет),
Продължителността на този сигнал в показания пример е 444 ns.
За достъп на CRTC до видеодисплейната памет е отделен интер-
Фиг 3 30. Тактов генератор за буквено-цифров видеодисплей й времедиаграми на
гейериранн’.е сигнали
вал 296 ns. Използуваната видеодисплейна памет трябва да удо-
влетворява тези времена.
Приннипната схема на видеодисплейната памет е показана на
фиг. 3.31. Организирането на масив статична памёт е разгледано
в т. 2.7.2. Обем от '4 Kbyte позволява формирапетона две'видеЬ-
дисплейни страниии, всяка съдържаша 32 реда по 64 знака. Адрес-
ните линии от микропроцесора и от контролера CRTC преМинават
През буфери 8Т97 или 8Т98 и заедно се подават към масива п'а-'
мет. Адресните буфери на микропроцесора се разрешават само
когато той се обръща към паметта (4/7=0 и Е== 1), като по съ,-
щото време адоесните буфери на контролера CRTC . се забранят
ват. Същевременно се дава разрешение па буферите за данниА
свързващи масива памет с микропроцесорната магистрала за дан-
ни. През останалото време адресните и информационнее буфери,
свързващи микропроцесора с видеодисплейиата памет, са забра-
нены, адресните буфери на контролера CRTC са разрешены, а ма-
сивът памет се намира в режим на четене.
R/W -------------------------------------------
Фиг. 3.31. Организиране на видеодисплейна памет с обем 4 Kbyte
Прочетеният код ASCII на символа постъпва от видеодисплей-
ната памет в кодовия преобразувател за преобразуване във видео-
информация. Прииципната схема на кодовия преобразувател е да-
дена на фиг. 3.32. Първоиачално кодът постьпва за запомняне в
междинната 8-битова памет, изградена от ИС 74LS95 и тактувана
от сигнала С (вж. фиг. 3.30). Изобразяваните матрици на символи-
те са записани в знаков генератор — памет EPROM 2716. Кодът
ASCII е 7-битов. Осмият бит (D7) в информационната дума може
да се използува за различии цели. Две от приложенията са даде-
ии в показаната схема. В единия вариант D7 се свързва към вхо-
134
да As на знаковмя генератор (за целта т. 3 се свързва с т. 7), при
което могат да бъдат адресирани 256 символни матрици. В този
случай броят на редовете в матрицата се ограничава на 8, което
е достатъчно за изобразяване на цифрите, препинателиите знаки,
Фиг. 3.32. Колов преобрвзувател на Оуквено-цифров видеодиснлей
главните и малките букви на кирилицата и латиницата. Линията
RA3 от контролера CRTC се свързва към входа CS на ИС 2716
(т. 7 с т. 6). При втормя вариант към зиаковия генератор се изг
пращат само седемте бита —от Do до De, конто определят 128
символни матрици с по 16 реда (свързват се съответно т. 2 с т,
1 и т. 6 с т. 8). Осмият бит D, в този случай се използува за
управление фона на символа (за целта т. 4 се свързва с т. 5).
Свързването на т. 9 към т. 10 или т. 11 определя ннвата на бит
D7, необходими за негативния и позитивиия фон иа символа. На
фиг. 3.33 е показано примерного съдържание на символната мл-
136
Фиг. 3.33. Символ на матрица за
буквата Е
трица в знаковия генератор за буквата Е. Както се вижда, в хо-
ризонталните светещи редове точките светят през една. Това се
прави в случайте, когато не се използуват специализирани мони-
тори, а обикнове.ш телевизионни приемници, на чиито екрани се
получават „опашки" след свете-
щите точки в хоризонталчо направ-
ление. Чрез прилагания метод се
уеднаквява яркостта за хоризон-
тален и вертикален светещ ред. В
показаната схема в матриците на
знаковия генератор светещите точ-
ки се кодират с 0. Получената
информация от изхода на знако-
вия генератор се зарежда в пре-
местващ регистър, чиято роля е
да преобразува тази информация
от паралелеи в последователен
₽ид. Този 8-битов преместващ ре-
гистър е реализиран с ИС 7495.
Времето за изобразяване на един
ред от дадеп символ върху теле-
визионния екран е съизмеримо с времето на закъснение на ин-
формацията във видеопаметта и в знаковия генератор. За да се
избегне влиянието на това закъснение, информдцията се преме-
ства от видеопаметта до преместващия регистьр на два етапа. В
първия етап данните от видеопаметта се запомнят в междинната
8-битова памет, а във втория етап информацията от междинна-
та памет преминаВа през знаковия генератор и се записва в• пре-
местващия регистър. Всеки етап трае един период на сигнала
Cl CRTC. По този начин последователчата информация в изхода
на кодовия преобразувател се явява отместенВ на два периода
на сигнала Cl CRTC. За да се компенсира Това отмесгване,'сиг-
налите DE и CR, генернрани от контролера CRTC, се подлагат на
същото отместване.
На фиг. 3.34 са показани свързването на контролера CRTC
МС6845 във. видеодисплея н схема за формиране на синхроимг
пулсите. Действието на тазн схема е пояснено с времедиаграми-
те от фиг. 3.35. Контролерът CRTC генерира отделим синхроим-
пулси за,рёдова и кадрова синхронизация, конто трябва да бъдат
формирани спореД телевизионния стандарт, показан на фиг. 3.35.
Задачата на формирователя на импулси е да синтезира стандарт-
ните форми на редовите и кадровите телевизионни си'нхроимпул-
си. Чакащият мултивибратор ЧМ} определи иродължителпостта
^а редовите синхроимпулси, когйто транзисторът Тх е запушен.
Що.м контролерът CRTC генерира кадровия синхроимпулс, се пре-
йключва D-тригерът Тгг и се дава разрешение за работа на броя-
ча, тригера Tix и чакащпя мултивибратор ЧМг. Чакащият мулти-
136
вибратор 77Иа започва да генерира импулси с продължителност
32 |is, конто допълнително пускат ЧМХ по задний си фронт. По
този начин в изхода Q на ЧМХ се получават предните изравнява-
щи импулси от кадровия синхроимпулс, конто са с двойна редо-
Отп микропроцесорната част 0,п сингрогевератсоа
----------лкзТгрвс ci сяк.*
я.кч лох« 8/В 11 ,i
Н'РНИ f
Фиг. 3.3-1. Контролер CRTC и схема за формиране па синхроиыпулспте
Фиг. 3.30. Времедиаграми на сх-гмап за <|г>рмиране на синхроимпу.тсте
137
ва честота. Броячът 7492 отброява 6 от тях и след това чрез
изхода си Qa насища транзистора 7\ и превключва тригера Тг^
При наситен транзистор 7\ времеконстантата на ЧМГ се обуславя
от резистора /?г, което определя^продължителността на импулси.
к
25’/,
Х‘/,
ЗН
Видеосигнал
0,3 Н Редови синхроимпулси
лпгштшшш
Кадрови
синхроимпук
Эадни
изравнява-
щиинпулси
ЗН
ЗН
Кадрова гасящ ампуле
Фиг. 3.36. Ставдфтаа телевизиоани синхроимпулси
5YN
ЛЕ
VIDEO
Фиг. 3.37. Принципал схема на видеосмесител и внсокочестотен блок
те вътре в кадровый синхроимпулс. Броячът отброява 6 такива
импулса и зап у шва транзистора Tv След като се отброят след-
ващите 6 зад ни изравняващи импулси, тригерът Гг, се превключ-
ва. което зэбряиява работата на брояча, тригера Тг^ к чакащи*
мултивибратор 4Mt, a 4Mt продължава да формира само редо-
вите синхроимпулси.
Смесителят за комплексния видеосигнал е показан на фиг. 3.37.
138
Смесването на сигналите SYN, VIDEO и DE се извършва с по-
мощта иа диодите във входа на повторител i 7\. Транзисторът Т2
е включен също като повторител, осигуряващ ниското изходно
съпротивление на изхода за комплексной видеосигнал. Същевре-
менно от делителя в емитера му се взема модслиращо напреже-
ние за ВЧ генератора. Осцилаторът в този генератор е изпълнен
по триточкова капацитивна схема с транзистора 7'3. Честотата на
получените ВЧ сигнали се определя от трептящия кръг L^C^. По-
нататък те се усилват от резонансния усилвател, изпълнен с тран-
зистора Г4. Амплитудната модулация на ВЧ сигналите се извърш-
ва в емитерната верига на Г4. Трептящият кръг в колектора на
Г4 е образуван от L? и Сг. Стойността на индуктивностите Ц и
Lt се определя от избраната работна честота. Например, ако се
работи на трети телевизионен канал, тя е 77,25 MHz. Тогава бо-
бините Z.J и Lt трябва да съдържат по 7 пльтни навивки с диа-
метър на намотката 6 mm и въздушна сърцевина. ВЧ дроселът
предлазва от проникване на ВЧ сигнал по захранвагците провод-
ници. Той съдържа 25 навивки върху тороидална феритна сърце-
вина със среден диаметър 8 mm, като индуктивността на дросе-
ла не е критична.
Свързването на паметите RAM и ROM и адаптерите PIA и
ACIA към микропроцесорната система на видеодисплея е изясне-
но във втора глава. В конкретния пример е използувана схемата
на минимална микропроцесорна конфигурация от фиг. 2.20.
На растеровия принцип може да се изгради и графичен ви-
Фиг. 3.38. Кодов преобразувател за графичен видеодисплей
деодисплей. Той е подобен по структура па буквено-цифровм.
като основната разлика е в кодовия преобразувател. Тук вече не
е необходим знаков генератор, тъй като информацията от видео-
дисплейната памет направо се преобразува в последователна ви-
139
деоинформация Принципната схема на кодовия преобразувател,
С който'се осъществява това преобразуване, е дадена на фиг. 3.38.
Данните от видеодисплейната памег постъпват в преместващ ре-
гистър със закъснение от един период на сигнала Cl CRTC, след
Дании от микропроцесора
Фиг. 3.39. Масив видеодисплевяа памет с обем 8 Kbyte заграфичен видеодисплей
като контролерът CRTC е извел адреса. Това закъснение се ком-
пенсира със забавянето на сигналите CR и DE също с един пе-
риод на сигнала Cl CRTC в тригерите на ИС 7474. В разглежда-
ния пример на графичеи видеодисплей е избран формат 256X256
точки. За да може една изобразявана хоризонтална светеща ли-
ния да има същата „зърнеста* структура както една вертикална
линия, е въведена задължителша „тъмна“ пауза след всяка точка
140
на хоризонталната линия. „Накъсването“ на сигна ia се извършва
от тактовия сигнал Т. В схемата на кодовия преобразувател е
предвидена възможно-ст за смяна на фона на изображението. При
сзързване на т. 1 с т. 2 изображението е позитивно, а при свър-
зване на т. 1 с т. 3 — негативно. Светещите точки трябва да се
записват с 1 във видеодисплейната памет.
Организирането на графичен видеодистей изисква значително
повече видеодисплейна памет, отколкото буквено-цифровият. За
формат 256x256 точки е необходима памет 8 Kbyte, а за един
пьлен хоризонтален ред са необходими 32 byte. Видеодисплейни-
ят контролер МС6845 е пред >азначен за организиране на буквено-
цифров дисплей, използуват знаков генератор. Поради това реги-
стърът му за програмиране на пълния брой хоризонтални редове
е 7-битов (той може да се програмира за изобразяване максимал-
но на 127 реда). За изобразяване на повече редове (в конкретния
Фиг. 3.40. Тактов генератор за графичен видеодисплей
сличай 236) контролерът CRTC ее прогрлччрч зя \продление н»
несъществуващ знаков генератор с матрица от 4 реда, а лилиите
RA0 и RAr се свързват за избор на адресите на видеодисплейна-
та памет. Това е показано на фиг. 3.39. Към адресната магистра-
141
ла на вндеодисплейната памет се свързват във възходящ ред
най-напред линиите МА04-МА4 (определящи 32-та байта за един
ред), след това линиите RA0 и RAX и най-накрая линиите МА6н- МА10.
Схемата на тактовия генератор за графичния растеров видео-
дисплей и времедиаграмите на неговата работа са показани на
фиг. 3.40. За формат 256X256 точки тактовата честота за кон-
тролера CRTC се получава по-ииска от 1MHz и тя може да бъ-
де използувана направо за формиране на микропроцесорните фази
Фх и Ф2. На същата фигура е показано получаването на фазите
Фх и Ф2 чрез мощните буфери с отворен колектор 7438 с вклю-
чен нискоомен резистор в изхода им, а частта от схемата с тай-
мера 555 служи за изработване на автоматичен сигнал RESET
след включване на захранването.
Всички други блокове на графичния видеодисплей са иден-
тични с тези на буквено-цифровия дисплей. Съществено предим-
ство на графичния видеодисплей е, че той също може да изобра-
зява символи, ио тяхното синтезиране трябва да се извършва по
програмен път.
3.5.4. Графичен дисплей с електроннол ьчева тръба с елек-
тромагнитно отклонение
За да се получи графично изображение върху електроннолъче-
ва тръба, е необходимо на входовете за отклонение на лъча по X
и У да се подаде синхронизирана аналогова информация. Повтаряй-
ки това във времето, се получава устойчиво изображение. При
електроннолъчевите тръби с електростатично отклонение за управ-
ление на лъча трябва да се подава напрежение. Това е голямо
удобство, но за съжаление този вид тръби са с малък екран и го-
ляма дължина, което ги прави неподходящи за графнчни дисплеи.
За вграждане в електронни устройства са подходящи разработените
за телевнзионните приемници електроннолъчеви сръби с голям екран
и малка дължина на тръбата, но с електромагнитно отклонение.
Блоковата схема на такъв графичен дисплей с електрончо-
лъчева тръба е дадена на фиг. 3.41. Връзката с микропроцесора се
осъществява чрез адайтер PIA. Регистърът ORA на PIA се свързва
с 8-битов цифрово-аналогов преобразувател (ЦАП) за управление
по X, a ORB — с 8-битов ЦАП за управление по У. При такива
ЦАП на екрана се получава'растер 256X256 точки. При необхо-
димост може да се използуват ЦАП и с повече разреди. За уп-
равление на гасенето на лъча се инициализира като изход СА»
или СВ2. Сигналите от ЦАП се подават на усилвателите по X и
по У, конто са усилватели на ток, т. е. изходнияг им ток е про-
порционален на входного им напрежение (фиг. 3.42). Това се на-
лага поради индуктивния характер на товара (отклонителните бо-
бини). Използуваната електроннолъчева тръба е тип 16ЛК1Б.
142
Една такава схема създава условия за управление на графи-
чен дисплей от микропроцесора по програмен път. Чрез подаване
на информация по X и Y електроиният лъч може да се насочи
към всяка точка на екрана. При това той може да стой в тази
Фиг. 3 4!. Блокова схема на графичен дисплей с електро«нолъчева тръба с
електромагн итно отклонение
Фиг. 3.42. Преобразувател на
входно напрежение в изходен
ток
Фииг. 3.43. Начално отместване
на лъча
точка безкрайно дълго време. На практика обаче това не се до*
пуска не няколко причини. Първо, при продължително постоянно
светене в една точка луминофорът се изтощава бързо и дори се
разрушава, защото той е проектирая да бъде осветяван импулсно.
Второ, при продължително светене усилвателите по X и в© Y ще
работяг в тежък режим по отношение на разсейваиата мошаост
(особен© при отклонеиието на лъча в крайните точки). С цел по-
пълнотоизпелзуване на екрана електроиният лъч е отместен в
крайно положение (фиг. 3.43).
Алгоритъмът за работа на графичния дисплей е дадеи на
143'
/ асе не на лг-va
Запас £ A a R на нсЗ v с-ойчисс
фиг. 3.44. След инициализиране на PIA в ORA се записва начал-
ният адрес на данните. Този начален адрес в паметта RAM може
да бъде произволен, но в ORA той се записва като 1. Съдържа-
нието на този адрес от паметта (първата стойност на изобразя-
ваната функция) се записва в
ORB. След този запис се пода-
ва отпушващ импулс за елек-
тронния лъч (преди това той е
загасен). За да може да се по-
лучи устойчиво изображение,
се налага лъчът да се задържи
известно време в избраната точ-
ка (това завися от послесвете-
него на луминефора). След опре-
деления интервал от време лъ-
чът се гаси и адрсът (X) се
увеличтвэ. с единица. Тогава
ст следващата клегкт на памет-
та се в.,ема записаната там
стой ’Ост на нзобразяваната фун-
кция и тя се записва в ORB.
Фиг. 3.44. Алгоритъм 31 работа
на графичная дисплей
Отново се подавт отплуващ
импулс за електронния лъч, ге-
нерира се интервал от време и
т. н. Така се извеждат всичките 256 точки от нзобразяваната функ-
ция и за да се получи устойчиво изображение, това се повтаря
многократно—обикновено 25 пъти в секунда, а още по-добце—
50 пъти в секунда
Програмата за индикация на сьдържанието на акгмулатора
А и акумулатора В на електроннолъчева тръба е следната:
’AGE 001 PR
0001 NAM PR
0002 OPT 0
0003 8020 ORG □8020
0004 8020 0001 PIAAD RMB 1
0005 8021 0001 PIAAC RMB 1
0006 8022 0001 PIABD RMB 1
0007 8023 0001 PIABC RMB 1
0008 0000 ORG □ 0000
0009 0000 37 8022 (1D i STAA PIABD
001 0 0003 F7 8020 STAB PIAAD
001 1 0006 86 30 LDAA #^00111100
001 2 G'J08 37 SO23 STAA PIABC
001 CO'’; 3 CE OCOA LDX #a000A
0(0 •’ ( •,' h' 09 DELUS1 DEX
GUI 5 OOGF 26 FD ERE DELUS1
001.6 001 1 8o 34 LDAA #£001Ю100
00 i " 001 5 37 3023 -STAA PIABC
0018 001 0 39 RTS
0019 END
TOTAL ERRORS 00000
144
Фиг, ?/>5. Схема на усилвателя за вертикално отклонение
10 П?нпожение на микропроцесорни
145
Тъй като в телевизионните приемници хоризонталната откло-
нителна бобина работи на по-висока честота, а вертикалната —
на по-ниска, се налага завъртане на отклонител inre бобини на 90°
спрямо първоначалното им положение. По този начин се увели-
Фиг. 3.46. Линеаризиране яа отклонение™ на лъча
чава честотната лента по Y (хоризонталната отклонителна бобина
се състои от две бобини, свързани последователно, а е желател-
но те да се свържат паралелно).
Пълната принципна схема на усилвателя за вертикално от-
клонение е дадена на фиг. 3.45. С помощта на потенциометъра
може да се извърши началното постояннотоково отместване.
Операционният усилвател (ОУ) е тип рА709 или иегов еквива-
лент. Усиленият сигнал се подава на групата Rlt Дг, Дг, кориги-
раща различната чу ветвите лно ст на тръбзта в средата и в края
на екрана. Чрез подходяще регулиране с тримерите 4/ кй и дио-
дите Дх и Дг тази разлчка в чувствттелностите може да се ком-
пенсира в известна степей, с което се линеаризира отклонението
на лъча (фиг. 3.46).
Така формираният сигнал сс подава на крайния усилвател
Той е изпълнен по класическата безтрансформаторна схема с две
захранващи напрежения — мощен операционен усилвател с дифе-
ренциален вход. Това позволява включването му като усилва-
тел на ток.
На фиг. 3.47 е показана схемата на усилвателя за хоризон-
тално отклонение. На входа й има сумиращ усилвател за усилва-
не и постояннотоково отместване на входнйя сигнал. Основного
различие между схемите на фиг. 3.45 и фиг. 3.47 е в лннеаризи*
ращото звено. Тук то е реализирачо с 4 диода за положителната
и 4 диода за отрицателната част на напрежеинето. Това е на-
правено с цел по-прецизно линеаризиране на отклонението на лъча
по X. Въпреки това при наблюдаване на криви, конто се изместаат
бавно отляво надясно, се получава леко, но забележимо изкри-
вяване в точките на отпушване иа диодите.
146
147
Фиг. ЗД7. Схема на }хцлвателя
за хоризонтално отклонение
3.6. СЪХРАНЯВАНЕ НА ЦИФРОВА ИНФОРМАЦИЯ В ЗАПОМНЯЩИ
УСТРОЙСТВА С ГЪВКАВ МАГНИТЕН ДИСК
3.6.1. Основни сведения
Един от най-разпространените методи за съхраняване на ин-
фэрмацич в микоо.троцесорните снстеми е използуването на за-
помнят» устройства с гъвкав магнитен диск (ЗУГМД). Негови-
те предимства са малки размери, писка цена на бит съхрапена
информация и сравнително бърз достъп до информацията.
Г'ъвкавият магнитен диск, "аричан оше Дискета, по форма
прилича на грамофонна плоча. Повърхността на дискетата е по-
крита със специален магнитен материал, който създава условия
за запис на цифрова информация. Записът се прави по т. нар. пъ-
теки, конто представляват концентричии окръжности с различен
диаметър (фиг. 3.48). Дискетата се прави от лек и мек материал.
Тя лесно се огъва, при което може да се смачка и да се наруши
магнитнияд слой. Затова дискетата се поставя в защитен плик,
облепен отвътре със специално текстилно покритие, за да се на-
мали триенето. Защитният плик има прорез за оста на двигателя,
за главата за четене/запис, индексен отвор и евентуално прорез
за осигуряване защита на записи.
Честотата на вьртене на дискетата е избрана т'ка, ч” едно
завъртане да се извърши за около 167 ms (при мини ЗУГМД за
200 ms). Главата за четене/запис се дспира към дискетата през
специален прорез на защитная плик. Срещу главата за четене/за-
пис от другата страна на дискетата ср поставя прцтискащо ус-
тройство за по-добър контакт ьа главата с д ккетата. Най-раз-
Затитен плик"} _____L Пътеки
Глаба за четене/запис
Сектори
^ОтХор за осте на
двиютем
Индексен отбор
Фиг. 3.48. Разположение и разпределение на пътеките върху дискетата
пространеното разпределение на записа върху дискетата е със 77
концентричии пътеки, номерирани от 0 до 76, като нулевата пъ-
тека е най-външната (към периферията). Стъпката между две пъ-
148
теки е- приблизително 0,5 mm. Дължнната на пътека 0 е.прибли-
зителзо 625 п т. а тази на пътека 76 — 325 mm. Различната дъл-
жинз н । пътеките предполага и различна линейна плътност на
записаната информация. Това палата токът на запис да се променя
2 ns
Г’ /ва cell/
Фиг. 3.49. Еднсбитова клетка
(за първите 44 пътеки той е по-мальк, а за следващите — по-голям).
Чрез индексния огвор се извършва синхронизиране на началото
на записа върху пътеката. За по-добра организация всяка пътека
е разделена програмно на 26 сектора. За тази цет се извършва
т. нар. форм ат и ране на дискетата. Занизит върху пъгеките
се извършва с честотна модуляция (запис FM). На фиг. 3.49 е
дадена импулсната поредица при зшис. Ед’шбитовата клгтка се
състои от един тактов импулс и е дин ин {торчашиши и пуле (той
може да липсва при данни логическа 0).
За микропроцесорните системи съществе i параметър е вре-
мего за обмен на един байт информация. При запис на един бит
за 4 ps един байт ще може да се запише или чете за 32 ps. При
мини ЗУГМД времето за запис или четене на един байт инфор-
мация е 64 ps.
Краткого време за запис или четене на един байт (32 ps за
ЗУГМД и 64 ps за мини ЗУГМД) поставя големи изисквания към
микропроцесорната система. Най-често тактовата честота на систе-
мата е 1 MHz, т. е. периодът е 1 ps. Следователно програмата за
обмен със ЗУГМД трябва да извършва целия обем за по-малко от
32 такта. Използуването на дичамични памети RAM намалява то-
ва време още повече, тъй като трябва да ее иззършва опресня-
ване на всеки 32 ps. Поради това реално обемът трябва да се
извършва за време под 30 ps (30 такта), което представлява се-
риозна трудност.
Оорен този вид запис на ЗУГМД с честотна модуляция, на-
речен запис FM, използува се и записът MFM (с модифицирана
ирстотма мл1Туля1|и«) Зяписът MFM р с пдттност1 7 р
обемът на записаната информация се удвоява, като се запазва
линейната плътност на записа (фиг. 3.5t).
С цел да се организира двустранен запис в някои ЗУГМД се
монтират две глави за четене/запне. Така също се удвоява обе-
149
мът на записаната информация на една дискета. Следователно
при запис от двете страни на днскетата с двойна плътност се
получава четири пъти по-голям обем на записаната информация.
0 0 110 1 0 0
FM | | I I I 1 I I I I I I
Фиг. 3.50 Записи FM и MFM
3 6.2. Основни технически данни и действие на ЗУГМД
У нас се произвеждат два вида запомнящи устройства с гъв-
кав магнитен диск — ЕС5О74 и ЕС5088 (запомнящо устройство с
миниатюрен гъвкав магнитен диск). Двете устройства са показани
на фиг. 3.51 и фиг. 3 52 с основните си размерн.
Фиг. 3.51. ЗУГМД ЕС5074
150
Основни технически данни на ЕС5074
Обем на записа на една дискета — 3,2 Mbit.
Брой пътеките — 77 (04-76).
Честота на въртене — 360 min-1.
Плътност на пътеките — 1,89 пътеки/mm.
Максимална линейна плътност—128 bit/mm.
Времена на достъп:
— време на изчакване — 83 ms;
— време за преминаване от пътека до пътека — 10 ms;
— време за успокояване на главата — 10 ms;
— време за притискане на главата — 40 ms.
Скорост на предаване на данннте — 250 Kbit/s.
Захранване:
— постояннотоково +24V±5% (ток 1,5 А),
4-5V ±5% (ток 1,5 А),
—5V ±5% (ток 0,15 А);
— променливотоково 220V+10%, —15% (ток 0,2 А).
Фиг. 3 52. Мини-ЗУГМД ЕС5088
Основни технически данни на ЕС5088
Обем на записа на една дискета — 109,4 Kbyte.
Брой на пътеките — 35 (0-i-34).
Честота на въртене — 300 min-1
Максимална линейна плътност — 102 bit/mm.
Скорост на предаване иа данните — 125 Kbit/s.
Захранване: 4-12V±5% (ток 0.9 А):
+5V ±5% (ток 0,8 А).
ЗУГМД ЕС5074 включва управляваща електроника, електро-
ника за четене/запис, механизъм за придвижване на главата за
четене/запис по пътеките на дискетата и дискета. Всичко това е
151
необходимо, за да може да се осыцествява обработка и генери-
ране на управляващи сигнали, придвнжване на главата за четене/
запис на определена пътека и самото четене и запнс на ннфор-
мацията.
152
На фиг. 3.53 е дадена блокова схема на това ЗУГМД. Чрез
интерфейса става обмен на данни между ЗУГМД и управляващо-
то устройство. За осъществяването на този обмен са нужни съот-
ветни управляващи сигнали.
Сигнали за преместване на главата на ЗУГМД ЕС5074
Посока — при логическа 1 на този вход посоката на движе-
ние на главата за четене/запис ще бъде към периферията (пъте-
ка 0), а при логическа 0 — от периферията към центьра на дис-
кетата (от пътека 0 към пътека 76).
Стъпка — на този вход се подават импулси с продължител-
ност от 1 ps до 20 ps при период, по-голям от 10 ms. При всеки
импулс става преместване на главата за четене/запис на съсед-
ната пътека (посоката се указва от сигнала ,,посока“).
Сигнали, необходнми за четене и запис при ЗУГМД ЕС5074
Притискане на главата — логическа 0 на този вход включ-
ва електромагнитното реле и главата за четене/запис се притиска
към дискетата посредством притискащ палец. Главата влиза в
контакт с диске гата след не повече от 40 ms от подаването на
този управляващ сигнал.
Запис — логическа 0 на този вход разрешава записа на дан-
ни върху дискетата. Този сигнал трябва да се подаде не по-рано
от 4 ps преди подаване на данните за запис и да се изключи не
по-късно от 4 ps след изключваие на данните за запис. Това е
необходимо, тъй като времето на запис между две съседни едно-
битови клетки е 4 р«.
Управление на тока на запис — чрез този вход се управля-
ва стойността на тока на запис на две нива. Превключването става
на пътека 43 (о г пътека 0 до пътека 4'2 токът на запис има ед-
на стойност, а от пътека 44 до 76 — друга). Това се налага по-
ради различната дължина на пътекиге и получаваната в резултат
на това различна линейна плътност на записа.
Индекс — на този изход се получава импулс на всеки период
на въртене на дискетата (при програмно секториране). Импулсът
е с продължителност 2±1 ms и период 167 ±4,17 ms.
Пътека 0 — логическа 0 на този изход означава, че главата
за четене/запис е нт пътека О. Този сигнал се формира от спе-
циална двойка светодиод—фотодиод.
, Неизправност — изходът д.тва информация, че ЗУГМД не е
в работен режим.
Отстранивине на нсизправността — на този вход се пода-
ва кратковременеи импулс за от.сграняване на неизправността (ако
тя е от такъв вид, че може да се отстрани).
Данни за запас — па входа се цодава последователност от
153
тактови импулси (С) и данни (D), конто трябва да се запишат на
дискетата (фиг. 3.54).
Данни от четене на записа от дискетата — на изхода се
получава последователност от тактови импулси и данни, ит конто-
Фиг. 3.56. Връэка на ЗУГМД с упр вляващо устрой-
ство (FDC)
чрез разделяне се получават тактовите импулси и прочетените
данни от дискетата (фиг. 3.55).
154
Чрез опнсаните управляващи сигнали се осъществява обмены
между управляващото устройство (FDC) и ЗУГМД. Дискетата
се върти от синхронен електродвигател със захранване 220V/50
Hz и ремъчна предавка. Сигналите за връзка между ЗУГМД и
управляващото устройство FDC са показани на фиг. 3.56 и 3.57.
Фиг 3.57. Управляващи сигнали за връзка на ЗУГМД с управляващо
устройство FDC
На фиг. 3.58 е дадена блоковата схема на електрическата
част на мини-ЗУГМД ЕС5088. Дискетата се въртн с помощта на
електродвигател и ремъчна предавка. Електродвигателят се за-
хранва с 4-12V. Неговата честота на въртене се поддържа в оп-
ределеии граници с помощта на електронеч регулятор и датчик
за оборотите — тахогенератор. Дискетата се центрира и притиска
към оста на двигателя с помощта на притискаща шайба.
Главата за четене/запис се позиционира иа иеобходамата пъ-
тека с помощта на стъпков електродвигател. За преместване на
съседиа пътека стъпковият двигател прави две стъпки, като уп-
равляващото устройство подава един импулс, а вторият се нзра-
ботва вътрешно. Придвижването на главата става посредством
шайба със спирален жлеб. Шайбата е свързана с оста на стъп-
ковня електродвигател. Главата за четене/запис е със стъклоке-
рамична повърхност и е конструирана така, че да има максима-
лен изходен сигнал. По време на работа дискетата се притиска
допълнително от палец, покрит с мек материал (филц).
155
ЦТ
05
Защита на записа
Запис
. Данни ‘за запас
УсилВател
за запис и
логически
схема '
\ Из бои на
• чстоОцстВа
Защ игла на записа
Данни з£запис
Данни за четене
Пътска о
Стает
Keiiop на устройст Во'
Грсёкл-
е про
УсилВател
за четене
Дании за
четене
Изоар на
устройство
Старт
Логически,
ст ем и и
формира -
Вате л и
• Г.зтека О
СтйпыЗ ДНиглтя
Управление
:-:а
ВВкгптелч
Та хо '••су
У.граВл»'-.ие <г.
- фаза Л
Фаза &
; фаза С
Я—
НнЗёкс _________ _._г _
ЗйхпаяВа>’.е /;<Г гЯлтсотзЛ,-
Фиг. 3 53- Блогова -схема на минц-ЗУГМД ЕС5083
Управляващи сигнали за връзка на мини-ЗУГМД ЕС5088 с
управляващо устройство
Избор на устройство — при подаване на сигнал на този
вход на лицевия паиел на мини-ЗУГМД светва светодиод, показ-
ващ, че устройство™ е избрано. При това се разрешават изходи-
те „пътека 0“, „индекс/сектор" и „защита на записа". Към упраь-
ляващото устройство за мини-ЗУГМД могаг да се включат до
3 мини-ЗУГМД. За тази цел на платката на мини-ЗУГМД има 3
контролни точки, чрез конто става свързването за избор на ус-
тройство.
Старт — при подаване на логическа 0 на този вход се
включва електродвигателят. За да може той да достигне своите
номинални обороти, е необходимо изчакване от около 1 s след
старта. Изключването на електродвигателя става чрез подаване
на логическа 1 на този вход.
Посока — при подаване на логическа 0 на този вход стъпко-
вият електродвигател се въртл така, че главата се придвижва
напред (от периферията на дискетата кьм нейния цегтър). При
подаване на логическа 1 движение™ на главата е в обратна по-
сока (от центъпа на дискетата към периферията и). Този вход
определя само посоката, а самото придвижване се извършва при
подаванс на импулси на вход „стъпка".
Стыка — на този вход се подават импулси, чийто брой
трябва да бъде равен на броя на пътските, през конто да се пре-
мести главата.
Индекс!сектор — сигналът на този изход указва началото на
пътеката. Получава се от двойки светодиод—фотодиод и е форми-
ран по амплитуда и продължителност. При твърдо секториране
той изпълнява ролята и на начало на сектор.
Пътека 0 — при придвижване на главата за четене/запис към
периферията на дискетата и позиционирането й точно над пътека
О на този изход се получава логическа 0- При всяко първо гачат-
но включване на устройство™ поради неопределеносгта на место-
положението на главата за четене/запис се натага сейното позн-
циониране на! пътека 0).
Запис. — активного състояние на този вход е логическа 0,
при което мини-ЗУГМД се установява в режим запис, т. е. с ьз-
дават се условия, при конто данните. постъпващи от управлява-
щото устройство FDC, се записват па дискетата. При логическа 1
на този вход мини-ЗУГМД е в режим четене.
Данни за запас — на то иг вход се подава последоззтелност-
та от тактови импулси и данни, конто трябва да се эзипшат па
дискетата ((’лиг. 3.59).
Данни от четене на загмсЬ от дискотата— на -точи из-
ход се получава последовате'лност от тактови импулси и данни.
от която чрез разделяне се получават тактовите импулси и про-
четепите данни от дискетата (фиг. 3.60).
157
Защита на записа — сигналът от този изход указва дали в
дискетата има защитен запис. За да се защити дадена дискета,
се затваря прорезът на защитния плнк. Това указва на управля-
ващото устройство, че върху тази дискета не трябва да се из-
еършва операцията запис на данни.
200 ms ♦ 7,2 ms
Фиг. 3.61. Индексни импулси при программе секториране
Фиг. 3 G2. Индексни импулси при твърдо секториране
При различиите видове секторирания на дискетата на изход
нндекс/секто р се получава различна импулсна поредица. Програм-
ното секториране предполага наличнето само на един индексен
импулс на оборот (фиг. 3.61), докато при твърдото секториране
за един оборот се получава поредица от индексни импулси (фиг. 3.62).
158
Начинът на секториране няма значение за работата на мини-ЗУГМД,.
а е съществен само по отношение работата на управляващото
устройство FDC.
На фиг. 3.63 е показано включването на информационния и
Фиг. 3.63. Информационен и захранващ интерфейс на мини-ЗУГМД
FDC
Км МПС
Индекс! сектор____
Избор на устройство 1
Избор на устройство!
Избор на устройстбо~3
Старт
Посока________
Стьпка________
Данни за запис
Пътека О__________
Защита на записа~
* Данни четене
Ники-
ЗУГМД
Маса
+J2V_
* 5V
Фиг. 3.64. Управляващи сигиали за връзка между мини-ЗУГМД и
управляващото устройство FDC
аахранващия интерфейс на мини-ЗУГМД. Информационният ин-
терфейс се включва към куплунг А. Изходите са изпълнени с
транзистори с отворен колектор, а входовете — с товарни рези-
стори с еквивалентно входно съпротивление 150 Q. Това позволя-
ло
ва да се използува лентов кабел за връзка. На фиг. 3.64 е Даде-
нч в блоков вид връзката на мини-ЗУГМД с управляващото ус-
тройство FDC, което от своя страна осъществява връзката с
микропроцесорната система.
3 6 3. Формат IBM 3740 за запис на данни в ЗУГМД
Формзтът IBM 3740 се използува за запис с програмно сек-
ториране. Според този формат на дискетата се формират 77 пъ-
геки (цилиндри), номерирани съответио от 0 до 76. Пътека Осе
използува като библиотека за съдържанието на дискетата Неза-
висимо че пътеките са 77, форматът IBM 3740 предписва изпол-
зуването на 75 пътеки, а останалите две се запазват като резер-
вна, за да може да се замени никоя дефектна пътека-
Всяка пътека на дискетата се разтеля на26,15 или 8 секто-
ра, като всеки сектор има выможност за записи съответно на
128,256 или 512 byte и .'формация (фиг. 3.65).
Номерация га на секторите започва от индексната марка, като
секторът след нея получава номер 1. Не е задължителчо логи-
ческата последовагелност на останалиге сектори да бъде едиаква
с физ.щеската игл пэследозателност. Всеки сектор съдържа иден-
тификатор (зона ID) и зона зг данни. Номерът на сектора се съ-
държа в идентификатора, който се записва по време на форма-
тирането на дискетата.
Всички зони от пътеката са разделени с интервали, като в
тези интервала са включени т. нар. синхроинтервали (записани 6
byte логически 0). Синхроинтервалите се намират пред всяка зона.
Последователността от интервала, сичхроинтервали, адресни мар-
ки, зона ID и зона за дан и при форматирана дискета е показана
на фиг. 3.66.
гектара па 123 Byte
15 сектора по 255 Syte
8 сектора по 512 tyte
Фчг 3 С-5 Би юзе секториране при формат IB.M. 3740
При запас на една пътека се използуват 4 различии по про-
."ът-клгелносг интерзали (апгл Gap). За всички пътеки те са едни
г съ.цг I [нгерваллге комненсират механичнгпе и електрическите
изменения в положението на магнитната глава, различната често-
та на въртене на дискетата и толерансите между различимте ек-
земпляри устройства, така че благодарение на тях дискетата, за-
писана на едно устройство, може да се чете на друго. Освен
Интервал
Свободен
интер
вал
Празен Синхро -
интервал интервал
Слевиндексен
интервал
Иденти
фикатор
Pdyte
CRC
2 Byte
Празен Синхро
интер интер
дал вал
Интервал 16
Авр
нар-
ка
128,256 или
512 Byte
данни
СЯС
2
Byte
Празен Синхро
интер интер-
вал вал
Информационен
интервал
Зона ID
Индекс
Зона за данни
Един сектор
Фиг. 3.66. Форматиране на дискетата при формат IBM 3740
това тези интервали позволяват да се синхронизират схемите за
запис и четене, което води до повишаване достоверността иа че-
тене и запис. Четирите вида ичтервали са:
Слединдексен интервал (Post-Index Gap). Представлява 32-
байтов интервал между индексната адресна марка н идентифика-
тора на първия сектор. Състои се от 26 byte със запис FF и 6 by-
te със запис 00.
Интервал ID (Post-ID Gap). Намира се между зоната ID и
зоната за данни. Може да се изменч незначително след презапис
на информационната част. Състои се от 11 byte със запис FF и
6 byte със запис 00.
Информационен интервал (Post Data Gap). Намира се след
зоната за данни. Състои се от 27 byte със запис FF и 6 byte
със запис 00.
Прединдексен интервал (Pre-Index Gap). Намира се между
последната зона за данни и индексната адресна марка. Състои
се от 320 byte със запис FF. Може да се измени незначително
поради изменение на честотата иа въртене.
За по-сигурното и по-точното разпознаване на зоните се из-
ползуват 4 вида адресни марки—индексна адресна марка, адресна
марка ID, адресна марка за данни и адресна марка за изтрити
данни (напр. FC, FE и др.). Тактовите импулси в тези марки не
11 Приложение иа микроироцесорнн
161
Таблица 3.5
Означение на бьлгарски Означение па аглииски Данни Гактови импулси
Индексна адресна марка Index address mark FC D7
Адресна марка ID address mark FE C7
Адресна марка за данни Data address mark FB C7
Адресна марка за изтрити данни Delete data address mark F8 C7
се записват всичките, а част от тях са 0 (напр. D7 или С7). Мар-
ките представляват комбинации от данни и тактови импулси
(табл. 3.5).
За да се илюстрират по-добре различните адресни марки, те
са представени на фиг. 3.67, 3.68, 3.69 и 3.70 в двоична форма.
рс. сна
арка
Данни
Такт 1
Фиг. 3.69. Адресна марка за данни
162
Иидексната адресна марка е разположена в началото на всяка пъ-
тека (фиг. 3.67), адресната марка ID — в началото на зоната ID
(фиг. 3.68), адресната марка за данни — пред всяка неизтрита зо-
на за данни (фиг. 3.69), а адресната марка за изтрити данни
(фиг. 3.70) — пред всяка иэтрита (свободна) зона за данни.
спсцспсислси с Л СПС
о
2
3
6
4
5
7
за
о
о
0
1
изтрити
1 1
о
данни
0
А дресна марка
1 1
1 о
Данни 1
Такт f
Фиг. 3.70. Адресна марка i за изтрити данни
0000 ЕЕ FF FF FF FF FF FF FF FF FF FF FF FF FF FF FP
0010 ЕЕ FF FF FF У Б1 FF FF FF FF FF 00 00 00 00 00 00
0020 ЕС PE1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
3050 FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00
0040 00 FE 4C 00 01 00 F5 6D FF FF FF FF FF FF FF FF
0050 БЧ’ FF FF FF 00 00 00 00 00 00 FB E5 E5 E5 E5 E5
0060 Ер E5 E5 E5 Ep E5 E5 E5 E5 E5 Ep E5 Ep E5 E5 E5
0070 Е5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5
0080 Е5 E5 Ep Ep E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5
0090 Е5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5
00А0 Е5 E5 E5 £5 E5 E5 E'5 E5 E5 E5 E5 Ep E5 E5 £5 E5
00L0 t.5 E5 E5 Ep E5 E5 Ep Ep E5 E5 E5 E5 E5 E5 E5 E5
ООСО £5 £5 E5 E5 E5 E5 25 Ep E5 E5 25 E5 E5 E5 E5 E5
00 DO Е5 E5 E5 E5 E5 E5 E5 E5 E5 E5 B5 5D 50 FF FF FF
ООЕО FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00F0 FF FF FI1 FF FF FF FF FF 00 00 00 00 00 00 FB 4G
0100 00 02 00 A6 5E FF FF FF FF FF FF FF FF FF FF FF
0110 FF 00 00 00 00 00 00 FB E5 E5 E5 E5 E5 E5 E5 E5
01 20 Е5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5
0150 Е5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5
0140 Е5 E5 E5 E5 E5 E5 E5 E5 E5 E5 £5 E5 E5 E5 E5 E5
0150 Е5 E5 E5 E5 E5 E5 E5 E5 E'5 E5 E5 E5 E5 E5 E5 E5
01 60 £5 E5 E5 E5 E5 E5 £5 E5 25 E5 Ep Ep £5 E5 E5 E5
0U70 Е5 E5 E5 £5 E5 E5 £5 It -> 15 E5 35 1-0 Ep E5
01 30 Е5 Ep E5 E5 E5 E5 Ep E5 E5 E5 E5 E5 Ep E5 E5
01 90 v5 E5 E5 E5 E5 Ep E5 45 5D 30 Fp FF FF FF FF FF
01 АО Б Г FF FF FF Fl’ FF FF ЕБ FF FF FF FF FF FF FF FF
01 ЬО X 1 ЕБ’ FF FF тБ1 00 00 00 00 00 UO FE 40 00 up 00
01 со 95 04 У/ FF 4’ yr FF FF Fi FF yp FF Fi' 22 FF 00 00
01 DO 00 00 00 G) FB £5 E5 25 E5 E5 E5 Ep E5 E5 E5 E5
01 ЕО E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 -b'J E5 E5 E5
01 F0 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 pc E5 E5 Ep E5
Фиг. 3.71. Отпечатък на
част от форматиранэта дискета
163
Зоната ID включва адресна марка ID, 4 byte идентификатор и
3 byte код за циклична проверка CRC. Идентификаторы се съ-
стои от 1 byte адрес на пътеката (от 0 до 76), 1 byte нули, 1
Dyte адрес на сектор (от 1 до 26) и 1 byte нули.
На фиг. 3.71 е Даден отпечатък на част от записа в една
пътека на форматирана дискета. На тази фигура могат да се ви-
дят нагледно разпределеннето и последователността на различай-
те интервали и зони.
3.6.4. Управляващо устройство за ЗУГМД
Блоковата схема на управляващо устройство за ЗУГМД е
дадена на фиг. 3.72. То трябва да изпълнява следните функции:
— да отдели едни от други синхроимпулейте и данните;
— да може да управлява няколко ЗУГМД (най-често две);
— да подава към ЗУГМД необходимите управляващи сигнали;
— да подава данните за запис към ЗУГМД;
— да осигурява връзка с микропроцесорната система.
Програмното осигуряване на управляващото устройство за
управление на ЗУГМД трябва да осигурява обмена на информа-
ция между него и микропроцесорната система, както и диагности-
ката на ЗУГМД.
Българско управляващо устройство за ЗУГМД е модулът
ИЗОТ 7505Е. То осигурява съвместна работа на микрокомпютъра
ИЗОТ 0220 с две ЗУГМД. Функциите на това управляващо
устройство са:
— директно управление на обмена на информация между
микропроцесора и ЗУГМД с помощта на управляващи програми;
— директно свързване на управляващото устройство към ма-
гистралите на микропроцесора;
164
— осъществяване и контрол на записа върху дискетата.
Модулът ИЗОТ 7505Е се състои от две платки: 0001 — ин-
терфейсни схеми и 0002 — блок форматиране на данни, блок въз-
становяване на данни и синхронизиращ генератор. Блоковата му
схема е Дадена на фиг. 3.73.
Фиг. 3.73. Блокова схема на ИЗОТ\7505Е
Програмното осигуряване на ИЗОТ 7505Е заема части от
паметта, конто за осъществяване на съвместимост с микропроце-
сорна дискова операционна система (МДОС) са с адреси:
— от Е800 до EBFF — за резидентната управляваща програма;
— от EC00 до ЕСОЗ—за PIA (контролиране работата на
ЗУГМД);
— *от ЕС04 до ЕС07 — за последователния синхронен интер-
фейсен адаптер SSDA (форматиране, предаване и приемане на
данните към ЗУГМД).
Резидентната управляваща програма има определен брой
входни точки за извършване на отделимте операции. Програмно-
то осигуряване е разделено на программ за проверка на грешките
и программ за дискови операции. Обръщането към деветте вход-
ни точки за дискови операции се извършва посредством инструк-
ции на микропроцесора и изисква определени входни данни за
всяка операция. При възникване па грешка по време на дискова
165
операция определена клетка от паметта се зарежда със съответ-
на стойност, указваща вида на грешката, и бит С яа регистъра
за условните преходи на микропроцесора се установява в 1.
Диагностичната програма позволява на потребителя
лесно да изпълни еднократно или многократно конто и да е опе-
рация с дмековите устройства. Тя осигурява проверка на вида на
грешката от дисковата операция.
Повече подробности за модула ИЗОТ 7505Е могат да се на-
учат от технического му описание В него е дадена принципната
схема на модула и подробно е описано програмното му осигуря-
ване със съответните входни точки.
Вече са създаде ш и се произвеждат и ИС за управление на
ЗУГМД. Те обединяват в една ИС много от необходимите функ-
ции за управление на ЗУГМД и се нуждаят от минимален брой
допълнителни схеми. Типичен представител на този вид ИС е
МС6843, ориентира та за работа с микропроцесора МС6800 с фор-
матиран и свободен запис с единична плътност (вж т. 3.6.5).
Разработени са и ИС за работа с единична и двойна плътност —
например ИС tiPD 765 на фирмата „NEC“, ИС МВ8866 на „Фуд-
жицу" и др.
3.6,5- Интегрална схема МС6843 за управление на ЗУГМД
От контролера МС6843 се получават всички необходими
управляващи сигнали за ЗУГМД. Допълнително е необходимо
само буфериране, мултиплексиране за управление на няколко
ЗУГМД и външно разделяне на данните от тактовите импулси.
Тази ИС може да работи със стандартен формат IBM 3740, а
също и със свободен формат. Управлението се извършва с де-
сет мощни макрокоманд!!. Схемата има възможност за работа в
режим на директен достъп до паметта (DMA).
Схемата на връзките на ИС МС6843 с микропроцесора е да-
дена на фиг. 3.74, а на фиг. 3.75 са дадени вътрешната й блокова
схема и връзките между отделяйте регистри. Всички тези реги-
стри (12 на брой) са програмно достъпни и са особено важни за
работата на управляващото устройство.
Вътрешни регистри на МС6843
Регистър за изходни данни (DOR) --8-битов регистър, чрез
който се подават данните за запис върху дискетата.
Регистър за входни данни (DIR) — 8-битов регистър, в
който се съхраняваг данните, докато бъдат прочетени от микро-
процесора.
Регистър за те кущ адрес на пътека (CTAR) — 7-битов
регистър, съдържащ адреса иа пътеката, върху жоято е главата
за четене/запис.
166
Фиг. 3.74. Връзки на МС6843с микропроцесора
Фиг. 3.75. Блокова схема на Л'.С68^3
167
Команден регистър (CMR)— 8-битов регистър, където се
записват макрокомандите, преди да започне тяхното изпълнение.
Регистър за съспоянията за прекъсване (ISR))— 4-битов
регистър, чиито бигозе показват четирите състояния, конто мо-
гат да предизвикат прекъсване.
Регистър за установяване (SUR)—8-битов регистър, в кой-
то се програмира времето за установяване на главата и времето
за търсене. Четири бита се използуват за програмиране на вре-
мето за преход от пътека до пътека и четири—за програмиране
времето за установяване на главата. Тези времена се задават
според изисквазията на конкретните ЗУГМД.
Регистър за състоянията A (STRA)— 8-битов регистър,
чиито битове се използуват за индикация на състоянието на ин-
терфейса на ЗУГМД
Регистър за адрес на сектора (SAR) — съдържа 5-битов
адрес на сектора, с който ще се извърши обмен на данни.
Регистър за състоянията В (STRB) — 8-битов регистър,
чиито битове се използуват за означаване на грешките, открити
от ИС или получени от ЗУГМД.
Регистър за контрол на цикличная код (CCR) — 2-битов
регистър, чиито битове се използуват за разрешзване на провер-
ката на цикличния код.
Регистър за адрес на пътека (LTAR) — 7-битов регистър,
съдържащ адреса на пътека, който се използува по време на че-
тене или запис.
Главен регистър за броене (GCR) — 7-битов регистър, кой-
то съдържа адреса на търсената пътека при макрокомандата SEC.
При изпълнение на многосекторни макрокоманди за четене/запис
в този регистър се съдържа броят на секторите, конто ще се
четат или записват.
Преместващ регистър за изходни данни (DOSR), преме-
стващ регистър за в код ни данни (DISR), генератор на CRC и
преместващ регистър за такт (CSR) — преобразуват паралелни
данни в последователни и обратно, при командите за четене или
запис, а също така генерират цикличния код.
ИС МС6843 съдържа също дешифратор на инструкциите и
логика за синхронизация на управляващите сигнали, а за осъ-
ществяване на връзка с микропроцесор са необходими още бу-
фери за данни, контролер DMA, както и схеми за адресиране и
избор на регистрите.
Управляващи изводи за връзка със ЗУГМД
Притискане на главата (HLD) —при подаваче на логическа
1 на този изход главата за четене/запис на ЗУГМД конТактува с
дискетата.
Омъпка (STR) — на този изход се подават импулси с про-
168
дължителност 32 p.s, чийто брой определя пътеката, на която
Трябва да се премести главата за четене/запис. Перподът на им-
пулсите се програмира.
Посока (HDR)— този изход управлява посоката на движе-
ние на главата за четене/запис, като при логическа 1 главата за
четене/запис се придвижва към оста на дискетата, а при логи-
ческа 0 — към периферията (към пътека 0).
Ток на записа (LCT) — този изход управлява стойността на
тока на записа както при логическа 0 този ток има стойност за
пътеки 0 до 43, а при логическа 1—друга стойност за пътеки
44 до 76.
Разрешение на запис (WGT) — при логическа 1 на този из-
ход се извършва запис, а при логическа 0—четене.
Отстраняване на неизправност (FIR)— чрез този изход
се подава логическа 1 към ЗУГМД за отстраняване на неработ-
ното състояние. Генерираният импулс е с продължителност 1 ps
и се получава при четене на регистъра на състоянията A (STRA).
Неизправност (FI) — на този вход се подава сигнал от
ЗУГМД, когато в ЗУГМД има неизправност. Състоянието на то-
зи вход може да се провери чрез прочитане на бит 5 от STRB.
Пътека 0 (TRZ)— на този вход от ЗУГМД се подава сиг-
нал логическа 1, когато главата за четене/запис се намира на
пътека 0.
Индекса (IDX) — на този вход от ЗУГМД се подава сигнал,
който се използува за съгласуване на работата на контролера и
за броене на оборотите на ЗУГМД при някои от макрокомандите.
Готовност (RDY) — на този вход от ЗУГМД се подава сиг-
нал логическа 1, който показва, че ЗУГМД е готово за работа.
Този сигнал може да бъде прочетен от бит 2 на STRA.
Защитен запис (WPT) — логическата 1 на този вход, подаде-
на от ЗУГМД, показва, че записът е защитен (бит 6 на STRB),
но контролерът продължава изпълнението на записващата коман-
да. Състоянието на този вход може да се прочете от бит 4 на
STRA.
Информационнн изводи
Такт за данни (DCK) — на този вход се подават тактовите
импулси за четене на данни. Четенето на данни става по време
на отрицателния фронт на тези импулси. Тактовите импулси се
генерират от прочетените данни на дискетата.
Данни от четене (RDT) — на този вход се подават „про-
четените“ импулси от дискетата. Те включват тактовите и ин-
формационните битове.
Данни за запис (WDT) — това е честотно модулиран изход
за данни от контролера. Периодът на тактовите импулси е 4//,
169
а продължителността на тактовите и информационнее битове —
1//, където f е честотата на входа Clock, равна на 1 MHz
(фиг. 3.76).
Система команди за МС6843
Десетге команди са дадени и описани подробно в табл. 3.6.
Таблица 3.6
Макрокомз нда । С ькрлщенпе Битове на CMR 1 Шес1наде<е1п- чен код
бит 3 бит 2 бит 1 бит 0
Търсене на пътека 0 STZ 0 0 1 0 2
Тъосене SEK 0 0 1 1 3
Четене на един сектор SSR 0 1 0 0 4
Запис на един сектор SSW 0 1 0 1 5
Четене на CRC RCR 0 1 1 0 6
Запис на сектор с из трита марка
данни SWD 0 1 1 1 7
Многосекторен запис ' i MSW 1 1 0 1 D
Многосекгорно четене MSR 1 1 0 0 С
Запис в свободен формат FFW 1 0 1 1 В
Четене в свободен формат FFR 1 0 1 0 А
Търсене на пътека О (STZ)
Тази команда предизвиква отделяне на главата за четене/за-
пис от повърхността на дискетата и позиционирането й върху
пътека 0. За целта конгролерът СМ6843 генерира и подава им-
пулси на изхода си STP, докато на входа му TRZ се подале
логическа 1, при което тези импулси се прекратяват. Ко !тролерът
остива зает, докато вътрешно се генерират 83-те импулса. Ако
иа входа TRZ не се подаде логическа 1 след геиериране на всич-
ките 83 импулса, се вдига флаг за грешка при търсене (бит 4 на
STRB). След генериразе на 83-те импулса главата за четене/запис
се притиска към дискетата (HLD става логическа 1). След из-
170
тичане на времето, определено от регистъра SUR, се вдига фла-
гът за завърше.ю време на установяване (бит 1 на 1SR), изключ-
ва се бит 7 иа STRA и се изчистват регистрите CTAR и GCR.
Главата за четене/запис остава в контакт с дискетата. Ако е не-
обходимо отделянето на главата, след STZ могат да следват ко-
манди като RCR.
Търсене (SEK)
Командата се използува за повициониране на главата за четене/
запис върху избраната пътека. При подаване на тази команда се
включва битът Busy (логическа 1), главата се отдели от диске-
тата, изходът HDR се включва съобраэно необходимата посока
и на изхода STP се подават импулса. Тук съдържанието на
регистъра GCR се взема като адрес, на който трябва да бъде
позиционирана главата за четене/запис, а съдържанието на регистър
CTAR — за начален адрес. При това, когато (GCR)>(CTAR), из-
ходът HDR е логическа 1, а в обратния случай — логическа 0.
Броят N на импулсите е
A7=(CTAR) — (GCR)'.
Главата за четене/запис се притиска към дискетата. Когато изте-
че времето за установяване, флагът бит 1 на ISR се вдига в ло-
гическа 1, битът Busy се изчиства и съдържанието на GCR се
прехвърля в CTAR.
Едносекшорни команда, за четене]запис
С помощта на тези команди се извършват действия над един
сектор от записа (128 byte данни). Този тип команди се изпълня-
ват на две части (фиг. 3.77). В първата част се търси адресът и
Фиг. 3.77. Общ алгоритъм за изпълнение на макрокомандите
171
тя е обща за всички едносекторни команди, а втората част е
специфична за всяка команда.
Процедурата за търсене на адрес се извършва по алгори-
тъма, даден във фирменото описание.
Четене на един сектор (SSR)
Чете се секторът, чийто адрес е намерен от първата обща
част на едносекторните команди.
Четене на CRC (RCR).
Тази команда се използува за проверка, дали дачните са за-
писана правилно на дискетата. Действието й е същото както
при SSR, но без да се подава заявка за прехвърляне на данйите
(бит 0 на STRA)
Запис на един сектор (SSW)
В избрания сектор от първата част на командата се запис-
ват 128 byte данни.
Запил на сектор с изтрити марка данни (SW D)
Записът при тази команда е аналогичен на този при SSW.
Адресната марка на дачните вместо FB е F8 (тактът си оста-
ва С7).
Многосекторни команди за четене[запис
Тези команди са за четене на повече от един сектор, но
най-много на 27 сектора. Ако трябва да се прочетат Р сектора,
то в GCR се записва предварително числотоР-1. Основната про-
цедура е същата както при едносекторните команди. Започва се
с търсене на адрес, след което следват команди SSR и SSW. Ре-
гистърът за адрес на сектора (SAR) увеличава съдържанието
си с единица, a GCR намалява своето също с единица. Ако не
се получи прекъсване, предизвикачо от GCR, последователността
се повтаря, докато бъдат прочетеяи или записани Р броя сектори.
Завършването на командите MSW и MSR е както при SSR л
SSW — първо битът, показващ завършването на командата (MCG),
става 1, а след това след времето на установяване се изчиства
битът Busy и главата се отдели от дискетата. Ако по време на
четене се открие адресна марка за изтрити данни, бит 1 иа STRA
се установява в логическа 1 и остава в това състояние по време
на изпълнение на цялата команда.
172
Запис в свободен формат (FFW)
Тази команда може да работи по два начина, конто се из-
бират с бит 4 на CMR. Когато този бит е логическа 0, данните
се записват направо иа дискетата. При това съдържанието на
DOR се записва с тактови импулси 1 (без липсващи тактови
битове).
Ако бит 4 на CMR е логическа 1, нечетните битове на DOR
се използуват като тактови, а четните —като данни. По такъв
начин тактовият генератор DOSR работи с удвоена честота. При
това един байт от DOR отговаря на запис върху дискетата един
полубайт. Този режим позволява форматиране на дискета в свобо-
ден формат, включятелно и с липсващи тактови импулси. Тряб-
ва да се има предвид обаче, че записът се извършва за полови-
ната от времето за запис на един байт в режим с форматиран
запис. Това затруднява изпълнението на програмата, особено ако
не се работи в режим на директен достъп до паметта.
Четене в свободен формат (FFR)
Тази команда се използува за извеждане на всички данни от
дискетата (включитглно и адресните марки). След зареждане на
командата в регистър CMR главата за четене/запис се притиска
към дискетата. След като изтече времето за установяване на гла-
вата, данните се подават на регистъра DISR. След постъпване на
8 бчта те се прехвърлят в DIR и бит 0 на STRA се установява в
логическа 1. Това продължава, докато в CMR не се запише ло-
гическа 0, с което се прекратява четенето. Главата за четене/за-
пис остава притисната към дискетата.
За да се извърши синхронизация при четенето на байтовете,
контролерът може да се сиихронизира по индексна адресна мар-
ка FE, адресна марка за данни FB или F8.
На фиг. 3 78 е дадена блоковата схема на управляващото
устройство за ЗУГМД, реализирано с ИС МС6843. Чрез адресни-
те буфери и буферите за данни то се свързва с микропроцесор-
ната система. Схемата съдържа кварцов генератор с честота
IHMz за ЗУГМД или 500 kHz за мини-ЗУГМД. Схемата за въз-
становяванс на данните отделя синхроимпулсите от данните. Това
може да се реализира със схеми за фазово управление или със
селектори по време на базата на чакащи мултивибратори. Изход-
ните буфери са необходими за разделяне на отделните устрой-
ства и за осигуряване на предаването на сигналите по лентов
кабел. Те са осъществени с елементи с отеорен колектор. Вход-
ните буфери са необходими за разделяне на устройствата и за
съгласуване на входните сигнали към управляващото устройство.
Особено важна за сигурната работа на устройството е схема-
та за възстановяване на данните. Тя има за задача да възста-
173
нови тактовата честота на ИС МС6843, сврямо която се възприе-
мат постъпващите синхроимпулси и данни. Входен сигнал за тази
схема е сместа от синхроимпулси и данни, идваща от ЗУГМД.
Фиг. 3.78. Блокова схема на управлявашо устройство за ЗУГМД, реализирано
с ИСМС6843
Фиг. 3.79. Схема за възстановяване на данни
174
Схемата изработва два изходни сигнала, единият от конто (RDT)
представлява самата смес от синхроимпулси и данни, но с разши-
рени по време импулси. Другият изходен сигнал — импулсите
Фиг. 3.80. Времедиаграми на схемата за възстановяване на данни
DCK, са възстановената тактова честота, но в такова съотношение
с RDT, че предните фронтове на DCK да съответствуват на на-
лич ните синхроимпулси, а задните фронтове на DCK — на налип-
ните данни в RDT. Същевременно схемата трябва да възстано-
вявз последовател ост от три липсващи синхроимпулса за пра-
вилно възприемане на адресните марки.
Схемата за възстановяване на данните е показана иа
фиг. 3.79, а нейното действие е пояснено от времедиаграмите
на фиг. 3.S0. Прочетените от диска данни и синхроимпулсите
постъпват на входа на чакащ мултивибратор (С//И|), който ги
стеснява от около 600 п< до 200 ns. По-тесните импулси увели-
чават разделителназа способност на схемата. Чакащият мулти-
вибратор ЧМ, изработва разрешение по време за данните с мак-
симална продължителност 2,5 ps, която обхваща импулса на
данните след сьответния синхроимпулс. Всеки наличен в сместа
синхроимпулс през ЛЕ1 постъпва на входа S на D-тригера Тгх.
При това от изхода Q на същия тригер се задейст: ува разреше-
ние™ по време на данните, което нулира Гг1. Докато разреше-
ние™ по време действува, се дава разрешение на ЧА43, задей-
ствуващ се от наличии» в този момент импулс данни. Когато
обаче пристигне нов импулс данни, разрешение™ по време за
данните вече е изпълнило своята роля и то принудително се
прекратява със задния фронт на импулса данни през изхода Q
на тригера Тг2 и ЛЕ3. Чакащият мултивибратор ЧМ3 изработва
импулс с продължителност 2,4 ps, обхващащ следващия синхро-
175
импулс. Ако не пристигне синхроимпулс, разрешение™ по време
за данни се задействува от задния фронт на генерирания от ЧМ3
импулс. В адресните марки могат да липсват до три синхроим-
пулса, обаче задължително от двете страни на липсващия син-
хроимпулс има импулси данни. Това означава, че синхроимпулс
може да липсва само когато чакащият мултивибратор ЧМ3 е
задействуван. Затова, когато пристигне синхроимпулс, ролята на
ЧМ3 свършва и той принудително се нулира.
Схемата за възстановяване на данните запазва синхрониза-
цията си при липса на три передни синхроимпулса. За целта е
включена интегралната схема 7495, която работи в режим на
паралелен запис и в режим на преместване. Всеки постъпил им-
пулс данни предизвиква преместване на информацията в тази ИС
с един бит надясно, а всеки постъпил синхроимпулс извършва
принудителен паралелен запис в нея. При липса на синхроимпул-
си съдържанието на 7495 се мести от импулсите данни и след
четвъртото преместване (три липсващи синхроимпулса) на изхода
Qo се появява логическа 0, която въздействува на входа 5 на
тригера Тг2 и чрез ЛЕа задържа ЧМ2 в изходно състояние 0.
Това продължава, докато не пристигне импулс, който ще се въз-
приеме като синхроимпулс.
Ако след позициониране схемата е започнала да възприема им-
пулсите данни като синхроимпулси, то след три последователни
нули в тях тя ще се пресинхронизира.
Оптималните активни времена (в p,s) на чакащите мултивиб-
ратори за работа със ЗУГМД и мини-ЗУГМД са дадени в
табл. 3.7.
Т абмца 3.7
Тип устройство '/Afj VAf3
ЗУГМД 0,200 2,5 2,4 1,1
Мини-ЗУГМД 0,200 52 5,1 1,2
На фиг. 3.81 е дадена принципната схема на управляващо
устройство, реализирано с ИС МС 6843. То има 3 адресни линии
и съответно 8 вътрешни адреса. Една част от вътрешните регист-
ри се избират при четене, а друга част — само при запис. За да
се осигури управлението на две ЗУГМД или две мини-ЗУГМД,
се налага използуването на HCSN 7475 за управление на регист-
рите. Информацията в SN7475 се записва от линиите D4, D5, Dt!
и D7. За изходни буфери са използувани ИС7438, а входните бу-
фери са реализирани с ИС8Т96 и входен делител за получаване
176
12 Приложение на^микропроцесорни
ywyyyyVWyyW
177
на /?екв^150й. Управлението на входно-изходните буфери за I и
II ЗУГМД се осыцествява от два D-тригера, Другите два D-три-
гера са за сгартиране на електродвигателите на мини-ЗУГМД. Тъй
като схемата е проектирана з управление на ЗУГМД или ми ш-
ЗУГМД, входно-изходните буфери са с повече схеми. Ако тя се реали-
зиоа само !а един тип ЗУГМД, броят наИСбимогьл да се намали.
Кварцовиятгенератор трябва да осигурява тактова честота 1 MHz
(500 кН?;. Схемата за възстановяване на данните е тази от
фиг. 3 80.
Обмен ьт на форматиран запис (IBM 3740) между ЗУГМД и
микропроцесорната система се осыцествява от програмата
EXCHANGE, дадена по-долу. Тя е реализирана с използуване на
прекъсване IRQ. Адресьт на управляващото устройство е от ЕСОО
до ЕС07. За работата на програмата са необходими 10 работни
клетки (в случая на адреси от F 480 до F 489). Самата програма
се разполага от адрес F 800 до адрес F 899. Организирана е с 4
входни точки. При търсене на пътека 0 след зареждане на макро-
командата в работната клетка RABRW (код 02) програмата се
стартира от адрес F 812. След шпълнение на макрокомандата
програмата завършва с програмно прекъсване. Завършването на
макрокомандата може да бъде без грешки, с грешки и с търсене
на пътека. При търсене на пътека най-напред се записва номерът
на тьрсената пътека в клетка от паметта NUMTRC, след това
се записва макрокомандата в RABRW (код 03) и програмата се
стартира от адрес F828. За четене или запис на един сектор
най-напред се зареждат начален адрес за обмен RABX0, краен
адрес за обмен RABX, номер на пътеката NUMTRC и начален
сектор STRSCT; след това в RABRW се записва макрокомандата
за едносекторен запис (код 05) или за едносекторно четене (код 04)
и програмата се стартира от адрес F806. Многосекторен обмен
между управляващото устройство и микропроцесорната система
се осъществява, като най-напред се записват начален адрес за
обмен RABX0, краен адрес за обмен RABX, номер на пътеката
NUMTRC, начален сектор STRSCT, брой на секторите NUMSCT;
след това в RABRW се записва макрокомандата за многосекторен
запис (код 0D) и за многосекторно четене (код ОС) и програ-
мата се стартира от адрес F800.
За по-подробно изяснязане на действието на ИС МС6843, ца-
чините за програмиране и рабогата на програмата EXCHANGE е
пео 'ходимо да се разполага с технического описание на тази ИС.
178
СО01 NAM EXCHANGE
0002 #****#»♦♦**#*»*»*******##**♦***<**#<#**♦*♦♦###«#♦
COO? * *
0004 « ПРОГРАМА ЗА ОСЫЦЕСТЕЯВАНЕ НА ♦
0005 » ОБМЕН СЬС ЗУГМД *
0006 * »
0007 0008 0009 !М00 ##*****-»*»***»»»*****<*<*«»««»«♦*«****»*♦**•*♦ *♦*
ОРТ IRQVEC S‘?U 0 aF400 АДРЕС, ОБС”У/?'.Д IRQ
001 0 ЕСОО PDC E2U nECOO АДРЕ1 НА КОНТРМЕРА
001 1 *
001 2 * РАБОТКА ОБДАСТ НА ПРОГРАМАТА
0013 *
0014 F480 QKG aF480
0015 F430 0001 RABRW нМВ 1 КОД НА КАКРО.ХИ.' п'ДАТЛ
С01 6 5’481 0002 RABX Р'.ТЗ 2 КРАЕВ АДРЕС ЗА Ос.МВН
0017 F483 0002 RABXO 2 НАЧАЛЕН АДРЕС ЗА Cb. Fi
0013 Р485 0001 NU**J ТгСС м.4Б 1 НОМЕР НА ГИСТА
001 у F486 0001 SI PL’С 2 RPB 1 НАЧАЛЕН СЕКЮР
0020 F487 0001 NUMSCI мИЗ 1 БРОЙ СЕКТОЙ!
0021 Р488 0002 USPSAv 2 ЗАПАОБАНЕ SP
C’.VP n-
002 5 * СТлГ. . НА 1 И-ОГРАМАТА
1.'.:24 ’ ('
002 5 5’800 Л? J ПУ800
0026 * ВХОД ЗА М.ЮГОСВКТОРВН ОБМЕН
0027 FoOO K3F4 вен *
0028 F800 Вб F487 1.LAA DUMSCT БРОЙ СЕКТСГИ з; ОБМЕН, С 1
0029 F803 В7 ЕС05 STAA FDC4-5 ПО-ИАЛЬК ОТ ХЬС. -’.ИЯ
0030 * вход ЗА ЕДНОСЕКТОРЕН ОБМЕН
0031 F806 SSkX EQU
0032 F806 В6 F435 LDAA NUMTRC НОМЕР НА ПИРТА, 3 КОЯТО
0033 F8O9 В7 ЕС07 STAA PDC+7 ЩЕ СЕ ИЗВЬРТГА OEME.-i
0034 F80C В6 F48o LDAA STRSCT НОМЕР НА СЕКТОР. СТ 1'О.ТТО
0035 F80F В7 ВС04 STAA FDC+4 ЩЕ ЗАПОЧНВ ОБМЕНА
ЭО36 ♦ ВХОД ПРИ ТЬРСЕНЕ НА НУЛВВА ПИСГА
0037 F81 г STZP EQU
0033 F81 2 СЕ F830 LDX #ETIRQ ЗАПИС АДРЕСА НА ПРОГРАМАТА
0039 5’815 FF 5’400 SIX IRQVEC ОБРАБОТВАЩА ГРЕКЬСБАЧЕТО
0040 F818 86 5’5’ LDAA #a5’F ЗАДАВАНВ НА ВРЕМЕ ЗА
0041 F81A В7 ЕСОЗ STAA FDC+3 ТЬРСЕНЕ И УСТАНОВЯВАНЕ
0042 Р81 D ОЕ СП РАЗРЕ1ИАВАНЕ МАСКИРАНО ПРЕКЬСВАНЕ
3043 F81E Во 5480 LDAA RABRW ЗАРЕХДЛНЕ МАКРОКОМАНДАТА
0044 F821 В7 ЕС02 STAA FDC+2 В КОМАНДНИЯ РЕГИСТЬР
0045 F824 BF F488 STS USPSAV ЗАПАЗВАНЕ СЪСТОЯНИЕТО НА SP
0046 F827 ЗЕ WAI ОЧАКВЛНЕ НА ПРЕКЬСВАНЕ
0047 * вход ПРИ ТЬРСЕНЕ НА ПИСТА
0043 F828 ST? EQU
0049 5’828 В6 4’485 LDAA NUMTRC НОМЕР НА ПИСТА.
0050 F82B В7 ЕС05 STAA FDC+5 КОЯТО СЕ ТЬРСИ
0051 F82E 20 Е2 BRA STZP
0052 * ПРОГРАМА, ОБРАБОТВАЩА прекьсването
0053 F830 ETIHQ EQU
0054 F830 BE F488 LDS USPSAV ВЬЗСТАНОВЯВАНЕ НА SP
0055 F833 56 ЕС02 LDAB FDC+2 ОПРЕДЕЛЯНВ НА ПРИЧИНАТА,
0056 F836 54 LSRB ПРЕДИЗВИКАЛА ПРЕКЬСВАНЕТО
0057 F837 25 ОС COMEND КРАЙ НА МАКРОКОМАНДАТА
0058 F839 54 LSRB
17
'>059 F83A 25 08 BCS SETIME КРАЙ HA TbPCEHBTO
0060 F83C 54 LSRB
0061 P83D 25 07 BCS RWR ОБМЕН
0062 P83F 54 LSRB 1
0063 F840 25 01 BCS ERROR ГРЕШКА
0064 F842 3F SWI
0065 F843 3? ERROR SWI ИЗХОД ПО ГРЕШКА
0066 F844 3F SETIME SWI ИЗХОД ПРИ ТЬРСЕНВ ИЛИ
0067 * AKO ГЛАВАТА HE b HA ЗАДАДЕНАТА ЛИСТА
0068 P845 3? COMEND SWI КРАЙ НА МАКРОКОМАНДАТА
0069 F846 RWR EQU *
0070 F846 5? CLRB ИЗЧИСЛЯВАНЕ НА АДРЕСА
0071 F847 86 80 LDAA #□80
0072 P849 BB F484 ADDA RABXO+1
0073 P84C F9 P483 ADCB RABXO
0074 F84P B7 P484 STAA RABXO+1
0075 P852 P7 F483 STAB RABXO
0076 F855 PE F483 LDX RABXO ТЕКУЩИЯ АДРЕС -> IX
0077 P858 C6 01 LDAB #□01 БИТ ЗА ПРОВЕРКА ЗА БАЙТОВ ОБМЕН
0078 F85A OE СИ ПРЕМАХВАНЕ МАСКИРАЦИЯ БИТ
0079 F85B 09 DEX
0080 F85C B6 F480 LDAA RABRW
0081 F85F 44 lSra ЧЕТЕНЕ ИЛИ ЗАПИС ?
0082 F860 25 25 BCS WRITE ДА, ЗАПИС
0083 P862 F5 EC03 READ BITB PDC+3 ДАННИ ГОТОВИ ?
0084 P865 27 PB BEQ READ НЕ, ИЗЧАКВАНЕ
0085 F867 B6 ECOO LDAA PDC ПРИЕМАНЕ НА БАЙТ
0086 F86A 08 INX
0087 F86B A7 00 STAA X ЗАПИС В ПАМЕТТА
0088 P86D BC F481 CPX RABX ДОСТИГНАТ ЛИ Е- КРАЙНИЯТ АДРЕС ?
0089 F870 27 OB BBQ RBAD1 ДА, НА ФИКТИВНО ЧЕТЕНЕ
>',090 F872 08 INX
<’091 P873 B6 ECOO LDAA FDC
0092 F876 A7 00 STAA X
0093 F878 ВС F481 CPX RABX
o094 F87B 26 E5 ВНЕ READ
0095 * ФИКТИВНО ETEHB
0096 F87D F5 EC03 READ1 BITB FDC+3
0097 F880 27 FB BEQ READ1
0098 P882 B6 ECOO LDAA FDC
0099 F885 20 F6 BRA READ1
0100 * ЗАПИС
0101 F887 09 WRITE DEX
0102 F888 A6 00 LDAA X
0103 F88A B7 ECOO STAA FDC
0104 F88D F5 EC03 WRITE1 BITB PDC+3 ЗАРЕ1ДАНЕ НА ДАННИ ?
0105 F890 27 PB BEQ WRITE1 НЕ, ИЗЧАКВАНЕ
0106 F892 08 INX
0107 F893 A6 00 LDAA X ЗАРВХДАНЕ НА БАЙТ В
0108 P895 B7 ECOO STAA PDC РЕГИСТЬРА ЗА ПРЕДАВАНЕ НА ДАННИ
0109 F898 20 F3 BRA WRITE1
0110 END
TOTAL ERRORS OOOOO
ASSEMBLE: (L,O,E)
180
3.7, ВЪВЕЖДАНЕ И ИЗВЕЖДАНЕ НА АНАЛОГОВА ИНФОРМАЦИЯ В
МИКРОПРОЦЕСОРНИТЕ СИСТЕМИ
3.7.1. Основни параметри и принципи на организацията на
многоканалин аналогово цифрови преобразуватели
(МАЦП)
По-голямата част от процесите в техниката имат аналогов
характер и за да може да се използ ва изчислителната мощ на
микропроцесорните системи, се налага преобразуване на аналого-
вата информация в цифров вид. Такива преобразуватели се изпол-
зуваха и преди появата на микропроцесорната техника, ио в по-
мадки мащаби — най-често, за да се регистрира в цифров вид
аналоговата информация, и много рядко — за по-нататъшна обработ-
ка. Известии са различии типове аналогово-цифрови преобразува-
тели (АЦП) и в техническата литература подробно са разгледани
техните основни параметри и възможиости. Тук не се разглеждат
принципите на изграждане на АЦП, а се изясняват изискванията
към тях при работата им с микропроцесорните системи.
Основните параметри, конто характеризират АЦП, са
— разредност;
— бързодействие;
— точ юст;
— шумоустойчивост.
Разредността на АЦП определя динамичния обхват на измер-
ваната аналогова величина. Ако се работи с 8-битов АЦП и
^Bxmax=10V, то най-малката стойност, която ще се регистрира, е
10 w гл
25g-V. Освен това разредността влияе и върху точността на пре-
образуването — измереното аналогово напрежение ще бъде с греш-
ка от дискретизацията±^-от най-младшия бит, T.e.+^g^yV, а то-
ва в проценти е О,19о/0. Използуването на АЦП с повече разреди
води до повишаване на точността и динамичния обхват, но това
става за сметка на увелачаване на времето за преобразуване и
на оскъпяване на изделието. В табл. 3.8. са дааени грешката от
Дискретизация га и динамичният оэхват на АЦП в зависимост от
разредността м
Бързодействието на АЦП зависи от типа на използуваного
преобразуване За АЦП с ина егриране времето за преобразуване еот
100 ms до 1 ms. При АЦП с поразредно кодиране времето за преобра-
зуване еотняколко десетки p,s до няколкор.8. За по-кратки време-
на на преобразуване се използуват АЦП с паралелно преобра-
зуване. Разредността на АЦП е също съществен фактор за
бързодействието на АЦП. Обикновено повишаване на бързодей-
твието се постига за сметка на усложняване на схемата и съот-
ветно на стойността на АЦП. Така че във всички случаи трябва
181
Таблица 3.8
Разреденост, b it Брон дпскрети Грешка от дискрети- заций, °0 Динамичен обхват,
1 1 50 — 6
2 4 25 — 12
3 8 12,5 — 18
4 16 6,25 —24
5 32 3,125 —30
6 64 1,5625 —36
7 128 0,78 —42
8 256 0.39 —48
9 512 0,19 —54
Ю 1024 0,097 —60
11 2048 0,0488 —66
12 4096 0,0244 —72
13 8192 0,0122 —78
14 16384 0,0061 -84
15 32768 0,00305 —90
16 65536 0,0015 -96
внимателно^да се анализират копкретните условия и да се изби-
ра АЦП с максималното време за преобразуване, удовлетворява-
що конкретните изисквания.
Точността на преобразуването завися от няколко фактора.
Разредността на АЦП влияе върху точността с грешката от дис-
кретизация. Освен от нея точността се определи също и от ли-
нейност та на преобразувателната функция А7= f(C7BX), където AZ е
изходната цифрова величина на АЦП. Теоретически тя трябва да
бъде идеално линейна (по-точио със стъпка от един дискрет),
но на практика не е така. Освен това има и динамични грешки
при преобразуването.
Шумоустойчивостта е също важен параметър и трябва да
се отчита при избор на АЦП. По принцип АЦП с интегриране са
по-шумоустойчиви от другите типове АЦП.
Докато преди години един АЦП се реализираше на няколко
платки, днес микроелектрониката създаде условия за реализиране
на АЦП в една ИС, при това с малка стойност. Схемата на едно-
канален АЦП (фиг. 3.82) включва най-напред усилвател за усил-
ване на входния аналогов сигнал. Следва блок следене/запомня-
не (S/Н), чието предназначение е да поддържа неизменна анало-
ге вата величина по време на преобразуването в АЦП.
Следващият блок е същинският АЦП, който преобразува
аналоговата величина в цифрова с определена точност и през бу-
ферите я подава иа МПС. От своя страна чрез буферите МПС
управлява блоковете S/Н и АЦП. Това управление е необходимо,
за да се стартира преобразуването на АЦП ’в точно определен
момент и в същото това време схемата S/Н да бъде в режим
182
арпомняне. За да се увеличн динамичният обхват на преобразува-
не, се изпотзува програмируем входен усилвател. Трябва да се
има предвид обаче, че при това се увеличава само динамичният
обхват, но не и точността на измерчане.
към
МПС
Фиг. 3.82. Едноканален АЦП
Фиг. 3 83. МАЦП с блок S/Н за всеки канал
Едноканален АЦП се използува само ако се изисква голямо
бързоденствие. За въвеждане на аналоговата информация в МПС
се използуват предимно многоканални АЦП (МАЦП). По този на-
чин може да се въведе повече информация, а освен това може
да се уплътнн времето за работа на АЦП. Схемите, по конто се
изграждат МАЦП, са ня ;олко. На фиг. 3.83 е дадена схема на
МАЦП, в която всеки канал има самостоятелни усилвател и блок
S/Н. Предимството на тази схема е. че едновременно във все1,и
канал информацията може да ''е стробира S/Н и след това да се
преобразува пэ-последователчо в цифров вид Това е особено
подходяще при изеледване на процеси, при конто е важ ю едно-
временно измерване във всички канали. В тази схема входьт па
АЦП трябва да бъде високоомен, за да се отстрани влиянието
на съпротивлението на аналоговия мултиплексор. Недостатък на
тази схема е, че са необходими п на брой блокове S/H.
183
На фиг. 3.84 е даден друг вариант на многоканален АЦП
При него функцията следене/запомняне се осъществява след
преминаване на аналоговия сигнал през аналоговия мултиплексор.
По този начни се използува само един блок S/Н. Разбира се, това
Фиг. 3.84. МАЦП с един блок S/H
%,
Фиг. 3.85. МАЦП с диференциални входове
става за сметка на бързодействието. С тази схема не могат да
се измерват величините във всички канали в един и същи момент.
Докато при схемата от фиг. 3.83 запомненият в блок S/Н анало-
гов сигнал, за да се преобразува, се подава през аналоговия мул-
типлексор директно на АЦП, то при схемата на МАЦП от
фиг. 3.84 за едно измерване на канал се включват аналоговият
мултиплексор, блокът S/Н и същинският АЦП. При тези условия
времето за всяко измерване ще трябва да включва и времето за
установяване на измерваната стойност в блока S/Н. Това води до
увеличаване на общото време, необходимо за измерване в един
канал.
На фиг. 3.85 е даден трети вариант на МАЦП. При тази схе-
184
ца входчите напрежения се подават на диференциален усилвател
директно през аналоговия мултиплексор. Това изисква входните
сигнали да не бъдат с много малка амплитуда. Освен това те не
бива да бъдат ис твърде различна амплитуда, т. е трябва да
Фиг. 3.86. МАЦП с АЦП за всеки канал
бъдат нормализирани, което е съществен недостатък на схемата.
МАЦП с АЦП за всеки канал е показан на фиг. 3.86. Тази
конфигурация е най скъпа, но при реализирането на АЦП в една
ИС с понижаване на техните цени става напълно приемлива. По
отношение на бързодействието тази схема превъзхожда всички
останали. Освен това преобразуването се извършва едновременно
във всеки канал и затова тя е особено подходяща за едновремен-
но протичащи процеси.
При всички тези МАЦП не е разгледан въпросът за галванич-
но разделяне на аналоговите от цифровите вериги. Този въпрос
е особено важен за МАЦП, използувани при силни промишлени
смущения. За галванично разделяне на вершите се подхожда по
няколко начина. Единият от начините е с използуване на галва-
нично разделеии операционни усилватели, което е м юго ефектив-
но, но все още тези усилватели са скъпи. Другият начни е с гал-
ванично разделяне на цифровите вериги и получаваче на захранва-
щите напрежения за МАЦП с трансвертор. Предимствата тук са
в по-голямата температурна стабилзост, но има и недостатъци—
голям брой използувани оптрони.
Друг съществен въпрос при МАЦП е как ще се предана
информацията между съответния МАЦП и МПС. Най-често полу-
чените цифрови данни от МАЦП се предават паралелно към МПС,
но има случаи, в конто се предпочита последователното им пре-
даване. Например при измервания в промишлеността понякога е
по целесъобразно МАЦП да бъде разположен по-близо до дат-
чиците с оглед минимални смущения и ако получените на изхода
данни трябва да се предадат на няколко стотици метра, е по-це-
лесъобразно това да става последователно.
3,7.2. Връзка между честотната лента на входния сигнал и
бързодействието, разредността и максималното вход-
но напрежение на АЦП
При преобразуването с АЦП на аналогов в цифров сигнал
се предполага, че входният сигнал има ограничена честотна лента
до /гРтах. Най-често обаче за даден АЦП с време за едно преоб-
разуване Тс трябва да се намери максималната допустима честота
на входния аналогов сигнал. При използуване на АЦП от неинте-
гриращ тип за времето на преобразуването Тс входного аналогово
напрежение не трябва да се измени с повече от A£/BX= + -^LSB
(най-младшият бит). При АЦП с п разреда и максимална амплиту-
да на преобразуване 77тах максималното входно напрежение на
синусоидален сигнал трябва да бъде £7вхтах——^>а Д£7ВХ = -^
(фиг. 3.87). За точността на преобразуването е важно изменението
д(/вх
на С/вх във функция на времето, т. е. VH = -..-—• Като се замести
* с
за V„ се получава
.г _ ______^Апах
Ин тс ~тс ,2«’
т. е. Цн се явява параметър на АЦП, зависещ от неговите пара-
метри, бързодействие, разредност и максимална входна амплитуда.
Изхождайки от конкретната стойност на параметъра Ин, може
да се определи допустимата честота /гРшах на входния аналогов
сигнал, при който АЦП ще преобразува със зададена точност:
f ________
У гр max 2 jj
’ вхщах
В табл. 3.9 са дадени изчислени по тази формула стойности
на Лртах в Hz за 8-10 -и 12-битови АЦП с време за преобразу-
ване Тс =100, 50, 25, 10, 5 и 1 ps.
От резултатите в таблицата се вижда, че независимо от го-
лямото бързодействие на АЦП допустимата, граничната честота
на входния сигнал е ниска.
За повишаване на /гРтах на МАЦП се използуват блокове
S/Н с минимално време за следене и сточност, равна наточност-
та на АЦП за времето на преобразуване, при което параметрите
на преобразуването могат да се подобрят значително. Така при
186
Таблица 3.9
Време за преобразу- ване Гранична честога на входния сигнал / , Hz (при U =5V) гр max вх шах
8 bit 10 bit 12 bit
100 12,4 3,12 0,776
50 24,8 6,24 1,552
25 49,6 12,48 3.104
10 124 31,2 7,76
5 248 62,4 15,52
1 1240 312 77,6
недостатъчно бързодействие на АЦП чрез използуване на съотве-
тен блок S/Н може да се постигне висока /гртах-
Друг иачин за увеличаване на /гртах е използуването на АЦП
от следят тип (фиг. 3.88). Тук компараторът управлява вентила
така, че при иарастване на в реверсивния брояч се натрупват
Фиг. 3.88. АЦП от следящ тип
187
импулси от тактовия генератор (ТГ), а при намаляване на Z7BX ста-
ва изваждане на подаваните импулси. По този начин става непре-
къснато следене на вхоДната величина (фиг. 3.89). За този преоб-
раэувател при определяне на V„ не е необходимо да се вземе ця-
Фиг. 3.89. Времедиаграма на нреобразуване при АЦП от следящ тип
Фиг. 3. 90, Изменение иа С/вх за времето на преобразуване при
АЦП с пораэредно кодиране
лото време за преобразуване, а само периодът на тактовия ге-
нератор Д/. Тук параметърът ДС7ВХ/Д/ е отношението на най-
малкия дискрет на АЦП към периода на тактовия генератор.
Например за 8-битов АЦП от следящ тип с време на преоб-
разуване 100 (is периодът на тактовия генератор ще бъде «0,4 ps.
Тогава при £/Bxmax = 5V се получава Д/7вх^20 mV и Д£7вх/Д/=
= 50 mV/p,s(T.e. тук има около 250 пъти увеличение на VH спрямо
АЦП с поразредно кодиране и съответно увеличение на /,ртах)«
На фиг. 3.90 е показано преобразуването при АЦП с X по-
следователни измервания (за 8-битов АЦП при поразредно преоб-
разуване 2^=8, а при последователно zY=256). При 8-битов АЦП
188
с поразредно кодираяе преобразуването започва от най-старшия
бит и завършва с най-младшия. Апо се анализира работата на
такъв АЦП, ще се стигне до извода, че по отношение на V„ най-
неблагоприятен момент е преобразуването на най-младшия бит Х8.
Тогава АЦП преобразува най-младшия дискрет и именно този дис-
крет определя максимално допустимата стойност на Ин за даде-
ния АЦП. Моментът на отчитане на измереното 6/вх не е в нача-
лото на измерването, а в неговия край. Това обаче позволява да
се повиши граничната стойност на VH, а оттам — и /гр max на вход-
ния аналогов сигнал.
За 10-битов АЦП (AD571) с Тс = 25 ps и C7Bxmax = 5V се по-
лучава At/BX/AA^O,2 mV/ps, а когато АЦП работи поразредно,
Д£7ВХ/Д£=«2 mV/ps, т. е. ДС7ВХ/Д/ се повишава 10 пъти.
3.7.3. Параметри на аналоговите мултиплексори
Съвременните аналогови мултиплексори се произвеждат като
4-канални, 8-канални и 16-канални. Захранват се с положително
и отрицателно напрежение. Управляващите им входове са съвмес-
тими с ТТЛ ИС. Основните параметри, характеризиращи аналого-
вите мултиплексори, са: време на включване ton; време на изключ-
ване toff\ входен капацитет Свх; проходен капацитет Спр; съпро-
тивление на включен канал /?оя; съпротивление на изключен ка-
нал Roff.
На фиг. 3.91 е дадена еквивалентна схема на аналогов мул-
типлексор. Входният капацитет Свх влияе върху честотните свой-
Фиг. 3.91. Еквивалентна схема на аналогов мултиплексор
ства на стъпалото пред мултиплексора (за него Свх е товарен
капацитет). Влиянието на проходния капацитет Спр се свежда до
паразитно прехвърляне на сигнал от всички аналогови входове
към изхода, което причинява грешка в преобразуването. Съпро-
189
тивлението Ro// е много голямо, a Ron е от порядъка на стотици
омове, като Ron и входного съпротивление на буфериия усилвател
образуват делител на напрежение. Затова, за да се отстрани вли-
янието на Ro„, най-често като буферен усилвател се използува
ОУ с много високо входно съпротивление. Много добри 8-канални
мултиплексори са типовете LF13508 и MUX08, а 16-каналеи
мултиплексор — MUX 16.
3^7.4. Параметри на блоковете следене запомняне
В режим следене параметрите на блока (фиг. 3.92) са сиди-
те както на операционен усилвател — линейност на усилването,
коефициент на подтискане на синфазните сигнали, остатъчно на-
прежение, скорост на нарастване на изходното напрежение и че-
Фиг. 3.93. Времедиаграми на работа на блока (S/H)
стотна лента. При преминаване в режим запомняне най-важен па-
раметър е времето за превключване, т. е. времето, за което
електронният ключ, показан условно като обикновен ключ, ще
промени съпротпвлението си от 102-г103 на 1012-i-1013 Q. През
190
време на превключването схемата работи с интегрираща RS-rpy-
па, в която R се измена от 102Н-103 до 1013 Q. Освен това вре-
мето за превключване не е точно еднакво за всички блокове S/H
от един тип, а варира в определени граници. Времето за превключ-
ване може да се компенсира, като блокът S/Н се включи по-рано
от необходимия момент на превключване (при това обаче не се
компенсира разликата в това време за блоковете S/Н от един
тип). След като схемата се превключи в режим запомняне, осно-
вен параметър става изменение то на изходното напрежение
във времето. Това изменение се дължи на утечки в самия блок
и на утечка в използувания кондензатор. Влияние върху него оказ-
ва и паразитното прехвърляне на сигнал от входа върху запомня-
щия кондензатор.
На фиг. 3.93 е показана времедиаграмата на работата на бло-
ка S/Н. Времето /сл е минималното време, за което изходното на-
прежение достига входного с определена грешка Дгл. Това време
эависи както от типа на блока S/Н, така също и от стойността
и кондензатора С. Времето /ап е апертурното време, за което ста-
ва превключването от режим следене в режим запомняне, при
което се внася грешка Аап. Времето t3n р време за съхранение на
входното напрежение със зададена грешка Дзп.
Блок S/Н със средно бързодействие е ИС LF398 на фирма-
та „National".
3.7.5. Разрешаваща способност и грешка от дискретизация
на АЦП
Разрешаващата способност на АЦП се повишава чрез увели-
чаване на разредността им. За целта днес се произвеждат 8-, 10-,
12- и повече битови АЦП. Ако максималната входна амплитуда
на АЦП е UBI max, а разредността му е п, разрешаващата способ-
ност ще бъде
U
Д£у_ вх шах ,
" 2"
Грешката от дискретизация е At/ (фиг. 3.94).
Освен грешката от дискретизация за работата на АЦП имат
значение и грешката от нелннейност на преобразуването, дина-
мичната грешка и др. Например един 12-битов АЦП ще има греш-
ка от дискретизация ±—, но поради неточност на двата
най-младши бита (грешка от нелинейиост на преобразуването му)
фактически точността на преобразуване може да отговаря на 10-
битов АЦП.
191
Добри параметри имат следните типове АЦП: AD571 (10-би-
тов АЦП с Ге = 25 fis), AD0803 (8-битов АЦП с Гс = 100 pis),
AD0808 (8-канален, 8-битов АЦП с Г,. = 100 (is), AD0816 (16-кана-
лен, 8-битов АЦП с Тс—100 fis) и др.
Грешка от дискретизация
Фиг. 3.94. Грешка от дискретизация
3.7.6. Извеждане на аналогова информация от МПС
В много случаи се налага обработената в МПС цифрова ин-
формация да се. преобразува и извежда в аналогов вид. Това е
особено важно при управление на технологични процеси, XY-пло-
Фиг. 3.95. ЦАП с напрежителен и токов изход
тери и др. За тази цел към МПС по подходящ начин се включ-
ва цифрово-аналогов преобразувател (ЦАП). На фиг. 3.95 е да-
дено включването на един ЦАП към МПС. Най-често изходната
величина на ЦАП е ток и това налага включването на ОУП кой-
192
то преобразува изходния ток в изходно напрежение и го усилва
до необходимата амплитуда. В някои случаи не е необходим на-
прежителен, а токов изход и тогава се използуват допълнителни
преобразуватели напрежение—ток (ОУ2 и Г).
Съществуват различии схе-
мни решения за многоканално
преобразуване на цифрова в
аналогова информация и една
от тях е дадена на фиг. 3.96.
Тук броят на аналоговите изхо-
ди е равен на броя на използу-
ваните ЦАП. След ЦАП са
включени усилватели за усилва-
не и нормализиране на изходно-
то напрежение в съответствие с
изискваннята. Предимствата на
схемата са: простота на обслуж-
ването й, постоянство на изход-
ното напрежение във времето
и др. Тя има обаче и същест-
вен недостатък — използуването
на много ЦАП. Фиг. 3.96. Извеждане на аналогова ин-
На фиг. 3.97 е дадена дру- формация с отделяй ЦАП за всеки канал
га схема за преобразуване на
цифровата в аналогова информация. В нея се използува само един
ЦАП, но за сметка на това са необходими дешифратор и блокове
S/Н, с чиято помощ получената аналогова информация се отвеж-
да последователно и се
запомня в блоковете
S/Н. Трябва да се има
предвнд, че тези блоко-
ве могат да съхраняват
аналоговата информация
само за определено вре-
ме, което е недостатък
на тази схема.
При неголеми изис-
квания към точността на
преобразуването може
Фиг. 3.97. Многоканален ЦАП с блокове S/Н за
всеки канал
да се използува и схе-
мата от фиг. 3.98. Това
е сравнително проста
схема, в която се изпол-
зува само един ЦАП. Аналоговият сигнал от този ЦАП през
аналоговия мултиплексор се подава на избрания = изход, при
което се зарежда съответният конденэатор С. Следва превключ-
ване на друг канал и извеждане на аналогова информация за
13 Приложение на микропроцесорни
193
него. По този начин информацията за отделяйте капали се извеж-
да последователно във времето. За да не се разрежда кондензато-
рът през товара, най-често между тях се включва буферен
усилвател с високо входно съпротивление.
Фиг. 3.98. Многоканален ЦАП с аналогов мултиплексор и за-
помняне в конденззтори
3.7.7. Схема на 8-канален АЦП
На фиг. 3.99 е дадена принципната схема на един реализираи
8-канален АЦП. Входните аналоговн сигнали се подават на вхо-
довете на осем ОУ. Тези ОУ са свързани така, че при необходи-
мост могат да работят или като инвертиращи, или като неинвер-
тиращи. Усиленият или нормализиран аналогов сигнал се подава
иа входовете на 8-канален аналогов мултиплексор (LF13508). Уп-
равлението на този мултиплексор се извършва чрез линиите В6,
В6 и В7 на адаптера PIA. За по-добра работа на аналоговия мул-
типлексор управляващите сигнали са изместени потенциално до
±5 V. Изходният сигнал на аналоговия мултиплексор се подава
на блок S/H (LF398), чието управление се осъществява чрез ли-
нията В3 от PIA. Същият упрзвляващ сигнал, но със закъснение
се подава и на АЦП AD571. След завършване на преобразуване-
то се подава сигнал на линията В2 на PIA. Обхватът на AD571
(±5 V или 0-т-10 V) се управлява чрез линията В4. Особено вни-
мание е отделено на галваничното разделяне между масите на
цифровата и^аналоговата част на схемата.
По-долу е дадена програмата ADC, обслужваща този 8-кана-
лен АЦП.
194
0001 0002 0003 * * * * -1 NAM OPT ADC ALL o.s *************************************
0004 *
0005 * ПРОГРАМАТА УПРАВЛЯВА МОДУЛА ЗА АНАЛОГО-ЦИФРО-
0006 * РОВО ПРЕОБРАЗУВАНЕ.ВСЕКИ ЕДИН ВХОДЕН СИГНАЛ
0007 * СЕ ПРЕОБРАЗУВА 10 ПЬТИ И НЕГОВАТА ЦИФРОВА
0003 * ФОРМА СЕ ЗАПИСВА В СЬОТВЕТНА ОБЛАСТ ОТ ПАМЕТ-
0009 * ТА.
0010 ♦
0011 it ♦ ♦ ♦ ♦ it 1 ►♦»#♦»**♦****##***♦#♦♦#*#***♦♦♦**#**♦♦♦*♦
0012 F480 ORG □ F480
0013 F480 0001 BR10 RMB 1
0014 F431 0002 DATA RMB 2
0015 F483 0002 LATRAB RMB 2
0016 F465 0002 ADRCI'.P RMB 2
0017 F4S7 0001 DELAY RMB 1
0018 4000 PIA EOU □ 4000
0019 FC8D RESTAR EQU □ FC8D
0020 -x- ir h it 9t 9t i 11t It It • *************************************
0021 *
0022 * ГОРЕПОСО'пЕНИТЕ КЛЕТКИ СА РАБОТНИ ЗА ПРОГРАМА-
0023 0024 0025 0026 0027 СО 28 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0045 0044 0045 0046 0047 0048 * ТА. *********************************************** * DFS50 - СТАРТОВ АДРЕС НА ПРОГРАМАТА * *********************************************** F850 ORG DF850 F850 4F CLRA 1ИЦИАЛИЗАЦИЯ НА PIA Р851 В7 4001 STAA PIA+1 F854 В7 4003 STAA PIA+3 F857 В7 4000 STAA PIA F85A 86 F8 LDAA #nF8 F85C В7 4002 STAA PIA+2 F85F 86 04 LDAA #п04 F861 B7 4001 STAA PIA+1 F364 B7 4003 STAA PIA+3 * F867 86 OA LDAA #nOA F869 B7 F480 STAA BRIO F86C CE 0000 LDX #oOOOO F86F FF F481 STX DATA F872 FF F483 STX DATRAB F875 86 EO LDAA #nEO F877 B7 F486 STAA ADRCMP+1
0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 F87A B7 4002 ET3 STAA PIA+2 ВКЛ. F87D 86 07 LDAA #nO7 F87F B7 F485 STAA ADRCMP F882 FE F481 LDX DATA F885 FF F483 STX DATRAB F388 86 08 ET2 LDAA #nO8 F88A BB F486 ADDA ADRCMP+1 F88D B7 4002 STAA PIA+2 HOLD НА СИГНАЛ 1; SAMPLE; BLANK ; CONVERT
195
0059 F890 B6 F487 LDAA DELAY
0060 F895 4A DECA
0061 F894 26 RD BNE *-1
Ou62 *
ооьз F896 B6 4000 LD7A PIA ЧЕТЕНЕ ОТ АЦП И ЗАПИС В ПАМЕТТА
0064 F899 Fo 4002 LDAB PIA+2
0065 F89C 04 03 ANDB #□05
0066 F89E FE F48J LDX DATRAB
0067 F5A1 E7 00 STAB o,x
00ь8 FoA5 A7 01 STAA 1 .x
0069 ♦
0070 F8A5 7A F485 DEC ADRCMP ФОРМИРАНЕ АДРЕСА НА МУЛТИПЛЕКСОР
0071 P8A8 27 02 BEQ ET1 0
0072 F8AA 20 07 BRA ET1 1
0075 F8AC 86 10 ET1 0 LDAA #□10
0074 F8AE B7 F485 STAA ADRCMP
0075 P8B1 20 07 BE A ET1 2
0076 P8B5 B6 F485 ET1 1 LDAA ADRCMP
0077 F8b6 80 OF SUBA #□0?
0078 F8B8 27 22 BEQ ET1
0079 P8BA B6 F485 ET1 2 'LDAA ADRCMP
0080 F8BD 48 A3LA
0081 F8BE 48 ASLA
0082 F8BF 43 ASLA
0085 F8C0 48 ASLA
00®4 F8C1 48 ASLA
0085 F3C2 B7 F486 STAA ADRCMP+1
0086 F8C5 B7 4002 STAA PIA+2 вкл. НА СЛ. СИГНАЛ: SAMPLE; BLAU
0087 FbC8 20 00 BRA ET5
0088 *
0089 FBCA 86 14 ET5 LDAA #□14 ФОМ. АДР. НА ОБЛАСТИТЕ ЗА ДАННИ
0090 P8CC F6 F483 LDAB DATRAB
0091 F3CF BB F484 ADDA DATRAB+1
0092 F8D2 C9 00 ADCB #0
0095 P8D4 B7 F484 STAA DATRAB+1
0094 F8D7 F7 F463 STAB DATRAB
0095 FSDA 20 AC BRA ET2
0096 *
0097 F8DC 86 02 ET1 LDAA #□02
0098 F8DE j?6 F481 LDAB DATA
0099 F8E1 BB P482 ADDA DATA+1
0100 F8E4 C9 00 ADCB #0
0101 F3E6 B7 F482 STAA DATA+1
0102 F8E9 F7 F481 STAB DATA
0105 F8EC 7A F480 DEC BRIO
0104 F8EF 27 07 BEQ ET4
0105 F8F1 86 EO LDAA ^□EO
0106 F8F5 B7 F486 STAA ADRCMP+1
01 07 F8F6 20 82 BRA ET5
0108 F8F8 7B FC8D ET4 JMP RESTAR
0109 END
TOTAL ERRORS 00000
ВН10 Р480
DATA F481
DATRAB F485
ADRCMP F485
196
Фиг. 3.99. Принципна схема на един реализиран 8-канален АЦП
1 97
ГЛАВ A 4
ПОДГОТОВКА ЗА РАБОТА И НАСТРОЙВАНЕ
НА ЕЛЕКТРОННИ УСТРОЙСТВА С МИКРОПРОЦЕСОРНО
УПРАВЛЕНИЕ
4.1. СИСТЕМА ИНСТРУКЦИИ ЗА ЦЕНТРАЛНИЯ ПРОЦЕСОР МС6800
Централният процесор МС6800 използува 72 различии инструк-
ции, но в резултат на възможните няколко вида адресиране за
една и съща инструкция той работи със 197 от 256 възможни
команди. С тяхна помощ се извършват аритметични и логически
действия, изместване, ротация, зареждане, запомняне, условии и
безусловни преходи, прекъсване и действия със стековата памет.
Всяка от тези 72 вида инструкции се състои от 1 до 3 бай-
та. В табл. 4.1 е даден техният машинен код в шестнадесетична
бройна система, съответният вид адресиране, към който принад-
лежат тези инструкции, и тяхното значение.
Микропроцесорните инструкции за МС68ОО се разделят на
три основни групи: 1) за операции с акумулаторите и паметта; 2)
за операции за управление на програмата; 3) за операции с реги-
стъра на кода на условията.
Операции с акумулаторите и паметта. Освен същинските
операции с акумулаторите и паметта тук спадат и операциите с
входно-изходните устройства, тъй като микропроцесорът третира
техните вътрешни регистри като клетки от паметта. В табл. 4.2
са дадени систематично инструкциите за операциите с акумула-
торите и паметта и тяхното влияние върху регистъра на кода на
условията.
Операции за управление на програмата. Най-общо тези
операции се разделят на две групи: 1) инструкции за пряко опе-
риране с индексния регистър и стековия показалец; 2) инструкции
за разклоняване на програмата. Инструкциите за пряко опери-
ране с индексния регистър и стековия показалец са показани
в табл. 4.3. От тях по-голямо внимание изискват инструкциите
TSX и TXS. Стековият показалец съдържа адреса на следващата
свободна клетка от органиэирания стек. Инструкцията TSX пре-
дизвиква зареждане на индексния регистър със съдържанието на
стековия показалец плюс 1, т. е. в индексния регистър ще се
установи адресът на последний записан байт данни в стековата
памет. Обратно, инструкцията TXS предизвиква зареждане на сте-
ковия показалец със съдържанието на индексния регистър минус
198
Таблица 4.1
Инструкции за централния микропроцесор МС6800
1 1 2 3 4
00 40 NEG A 80 SUB А Неп СО SUB В Неп
01 NOP 41 81 СМР А Неп С1 CMP В Неп
02 42 82 SBC А Неп С2 SBC В Неп
03 43 COM A 83 — СЗ —
04 44 LSRA 84 AND А Неп С4 AND В Неп
05 45 85 BIT А Неп С5 BIT в Неп
06 TAP 46 ROR A 86 LDA А Неп Сб LDA в Неп
07 TPA 47 ASR A 87 — С7 '—
0? INX 48 ASL A 88 EOR А Неп С8 EOR в Неп
09 DEX 49 ROL A 89 ADC А Неп С9 ADC в Неп
0А CLV 4A DEC A 8А ORA А Неп СА ORA в Неп
ов SEV 4B 8В ADD А Неп СВ ADD в Неп
ос CLC 4C INC A 8С СРХ Неп СС —
0D SEC 4D TST A 3D BSR Отн CD —
ОЕ CLI 4E 8Е LDS Неп СЕ LDX Неп
OF SEI 4F CLR A 8F CF —
10 SBA 50 NEG В 90 SUB А Пр DO SUB в Пр
11 CBA 51 91 СМР А Пр D1 CMP в Пр
12 — 5? — 92 SBC А Пр D2 SBC в Пр
13 — 53 COM в 93 — D3 —
14 54 LSR В 94 AND А Пр D4 and в Пр
15 55 — 95 BIT А Пр D5 BIT в Пр
16 TAB 56 ROR В 96 LDA А Пр D6 LDA в Пр
17 TBA 57 ASR В 97 STA А Пр D7 STA в Пр
18 58 ASL В 98 EOR А Пр D8 EOR в Пр
19 DAA 59 ROL В 99 ADC А Пр D9 ADC в Пр
1А 5A DEC В 9А ORA А Пр DA ORA в Пр
IB ABA 5B — 9В ADD А Пр DB ADD в Пр
1C 5C INC В 9С СРХ DC —
ID 5D TST В 9D —. DD —
IE 5E — 9Е LDS Пр DE LDX Пр
IF 5F CLR В 9F STS Пр DF STX Пр
20 BRA Oth 60 NEG Инд АО SUB А Инд EO SUB в Инд
21 61 — А1 СМР А Инд El CMP в Инд
22 BH1 Oth 62 А2 SBC А Инд E2 SBC в Инд
23 BLS Oth 63 COM Инд АЗ — E3
24 BCC Oth 64 LSR Инд А4 AND А Инд E4 AND в Инд
25 BCS Oth 65 — А 5 BIT А Инд E5 BIT в Инд
26 BNE Oth 66 ROR Инд А6 LDA А Инд E6 LDA в Инд
27 BEQ Oth 67 ASR Инд А7 STA А Инд E7 STA в Инд
28 BVC Oth 68 ASL Инд А8 EOR А Инд E8 EOR в Инд
29 BVS Oth 69 ROL Инд А9 ADC А Инд E9 ADC в Инд
2A BPL Oth 6A DEC Инд АА ORA А Инд EA ORA в Инд
2B BMI Oth 6B — АВ ADD А Инд EB ADD в Инд
2C BGE Oth 6C INC Инд АС СРХ Инд EC —
2D BLT Oth 6D TST Инд AD JSR Инд ED —
2E BGT Oth 6E JMP Инд АЕ LDS Инд EE LDX Инд
2F BLE Oth 6F CLR Инд AF STS Инд EF STX Инд
30 TSX 70 NEG Раз ВО SUB А Раз FO SUB в Раз
31 INS 71 В1 СМР А Раз Fl CMP в Раз
32 PUL A 72 — В2 SBC А Раз F2 SBC в Раз
33 PUL В 73 COM Раз ВЗ — F3 —
34 DES 74 LSR Раз В4 AND А Раз F4 AND в Раз
199
Продължение на табл. 4.1
1 1 1 2 1 3 1 ‘
35 TXS 75 В5 BIT A Раз F5 BIT в Раз
36 PSH А 76 ROR Раз В6 LDA A Раз F6 LDA в Раз
37 PSH В 77 ASR Раз В7 STA A Раз F7 STA в Раз
38 —. 78 ASL Раз В8 EOR A Раз F8 EOR в Раз
39 RTS 79 ROL Раз В9 ADC A Раз F9 ADC в Раз
ЗА — 7А DEC Раз ВА ORA A Раз FA ORA в Раз
ЗВ RTI 7В — ВВ ADD A Раз FB ADD в Раз
ЗС — 7С INC Раз ВС CPX Раз FC —
3D 7D TST Раз BD JSR Раз FD —
ЗЕ WAI 7Е JMP Раз BE LDS Раз FE LDX Раз
3F SWI 7F CLR Раз BF STS Раз PF STX Раз
Означение на видовете ад ре с и ране: Неп—непосредсгвено
Пр —пряко
Инд —индексно
Раз —разширено
Отн—относително
(неознлчено) —вътрешно
Значение на инструкциите
АВА — Add Accumulators
ADC — Add with Carry
ADD — Add
AND — Logical AND
ASL — Arithmetic Shift Left
ASR — Arithmetic Shift Right
BCC — Branch if Carry Clear
BCS — Branch if Carry Set
BEQ — Branch if Equal to Zero
BGE — Branch if Greater than or
Equal to Zero
BGT — Branch if Greater than Zero
BHI — Branch if Higher
BIT —Bit Test
BLE — Branch if Less than or
Equal to Zero
BLS — Branch if Lower or Same
BLT — Branch if Less than Zero
BMI — Branch if Minus
BNE — Branch if Not Equal to Zero
BPL — Branch if Plus
BRA — Branch Always
BSR — Branch to Subroutine
BVC — Branch if Overflow Clear
BVS — Branch if Overflow Set
CBA — Compare Accumulators
CLC — Clear Carry
CLI — Clear Interrupt Mask .
CLR — Clear
CLV — Clear Overflow
CMP — Compare
Събиране на акумулаторите
Събиране с пренос
Събиране
Логическо И
Аритметично изместване наляво
Аритмегично изместване надясно
Преход при липса иа пренос
Преход при наличие на пренос
Преход при резултат, равен на нула
Преход при резултат, по-голям или
равен на нула
Преход при резултат, по-голям от нула
Преход при по-голямо число
Побитова проверка
Преход при резултат, по-малък или
равен на нула
Преход при по-малко илн едиакво число
Преход при резултат, по-малък от нула
Преход при отрицателно число
Преход при резултат, различен от нула
Преход при положително число
Безусловен преход
Преход към подпрограма
Преход при липса иа препълване
Преход при наличие на препълване
Сравняване на акумулаторите
Нулиране на преноса
Нулиране на маската на прекъсване
Нулиране
Нулиране на препълването
Сравняване
200
COM—Complement
СРХ — Compare Index Register
DAA — Decimal Adjust
DEC — Decrement
DES — Decrement Stack Pointer
DEX — Decrement Index Register
EOR — Exclusive OR
INC — Increment
INS — Increment Stack Pointer
1NX — Increment Index Register
JMP — Jump
JSR — Jump to Subroutine
LDA — Load Accumulator
LDS—Load Stack Pointer
LDX — Load Index Register
LSR — Logical Shift Right
NEG — Negate
NOP — No Operation
ORA—Inclusive OR Accumulator
PSH — Push Data
PUL—Pull Data
ROL — Rotate Left
ROR — Rotate Right
RTI — Return from Interrupt
RTS — Return from Subroutine
SBA — Subtract Accumulators
SBC — Subtract with Carry
SEC — Set Carry
SEI — Set Interrupt Mask
SEV — Set Overflow
STA—Store Accumulator
STS — Store Stack Pointer
STX — Store Index Register
SUB — Substract
SWL—Software Interrupt
TAB — Trahsfer Accumulators
TAP — Transfer Accumulator to
Condition Code Register
TBA — Transfer Accumulators
TPA — Transfer Condition Code
Register to Accumulator
TST — Test
TSX — Transfer Stack Pointer to
Index Register
TXS — Transfer Index Register to
Stack Pointer
WAI — Wait fr Interrupt
Обратен код
Сравняване с индексния регистър
Десетична корекция
Намаляване с 1
Намаляваие на стековия показалец с 1
Намаляване на индексния регистър с 1
Изключващо ИЛИ
Увеличаване с 1
Увеличаване на стековия показалец с 1
Увеличаване на индексния регистър с I
Безусловен скок
Скок към подпрограма
Зареждане на акумулатор
Зареждане на стековия показалец
Зареждане на индексния регистър
Логическо изместване надясно
Допълнителен код
Празна операция
Логическо ИЛИ
Изпращане в стека
Извличане от стека
Лява ротация
Дясна ротация
Връщане от прекъсване
Връщане oi подпрограма
Изваждане на акумулаторите
Изваждане със заем
Установяване на преноса в 1
Установяване на маската на прекъсване в 1
Установяване на препълването в 1
Запомняне иа акумулатор
Запомняне на стековия показалец
Запомняне на индексния регистър
Изваждане
Програмно прекъсване
Прехвърляне от акумулатор А в В
Зареждане на регистъра на кода на
условията CCR от акумулатор А
Прехвърляне от акумулатор В в А
Зареждане иа акумулатор А от регис-
търа на кода на условията CCR
Проверка
Прехвърляне от стековия показалец
в индексния регистър
Прехвърляне от индексния регистър
в стековия показалец
Очакване на прекъсване
1, т. е. организира се стекова памет, като адресът на последний
записан в него байт данни е съдържанието на индексния регистър.
Дължината на стека се ограничава само от размерите на налич-
ната памет за тази цел.
Инструкциите за разклоняване на програмата са обобте-
ни в табл. 4.4. Инструкцията NOP (празна операция^ само увели-
чена съдържанието на програмния брояч с 1. Използува се за за-
личаване на някои инструкции в готовата вече програма, конто
201
Ризширено Индексна
JSP - Скок към подпрограма
рг Главна програма SP Стек
п AD =JSR -+-SP-2
* п+1 *К=изместбане => SP-1 (П+2)Н
sO+2 след ба ща команда SP (n+?)L
* К-8-битоба стойност п+2 се фор мир а
дез знак om(n+2)Hu(n+2)L
Главна Стек
рС Подпрограма
Пърба команда
от подпрограмата
РС
п
п+1
п+2
п+3
програма
BD=JSR
SH= адрес на
подпрограмата
SL= адрес на
подпрограмата
Следдаща
команда
PC Подпрограма
s Пърба команда от подпрограмата
(3 се образуба
отп Зн и 3L)
= стекоб показалец
след изпълнение
ti BSR- Преход към подпрограма
РС Главна програма SP Стек
И 8D = BSP -+-SP-2
П+1 ±*к=измсстване SP-1 (п+2)н
п+2 Следдаща команда SP (n+2}L
Подпрограма
п+21к Пърба команда от подпрограмал
е
*к-7-битоЗа стойност
със знак
п+2 се фор мира
от (n+2)Hu(n+tyL
Фиг. 4.1. Специални операции, иэползуващя стековчта паме т
202
В
Индексно
JMP — Безусловен скок
Главна
г
PC Главна програма Вс п п+1 п+2 програма ТЕ^ЗМР
п п+1 БЕ = ЗМР О 5: QJ н ? -следващ н адрес
К=изместване следващ адрес
< • и •
IX+K Следваща команда 3 След дата команда
RTS- Врыцане от подпрограма PS Главна програма
PC Подпрограма SP Стек
s 33 = RTS SP 5Р+1 п следваща команда
пн
-—SP+2
Rll-Врыиане от прекъсване
S
рс
3
Фиг. 4.1
203
впоследствие се оказват излишни — при уеднаквяване на различии
клонове в програмата по време, при програмно генериране на ин-
тервали от време и др.
Безусловен скок и безусловен преход от една част на програ-
мата към друга иейна част се осыцествява от инструкциите JMP
и BRA.
На фиг. 4.1 а и б е показано действието на инструкциите за
обръщане към подпрограми — съответно JSR и BSR. И в двата
случая адресът за връщане се записва в стека. На фиг. 4.1 в е
показано действието на инструкцията JMP, а на фиг. 4.1 г — дей-
ствието на инструкцията RTS, която се поставя в края на всяка
организирана подпрограма.
При получаване на прекъсване микропроцесорът се обръща
към съответната програма за обслужване на прекъсването. За-
вършването на тази програма и връщането на управлението към
основната програма се осигурява от инструкцията RTI. При това
вътрешните регистри иа микропроцесора се зареждат от стеко-
вата памет, както това е показано на фиг. 4.1 д. При всяко че-
тене от стека стековият показалец увеличава съдържанието си с
1. Обратно, при всяко записване в стека стековият показалец на-
малява съдържанието си с 1. Инструкциите за програмно прекъс-
ване SWI и за очакване на прекъсване WAI предизвикват запом-
няне на съдържанието на микропроцесорните регистри (без стеко-
вия показалец) в стека. Това е показано нагледно на фиг. 4.2.
Инструкциите за условно разклонение се използуват, кога-
то е необходимо програмата да продължи с изпълнението на
следващата инструкция или с друг участък в зависимост от приз-
наците на резултата, записани в регистъра на кода на условията.
Тази трупа включва седем двойки инструкции:
1. Преход при отрицателно число (BMI) и преход при по-
ложително число (BPL) извършват разклонение според състоя-
нието на бит N в CCR, който отговаря на най-старшия бит на
резултата. Използуват се осиовно, когато този бит се възприема
като знаков бит на двоично число.
2. Преход при резултат, равен на ну ла (BEQ), и преход
при резултат, различен от нуля {ВНЕ}, извършват разклонение
според състоянието на бит Z в CCR, т. е. според това, дали ре-
зултатът от предишната операция е бил или не равен на нула.
3. Преход при наличие на пренос (BCS) и преход при лип-
са на пренос (ВСС) извършват разклонение според състоянието
на бит С в CCR, т. е. според това, дали при изпълнение на пре-
дишната операция се е получил пренос или заем. Ако тези ин-
струкции се използуват след инструкцията СМР, ще се получи
разклонение съответно при по-малко число и при по-голямо или
еднакво число.
4. Преход при по-голямо число (ВНГ} и преход при по-мал-
ко или еднакво число {BLS) са подобии иа инструкциите ВСС и
204
Програмно прекъсване
Главна програма
п
О на кване на
прекъсване
Главна програма
заявка за прекъсване
Немаскируемо прекъсване
Главна програма
3F = swi
п
ЗЕ = WA1
Текуща команда
л+1 Следваща команда м Следваща команда
последен байт
п
да
'Продължаване на''
главната програма
1 = 1
(CCRU
п+1 Следваща команда
SP
Зареждане
на стека
SWI
FFFA
FFFB
IRQ
FFF8
FFF3
да
не
7=
(CCRV
WAI "HI
RESET
IRQ. (Цикъл на\ NMI
.он а кванеJ ""
FFFC
FFFB
FFFE
FFFF
Вектори на прекъсване (адреса)
FFF8
FFF9
FFFA
FFFB
FFFC
FFFB
FFFE
FFFF
IRQ (н)
IRQ (L)
SWl(H)
SWI(L)
NMI (H)
NMI (L}
RESET(H)
RESET (L)
н-старши байт
L-младши байт
1— 1
(CCR 4)
~T~
Зареждане на
векторите в
PC
‘Програма но прекъсване
Първа команда 1
♦иг. 4.2. Алгоригьм на изпълнение на прекъсванията от МС6800
205
BCS. При тях се извършва разклонение според състоянието на
двата бита С и Z в CCR (C-+-Z).
Използуването на следващите три двойки инструкции за ус-
ловии разклонеиия има смисъл основно при работа с числа в до-
пълнителен код със знак.
5. Преход при липса на препълване (BVC) и преход при
наличие на препълване (BVS) извършват разклонение според със-
тоянието на бит V в CCR, т. е. според това, дали в предишната
операция между числа в допълнителен код със знак се е получи-
ло или не аритметично препълване.
6. Преход при резултат, по-малък от нула (BLT), и пре-
ход при резултат, по-голям или равен на нула (ВСЕ), прове-
ряват състоянието на битовете N и V (N@V). BLT предизвиква
разклонение след операция, при която се събират две отрицател-
ни числа, или сдед операцията СМР, при която отрицателно чис-
ло се сравнява с положително. ВОЕ предизвиква разклонение след
операция, в която се събират две положителни числа, или кога-
то се получава резултат, равен на нула.
7. Преход при резултат, по-малък или равен на нула (BLE},
и преход при резултат, по-голям от нула (BGT), проверяват
състоянието на битовете Z, N и V [Z+(N@V)]. Действието на
BLE е аналогично на това на BLT с тази разлика, че възниква
разклонение и след нулев резултат, а действието на ВОТ е по-
добно на BGE, но при ВОТ не възниква разклонение след нулев
резултат.
Операции с регистъра на кода на условията. При изпъл-
неиие на отделните инструкции микропроцесорът МС6800 авто-
матично установява битовете в регистьра на кода на условията
според получения резултат, което е отразено нагледно в табли-
ците за инструкциите. Независимо от това потребителят разпо-
лага с допълнителни инструкции за пряко управление на тези би-
товё, показани в табл. 4.5.
В първите произведени микропроцесори МС6800 при изпол-
зуването на инструкциите се налагат някои ограничения. Комби-
нацията от инструкции CLI — WAI при тях трябва да бъде пред-
шествувана от инструкция, чийто код е нечетно число (най-млад-
шият бит да бъде единица). Същото се отнася и за инструкция-
та SEI. Като нечетна инструкция може да се използува NOP. Те-
зи ограничения са премахнати при произведените след ноември
1977 г. микропроцесори МС6800.
Понякога за възприемане на заявка за прекъсване в точно
определен момент от програмата се използува подход, при който
на това място в програмата с инструкциите CLI — SEI се устано-
вява в 0 и след това в 1 Маската на прекъсването I. В тези слу-
чаи е по-добре използуването на поредицата CLI — NOP — SEI.
Видове адресиране. Микропроцесорът МС6800 работи с 8-
битови двоични числа, конто се обменят между него и паметта
206
по магистралата за данни. Тези числа представляват или данни,
или инструкции, конто се възприемат като такива в зависимост
от тяхното място в програмата. Възможните шест вида адресира-
не при микропроцесора МС6800 му позволяват да обогати коман-
дите си и определят начина, по който той ще възприема инфор-
мацията от магистралата за данни.
Вътрешно адресиране. Командите с вътрешно адресиране
са еднобайтови' и се отнасят до операции с вътрешните регистри
на микропроцесора. Инструкциите съдържат в себе си цялата
необходима адресна информация.
Непосредствено адресиране. Командите с непосредствечо
адресиране са двубайтови или трибайтови. Когато непосредстве-
ното адресиране се използува за 8-битовите акумулатори А или
В, операндът се съдържа във втория байт. Когато непосредстве-
ното адресиране се използува за 16-битовите индексен регистър
и стеков показалец, операндът се съдържа във втория и третия
байт на командата (това са инструкциите СРХ, LDX и LDS).
Пряко адресиране. Командите с пряко адресиране имат дъл-
жина два байта. При тях вторият байт представлява адресът на
операнда в паметта, който задължително се намира в областта
на адреси от 0000 до 00FF. Прякото адресиране позволява
обръщане само към 256 клетки. Предимство на това адресиране
е по-малкото време за изпълнение на командата и по-малката й
дължина.
Разширено адресиране. Командите с разширено адресиране
имат дължина три байта. Разширеното адресиране е подобно на
прякото, но при него се посочва пълният абсолютен адрес на
операнда. Вторият байт съдържа старшите осем бита, а третият—
младшите осем бита на адреса на операнда. С разширеното ад-
ресиране се обхваща цялото адресно поле на микропроцесора —
от 0000 до FFFF.
- Индексно адресиране. Командите с индексно адресиране са
двубайтови. Първият байт е кодът на операцията. Съдържанието
на втория байт, наречен изместване, се прибавя към съдържание-
то на индексния регистър и полученият резултат представлява
абсолютният адрес на операнда в паметта. Когато изместването
е равно на пула, индексният регистър съдържа пълния адрес на
операнда. Изместването се възприема като цяло число без знак в
обхвата от 00 до FF.
Относително адресиране. Командите с относително адреси-
ране са двубайтови. Съдържанието на втория байт се възприема
от микропроцесора като число в допълнителен код със знак, кое-
то се прибавя към предварително увеличеното съдържание на
брояча на комйндите. Новото съдържание на брояча на командите
представлява адресът на следващата за изпълнение Инструкция.
С помощта на относителното адресиране могат да се адресират
клетки- в обхвата от —-125 до +129 byte спрямо изпълняваната
команда.
207
Инструкции за операции с акумулаторите и паметта
Таблица 4.2
Операции Мимюничен код Адресиране Действие (всички наименования на регистри означават тяхното съдър- жанне) CCR
непосред- ствен© пряко нндексно равширено вътрешно 5 4 3 2 1 0
Н I N Z V с
QP-# ор~# OP-# ор~# ор~#
1 2 3 4 5 б 7 8 9 1(1 11 12 13
Събиране ADDA ADDB Събиране на акумулато-АВА риге Събиране с пренос A DC А ADCB Логическо И ANDA ANDB Побитом проверка BITA BITB Нулираце CLR CLRA CLRB Сравняване СМРА CMPB Сравняване на акумула-СВА торите Обратен код СОМ СОМА COMB 8В22 СВ22 89 2 2 С9 2 2 84 2 2 С4 2 2 85 2 2 С522 812 2 С122 9В3 2 DB3 2 99 3 2 D9 3 2 94 3 2 D4 32 95 3 2 D532 91 3 2 D1 3 2 АВ5 2 ЕВ 5 2 А9 5 2 Е9 5 2 А4 5 2 Е4 5 2 А5 5 2 Е5 52 6F7 2 А1 52 Е15 2 63 7 2 ВВ43 FB43 В9 4 3 F9 4 3 В4 4 3 F4 4 3 В5 43 F543 7F6 3 В1 4 3 F14 3 73 63 1В21 4F2 1 5F2 1 112 1 43 21 53 21 А4-М—»А В+М->В А+В-»А А+М+С-»Д в+м+с-»в А. М—>А в.м-»в А.М в.м оо-»м 00—>А 00->В А-М В—М А-В М-»М А-»А В—>В I 1 1 1 1 1 R R R ! 1 1 1 i 1 I 1 1 S S S 1. 1 1 1 1 1 1 1 1 R R R R R R R 1 1 1 R R R I 1 I 1 1 R R R 1 1 1 S S S
14 Приложение на мнкропроцесорни
Продължеиие на табл. 4.2
Дополнителен код NEG 60 7 2 70 6 3 00—M—>M 1 I I I I I I 1 1 2
NEGA 40 2 I 00—A^A 1 2
NEGB 50 2 1 00—B—>B 1 2
Десетична корекция DAA 19 21 Преобразуване на двоична су- t 3
ма от двоично-десетични числа
в двоично-десетичен код
Намаляване с 1 DEC 6A 7 2 7A6 3 IV L—1— • I I 4
DECA 4A21 А — 1—>А • I I 4
DEC В 5A21 В -1—В I I 4
Изключващо ИЛИ EORA 88 2 2 98 3 2 A8 5 2 B8 4 3 А©М—>А • I ! R
EORB C8 2 2 D8 3 2 E8 52 F8 4 3 в©м-»в I 1 R
Увеличаване с 1 INC 6C7 2 7C6 3 м -1—м I I 5
INCA 4C2 1 А — 1—*А I I 5
INCB 5C2 1 В -1->В I I 5
Зареждане на акумулаторьПАА 86 2 2 96 3 2 A6 5 2 B6 4 3 М—»А I I R
LDAB C6 2 2 D6 3 2 E65 2 F6 4 3 м ^В I I R
Логическо ИЛИ ORAA 8A2 2 9A3 2 AA5 2 BA 4 3 А + М—»А I I R
GRAB CA2 2 DA 32 EA 5 2 FA4 3 В+М-»В I I R
Иэпращане в стека PSHA 3641 А ^MSp, SP—1—»SP •
PSHB 37 4 1 В ->MSp. SP-l^SP •
Извличане от стека PULA 32 4 1 SP+l^SP. MSp^A
PULB 33 4 1 SP+l-^SP, Msp^B •
Лява ротация ROL 697 2 7963 M 1 1 I 6 I
ROLA 49 2 1 A 6 I
n i 11 bJ C B7 Ba ♦
ROLB 59 2 1 В I I 6 I
Продълженйе на таблица 4.2(2)
21 О
“ Адресиране
Операции Мнемоиичеи код Непо- средст- веио Пряко Индекс- но Разшг» реио Вът- решно
ОР~ф ОР~ф ОР~Ф ОР~ф ОР~ф
Дясна ротация ROR RORA RORB 66 7 2 76 6 3 46 2 1 56 21
Аритметично нзместваие наляво ASL ASLA ASLB 68 7 2 78 6 3 48 2 1 58 2 1
Аритметично изместване надясно ASR ASRA ASRB 67 7 2 7763 47 2 1 57 2 1
Логическо LSR 64 7 2 74 6 3
изместване надясно LSRA LSRB 44 2 1 54 2 1
Действие (всички наименования на
регистри означават тяхното съдър-
жание)
М
А
В
м
А
В
м
А
В
м
А
В
1 — 1 И 1 1 1 Е
с в7
LH-LL 1 1 1 ггп
с 37 — - ва
Г~1
Ч 1 1 1 I 1 ГГ1-
87 — Во
о—ЕЕ 1 1 1 ггп
в? — Во
Во
с
5
н
4
CCR
3
л
I
2
Z
V
6
6
6
о
с
о
I
6
6
6
б
6
6
R
R
R
6
6
6
Операции Миемоничен ход Адресиране
Непо- средст- вен© Пряко Индекс* но Разши- рено Вът- решно
ОР~ ф ОР~ ф ОР~ ф ОР~ ф ОР~Ф
Запомняне на'акумулатор STAA 97 42 А7 6 2 В7 5 3
STAB D7 4 2 Е7 6 2 F7 5 3
Изваждане SUBA 802 2 90 3 2 АО 5 2 В04 3
SUBB СО 2 2 D0 3 2 ЕО 5 2 F043
Изваждане на акумулато- рнте SBA 10 2 1
Изваждане със заем SBCA 82 2 2 92 3 2 А2 5 2 В2 4 3
SBCB С2 2 2 D2 3 2 Е2 5 2 F2 4 3
Обмен на акумулато- TAB 16 2 1
рите ТВА 172 1
Проверка TST 6D72 7D6 3
TSTA 4D2 1
TSTB 5D21
Продолжение на табл. 4,2 (3)
Действие (всички наименования на регистри означават тяхното съдър- жаиие) CCR
5 4 3 2 1 0
н I N Z V с
А—>М В-^М А—М—>А В—М—>В А—В—>А А—М—С—>А В-М—С—>В А—>В В—»А М-00 А-00 В-00 • • 1 1 1 1 1 1 I 1 I 1 1 I 1 I 1 1 1 1 I R R I I I I I R R R R R Г 1 1 Г t R R R
н I N Z V С
212
Инструкции за операции С индексиия регистър И стековая показаЛёц
Таблица 4.3
Мнемоничен код Операции Адресиране Действие CCR
Непос- редст- ве но Пряко Индексно Разширено Вът ре- шив
5 4 I 3 2 1 0
ОР~ ф ОР ~ф ОР ~ Ф ОР ~ + ОР ~ф H N Z V c
Сравняване с индексиия СРХ регистър Намаляване иа индекс- DEX «ня регистър с 1 Намаляване на стековия DES покаэалец с 1 Увеличаване на индекс- INX ния регистър с 1 Увеличаване на стеко- INS вия покаэалец с 1 Зареждане на индексиия LDX регистър Зареждане на стековия LDS покаэалец Запомняне на нндексния^ТХ регистър Запомняне на стековия STS покаэалец Прехвърляне от индек- JTXS сния регистър в стеко- вия покаэалец Прехвърляне от стековия TSX покаэалец в индексиия регистър 8СЗЗ СЕ 3 3 8ЕЗЗ 9С 4 2 DE 4'2 9Е 4 2 DF5 2 9F 5 2 АС 6 2 ЕЕ 6 2 АЕ 6 2 EF 7 2 AF 7 2 ВС 5 3 FE 5 3 BE 5 3 FF 6 3 BF 6 3 09 4 1 34 4 1 08 4 1 31 4 1 35 4 1 30 4 1 хн—М, XL -(М + 1) X—1-Х SP —1—>SP Х+1—Х SP+1-SP m-xh.(m+1)-xl М—SPH , (М+ 1)->SPL Хн—М, XL->(M+1) SPH—М, SPL->(M + 1) X -1—»SP SP+1—X 7 9 9 9 9 t I I I I i I 8 R R R R
Таблица 4А
213
Инструкция за разклоняване на програмата
Операции Миемоиичен код Адресирене Условие за преход CCR
Относител- яо Индексно Разширено Вътрешно S 4 3 2 0
ОР ~ ф ОР ~ ф ОР ~ ф ОР ~ ф н I N Z V |<
Безусловен преход BRA Преход при отрицателно число BMI Преход при положително число BPL Преход при резултат, равен на нула BEQ Преход при резултат, различен от нула BNE Преход при наличие иа пренос BCS Преход при липса иа преиос ВСС Преход прн по-малко или еднакво число BLS Преход при по-голямо число BHI Преход прн наличие иа препълване BVS Преход при лнпса на препълване BVC Преход прн резултат, по-малък от вула BLT Преход прн резултат, по-голям или равен на нула BGE Преход прн резултат, по-малък или равен на нула BLE Преход при резултат, по-голям от нула ВОТ Преход към подпрограма BSR Безусловен скок JMP Скок към подпрограма JSR Празна операция NOP Връщаие от прекъсване RTI Връщане от подпрограма RTS Програмно прекъсване SWI Очакване на прекъсване WAI 20 4 2 2В 4 2 2А 4 2 27 4 2 26 4 2 25 4 2 24 4 2 23 4 2 22 4 2 29 4 2 28 4 2 2D 4 2 2С 4 2 2F 4 2 2Е 4 2 8D 8 2 6Е 4 2 AD 8 2 7Е 3 3 BD 9 3 01 2 1 ЗВ 10 1 39 5 1 3F 12 1 ЗЕ 9 1 няма N=1 N=0 Z=1 Z=0 С=1 c=o c+z=l c+z-o V=1 v=o N@V=1 N@V=0 Z+(N©V)=1 Z+(N©V)=0 Вж. специалните ^операции Увеличава съдър- жанието на брояча на командите |Вж. специалните |операцни 11 -1 I • 0-
3a6tлежка. Инструкцнята WAI установява адресните линии, линията R/W и линиите за даини във внсоконмпедаисно съ-
стояиие, а на линията VMA се установява логическа 0.
Таблица 4.5
Инструкции за операции с регистъра иа кода иа условията
Адресиране CCR
Операции Мнемоничен код Вътрешно .Действие 5 4 3 2 1 0
ОР ~ ф н I N Z V С
Нулиране на преноса CLC Нулиране на маската на прекъсване CLI Нулиране на препълването CLV Установяване на преноса в 1 SEC Установяване на маската на прекъсване в 1 SEI Установяване на препълва- нето в 1 SEV Зареждане на CCR от аку- мулатора А ТАР Зареждане на акумулатора А от CCR ТРА ОС 2 1 ОЕ 2 1 ОА 2 1 0D 2 1 OF 2 1 08 2 1 06 2 1 07 2 1 0-»С 0—1 0-V 1—С 1—1 1-V A—CCR CCR—А • R S -1! г- R S. R S
Изборът на желания начин на адресиране се прави от про-
грамиста след написване на операторите. При ръчно транслиране
на програмата в машинен код начинът на адресиране се съдържа
в кода на операцията.
Съставянето на програма за микропроцесор се извършва на
символичен език, в който всяка инструкция се означава с трибук-
вен мнемоничен код (символ), съответствуващ на наименованието
на инструкцията. Като изключение инструкции, отнасящи се до
единия или другия акумулатор, могат да се означават с четири-
буквено означение. Транслирането от символичен на машинен език
може да се извърши ръчно или с помощта на специално програм-
но осигуряване. Всеки оператор в символичен вид съдържа чети-
ри полета — етикет, код на операцията, операнд и коментар. По-
летата се отделят едно от друго с една или повече празни по-
зиции. Възможно е да не се използуват всички полета на опера-
тора — това се отнася най-вече за полето на етикета и коментара.
Условии означения и символи, използувани в табл. 4.2ч-4 5
Условны означения:
стековня показалец
ОР — код на операцията
~ — брой микропроцесорни никли
=1= — брой байтове
Ч---аритметично събиране
----аритметично изваждане
. —логическо И
М sp — съдържание на клетка, чийто адрес се съдържа в
214
+ — логическо ИЛИ
©— изключващо ИЛИ
М — отрицание (инверсия) на М
—»— изпрашане в
О — нулев бит
00 — нулев байт
Символи в регистъра на кода на условията:
1 (бит V) — Проверка: резултат = 10000000?
2 (бит С) — Проверка: резултат = 00000000?
3 (бит С) — Проверка: десетичната стойност иа старший символ иа двоич-
но-десетичното число е по-голяма от девет? (не се нулира, ако
__ е бил предварително устаиовен в 1)
4 (бнт V) —Операнд = 10000000 преди изпълнение на командата?
5 (бит V)—Операнд = 01111111 преди изпълнение на командата?
6 (бит V) — Приема сгойността На N © С след изместването
7 (бит N) — Проверка: знаковият разред на старший байт «• 1?
8 (бит N) — Проверка: има ли препълване в допълнителен код при изваждане
иа старшин байт?
9 (бит N)—Проверка: резултат, по-малък от нула? (петнадесети бит, равен
на 1)
10 (всички — Зареждане на регистъра на кода на условията от стека (вж.
битове) специалните команди)
11 (бит 1) — Установява се в 1, когато пристигне прекъсване. Ако е бил
предварително установен в 1, необходимо е немаскируемо пре-
късване, за да се излезе от състояние на очакване
12 (всички — Установяват се в съответствие със съдържанието на акумулатора
битове)
R — Нулиране
S — Установяване в 1
| — Проверява се и се установява в 1 при изпълнено условие, в
противен случай се нулира
• — Не се засяга
4.2. ИЗПОЛЗУВАНЕ И ПРОГРАМИРАНЕ НА ЕНЕРГОНЕЗАВИСИМИ
ПОЛУПРОВОДНИКОВИ ПАМЕТИ EPROM. ПРОГРАМДТОРИ
Известии са няколко вида енергонезависими полупроводнико-
ви памети, но тук ще бъдат разгледани само паметите EPROM,
конто са намерили най-голямо приложение в микропроцесорната
техника. Това са електрически програмируеми памети. Изтриване-
то на записа в тях се извършва посредством облъчване с ултра-
виолетова светлина, което позволява многократното им използува*
не. Енергонезависимостта на тези памети се изразява в това, че
при изключване на захранващото напрежение записът в тях се за-
гнзва. Има също електрически програмируеми енергонезависими
ламети EAROM, при конто изтриването на информацията се из-
вършва по електрически път, но засега те нямат широко разпро*
странение поради високата си цена. Паметите EPROM се произ-
веждат масово и се използуват много, като в някои случаи заме-
стват и паметите ROM. За тази цел се произвеждат памети EPROM
в корпус без кварцово прозорче за изтриване, т. е. в тях инфор>
мацията се записва еднократно.
215
Паметите EPROM се произвеждат с различен обем на памет-
та. Най-малкият обем е 256X8 bit, но този-тип вече не се изпол-
зува масово. Следващият по обем на паметта произвеждан тип е
2708 на фирмата «Intel “ (1024x8 bit). Този тип се произвежда
от много фирми (тук ще се цитират само няколко), като има раз-
работени такива памети EPROM и у нас (СМ7880). Като недоста-
тък на типа 2708 може да се отчете необходимостта от 3 захран-
ващи напрежения------1-12 V, -f-5 V и —5V. Типът 2716 на фирма-
та „Intel" има обем на паметта 2048X8 bit. Произвежда се от мно-
го фирми. Еквивалент на 2716 по основни параметри и изводи е
TMS 2516 на фирмата „Texas Instruments*1. Паметите EPROM 2716
и TMS 2516 се произвеждат по различна технология от 2708,
имат едно захранващо напрежение +5V и опростен режим на за-
пис. Следващите по обем памети EPROM са 2732 (Intel) и TMS 2532
(Texas Instruments) с обем 4096x8 bit и едно захранващо напре-
жение 4-5 V. Трябва да се има предвид, че по електрически дан-
ни паметите 2732 и TMS 2532 са еквивалеитни, но имат разлика в
няколко извода, така че, когато се заменят, тази разлика трябва
да се вземе предвид. Произвеждат се също памети EPROM с обем
8192X8 bit (2764 и TMS 2564), конто също по електрически дан-
ни са еквивалеитни, но имат разлика в няколко извода. Принци-
път на програмирането на тези две памети е един и същи, но по’
ради разлика в изводите схемата на свързване на управляващите
сигнали е различна.
Енергонезависимите памети се използуват при разработването
на електронни устройства с микропроцесорно управление и това
налага често записване на прогремите в тях. Това се извършва
от специализирани устройства, наречени програматори, конто
се произвеждат от редица фирми. Обикновено тези програматори
имат различии входове за въвеждане на информация — от перфо-
лента, от касетофон и клавиатура, чрез конто се въвеждат данни-
те за запис в паметта EPROM. Най-често програматорите са снаб-
дени с различии приставки за запис в различии типове памети
EPROM. Те имат също възможност за копиране от дадена памет
EPROM и след това за размножаване на записа в необходимия
брой други памети EPROM. За да могат да изтриват памети
EPROM, програматорите са снабдени и с ултравиолетова лам-
па. Така окомплектовани програматорите са удобни за
работа, но цената им е значителна. В заводски условия, къ-
дето се работи с големи количества памети EPROM, използуване-
то на такъв тип програматори е икономически целесъобраэно. У
нас засега такива програматори не се произвеждат, но при необ-
ходимост могат да се направят в лаборатории условия, като за
целта не се изискват някакви специални елементи и схеми. Без
никакви затруднения могат да се разработят и програматори за
по-новите типове памети EPROM (2732 и 2764).
У нас в момента най-широко приложение намират паметите
216
EPROM 2708 и 2716. За да може да се разбере детайлно работа-
та на програматорите, по-долу с а дадёни кратки сведения за тези
памети. При работа с тях обаче е желателно предварителното
запознаване с фирмените материали, където са описани пълно
електрическите параметри и на-
чинът на работа на тези памети,
докато дадените тук сведения са
частични и са свързани с обясне-
нието на действието на програ-
матора.
Енергонезависима памет
EPROM 2708. Тази памет EPROM
има обем 1024X8 bit, времето й
на достъп е 450 ns и изисква три
захранващи напрежения (4-12 V,
4-5 V и—5 V). Монтирана е в кор-
пус с 24 извода и има кварцово
прозорче. Изтриването се извърш-
ва с ултравиолетова светлина. В
изтрито състояние във всички
клетки на паметта има записана
1 —|А7
А«
А;
At,
2-
3 —
Ь-
5~ А}
6- '
7 —
8 —
S-Ео
10 — о,
11— рг
Маса
А2
Л
А.
'г
Квар-
цово
про-
зорче
+5V —24
А, — 23
А9 — 22
CE/WE
4-72 V —19
PR&
D?
Рб
Ъ
— 21
— 20
— 18
— 11
—16
—/5-
—/4
— 13
Фиг. 4.3. Разположение на изво-
дите на паметта EPROM 2708
логическа 1. Прогтамирането
на тази памет се извършва, като се внася заряд в плаващи гейто-
ве на MOS транзистори. Тъй като плаващите гейтове са изолира-
ни, този заряд се разсейва много бавно. При облъчване с ултра-
виолетова светлина обаче става бързо разсейване на заряда — за
десетина минути. Зарядът се разсейва (но не толкова бързо) и при
осветяване с луминесцентна лампа или слънчеви лъчи. Това тряб-
ва да се има предвид и да се избягва прякото излагане на паме-
тите EPROM на тези източници на светлина, без да се покрие про-
зорчето с материал, непропускащ ултравиолетовите лъчи.
Разполржението на изводите на корпуса иа паметта EPROM 2708
е показано на фиг. 4.3, където означенията са:
Ао — А9 — адресни входове;
Ро — D7 — информационнни изводи;
CE/WE — вход за избор на чип и управление при програмиране;
PRO — вход за програмиращ импулс.
В режим на четене на вход CE/WE се подава логическа 0
и в зависимост от подадения адрес на информационните изводи
се получава записаната информация. При този режим вход PRG
трябва да бъде свързан към маса. Трябва да се има предвид, че
.товароспособността на информационните изводи е един стандартен
ТТЛ вход или 10 MOS входа. Захранването трябва да се подава
паралелно (4-12 V, 4-5V и —5 V). Необходимо е да се има пред-
вид и времето за достъп—450 ns, което при работа на микро-
процесорите с тактова честота до 1 MHz се удовлетворяв^ напълно.
Режимът на програмиране (запис) в паметта EPROM 2708
217
е пояснен с времедиаграмите, дадени на фиг. 4.4. В режим на про-
грамиране на адресните входове трябва да се зададе адресът, а
на информациоаните изводи се подава информацията за програми.
ране на този адрес. На вход CE/WE се подава +12 V и след вре-
Фиг. 4.4. Времедиаграт при запис в паметта EPROM 2708
ме, по-голямо от 10 ps, се подава програмиращ импулс с ампли-
туда + 26V, при който се извършва програмирането. Продължи-
телността на програмиращия импулс е от 100 p.s до1 ms. След
това се подава друг адрес, друга информация за програмиране и
отново програмиращ импулс. Така последователно се програмират
всички адреси на паметта. Програмирането обаче не може да се
извърши само с един цикъл. Това се обуславя от факта, че про-
дължителността на програмиране на една клетка трябва да бъде
по-голяма от 100 ms, а програмиращият импулс е в границите от
100 p,s до 1 ms, т. е. за да бъде завършено програмирането, тряб-
ва да се извършат минимум от 100 до 200 цикъла. Затова про-
грамирането на един адрес се извършва на части. След завършва-
не на програмирането напрежението на вход CE/WE от +12Vce
намалява на 0 V. Чрез този вход изходните буфери на информа-
218
ционните изводи се превключват за програмиране или за четене.
Ако се налага да се извърши програмиране само на няколко ад-
реса, освен програмирането на тези клетки цикълът трябва да
включва и едно закъснение, еквивалентно на времето за програ-
миране на останалите клетки на
паметта EPROM. По този начин
ще се осигури правилно прог-
рамиране, без да има опасност
от повреждане на паметта.
Енергоиезависима памет
EPROM 2716 (TMS 2516). Тази
памет EPROM има обем 2048 X
8 bit и максимално време за до-
стъп 450 ns. По време на чете-
не изисква само едно захранва-
що напрежение +5 V±5°/o, а
А1
л6
At
А3
£
Ао
Do
- D.
— Lb
’ '1~]Мйса
2—<
4—,
5-
6-
7-
8~
9—
is—
Квар-
цобо
про-
зорче
+ЗИ|—24-
JJ '
— 23
-22
—21-
-20
СЕ
Dr
DS
— 18
—41
—16
—15
— 14
, —13
по време на програмиране — още
напрежение +(25±1) V* на
входа Vpp.
Разположеиието на изводи-
Фиг. 4.5. Разположение на изводите
на паметта EPROM 2716
те на паметта EPROM 2716 е показано на фиг. 4.5 с означения:
Ао — А1о — адресни входове;
Do — D7 — информационни изводи;
ОЕ — вход за управление на изходните буфери на ивформа-
ционните изводи;
СЁ — вход с няколко функции: в режим на четене на този
вход се подава логическа 0» а при програмиране — програмиращи-
те импулси с продължителност 50 ms и ниво логическа 1.
На фиг. 4.6 са дадени времедиаграмите в режим на програми-
ране и проверка. Програмирането на паметта EPROM 2716 е зна-
чително по-просто от програмирането на паметта 2708. Тук за
целта е необходимо на адресните входове да се подаде адресът,
на вход ОЕ — логическа 1, и на вход Vpp---1-25 V. След това на
информационните изводи се подават данните за програмиране, а
на вход СЕ — програмиращ импулс с продължителност 50 ms. С
това програмирането е завършено и при необходимост эаписът
може веднага да се прочете и провери. За тази цел на вход ОЕ
се подава логическа 0 (при Vpp—н25 V), при което на информа-
ционните изводи се получава записаната информация на дадения
адрес. След проверката се записва следващ адрес и т. н. Разбира
се, може да се извърши програмиране последователно на всички
адреси, без да се прави проверка. В такива случаи проверката
трябва да се направи след целия цикъл на програмиране.
Програматор за памети EPROM 2708 и 2716. На осиовата
на обясненията дотук могат да се формулират следните изисква-
ния към програматора:
— да проверява дали е изтрита паметта EPROM;
219
— да извършва програмиране върху паметта EPROM по бай-
тове;
— да чете паметта EPROM за размножаване;
— да прави пълна проверка на записаната в паметта EPROM
информация.
Фиг. 4.6. Времедиаграми при запис в паметта EPROM 2716
Ако програматорът има тези възможности, с него ще може да
се извършва всичко необходимо за използуване на паметта EPROM
в различните разработки. Такъв програматор е описан по-долу.
На фиг. 4.7 е дадена блоковата схема, а на фиг. 4.8 — прин-
ципната схема на програматора. Връзката на програматора с МПС
се осъществява с два адаптера PIA. Чрез първия адаптер PIDATA
се задават данните за програмиране и се четат записаните данни
съответно към и от паметта EPROM. Управляващите сигнали се
220
задават също чрез адаптера PIDATA. С втория адаптер PIADR се
задава адресът, в който се записват и от който се четат данните.
Информационните изводи на паметта EPROM са свързани с изво-
дите РА на адаптера PIDATA. По време на програмиране чрез
транзисторите и Т5
свързаните към тези из-
води резистори се включ-
ват към + 5V с цел
повишаване нивото на
логическата 1.Изводите
РА на адаптера PIDATA
по време на програми-
ране се програмират ка-
то изходи, а по време
на четене (проверка) —
като входове. Адресни-
те входове на паметта
EPROM са свързани към
адаптера PIADR. Адап-
терът PIADR се изпол-
зува само за подаване
Фиг. 4.7. Блокова схема на програматор
на адреса, което позво-
лява при необходимост
адресните изводи да се увеличат. Това се налага, ако е необходи-
мо програматорът да се преработи за памет EPROM с по-голям
обем. Изводите РА и РВ на адаптера PIADR са програмирани ка-
то изходи и за повишаване нивото на логическата 1 са свързани с
резистори 10 кй, включени към +5 V. Чрез извод РВ4 (PIDATA}
става превключване на схемата за програмиране на памет тип 2708
(при логическа 1) или тип 2716 (при логическа 0). Този извод уп-
равлява транзистора 7\, който превключва релетата Pj и Р2 за
осигуряване на режима на съответната памет EPROM (положение-
то на релетата Рг и Р2 на фигурата съответствува на памет тип
2716). Захранващите напрежения +12 V и —12 V се включват от
извод РВ2 (PIDATA), който управлява транзистора Тп за включва-
ие на релето Р3. Наличието на захранващо напрежение се индици-
ра със светодиодите СД5 и СДв. От захранващите напрежения
+ 12 V и —12 V се получават всички необходими напрежения:
+ 12V, —5 V и +5 V със стабилизатори с ценерови диоди и
+26 V с трансвертор и интегрален стабилизатор р.А 723. Чрез
транзистора Г6 по време на запис на входа CE/WE се подава +12 V
за 2708, а на входа VPP (за 2716) чрез транзистора Т7 се подава
+26 V. Програмиращият импулс за паметите EPROM 2708 се по-
дава през транзисторния ключ Тв— Тв с амплитуда +26 V на вхо-
да PRG. За да може да се следи програмирането, са включени
няколко светодиода за индикация: светодиодът СДа индицира, че
на входа CE/WE (за 2708) е подадено напрежение +12 V; СД1
221
doicwBdJodn вн виэхэ BHUHiiHHdu g fr -1Иф
PIDkTA
дава информация, че има програмиращи импулси; СД5 и СД6 са зэ
захранването; СДг индицира, че направеният запис не отговаря на
подадените за програмиране данни (той се включва, след като се
направи проверка на записа); СДг свети, когато паметта EPROM
не е изтрита, т. е. не всички битове са 1 (програмата спира про-
верката за изтрита памет EPROM при първия срещнат бит в 0).
Програматорът се обслужва от програмата PROGR, дадена
по долу. Тя има няколко входни точки за извършване на: програ-
миране с проверка (начален адрес F800); проверка дали е изтрита
паметта EPROM (начален адрес F838); програмиране на паметта
EPROM (начален адрес F8A9); проверка на правилността на запи-
са (начален адрес F88B); зареждане на съдържанието на паметта
EPROM в паметта на МПС (начален адрес F80F). Самата програ-
ма PROGR е записана в памет EPROM и заема обем около 360
bytes. За въвеждане на начални данни при стартиране на програ-
мата са необходими 15 работни клетки в паметта RAM (в случая
от адрес F480) Адаптерът PIDATA е с начален адрес F080, а
адаптерът PIADR— с F004. В дадения отпечатък на програмата
има коментар за по-детайлнотой разбнране. Ако мястото на работ-
ните клетки в паметта RAM, адресите на адаптерите PIDATA и
PIADR и самата програма са неподходящи за конкретната микро-
процесорна система, те могат лесно да се променят. При работа с
този програматор предварително в паметта RAM се зареждат на-
чалният и крайният адрес от паметта на МПС, откъдето ще се
вземат данните за запис, началният адрес в паметта EPROM, къ-
дето ще се записват тези данни, и типът на паметта EPROM
(2708 или 2716). След записване на тези входчи данни програмата
се стартира. В обратния случай, когато е необходимо да се зареж-
дат данните от програмирана памет EPROM в паметта RAM на
МПС, данните, записани в адресните клетки, показват къде ще се
съхранява прочетената информация.
На фиг. 4.9 е дадена принципната схема на един по-усъвър-
шенствуван вариант на програматор, в който вместо релета се из-
ползуват електронни ключове. Освен това тук са монтирани отдел-
яй цокли за паметите 2708 и 2716, което е свързано с факта, че
програматорът автоматично определя кой тип памет е поставен.
Това се извършва чрез следене на консумацията от източника на
—5 V (при 2716 такава консумация няма), като тази информация
се подава на бит В4 (от PIDATA). Едновременното поставяне на
двата типа EPROM е недопустимо. Общото действие на схемата
е същото като на схемата, разгледача по-горе. Програмата, об-
служваща този програматор, е реализирана в диалогов режим, кое-
то е голямо удобство. Тъй като тази програма е голяма и не мо-
же да бъде дадена тук, при необходимост може да бъде получе-
на от авторите на книгата.
223
PIDATA
Фиг. 4.9. Принципна схема на програматор с автоматично разпознаване на типа
на паметта EPROM
224
4.3. НАСТРОЙКА И ДИАГНОСТИКА НА ЕЛЕКТРОННИ
УСТРОЙСТВА С МИКРОПРОЦЕСОРНО УПРАВЛЕНИЕ
Навлизането на микропроцесорите в електронното уредострое-
не създава големн предимства както за производителите на елек-
тронни устройства, така и на техните потребители. Възникват
обаче и някои нови трудности във връзка с настройката и диаг-
ностиката на такава апаратура. Една от тези трудности се явява
в резултат на това, че функциите на конструираното устройство
се реализират по програмен път чрез алгоритъма на работа. Ос-
вен това работата па тези устройства има динамичен характер,
като сигналите често действуват само в продължение на няколко
микросекунди, след което изчезват. Не без значение е и фактът,
че при диагностирасе се налага едновременното следене на мно-
жество сигнали, което несъмнено затруднява неговото провежда-
не. Задачите на диагностиката включват в себе си проверка на
работоспособзостта на електронната апаратура и на отделяй ней-
ни блокове, както и локализиране и отстраняване на евентуални
откази. Въпросите на диагностиката могат да бъдат разделен и и
разгледани в три основни групи — диагностика при настройване,
работна диагностика и сервизна диагностика.
Диагностиката при настройване на устройство™ има за за-
дача проверка на работоспособността му и по-точно на схемотех-
ническата му изправност, проверка на целесъобразността на схе-
мотехническото решение и съвместимостта на това решение с
програмната част, както и уточняване на програмата. Фирмите—
производителки на микропроцесорни фамилии, предлагат системи
за проектиране на устройства с микропроцесорно управление.
Обикновено тези системи представляват микрокомпютерни устрой-
ства, снабдени с подходящо програмно и схемотехническо осигу-
ряване и позволяващи разработка и настройка на електронни
устройства, изградени на базата на дадена микропроцесорна фа-
милия. Някои системи за проектиране могат да се използуват за
няколко различии микропроцесорни фамилии. Системите за проек-
тиране притежават големи възможности и значйтелно облекчават
проектанската работа. С помощта на вградените служебни про-
греми и на наличните потребителски периферии схеми и устройст-
ва бързо и лесно.може да се синтезира и настрои работната про-
грама на проектираното устройство и да се симулира неговата ра-
бота. Отделното изготвяне на програмната и схемотехническата
част обаче има неудобството, че при това не винаги се решават
въпросите на тяхното свързване в единно цяло. В системите за
проектиране има възможност за свързване на потребителската и
служебната периферия като схемотехническа част към работната
програма. Трябва да се отбележи обаче като недостатък, че това
не е собствената схемотехническа част, с която ще работи про-
грамата в устройството, поради което някои въпроси по съвместя-
13 Приложение иа микропроиесорки
225
ването й оставят нерешени Ето защо електронното устройство
би могло да се настрои най-пълно и точно, ако самото то се свър-
же към системата за проектиране, като по този начин работната
програма се тества заедно с принадлежащата й схемотехническа
Фиг. 4.10. Обща блокова схема иа микропроцесорно управллва-
нв устройство
част. Съвместявачето на системата за проектиране с разработва-
ното устройство е изключително важен въпрос, чието правилно
разрешаване осигурява правилното настройване на устройството.
На фиг. 4.10 е показана общата блокова схема на микропро-
десорно управлявано електронно устройство. Микропроцесорният
блок съдържа централния процесор, тактовия ге >ератор и допъл-
нителната управляваща логика. Към него принадлежи първичният
декодер на паметта. При свързване със системата за проехтира-
не всички блокове попадат под непосредственото й управление.
Свързването трябва да се извърши с минимални промени в кон-
фигурацията, като за целта микропроцесорният блок (заграден с
прекъсната линия на фиг. 4.10) се отделя и на негово място се
включва буферен блок, осигуряващ на разработваното устройство
всички необходими сигналн. По този начин разработваното устрой-
ство става подсистема на системата за проектиране и работата
се управлява от нейния микропроцесор.
На фиг. 4.11 е показана блокова схема на буферен блок, кой-
то трябва да се включи на мястото на микропроцесорния блок.
Магистралата за данни в този блок задължително се буферира с
двупосочни буфери с три изходни състояния, като посоката на
протичането на информацията през тях се определя от сигнала
R/W. Разрешение за буферите се изработва от управляващата ло-
гика само тогава, когато микропроцесорът на системата за проек-
2'26
тиране се обръща за обмен иа информация към блок от разра-
ботваното устройство. За да не се получи „сблъскване" на ин-
формацията по магистралата за данни, е необходимо физическите
адреси на блоковете от разработваното устройство да не съвпа-
и
Е
о
Е
о
3
Е
а
а
«з
Е
§
е
Фиг. 4.11. Блокога схема на буфсрен блок за връзка на система за проск-
тнране с микропроцесорно управлявано устройство
дат и да не се застъпват с физическите адреси на блоковете от си-
стемата за проектиране. Това се осигурява в процеса на първо-
начално проектиране, като се използува картата на паметта на
системата за проектиране.
По описания начин се извършча лесно съвместяване на раз-
работваното устройство със системата за проектиране, без да се
извършва преработка на разработваното устройство. Това е въз-
можно при положение, че организацията му позволява отделяне
па микропроцесорния блок заедно с тактовия генератор и пър-
вичния декодер. Ако такова отделяне е невъзможно, съвместява-
нето със системата за проектиране изисква допълнително вмеша-
телство в микропроцесорния блок на проектира юто устройство.
В такъв случай трябва да се прекъснат линиите на тактовия ге-
нератор и да се извади микропроцесорът. Тогава изходните линии
от буферния блок се включват направо на мястото на извадения
микропроцесор. Освен това е необходимо в буферния блок до-
пълнително да се забрани сигналът VMA (действителен адрес на
паметта), когато микропроцесорът от системата за проектиране
се обръща за обмен на информация към блок от разработваното
устройство.
227
Основен момент в настройване го на микропроцесорно управ-
ляваио устройство е уточняването и настройването на работната
му програма. Първоначално тя трябва да се запише в паметта
RAM на системата за проектиране, за да могат да бъдат въвеж-
дани налагащи се корекции и поправки. След като програмата
бъде уточнена и изчистена от грешки, тя се записва в паметта
ROM или EPROM на р зработваното устройство. В този момент
е необходимо в буферния блок да бъде разрешен изборът на бло-
ка ROM и да се забранят съответните на блока ROM физически
адреси от системата за проектиране. Стартирането на работната
програма от новото й място дава възможност допълнително да
бъде проверена схемотехническата достоверност на блока ROM.
Преди отделянето на разработваното устройство от система-
мата за проектиране и самостоятелното му пускане е необходи-
мо да се преадресира работната м/програма. Това се налага по-
ради факта, че в процеса на настройване тя се записва в памет-
та RAM на системата за проектиране и нейният физически адрес
не заема областта от FFF8 до FFFF, където че намират векто-
рите иа прекъсваиията и началното установяване, тъй като те са
в областта на служебната памет на системата за проектиране.
При самостоятелното пускане на устройството обаче е задължи-
телно тези адреси да се намират в работната програма, което
налага нейното преадресиране. При наличието на мощни системи
за проектиране това преадресиране може да се осъществи лссно
чрез смяна на организационните инструкции на програмата. Това
обаче лнйгава от възможност за настройване на програмата, ко-
гато тя е записана в блока ROM на разработваното устройство.
Освен това, ако се наложи ново съвместяване и свързване па
уст-р огствэтэ със системата за проектиране, трябва да бъде из-
върисно обратлето преадресиране. Тези неудобства мсгат да се
избя наг, касс работната програма се преадресира по схемотех-
нически начин чрез подходяще изпълнение на първичния декодер
в микропроцесорния блок на устройството. Най-просто това може
да се извърши, като сигналите за избор на областта, където е
разположена програмата при нейното тестване, и за избор на об-
ластта, съдържаща адресите FFF8 до FFFF, излизащи от пър-
вичния декодер на микропроцесорния блок, се евържат в логичес-
ка схема И и резултатният сигнал се използува за избор на бло-
ка ROM. По този начин, когато устройството работи самостоятел-
но, неговата работяа програма ще заема две еднакви по големи-
на области от паметта, като едната от тях ще съдържа вектор-
ните адреси от FFF8 до FFFF. При положение, че тези области
не се застъпват една с друга или с други заети вече области, се
изпълнява условието за преадресиране. При изваждане на микро-
процесорния блок и заместването му с буферния блок за връзка
със системата за проектиране работната програма се установява
само на действителния си адрес и областта, съдържаща вектори-
228
те на прекъсванията и началното установяване, се освобждава за
системата за проектиране.
Друг метод за преадресиране на работната програма изпол-
зува недекодирането на една от старшите адресни линии. При
този метод първичният декодер на микропроцесорния блок се из-
пълнява като декодер от един ред по-нисък, отколкото първич-
ния декодер на системата за проектиране. По този начин адрес-
ното поле се разделя на два пъти по-малко области, отколкото
с първичния декодер на системата за проектиране, но с двойно
по-голям обем, едната половина на който се припокрива с друга-
та. Общото адресно поле от 64К адреса се разделя на две части,
конто се повтарят, като повторението зависи от това, коя адрес-
на линия не се декодира. Например, ако декодерът на системата
за проектиране е декодер на 8, то първичният декодер на разра-
ботваното устройство трябва да бъде декодер на 4.
На фиг. 4.12 е показано припокриването на адресното поле в
случай на недекодиране на една от старшите адресни линии А13,
А14 или А15. Със стрелки са показани областите, конто се припо-
криват. Работната програма се поставя в областта от паметта RAM
на системата за проектиране, която ще се припокрие с областта,
съдържаща векторните адреси от FFF8 до FFFF, когато устрой-
ство™ се пусне в действие самостоятелно и адресното поле се
разпредели от собствения му първичен декодер. При недекодира-
не на адресната линия А16 векторните адреси FFF8 До FFFF се
врипокриват с адресите 7FF8 до 7FFF, при недекодирана линия
Аи — с BFF8 до BFFF, а при недекодирана линия А13 — с DFF8
до DFFF. Коя от адресните линии няма да се декодира зависи
от конкретното приложение. Това се определя, като се използу-
ва картата на паметта на системата за проектиране. Единственото
условие е при припокриването да не се застъпят физическите ад-
реси на блоковете. Методът не може да се използува от елек-
тронно устройство, притежаващо адресируема памет повече от
32К адреса.
Работната диагностика има за задача проверка на работо-
способността на електронното устройство или на отделки негови
блокове непосредствено преди работа или в процеса на самата
работа. Най-просто това се осъществява чрез подаване на еталон-
ни външни въздействия или чрез включване на модел вместо из-
мервания и управлявания обект. Такава една диагностика може
само да покаже дали устройство™ е работоспособно или не, без
да локалиэира евентуалната неизправност. По-съвършен тип ра-
ботна диагностика представляват сиециално създадените за цел-
та диагностични программ, вградени в устройството, конто позво-
ляват по-точно да се локализира евентуалната неизправност. Та-
кива са самотестващите диагностични программ, конто проверяват
функционирането на отделяйте блокове в началото на работата
ми през всяко друго време, когато централният процесор е сво-
229
боден от друга работа. Друг основен тип са вградените диагно-
стични программ със сервизна насоченост, конто се извикват по
заявка на потребителя. Общ недостатък на вградената диагности-
ка е фактът, че тя може да укаже и локализнра евентуалната
Недекадиран A,s Недекадиран A1lf Недекадиран fa
Фиг. 4.12. Припокриваие на адресите при една недекодирана стар-
ша адресна линия
неизправност само при положение, че полученият отказ не засяга
днагностичната програма, микропроцесора и общите за него и ос-
таналите блокове магистрали и линии. Това значително намалява
възможностите на програмната диагностика и нейното използува-
не има смисъл при големи сисгеми.
При експлоатацията на електронни устройгтва с микропро-
цесорно управление ефективни са вградените диагностични про-
грами, конто се изпълняват не като самостоятелни програми, а
като разклонения и модификации на основната програма. Целта
на една такава диагностична програма е да се използуват макси-
мално възможностите на самата работна програма. Това се реа-
лизира, като на възлови места в работната програма се поставят
ключови разклонения, към конто изпълнението на програмата се
отклонява само при положение, че устройството е поставено в
диагностичен режим на работа. Така се навлиза в днагностичната
програма, която от своя страна информира оператора от кое мя-
сто на работната програма е извикана. За целта могат да се из-
ползуват съществуващата индикация на устройството или спе-
циално вградени индикатори. Освен това днагностичната програма
използува индикацията и терминала на електроиното устройство
ва извеждане съдържанието на избрани клетки и регистри, по
Което може да се съди за правилната работа на устройството.
Връщането от днагностичната в работната програма през същото
930
разклонение, от което е излязла диагностичната програма, се из-
вършва по заявка на оператора.
На фиг. 4.13 е показана блокова схема на примерно диагно-
стично отклонение в основната програма.
Фиг. 4.13. Блокова
схема на диагностично програмно отклонение
Предимствата на такава вградена диагпостична програма са
възможностите за бърза проверка на работоспособността на ус-
тройством, откриване на евентуалиа неизправност н тестване на
алгоритъма на работа.
Сервизната диагностика решава въпроса за откриване и
идентифициране на повреда в устройством. За целта широко се
използуват разработените анализатора на логически състояния,
конто проверяват последователността на логическите машинни
състояния на микропроцесора и помагат за откриването на реди-
ца неизправности. Тези анализ"??;? ’ обаче имат сложно обслужва-
не, висока цена и изискват значително време за изучаване и ана-
лиз на получените чрез тях данни.
Вторият широко разпрсстр-i: ен метод за сервизна диагности-
ка използува сигнатурните анализатор!!, с помощта на конто по
определен стартов ш стопов сигнал се проследяват времедиагра-
мите в определени точки от микропроцесорната система. Неудоб-
ство иа този метод е необходимостта от старателно подготвени
предварително сигнатурни карта за определени точки от систе-
мата, което е бправдано в едросерийно производство.
Трети метод, използуван при сервизната диагностика на мик-
ропроцесорни системи, представлява изобразяването на дннамич-
ната карта на паметта върху екрана на електроннолъчева тръба.
231
Това по същество е „фотография" на работата на адресната ма-
гнстрала. Обикновено младшите 8 адресни линии от микропроце-
сора се подават към един 8-битов ЦАП, а старшите 8 — към вто-
ри 8-битов ЦАП. Изходите на двата ЦАП управляват съответно
ОШ FFFF
Фиг. 4.14. Изобразяване на динамичната карта на паметта на
микропроцесор върху екрана на осцилоскоп
входовете X и Y на обикновен осцилоскоп (фиг. 4.14). Всяка точ-
ка от матрицата на екрана съответствува на определен адрес.
Принципната схема на устройство за изобразяване върху ек-
рана на осцилоскоп на динамичната карта на паметта на микро-
процесор, който може да адресира пряко 64К адреса, е показана
на фиг. 4.15. Динамичната карта на паметта на един микропро-
цесор представлява съвкупност от адресите, към конто той се
обръща за четене или запис при изпълнение на работната си про-
грама. Шестнадесетте адресни линии от Ао до А16 се подават иа
два 8-битови ЦАП, единият от конто захранва входа X на осци-
лоскоп, а другият — входа Y. По този начин върху екрана се фор-
мира квадратна матрица с размери 256X256 точки, всяка точка от
която съответствува на един единствен адрес. Старшите адресни
линии А1з, Аи и А1б се подават съответно на битовете 5, 6 н 7
на ЦАП за входа Y (ЦАПу), чрез което се постига‘разделянето
на осцнлоскопния екран на 8 хоризонтални ивици, всяка от конто
съдържа по 8К адреса. Следващите три адресни линиц А1о, Ап
и А12 се подават съответно на битовете 5, 6 и 7 на ЦАП за вхо-
да X (ЦАПх), в резултат на което всяка от осемте хоризонтални
ивици се разделя на по 8 вертикални блока, съдържащи по 1К
последователей адреса от паметта. Предимствата на едно такова
разпределение на адресните линии е, че 1К (1024) последовател-
ни адреса се изобразяват върху правоъгълник със страни съот-
232
Фиг. 4.15. Устройство за изобразяване на динамичната карта на паметта
на микропроцесор върху екрана на осцилоскоп
233
ветно 1/8 от целия изобразяван хоризонтален размер и 1/8 от це-
лия изобразяван вертикален размер. Това създава възможност за
по-точно локализиране на текущий адрес на микропроцесора
(фиг. 4.16 а). В показаната схема е предвидена възможност за
Фиг. 4.16. Разгъиаго изображение
на динамицната карта на паметта
разгьване на екрана, при което се показва само един блок от па-
метта с обем 1К, като по този начин адресите се локал*изират
по-точно. Разпределението на паметта вътре в блока с обем 1К
е показано на фиг. 4.16 б. Той е разделен на 4 области по 256
(1/4К) адреса, като съществува възможност за показване на ек-
рана на само една от тези области. За удобното им изобразяване
линията А9 се подава към бита 4 на ЦАПУ, а А8 — към бит 4 на
ЦАПХ. Областта от общата памет, която трябва да се индицира
на екрана, се нзбира чрез двата шестнадесетични ключа —
(старша част) и (младша част), а видът на работа (т. е. дали
се показва обем 64К, 1К или 1/4К) се определя чрез превключ-
вателя К3. Информацията от адресните линии през буфери постъп-
ва на входовете на буфернатэ памет. Стробиращ сигнал за запом-
няне на тази информация се изработва синхронно със сигнала
VMA. Ф2. Когато се показва цялото адресно поле, стробиращ сиг-
нал е самият сигнал VMA. Ф2. При положение, че трябва да се
покаже само блок с обем 1К, стробиращ сигнал се взима от из-
хода на логический компаратор 52, който заедно с сравнява
сигналите от шестте старши адресни линии (от А1о до А]6), оп-
ределящи този блок, с информацията, подадена от ключа AS и
двата старши бита на Когато трябва да се индицира облает
1/4К от паметта, стробиращ сигнал се взима от изхода на ком-
паратора S3, евързан каскадно с S2 и сравняващ информацията от
А8 и А9 с двата младши бита на При индициране на блокове
с обем 1К и 1/4К на-старшите битове на Двата ЦАП (съответно
234
бит 5 до бит 7 и бит 4) се подават логически 0 и за да се из-
пълни целият екран на осцилоскопа, коефициентът на усилване на
крайните усилватели ОУХ и ОУГ чрез рид-релета се превключва
от 1 съответно на 8 и 16. Стробиращият импулс може да се из-
ползува за гасене на лъча на осцилоскопа по време на промяна на
информацията в буферната памет.
Описаната схема е удобна за проследяване работата на мик-
ропроцесорна система, като позволява косвено да бъде локализи-
рана евентуална грешка или неизправност както в схемотехни-
ческата, така и в програмната част на електронното устройство
с микропроцесорно управление.
ГЛABA 5
МИКРОПРОЦЕСОРНИ МОДУЛИ И УСТРОЙСТВА
5.1. ЕДНОПЛАТКОВА МИКРОПРОЦЕСОРНА СИСТЕМА
Системата (фиг. 5.1) е предназначена за първоначално изуча-
ване на работата с микропроцесорната фамилия СМ600, за управ-
ление на различии ЦАП, АЦП и др.
Минималната конфигурация, осигуряваща работата на микро-
процесорната система, се състои от:
— микропроцесор СМ601—1 бр.;
— периферен адаптер СМ602—1 бр.;
— памет RAM (256 byte) СМ8104—2 бр.;
— памет EPROM (1Kbyte) СМ7880—1 бр.;
— цифрова индикация
— клавиатура.
Едноплатковата микропроцесорна система може да се разши-
ри със:
— периферии адаптери СМ602—2 бр.;
— периферен адаптер СМ603—1 бр.;
— периферен адаптер СМ603 (за управление на цифров запис
върху касетофон)—1 бр.;
— памет RAM (1 Kbyte) CM 8102 с буферирани адресна маги-
страла и магистрала за данни—8 бр.
Едноплатковата микропроцесорна система позволява Да се
управляват различии електронни устройства с малка и средня
сложност и да се настройват програми за различен тип перифе-
рия. Освен това чрез куплунг са изведени буфериранн управлява-
щите линии, адресните линии и линиите за данни, което позволя-
ва разширяване на системата при необходимост.
За удобство при работа служебната мониторна програма и
периферните адаптери са на адреси от F000 до FFFF, а остана-
лите зони на адресното поле са свободни и могат да се изпол-
зуват от потребителя.
Схемата изисква захранващо напрежение +5V (<1,4 А). Габа-
ритите й са 340x200 mm.
236
Фиг. 5.1. Едноплаткова микропроцесорна система
5.2. МИКРОПРОЦЕСОРЕН МОДУЛ
Микропроцесорният модул (фиг. 5.2) е управляващ модул,
който съдържа микропроцесора заедно с буферите за магистра-
лите на системата, тактов генератор за двете фази Ф1 и Ф2, как-
то и цялата необходима логика за работа на системата с бавни и
Фиг. 5.2. Микропроцесорен модул и бутоина клавиатура
238
динамични памети и за организиране на канал за пряк достъп до
памет га и др.
Магистралата за данни е буферирана с ИС 1ЛП6880. Посо-
ката на информацията през буферите за данни се управлява от
сигнала R/W. Предвидена е възможност за забрана на тези буфе-
ри в следните случаи:
— микропроцесорът е спрял вследствие на подаден към не-
го сигнал Halt;
— има подаден сигнал TSC за организираг е на канал за пряк
достъп до паметта;
— микропроцесорът е спрял вследствие на изпълнението на
инструкцията WAI.
Като адресни буфери се използуват ИС 1ЛП6887. Първич-
ният декодер е реализиран с NC SN7442. Цялото адресно поле
на микропроцесора е разделено на 8 зони по 8192 адреса. Вход-
ни сигнали за дешифратор ? са А13, А14 и AiS, а разрешение за
работата му се дава от VMA. Има също вторичен декодер за раз-
деляне на една зона от 8К на осем зони по 1К.
Тактовият генератор е кварцово стабилизиран и получената
честота се дели до необходимата за микропроцесора честота с
брояч SN7490 или SN7493.
Към микропроцесорния мод^л има разработен модул с бутон-
на клавиатура и цифрова индикациэ. Има и вграден модем за за-
пис на цифрова информация на касетофон.
5.3. МОДУЛ СТАТИЧНА ОПЕРАТИВНА ПАМЕТ RAM 4 Kbyte
Статичната памет RAM, показана на фиг. 5.3, е реализирана
с ИС СМ 8102 (1 Kbyteyl). Към нея от адресната магистрала
на микропроцесора се подават адресните линии АО-?АП пре? ед-
нопосочните б фери 1ЛПб887. Тези буфери са постоянно разре-
шенп, т.е. адресът постъпва към паметите непрекъснато. От управ-
ляв&шата магистрала постъпват сигналите CS, R/W и DBE. Маги-
стралата за данни чрез буферите 1ЛП6880 е свързана към паметта
RAM. С помощта на логически елементи в модула се синтезират
необходимите управляващи сигнали за масива памет като разре-
шение за запис WE и избор на схема CS. Същевременно б}ферите
за данни се разрешават само когато модулът е избран. В моду-
ла се използува декодер 7442, който се разрешава от CS и раз-
дели зоната на блокове по 1Kbyte. Към декодера е подведена и
линията А12, така че от разделените 8 К адреса да бъдат заети
само първите четири. Ако се свърже Ап (което се извършва
чрез вътрешно превключване), ще бъдат заети вторите 4 К адреси.
В модула е предвиден ключ, с който паметта може да се
установи само в режим четене.
239
Фиг. 5.3. Модул статична оперативна памет RAM. 4 Kbyte
5.4. МОДУЛ ПРОГРАМАТОР
Модулът програматор е показан на фиг. 5.4 и е съвместим
с магистралите на микропроцесорния модул. Адресните линии са
буферирани с еднопосочни буфери, а линиите за данни —с дву-
посочии. Освен това в модула има управляваща логика, чрез коя-
то се избират двата адаптера PIA, необхотми за работата на
програматора. В управляващата логика влизат също сигналите
R/W, DBE и CS. Чрез първия адаптер PIA се подава адресът на
програмираната памет EPROM, а чрез втория адаптер PIA — дан-
ните за запис и управляващите сигнали. Модулът изисква захран-
ващи напрежения + 5V, +12V и -12V. Необходимото напреже-
ние 26V за запис в паметта EPROM се получава в модула. За-
хранващите напрежения се -включват чрез траизисторни ключове.
Програмата, която обслужва модула, разпознава автоматично
240
какъв тип памет EPROM е поставен на цокъла -Г(2708 или 2716).
Поставянето и на двата типа памет EPROM едновременно е
недопустимо. Включването на захоанващите напрежения към из-
водите на паметта EPROM се извършва програмио, което позво-
Приложение на микропроцесорни
Фиг. 5.4. Модул програматор
241
лява безопасно да се поставят и свалят паметите EPROM. При
необходимост модулът може да се разшири много лесно за по-
големи памети EPROM.
Модулът има няколко светодиодни индикатора за контрол
по време иа записа и индикатор за неизправност.
Чрез програмното осигуряване на модула могат да се осъ-
ществят следните режими на работа:
— проверка за изтрита памет EPROM;
— запис на памет EPROM;
— проверка на записа;
— копиране на друга памет EPROM;
— въвеждане на данните за запис от касетофон.
5.5. МОДУЛ ЗА УПРАВЛЕНИЕ НА ЗУГМД
На фиг. 5.5 е показан модул за управление на ЗУГМД. То-
Фиг. 5.5. Модул за управление на ЗУГМД
242
зи модул е напълно съвместим по отношезие на трите магистра-
ли на микропроцесорния модул (адресна, управляваща и за данни).
Всички адресни линии и линии за данни са буферирани. С
управляваща логика се извършва дешифриране на модула на осем
адреси.
В модула се използува интегрален контролер за управление
на ЗУГМД — ИС МС6843. Модулът включва също управляваща
логика за мултиплексиране на управляващите сигнали и данните
от две ЗУГМД. Генераторът за ИС МС6843 е кварцово стабили-
зиран. Разделзнего на синхроимпулсите и данните се извършва
от специална електронна схема (разгледана в глава 3). За управ-
лението на две ЗУГМД входовете и изходите са буферирани с
транзистори с отворен колектор, позволяващи работа с лентов
кабел.
МоДулът е проектиран така, че с няколко изменения може
да управлява и мини-ЗУГМД. Разработеното програмно осигуря-
ване на модула също позволява ефектизно управление както на
ЗУГМД, така и на мини-ЗУГМД.
На базата на този модул и на съвместима с МДОС програ-
ма може да се изгради микропроцесорна система за развитие.
5.6. ВИДЕОТЕРМИНАЛ
Показаният на фиг. 5.6 видеотерминал е разрабогеи на две
платки. Едната платка съдържа бутоните на буквено-цифровите
символи и необходимата логика за свързването им в клавиатур-
на матрица. Втората платка съдържа цялото микропроцесорно
управление на видеотерминала. То включва микропроцесор, так-
тов генератор, оперативна памет, постояша памет със записана
в нея програма, контролер CRTC, видеодисплейна памет, знаков
генератор и др. Микропроцесорът обслужва клавиатурата посред-
ством адаптер PIA. Видеотерминалът има последователен интер-
фейс (реализиран чрез адаптер ACIA) за връзка с други системи.
За управление на телевизионен моштор видеотерминалът форми-
ра комплексен телевизионен сигнал според стандарта OIRT. Ос-
вен това този сигнал модллира високочестотните трептения от
вградения ВЧ генератор и така получезият сигнал се излъчва за
приемане от телевизионен приемник. За обслужването на видео-
терминала е разработена специална програма.
243
Фиг. 5.6. Видеотерминал
244
ПРИЛОЖЕНИЕ
ЗНАЧЕНИЕ (НА АНГЛИЙСКИ И БЪЛГАРСКИ) НА ПО-ВАЖНИТЕ
ИЗПОЛЗУВАНИ СЪКРАЩЕНИЯ В ОЗНАЧЕНИЯТА НА СИГНАЛИ,
ИЗВОДИ, ЛИНИИ, БЛОКОВЕ И ДР.
А —Address — Адрес
АСС — Accumulator — Акумулатор
ACIA —Asyncronous Communication Interface Adapter — Асинхронен последо-
вателен интерфейсеи адаптер
ALU — Aritmetic-Logic Unit — Аритметично-логическо устройство
ASCII —American Standart Code for Information Interchange — Американски
стандартен код за обмен на информация
В — Bit — Бит
ВА —Bus Available — Достъпна магистрала
BL — Block — Блокировка
С — Carry — Пренос (заем)
С — Control — Управление
CAS — Column Address Strobe — Стробиращ сигнал за адреса на колона
CR —Control Register — Управляващ регистър
CR — Cursor—Показалец
CCR —Condition Codes Register — Регистър на кода на условията
CCR — CRC Control Register — Управляващ регистър за контролния цикличен
код
СЕ —Chip Enable — Разрешение на чнп (схема)
CLK — Clock — Синхроимпулс
о MR — Command Register — Регистър на командите
CRTC —Cathode Ray Tube Controller — Контролер за електроннолъчева тръба
CS — Chip Select — Избор на чип (схема)
CTAR — Current Track Address Register — Регистър, указващ номера на пъте-
ката, на която се намира главата за четене (запис)
CTRL — Control — Управление (контрол)
CTS — Clear-to-Send — Свободно за предаване
D — Data — Данни (информация)
DBE — Data Bus Enable — Разрешение на магистралата за данни
DCD — Data Carrier Detect — Открит носител на информация
DCK — Data Clock — Тактова честота за данните
DDR — Data Direction Register — Регистър за посока на данните
DE — Display Enable — Разрешение иа изображението
DE — Driver Enable — Разрешен предавател
DI — Data In — Входни данни
DIR — Data Input Register — Регистър за входни данни
DMA — Direct Memory Access — Пряк достъп до паметта
DO — Data Out — Изходни данни
DOR — Data Output Register — Регистър за изходни данни
Е — Enable — Разрешение
EPROM— Erasable Programmable ROM — Изтриваема програмируема памет ROM
FDC — Floppy Disk Controller — Контролер за ЗУГМД
FFR — Free Format Read — Четене в свободен формат
FFW — Free Format Write — Запис в свободен формат
|Ч — File Inoperable — Неизправност
245
FIR — File Inoperable Reset — Изчистване иа неизправност
OCR —General Count Register — Общ регистър за броене
GS —Group Signal — Трупов сигнал
H —Half Carry — Полупренос
HDR — Head Direction — Посока на движение на главата за четене/запис
HLD — Head Load — Притискане на главата за четене/запис
HSYNC — Horizontal Sync — Хоризонтален сннхоимпулс
I — Interrupt — Прекъсване
1DX — Index — Индекс
I/O —Input/Output — Вход/Изход
IRQ — Interrupt Request — Заявка за прекъсване
ISR — Interrupt Status Register — Регистър, указващ причината за прекъоване
IX — Index Register — Индексен регистър
LCT — Low Current Track — Управление на тока за запис
LPSTB —Light Pen Strobe — Стробиращ импулс за светлинната писалка
LTAR —Logical Track Address Register—Регистър, указващ логически адрес на
главата за четене/запис
.МА —Memory Address — Адрес на паметта
МС — Memory Clock — Такт за паметта
МЕМ — Memory — Памет
MPU — Microprocessor Unit — Микропроцесор
MR — Memory Ready — Готовност на паметта
MS —Modul Select — Избор на модул
MSR .— Multi Sector Read — Многосекторно четене
MSW — Multi-Sector Write — Многосекторен запис
N — Negative — Отрицателно число
NMI —Non- Maskable Interrupt — Немаскируемо прекъсване
NMOS — N-Channel MOS — канална MOS технология
OD -—Output Driver — Изход на предаватели
OE — Output Enable — Разрешен изход
OR —Output Register — Изходен регистър
PC — Program Counter — Брояч на командите
PIA — Peripherial Interface Adapter — Периферен интерфейсен адаптер
RA — Row Address — Адрес на ред
RAM — Random Access Memory — Памет с произволен достъп
RAS —Row Address Strobe—Стробиращ сигнал за адреса на реда
RCR — Read CRC — Четене на цикличен CRC код
RDR — Receive Data Register — Регистър за получавани данни
RDT — Read Data — Прочетенн данни
RDY —Ready — Готовност
RE — Receiver Enable — Разрешен приемник
REF — Refresh Request — Заявка за опресняване
RES — Reset — Начално установяване
RG — Refresh Grant — Разрешено опресняване
ROM —Read Only Memory — Памет само за четене, постоянна памет
RPT — Repeat — Повторение
RS — Register Select — Избор на регистър
RTS — Request-to-Send — Заявка за предаване
R/W — Read/Write — Четене/запис
SAR — Sector Address Register — Регистър, указващ номера на сектора
SEK — Seek — Търсене
SH — Shift — Изместване (Регистър на клавиатура)
SP —Stack Pointer — Стеков покаэалец
SR — Status Register — Регистър на състоянието
SSDA — Serial Synchronous Data Adapter — Синхронен последователен интер-
фейссн адаптер
SSR — Single Sector Read — Едносекторно четене
SSW —Single Sector Write'—Едносекторен запис
STRA — Status Register A — Регистър А, указващ състоянията на контролера
246
STRB — Status Register В — Регистър В, указващ състоянията на контролера
STP — Step — Стъпка
STZ — Seek Track Zero — Търсене на нулева пътека
SWD —Single Sector Write with Delete Data Mark — Едносекторен запис с из-
трита марка данни
SYN — Syncronisation — Синхронизация, синхроимпулси
TDR —Transmit Data Register — Регистър за предавани данни
TRZ — Track Zero — Нулева пътека
Т5С — Three Stata Control — Управление на трето (високоимпедансно) състояние
V 'II — Overflow — Препълване
VMA' — Valid Memory Address — Действителен адрес на паметта
VSYNC—Vertical Sync — Вертикален синхроимпулс
WDT —Write Data—Данни за запис
WE — Write Enable — Разрешен запис
WGT —Write Gate — Управление на режим запис
WPT —Write Protect — Защита на записа
Z — Zero — Нулев бит
247
ЛИТЕРАТУРА
1. Б а л а ш о в, Е., Д. Пузанков. Микропроцессоры и микропроцессор-
ные системы. М., Радио и связь, 1981.
2. Б е д р е к о в с к и й. М., В. Волга, Н. Кручинкин. Микропроцессо-
ры. М., Радио и связь, 1981.
3. Борисов, В., А. Васенков, Б. Малашевич и др. Микропроцес-
сорные комплекты интегральных схем. М., Радио и связь, 1982.
4. Воровски, Б., В. Ч илов, П. Мартинов. Микропроцесори —
устройство и приложения. С., Техника, 1978.
5. Б о я н о в, К., К. К и с и м о в, Л. Б о и ч е в, К. Я н е в, А. П е т к о в.
Сборник приложим схеми с микропроцесори. С., Техника, 1981.
6. Вайда, Ф., А. Ча кань. Микро-ЭВМ. М., Энергия, 1980.
7. Васенков. А., Н. В о р о в ь е в, В. Д ш х у н я н и др. Микропроцес-
сорные БИС и микро-ЭВМ. М., Советское радио, 1980.
8. Гарет П. Аналоговые устройства для микропроцессоров и мини-ЭВМ.
М., Мир, 1981.
9 Грогоно, П. Программирование на языке Паскаль. М., Мир, 1982.
10. Дирксена, А. Микро-ЭВМ. М., Энергоиздат, 1982.
11. Железо в, Ж., 3. Александрова, С. Христова, Е. К а ш ъ-
мов. Микропроцесорни системи в организационната техника. С., Техника, 1981.
12. Закс, Р. Микропроцесори — от чипове до системи. С., Техника, 1980.
13. К а г а н, Б., В. Сташин. Микропроцессоры в цифровых системах.
М., Мир, 1979.
14. К л и н г м а н, Э. Проектирование микропроцессорных систем. М„
Мир, 1980. Д4
15. Коффрон, Д. Технические средсГва микропроцессорных систем.
М., Мир, 1983.
16. Колин, Е. Програмиране за микропроцесори. С., Техника, 1982.
17. Левентал, Л. Въведение в микропроцесорите. С., Техника, 1982.
18. Липьят, А. Архитектура малых вычислительных систем. М.,
Мир, 1981. 1
19.. Макглин, Д. Микропроцессоры — технология, архитектура и приме-
нение. М., Энергия, 1979.
20. Мейзда, Ф. Интегральные схемы — технология и применение,
М„ Мир, 1981.
21. М о р и с у з, М„ Т. Е с и к а в а. Микро-ЭВМ за три дня. М., Мир, 1981.
22. Н и к и т ю к, Н. Микропроцессоры и микро-ЭВМ — применение в прибо-
ростроении и в научных исследованиях. М., Энергоиздат, 1981.
23. Прангашвили, И. Микропроцессоры и микро-ЭВМ. М., Энер-
гия, 1979.
24. С об о т к а, 3., Я. С т а р ы. Микропроцессорные системы. М., Мир, 1981.
25. С о у ч е к, Б. Микропроцессоры и микро-ЭВМ. М., Советское радио, 1979.
26. Томов, И., С. Марков, 3. Александрова, А. А л е к с а к-
дров. Приложения на микропроцесорите в системите за автоматично управле-
ние. С., Техника, 1979. -й
27. Точи, Р., Л. Ласковски. Микропроцесори и микрокомпютри — апа-
ратно и програмно осигуряване. С., Техника, 1982.
28. Ф р и б е л ь, В., X. Р о л о ф, X. Шиллер, X. Ф о г т. Программирова-
ние микропроцессоров. М., Энергоиздат, 1982.
29. Хилбурн, Д„ П. Дж улич. Микпо-ЭВМ и микропроцессоры. М.,
Мир, 1979.
30. Якубовский, С., Н. Барканов, Б. Кудряшов. Аналоговые и
цифровые интегральные схемы. М„ Советское радио, 1979.
СЪДЪРЖАНИЕ
Предговор ............................................................ 5
Глава 1. Въведение.....................................................5
I 1. Области на приложение на микропроцесорите..................... 6
1 2 Характеристики на микропроцесорите ............................ 7
1.3. Класификация на микропроцесорите.............................. 7
1 4 Основна блокова схема на микропроцесорна система .............. 8
Глава 2. Организиране на микропроцесорна система.......................11
2 1. Основни елементи иа микропроцесорната фамилия М680Э..........11
2.1.1. Централен процесор (MPU) МС6800 ........................ 11
2.1.2. Периферен интерфейсен адаптер (PIA) МС6820 ............. 24
2.1.3. Асинхронен последователен интерфейсен адаптер (ACIA) МС6850 30
2 2. Минимална микропроцесорна конфигурация....................37
2.3. Модулна организация...........................................41
2.4. Магистрална организация.......................................42
2 5. Декодиране на адресното поле..................................44
2.5.1. Първично декодиране на адресното поле....................44
2.5.2. Вътрешномодулно декодиране на адресното поле.............46
2.5.3. Непълно декодиране на адресното поле.....................47
2.5.4. Комбинирано декодиране па адресното поле.................47
2.6 буфериране на магистралите ...................................47
2.6.1. Буфериране на адресната магистрала.......................50
2 6.2. Буфериране на информационната магистрала..............51
2.6.3. Буфериране на управляващата магистрала...................53
2.7 . Изграждане на микропроцесорна система........................53
2.7.1. Микропроцесорен модул....................................53
2.7.2. Организиране на статична оперативна памет..........61
2.7.3. Организиране на динамична оперативна памет..........66
2.7 4. Организиране на постоянна памег..................76
2.7.5. Периферии модули....................................... 70
Глава 3. Въвеждане, извеждане и съхраняване на цифрова и аналогова
информация ...........................................................85
3 1. Управление на цифрова индикация...............................85
? 2. Управление на клавиатура......................................85
3 3. Управление и интерфейси за печатащи устройства................94
3.3.1. Телетайпен интерфейс.....................................98
3 3.2. Управление на входно-изходно печатащо устройство ИЗОТ 0232 98
3.3.3. Управление на печатащо устройство ЦПУ-310................98
3 4. Съхраняване на информация върху магнитна лента за звукозапис . .118
3 5 Изобразяване на буквено-цифрова и графична информация на електрон-
нолъчева тръба (видеодисплей) ....................................126
3.5.1. Изобразяване на буквено-цифрова информация..............126
3.5.2. Контролер за телевизионен приемник, използуван като електрон-
нолъчев дисплей .............................................. 128
3.5 3. Изобразяване на информация върху растерев видеодисплей . . .131
3.5.4. Графичен дисплей с електроннолъчева тръба с електромагннтно
отклонение .....................................................М2
249
3.6. Съхранение на цифрова информация в запомиящи устройства с гъв-
кав магнитен диск.................................................148
3.6.1. Основни сведения .......................................148
3.6.2. Основни технически данни и действие на ЗУГМД............150
3 6 3. Формат IBM 3740 за запис на данни в ЗУГМД............160
3.6.4. Управляващо устройство за ЗУГМД....................... 164
3.6.5. Интегрална схема МС6483 за управление на ЗУГМД..........166
3.7. Въвеждане и извеждане на аналогова информация в микропроцесорнн-
те системи........................................................181
3.7.1. Основни параметри и принципи на организацията на многокаиал-
ни аналогово-цифрови преобразуватели (МАЦП)....................181
3.7.2. Връзка между честотната лента на входния сигнал н бързодей-
ствието, разредността и максималното входио напрежение на АЦП . . 186
3.7.3. Параметри на аналоговите мултиплексори..................189
3.7.4. Параметри на блоковете следене/запомняне................190
3.7.5. Разрешаваща способност и грешка от дискретизация на АЦП . 191
3.7.6. Извеждане на аиалогова информация от МПС................192
3.7.7. Схема на 8-канален АЦП..................................194
Глава 4. Подготовка за работа и иастройване на електронни устрой-
ства с микропроцесорно управление...................................198
4.1. Система инструкции за централния процесор МС6800 ........... 198
4.2. Използуване и програмиране на енергонезависими полупроводникови
памети EPROM. Програматори........................................215
4.3. Настройка и диагностика на електронни устройства с микропроцесорно
управление ...................................................... 225
Глава 5. Микропроцесорни модули и устройства...................236
5.1. Едноплаткова микропроцесорна система . . . .'................236
5.2. Микропроцесорен модул........................................238
5.3. Модул статична оперативна памет RAM 4 Kbyte..................239
5.4. Модул програматор............................................240
5.5. Модул за управление на ЗУГМД.................................242
5.6. Видеотерминал................................................244
Приложение.................................................... 245
Литература ................................................... 248
250
ПРИЛОЖЕНИЕ НА МИКРОПРОЦЕСОРНИ СИСТЕМИ
В ЕЛЕКТРОННИ УСТРОЙСТВА
АВТОРИ: ПРОФ. К. Ф. М. Н. БАСИЛ КРЪСТЕВ ЗЛАТ/РОВ
К. Т. Н. ИНЖ. РАЧО МАРИНОВ ИВАНОВ
К. Т. Н. ИНЖ. ГЕОРГИ СЛАВЧЕВ МИХОВ
РЕЦЕНЗЕНТИ: ст. н. с. к. т. н. инж. ИВАН АСЕНОВ ДОЦИНСКИ
ст. н. с. к. ф. м. н. ИНЖ. МАРИЯ ИЛИЕВА ДИМИТРОВА
проф. д.т.н ьнж. ЮЛИАН ПЪРВОВ МАРИНОВ
Българска
Първо издание
Изд. № 13549
Научен редактор инж. Илия Асенов Иваю)
Художник Анжела Л'ачкова
Худ.-редактор: Слав Даскалов
Технически редактор Цветана Шаркова
Коректорн; Ек, Eectnatnueea, Б. Божанова
Дадена за набор на 31. I, 1984 г.
Подписана за лечат на 25» V. 1984 г.
Излязла от печат на 28. V. 1984 г.
Формат 16|60|90
Печатни коли 15,75
Изд. коли 15,75
УИК 17,04
Тираж 8,0004-107
Цена 2,28 лв.
Державно нэдателство „Техника*—бул, Рускн 6, София
Державна печатнииа „Ат, Стратиев*, Хасково