Підключення модуля пам'яті до мікропроцессора
Зміст
Вступ
1. Розробка схеми пристрою
1.1 Опис схеми
1.2 Вибір елементів схеми
2. Розробка програми
2.1 Загальні відомості про мову асемблера
2.2 Розробка програми на асемблері
Висновки
Література
Вступ
Для короткочасного збереження невеликих об’ємів кодових слів звичайно використовують регістри. За необхідності тривалого збереження або збереження великих об’ємів інформації застосовують запам’ятовувальні пристрої (ЗП), виконані на спеціалізованих IC. Застосування ЗП, що використовують IC, дає змогу максимально спростити апаратну частину електронних пристроїв.
За виконуваними функціями ЗП можна класифікувати так: оперативні запам’ятовувальні пристрої (ОЗП) і постійні запам’ятовувальні пристрої (ПЗП).
До оперативних належать ЗП, що використовують для збереження інформації, одержуваної в процесі роботи пристрою, і забезпечують порівняння часу їх зчитування та запису.
Для реалізації оперативної памяті застосовують мікросхеми статичних і динамічних ОЗП: перші – для ОЗП порівняно невеликої ємності, другі – для ОЗП ємністю більше ніж 10 Кбайт, оскільки вони вбільшому ступені задовольняють вимоги щодо габаритів, енергоспоживання і вартості запам’ятовувальних пристроїв.
У статичних ОЗП записана інформація постійно зберігається у виділеному для неї місці і не руйнується при її зчитуванні. Руйнування інформації можливе тільки у разі її примусового стирання або вимкнення напруги джерела живлення.
У динамічних ОЗП інформація постійно циркулює в масиві, відведеному для її збереження. При цьому зчитування інформації супроводжується її руйнуванням. Для збереження інформації її потрібно перезаписати заново.
Мікросхеми статичних ОЗП простіші в застосуванні, тому в багатьох випадках їм віддають перевагу.
Мікросхеми памяті для побудови ОЗП мікро-ЕОМ або мікропроцесорного контролера вибирають виходячи з таких даних: необхідна інформаційна ємність і організація пам’яті, швидкодія (час циклу звертання для запису або зчитування), тип магістралі (інтерфейсу), характеристики ліній магістралі (навантажувальна здатність за струмом і ємністю, вимоги до пристроїв введення-виведення вузлів, що підключаються, тощо), вимоги до енергоспоживання, потреба у забезпеченні електричної незалежності, умови експлуатації, конструктивні вимоги.
Блок ОЗП у загальному випадку включає модуль ОЗП, складений з мікросхеми пам’яті, контролер ОЗП (пристірій керування), буферні або магістральні регістри, приймально-передавальні пристрої, шинні формівники, що забезпечують з’єднання за навантаженням модуля ОЗП із шинами адреси і даних.
Значний вплив на схему і характеристики контролера і пристроїв з’єднання справляє тип інтерфейсу в певній мікропроцесорній системі.
Фізичний інтерфейс є уніфікованою магістраллю з функціонально об’єднаними лініями, по яких передають коди адреси (шина адреси - ША), дані (шина даних - ШД), сигнали керування (шина керування - ШК), а також електроживлення. Прикладом можуть бути інтерфейси таких типів: ІК1 (для пристроїв на мікропроцесорі К580ВМ80), 141 (для пристроїв на основі 16-розрядного мікропроцесора К1810ВМ86, зокрема для мікро-ЕОМ сімї СМ1810), МПІ (для сімї 16-розрядних мікро-ЕОМ "Електроніка-60", "Електроніка НЦ-80" і ДВК, "Електроніка 35").
У мікросхемах пам’яті динамічного типу функції елемента пам’яті (ЕП) виконує електричний конденсатор, утворений всередині MОН-структури. Інформація надходить у вигляді заряду: наявність заряду на конденсаторі відповідає логічному "0", відсутність – логічній "1". Оскільки час збереження конденсатором заряду обмежений, передбачають періодичне відновлення (регенерацію) записаної інформації. У цьому полягає одна з відмінних рис динамічних ОЗП. Крім того, для них потрібна синзронізація, що забезпечує необхідну послідовність вмикань і вимикань функціональних вузлів.
Для виготовлення мікросхем динамічних ОЗП в основному застосовують n-MОН-технологію, що дає змогу підвищувати швидкодію і рівень інтеграції мікросхем, забезпечувати малі струми витоку і за цей рахунок збільшувати час збереження заряду на запам’ятовувальному конденсаторі.
Динамічні ОЗП мають такі переваги:
а) велика щільність. Динамічний запам’ятовуючий елемент (ЗЕ) можна реалізувати на трьох чи, навіть, на одному МОН-транзисторі. В зв’язку з цим на подкладці розміщується більша кількість ЗЕ, таким чином, зменшується кількість ВІС в модулі пам’яті;
б) менше споживання енергії і потужності. Динамічний ЗЕ не споживає струм, за виключенням тих відносно коротких відрізків часу, коли він працює;
в) економічність. Вартість динамічних ОЗП менша, ніж статичних. Це зумовлено тим, що динамічні ОЗП потребують більш складної схеми управління, вони використовуються тільки при організації більших об’ємів пам’яті. При малих об’ємах пам’яті застосування їх невигідне. ВІС динамічної ОЗП організована в матрицю рядків і стовпців ЗЕ. Найпростіший елемент складається з одного транзистора і однієї ємності. Зберігання одиниці чи нуля визначається наявністю чи відсутністю заряду на ємності ;
г) відсутнє джерело живлення запамятовуючих комірок.
Мета цього курсового проекту навчитися складати модулі пам'яті, та підключати їх до мікропроцесора відповідно до типу. Та скласти программу на мові програмування assembler.
1. Розробка схеми пристрою
1.1 Опис схеми
У мікросхемах пам’яті динамічного типу функції ЕП виконує електричний конденсатор, утворений усередині МДН-структури. Інформація надходить у вигляді заряду: наявність заряду на конденсатор відповідає логічному ‘0’, відсутність – логічній ‘1’. Оскільки час збереження конденсатором заряду обмежений, передбачають періодичне відновлення (регенерацію) записаної інформації. У цьому полягає одна з відмінних рис динамічних ОЗП. Крім того, для них потрібна синхронізація, що забезпечує необхідну послідовність вмикань і вимикань функціональних вузлів.
В моєму курсовому проекті мені треба використовувати мікросхему К565РУ5Б. Модуль пам’яті DD1…DD8 побудований на мікросхемах К565РУ5Б шляхом з’єднання їх одноіменних виводів, крім інформаційних. Сигнали RAS i CAS формує контролер ОЗП CLM, сигнал MWTC із шини керування подається на вхід W/R.
З’єднання з шиною даних реалізується за допомогою шинного формувача DD9 (К580ВА86), котрий керується сигналом MRDC контролером ОЗП CLM.
Мультиплексор DD10…DD12 забезпечує послідовне за часом введення адресного коду рядків Ах (А6-А11) у модуль ОЗП. Адресні сигнали надходять на входи К1, К2 і К5, К6 мультиплексорних систем і комутуються на виходи під керуванням сигналу на вході А(Ау-Ах) за наявності на іншому керуючому вході В(RЕF) рівня ‘0’. Умови комутації адресних сигналів такі: при Ау/Ах = 0 до виходів підключаються канали К1, К5 і отже, на адресні входи ОЗП надходять адреси рядків Ах, при Ау/Ах = 1 до виходів підключаються канали К2,К6 і до ОЗП спрямовується код адреси стовпців Ау.
Сигнали керування (RЕF – ознака режиму регенерації і Ау/Ах – сигнал мультиплексування каналів) виробляє контролер.
У режимі регенерації RЕF = 1 і мультиплексор комутує на виходи при зміні Ау/Ах канали К3, К4 і К7, К8. Проте через те, що зазначені канали попарно з’єднані, то на результат комутації сигнал Ау/Ах не впливає: за будь-яких його значень на виходи мультиплексора надходять адреси регенерації АR, що виробляються лічильником контролера. Ці сигнали адресують тільки рядки, сигналів адреси стовпців у цьому режимі на адресних входах немає.
Контролер динамічного ОЗП має вузол формування сигналів керування модулем ОЗП та мультиплексором адреси і вузол формування 8-розрядного адресного коду регенерації АR0 – АR5.
У кінці циклу звертання до ОЗП контролер формує сигнал регенерації RЕF= 1. За відсутності звертання до ОЗП (МRDС = 1, МWТС = 1) або за наявності сигналу заборони ІNHI = 0 блок ОЗП працює тільки в режимі регенерації. З кожним тактом Ф2 контролер формує сигнали RAS, RЕF і код адреси чергового рядка і ініціює роботу модуля пам’яті за циклом регенерації. Процес регенерації припиняється при звертанні мікропроцесора до ОЗП, і контролер обробляє вимогу мікропроцесора. У кінці циклу звертання контролер переводить блок ОЗП у режим регенерації, продовжуючи цей процес з адреси, на якій він був перерваний. Тактові сигнали виробляє генератор тактових імпульсів DD16 (КР580ГФ24). В схемі використовується мікропроцесор DD15 (КР580ВМ80А).
1.2 Вибір елементів схеми
В якості ЦП використовується КР580ВМ80А
Умовне позначення мікросхеми наведено на рис. 1.2
Рисунок 1.1 – Умовне позначення КР580ВМ80А
Призначення виводів наступне:
A0-А15 - адресні шини мікросхеми;
GND- спільний;
Uio- напруга зміщення джерела - 5В;
C1, C2-вихід, тактові сигнали;
Ucc1-напруга живлення +5В;
Ucc2-напруга живлення +12В;
D0 – D7 – шини даних;
SR (установка) - переведення процесора у вихідний стан. Виконання програми починається з нульової адреси;
SYNC - сигнал синхронізації, що визначає початок кожного машинного циклу команди;
C1, C2 - входи двох послідовностей синхросигналів, що не перекриваються.
WAIT (чекання) - сигнал, який чекає процесор, коли зовнішній пристрій або пам'ять будуть готовий до обміну;
RDY (готовність) - вхідний сигнал, вказуючий, що зовнішній пристрій готовий до обміну. Разом з сигналом WAIT дозволяє синхронізувати обмін з пристроями низької швидкодії або організувати покроковий, командний режим роботи (при відладці) і останов за необхідною адресою;
WR - вихід сигналу низького активного рівня, вказуючого, що мікропроцесор видав дані на шину D7...D0. Використовується для управління записом інформації в пам'ять або в зовнішній пристрій;
DBIN - сигнал дозволу прийому інформації на шину даних D7...D0 з пам'яті або зовнішніх пристроїв;
INT - вхідний сигнал запиту переривання роботи процесора, що поступає від зовнішніх пристроїв;
INTE - вихідний сигнал дозволу переривання високого рівня, вказуючий, що процесор готовий до обміну (може прийняти запит переривання). Після переходу до обслуговування переривання на виході встановлюється сигнал низького рівня і запити переривання не сприймаються;
HLD - вхідний сигнал запиту на захват шин D7...D0, А15...А0 з боку зовнішніх пристроїв. Процесор переходить в стан "ЗАХВАТ", і системна шина може використовуватися зовнішніми пристроями;
HLDA - вихідний сигнал підтвердження захвату шин. Є ознакою допуску зовнішнього пристрою до шин даних і адреси системи.
Процесор містив 4500 транзисторів за технологією 6 мкм n-МДП (дані для i8080, але для КР580ВМ80А ймовірно мають бути аналогічними).Штатна тактова частота для процесора КР580ВМ80А — до 2,5 МГц (теоретично дозволяв працювати на вищій частоті). Кожна команда виконується за 1..5 машинних циклів, кожен з яких складається з 3..5 тактів. Таким чином середня продуктивність оцінюється на рівні 200..300 тис. оп/c на частоті 2 МГц.
Мікропроцесор мав роздільні 16-розрядну шину адреси і 8-розрядну шину даних. 16-розрядна шина адреси забезпечує пряму адресацію зовнішньої пам'яті об'ємом до 64 Кбайт і 256 пристроїв введення/виводу.
Для зберігання тих, що беруть участь в операціях даних передбачено 7-8-розрядних регістрів. Регістр А, званий акумулятором, призначений для обміну інформацією із зовнішніми пристроями, при виконанні арифметичних, логічних операцій він служить джерелом операнда, в нього поміщається результат виконаної операції. Шість інших регістрів, позначених B, C, D, E, H, L, утворюють так званий блок регістрів загального призначення (ЗП). Ці регістри можуть використовуватися як одиночні 8-розрядні регістри. У випадках, коли виникає необхідність зберігати 16-розрядні двійкові числа, вони об'єднуються в пари BC, DE, HL.
Покажчик стека служить для адресації особливого вигляду пам'яті, званого стеком в якому зберігаються адреси повернення до перерваних підпрограм.
Рисунок 1.2 - Структурна схема КР580ВМ80А
Лічильник команд (адреси) вказує адресу, де знаходитися в пам'яті черговий байт команди.
У 8-розрядному АЛП передбачена можливість виконання чотирьох арифметичних операцій, чотирьох видів логічних, а також чотирьох видів циклічного зсуву. При виконанні цих операцій одним з операндів служить вміст акумулятора і результат операції поміщається в акумулятор. Циклічне зрушення виконується лише над вмістом акумулятора. Передбачена можливість виконання арифметичних операцій над десятковими числами.
Регістр команд. У нього поступає перший байт команди що містить код операції.
Буфери даних і буфери адреси забезпечують зв'язок центрального процесора із зовнішніми шинами даних і адреси. Використання буферів з трьома станами дозволяє процесору відключатися від зовнішніх шин, надаючи їх в розпорядження зовнішніх пристроїв, а також дозволяє використовувати одну і ту ж шину як для прийому даних так і для передачі.
Мікросхема КР580ГФ24 (рисунок 1.3) – генератор тактових імпульсів (ГТІ) сигналів фаз С1, С2, призначений для синхронізації роботи МП КР580ВМ80А.
Рисунок 1.3 – Умовне позначення ГТІ
Генератор формує: дві фази С1, С2 з позитивними імпульсами, зсунутими в часі, амплітудою 12 В і частотою 0,5-3,0 МГц; тактові сигнали опорної частоти амплітудою напруги рівня ТТЛ; стробуючий сигнал стану STB тривалістю не менше (Т>оп>/9-15 нс), де Т>оп> – період тактових сигналів опорної частоти; тактові сигнали С, синхронні з фазою С2, амплітудою напруги рівня ТТЛ.
Генератор синхронізує сигнали RDYIN і RESIN з фазою С2.
ГТІ складається з генератора опорної частоти, лічильника-дільника на 9, формувача фаз С1, С2 і логічних схем. Для стабілізації тактових сигналів опорної частоти до входів ХТАL1, ХТАL2 генератора підключають резонатор, частоти якого повинна бути в 9 раз більше частоти вихідних сигналів С1, С2.
Призначення виводів ГТІ:
SR – установка в початковий стан МП і системи;
RЕSІN – установка 0;
RDYIN – сигнал "готовність";
RDY – сигнал "готовність"(вихід);
SYN – сигнал синхронізації;
С – тактовий сигнал, синхронізуючий з фазою С2;
SТВ – стробуючий сигнал стану;
GND - загальний;
U>CC2 >- напруга живлення +12 В;
С2 – тактові сигнали – фаза С2;
С1 - тактові сигнали – фаза С1;
OSC – тактові сигнали опорної частоти;
TANK – вивід для підключення коливального контура;
ХТАL1,ХТАL2 – виводи для підключення резонатора;
U>CC1> – напруга джерела + 5 В.
Мікросхема К155КП2 являє собою здвоєний селектор-мультиплексор 4-1 зі спільними входами вибірки даних і роздільними входами стробування.
Призначення виводів К155КП2:
A,B – вхід вибірки розряду;
K1,K2,K3,K4,K5,K6,K7,K8 – адресні входи;
A>0>,A>1 >- адресні виходи;
Рисунок 1.4 – Умовне позначення К155КП2
Мікросхема КР580ВА86 це двонаправлений 8-розрядний шинний формувач, призначений для обміну даними між мікропроцесором і системою шин. Мікросхема складається з восьми однакових функціональних блоків і схеми управління. За допомогою блоку управління виконується дозвіл передачі (управління 3-м станом виходу) і вибір напрямку передачі.
Призначення виводів КР580ВА86:
A0-A7 – інформаційна шина;
B0-B7 – інформаційна шина;
CE – вибір кристалу;
OE - вибір напрямку передачі;
U -напруга живлення +5В;
GND - загальний;
Рисунок 1.5 – Умовне позначення КР580ВА86
Мікросхема К565РУ5Б - елемент пам’яті організований в матрицю рядків і стовпців. DI i DO – інформаційні входи і виходи, W/R – вхід керування читанням/записом, А7-А0 – адресні входи, RAS – вхід вибірки рядка, CAS – вхід вибірки стовця.
Спочатку на адресні входи подаються молодші сім розрядів повної адреси, які запам’ятовуються в внутрішньому адресному регістрі по сигналу RAS , потім на ці лінії подаються старші сім розрядів адреси, які запам’ятовуються по сигналу CAS. Сигнал WE виконує функцію читання/запису.
Призначення виводів мікросхеми КР565РУ5:
А0-А11 - адресні входи;
CАS - строб адреси рядків;
RAS - строб адреси стовпців;
WR/RD - сигнал запису/зчитування;
D0,DІ - інформаційні входи;
Рисунок 1.6 - Умовне позначення КР565РУ6
Контролер динамічного ОЗП має вузол формування сигналів керування модулем ОЗП та мультиплексором адреси, і вузол формування 8-розрядного адресного коду регенерації Ar0 – Ar5
Рисунок 1.7 – Контролер динамічного ОЗП CLM
Контролер динамічного ОЗП має вузол DD1-DD5 формування сигналів керування модулем ОЗП та мультиплексором адреси і вузол DD6, DD7 формування 8-розрядного адресного коду регенерації Ar0 – Ar7. Вихідні сигнали генераторної мікросхеми КР580ГФ24 формують OSC з частотою 18МГц і Ф2 з періодом 0,5 мкс. Вихідними для контролера є також сигнали MWTC, MRDC, INH2, що надходять із шини керування.
Сигнали керування мультиплексором формують регістр DD1 і схему керування режимом звертання до модуля ОЗП на елементах DD2, DD3. У разі звертання до ОЗП на виході DD3.1 з'являється 1, що по попередньому фронту Ф2записуеться в DD2.1 і з’являється на виході цього тригера. Другий тригер DD2.2 зберігає свій стан "0" маючи на iнверсному виходi "1". Тому вихід DD3.4 переходить у стан "0" і забезпечує REF = 0, за якого мультиплексор комутує на адресні входи ОЗП адреси рядків Аx і стовпців Ау. Введення цих адрес у мікросхему здійснюють сигнали RAS і CAS, які формують регістр DD1 і додаткові логічні елементи DD4.1, DD5.1 так, щоб була виконана вимога зсуву в часі сигналу CAS відносно RAS. Одночасно із зазначеними сигналами в режимі звертання формуються сигнали СЕ = 1 і OE = О (при MRTC = 0), що забезпечують обмін модуля ОЗП із шиною через шинний формувач для запису в ОЗП (СЕ = 1, ОЕ = 1 і вихід вимкнений) і зчитування з ОЗП (СЕ = 1, ОЕ = 0) інформації. У кінці циклу звертання до ОЗП контролер формує сигнал регенерації REF = 1, що через мультиплексор комутує виходи лічильника DD6, DD7 на адресні входи ОЗП й у такий спосіб забезпечує регенерацію інформації в ЕП рядка кожної мікросхеми пам'яті. Після закінчення сигналу REF лічильник адреси регенерації переходить у наступний стан і формує на своїх виходах адресу чергового рядка.
2. Розробка програми
2.1 Мова програмування Асемблер
Система команд МП складає 78 базових команд, які можуть бути розділені на п’ять груп: команди передачі даних(використовуються для передачі даних з регістра в регістр, з пам’яті в регістр з регістра в пам’ять); арифметичні команди(використовуються для додавання, віднімання, інкремента або декремента складового регістрів або комірки пам’яті); логічні команди І, АБО, виключаюче АБО, порівняння, зсуви; команди переходів (використовуються для умовних і безумовних переходів, виклику підпрограм і повернення до них), команди керування, вводу/виводу і роботи зі стеком (використовуються для керування перериванням, регістром ознак, вводу і виводу інформації).
В мікропроцесорі КР580ВМ80А прийнятий формат інформаційного слова, представляючого собою 8-розрядне двійкове слово (байт). Формат інформаційного слова (даних):
де D7 – старший розряд слова, D0 – молодший розряд слова. Від’ємні числа зберігаються в пам’яті в додатковому коді.
Операнди команд можуть зберігатись в програмно доступних регістрах МП або пам’яті. Для указання операнда в регістрі використовується регістрова і регістрова неявна адресація, для указання операнда в пам’яті – безпосередня, пряма, непряма регістрова і стекова адресація
Формат команди залежить від типа операції і може бути одно-, дво- або трьохбайтовим. Байти двох- і трьохбайтових команд ровинні зберігатись в комірках пам’яті, слідуючи одна за одною. Адреса першого байта – адреса кода операції (КОП). Формат команд МП зображено на рисунку 2.1.
Рисунок 2.1 – Формат команд МП.
2.2 Розробка програми на асемблері
Скласти програму додавання чотирибайтових чисел без знаку.
Нехай потрібно скласти два чотирибайтових числа, кожне з яких займає в ОП чотири комірки з послідовно наростаючими адресами; адреси молодших байтів першого і другого чисел зберігаються відповідно в парах регістрів BC і HL. Результат додавання необхідно помістити в пам’ять на місце другого доданку. Байти додаються, результат додавання розташовують в пам’ять на місце молодшого байту другого доданку; створений в процесі додавання перенос зі старшого розряду запам’ятовується в тригері Тс регістрі ознак. Потім в парах регістрів ВС і HL формується адреса других байтів доданків, котрі потім зчитуються в мікропроцесор і додаються разом з переносом котрий з’явився в результаті додавання перших байтів, який зберігається в тригері Tc, і так далі.
ANA A; Блок 1: Установка Tc 0
MVI D, 4; Блок 2: Підготовка лічільника
LDAX B; Блок 3: Завантаження вміст BC в акумулятор
CYCLE: ADC M; Блок 4: Додавання A, HL, Tc
MOV M, A; Блок 5: Завантаження вмісту A в M
DCR D; Блок 6: Декрементація вмісту D
JZ K1; Блок 7: Якщо вміст D = 0, здійснити перехід
INX B; Блок 8: Інкрементація регистрової пари BC
INX H; Блок 9: Інкрементація регистрової пари HL
JMP CYCLE; Безумовний перехід
K1:;Продовження програми
2.3 Програма в машинних кодах
Адреса |
Програма в машинному коді, H |
Мнекмокод |
0800 |
A6 |
ANA A |
0801 |
16 04 |
MVI D, 4 |
0803 |
0A |
LDAX B |
0804 |
8E |
ADC M |
0805 |
77 |
MOV M, A |
0806 |
15 |
DCR D |
0807 |
CA 1508 |
JZ K1 |
0810 |
03 |
INX B |
0811 |
23 |
INX H |
0812 |
C3 0408 |
JMP CYCLE |
Висновки
В ході даного курсового проекту була розроблена схема підключення блоку динамічного ОЗП ємністю 4 Кбайт для 8-розрядних МПК до мультиплексора коду адреси.
Також у проекті була розроблена програма додавання чотирибайтових чисел без знаку.
В ході виконання курсового проекту були закріпленні знання, отримані при вивченні предмету "Мікропроцесорні системи".
Література
1. Бойко В.І., Гуржій А.М. Схемотехніка електронних систем. У 3-х кн. Кн.2 Мікропроцесори та мікроконтролери., 2004. – 424с.
2. Преснухин Л.Н. Архитектура и проектирование микро-ЭВМ. Организация вычислительных процессов. В 3 кн. – кн.1 – М.: высшая школа, 1988. – 495с.
3. Шахнов В.А. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник в 2 т. – Т1. – М.: Радио и связь, 1988. – 368с.
4. Шахнов В.А. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник в 2 т.- Т2 – М.: Радио и связь, 1988. – 368с.
5. Якубовский С.В., Ниссельсон Л.И. Цифровые и аналоговые интегральные микросхемы: Справочник. – М.: Радио и связь, 1990. – 496 с.