Програмне забезпечення та його розробка для управління мікро ЕОМ на базі сучасного МК RISE-архітекткри

Автор работы: Пользователь скрыл имя, 28 Февраля 2015 в 02:16, курсовая работа

Краткое описание

В даній курсовій роботі буде розроблений тип мікропроцесорної системи– мікроконтролер. Буде розглянуто склад мікроконтролера, та актуальність цього пристрою.
Метою курсової роботи є розробка мікроЕОМ на основі мікропроцесора І8086 для керування пристроєм хімічної обробки друкованих плат.

Содержание

Вступ…………………………………………………………………………….4
1.Характеристика задачі на курсову роботу……………………………….…6
1.1 Постановка задачі на курсову роботу……………………………………..6
1.2 Розробка схеми пристрою…………………………………………………8
1.3 Вимоги до алгоритму розв’язку задачі……………………………………9
1.4 Архітектура мікропроцесора...…………………………………………...13
1.5. Розробка функціональної схеми пристрою……………………………..18
1.5.1. Розробка модуля центрального процесора …………………………..18
1.5.2. Опис функціональної схеми мікропроцесорного модуля….………..20
1.5.3. Розробка функціональної схеми блоку введення/виведення..………20
2. Реалізація алгоритму...……………………………………………………..22
2.1. Побудова блок-схеми алгоритму……………………………………...22
2.2 Аналіз ефективності алгоритму…………………………………………23
3. Опис програмного забезпечення…………………………………………25
3.1.Вибір мови програмування……………………………………………...25
3.2. Опис процессу...…………………………………………………………..26
Висновки………………………………………………………………………28
Список використаної літератури………………………

Прикрепленные файлы: 1 файл

Програмне забезпечення та його розробка для управління мікро ЕОМ на базі сучасного МК RISE-архітекткри.doc

— 1.16 Мб (Скачать документ)

Регістри МК - цей вид пам'яті включає внутрішні регістри процесора і регістри, що служать для керування периферійними пристроями. Для зберігання програм зазвичай служить один з видів постійної пам'яті: ROM (масочний ПЗП), PROM (однократно програмовані ПЗП), EPROM (електрично програмовані ПЗП з ультрафіолетовим стиранням) або EEPROM (ПЗП з електричним записом і стиранням, до цього виду також відносяться сучасні мікросхеми Flash-пам'яті). Всі ці види пам'яті є енергонезалежними - це означає, що вміст пам'яті зберігається після вимкнення живлення МК. Багаторазові програмовані ПЗП - EPROM і EEPROM (Electrically Erasable Programmable Memory) розділяються на ПЗП із ультрафіолетовим стиранням, опроміненням (випускаються в корпусах з вікном), та МК з електрично перепрограмовуючою пам'яттю, відповідно. В даний час протоколи програмування сучасної EEPROM пам'яті дозволяють виконувати програмування МК безпосередньо у складі системи, де він працює.

Такий спосіб програмування отримав назву - ISP (In System Programming). і тепер можна періодично оновлювати програмне забезпечення МК без видалення з плати. Це дає величезний виграш на початкових етапах розробки систем на базі МК або в процесі їх вивчення, коли маса часу йде на багаторазовий пошук причин непрацездатності системи та виконання наступних циклів стирання-програмування пам'яті програм. Функціонально Flash-пам'ять мало відрізняється від EEPROM. Основна відмінність полягає в здатності стирання записаної інформації. У пам'яті EEPROM стирання проводиться окремо для кожного осередку, а в Flash-пам'яті стирання здійснюється цілими блоками. ОЗП (RAM) - оперативний запам'ятовуючий пристрій, використовується для зберігання даних. Цю пам'ять називають ще пам'яттю даних. Число циклів читання і запису в ОЗП необмежено, але при відключенні живлення вся інформація втрачається.

Програмування. Програмування мікроконтролерів зазвичай здійснюється на асемблері або Сі, хоча існують компілятори для інших мов, використовуються також вбудовані інтерпретатори Бейсіка і Форту. Для відлагодження програм використовуються програмні симулятори (спеціальні програми для персональних комп'ютерів, що імітують роботу мікроконтролера), внутрішньосхемні емулятори (електронні пристрої, що імітують мікроконтролер, які можна підключити замість нього до вбудованого пристрою, що розробляється) та інтерфейс JTAG.

1.4 Архітектура мікропроцесора

Архітектура мікропроцесорної системи - це її абстрактне уявлення, яке відображає структурну, схемо-технічну і логічну організацію. Поняття архітектури є комплексним і включає в себе: структурну схему, засоби і способи доступу до елементів структурної схеми, організацію і розрядність інтерфейсів, набір і доступність регістрів, організацію та способи адресації пам'яті, способи представлення і формати даних, набір машинних команд, формати машинних команд , обробку нештатних ситуацій (переривань).

Мікропроцесор - програмно-апаратний керований пристрій, призначений для обробки цифрової інформації і керування процесом цієї обробки. Структурно мікропроцесор складається з таких підсистем:

- пристрій шинного інтерфейсу враховує пріоритети звернення до шини і координує передачі даних;

- пристрій декодування команд отримує команди від пристрою перед вибірки і перетворює їх в точки входу в мікрокод і керуючі сигнали низького рівня.

- пристрій мікропрограмного управління виконує мікрокод (керуючі програми мікропроцесора) і управляє цілочисловим пристроєм;

- цілочисельний операційний пристрій містить регістри загального призначення і арифметико-логічний пристрій, що забезпечує виконання всіх арифметичних і логічних команд з системи команд мікропроцесора.

Системна шина - це сукупність провідників, що з'єднують ЦП з пам'яттю і пристроями введення-виведення. Провідники шини об'єднані в три групи: лінії даних, лінії адреси, лінії управління. Процесор виставляє на шину адреси адресу обираних з пам'яті команд (або даних), які по шині даних поступають в шести-байтний буфер (черга команд), а потім виконуються. Шину даних можна представити у вигляді 16 провідників, в кожному з яких може протікати напруга заданого рівня (сигнал 1), або відсутність (сигнал 0). Таким чином, мікропроцесор оперує з двійковою системою числення . За допомогою 16-розрядної шини даних можна передавати числа від 0 (у всіх провідниках сигнал 0) до 65535 біт (у всіх провідниках сигнал 1). Шина адреси 20 розрядна. Тому МП може адресувати 220-1 комірок пам'яті, тобто 1 Мб.

Шина містить чотири 16-розрядних регістра адреси сегмента і один 16-розрядний покажчик команд, аналогічний лічильнику команд в мікропроцесорах 8080 і 8085. Весь простір пам'яті мікропроцесора 8086 ємністю 1М байт розділене на сегменти по 64К байт. Забезпечується прямий доступ ЦП відразу до чотирьох таких сегментів, базові адреси яких містяться в регістрах адреси сегмента.

Перший з сегментних регістрів називається регістром програмного сегмента. Він вказує на поточний сегмент програм, з якого виробляється вибірка команд. Дійсну адресу команди в пам'яті обчислюється шляхом додавання вмісту регістра програмного сегмента з вмістом КК.

Другий регістр - регістр стекового сегмента визначає поточний стековий сегмент, в якому повинні виконуватися операції над стеком. Дійсну адресу стека виходить додатком вмісту регістра СС до вмісту УС виконавчого блоку.

Третій регістр - регістр інформаційного сегмента вказує сегмент пам'яті, в якому в даний момент зберігаються змінні виконуваної програми. Регістром додаткового сегмента вказується поточний додатковий сегмент пам'яті (четвертий блок ємністю 64К), в якому зазвичай зберігаються дані. Всі сегментні регістри доступні для програм і можуть брати участь у їх виконанні.

Регістри. Всього в процесорі i8086 є 14 16-розрядних регістрів:

- 4 регістри загального призначення(AX, BX, CX, DX);

- 2 індексні регістри (SI, DI), 2 вказівні (BP, SP);

- 4 сегментні регістри (CS, SS, DS, ES),

- програмний лічильник  або показник команди(IP) і регістр

прапорів(FLAGS, включає 9 прапорів).

При цьому регістри даних (AX, BX, CX, DX) допускали адресацію не лише цілих регістрів, але і їх молодшої половини(регістри AL, BL, CL, DL) і старшої половини(регістри AH, BH, CH, DH), що дозволяє використовувати не лише нове 16-розрядне ПЗ, але зберігало сумісність зі старими програмами (правда, їх необхідно було, принаймні, перекомпілювати).

Шини. Розмір шини адреси був збільшений з 16 біт до 20 біт, що дозволило адресувати 1 Мбайт (220 байт) пам'яті. Шина даних була 16-розрядною. Проте в мікропроцесорі шина даних і шина адреси використовували одні й ті ж контакти на корпусі. Це призвело до того, що не можна одночасно подавати на системну шину адреси і дані. Мультиплексування адрес і даних в часі скорочує число контактів корпусу до 20, але й уповільнює швидкість передачі даних.

Робота з пам'яттю. Для того щоб адресувати більший, ніж і8080, обсяг пам'яті, треба було змінити спосіб адресації пам'яті. Адже якщо використовувати старі методи, коли адресу до комірки пам'яті містився у вказівних регістрах, то довелося  збільшувати розмір тих самих регістрів, щоб мати можливість звертатися до більшого обсягу пам'яті. Тому для адресації 1 Мбайт пам'яті застосовували наступну схему. На шину адреси подавалася фізична адреса розміром 20 біт, яка формувалася шляхом складання вмісту одного із сегментних регістрів (16 біт), помноженого на 24, з вмістом вказівного регістра: таким чином, адресація комірки пам'яті вироблялася за номером сегмента і ефективною адресою комірки в сегменті (яка також називається зсувом). Якщо результат додавання виявлявся більше ніж 220 -1, то 21-ий біт відкидався; така дія називається "загортанням" адреси (англ. adress wraparound). Цей метод згодом (після появи захищеного режиму) назвали реальним режимом адресації процесора, такий режим дозволяє адресувати до 1 Мбайт пам'яті.

Для того, щоб адресувати 1 мегабайт пам'яті (20 біт адреси) з використанням 16-бітових регістрів використовується сегментування. Старші 4 біт адреси виводяться на окремі контакти корпусу, а молодші 16 виводяться на поєднану шину адреси-даних. Але межа сегменту не жорстка, а плаваюча. Для того, щоб адресувати потрібний сегмент використовуються 16-бітові регістри сегменту, значення яких зсувається на 4 біта вгору і складається з вказівним 16-бітовим регістром. Отримане значення - 20 бітова адреса пам'яті або пристрою виводиться на контакти. Якщо результат складання виявляється більше ніж 1 мегабайт, виводяться тільки молодші 20 біт адреси, 21-біт відкидається.

Таким чином, пам'ять розділяється на сегменти, розміром 64 Кбайт кожен і починаються з адреси, кратної 16 (межа параграфа); пам'ять в 1 Мбайт розділялася, таким чином, на 16 сегментів. Ці 16 сегментів називають сторінками пам'яті. У комп'ютері, подібному IBM PC, останні 6 сторінок(A, B, C, D, E, F) пам'яті(т. зв. верхня пам'ять - англ. upper memory) використовувалися для відеопам'яті і BIOS- а, це обмежувало пам'ять, доступну користувачеві, об'ємом в 640 Кбайт(т. зв. звичайна пам'ять - англ. conventional memory; сторінки 0~9).

На той час такий режим адресації забезпечував безліч переваг : ємність пам'яті могла складати до 1 Мбайт, хоча команди оперували 16-бітовими адресами; спрощувалося використання окремих областей пам'яті для програми, її даних і стоку; спрощувалася розробка пристроїв, сумісних один з одним.

Система команд процесора i8086 складається з 98 команд (і більше 3800 їх варіацій) : 19 команд передачі даних, 38 команд їх обробки, 24 команди переходу і 17 команд управління процесором. Можливі 7 режимів адресації. Мікропроцесор не містив команди для роботи з числами з плаваючою комою. Ця можливість реалізовувалася окремою мікросхемою, що називається математичний співпроцесор, який встановлювався на материнській платі. Співпроцесор зовсім не обов'язково мав бути зроблений Intel (модель i8087), наприклад, деякі виробники мікросхем, такі як Weitek, випускали продуктивніші співпроцесори, ніж Intel.

Система команд процесора i8086 включає в себе декілька дуже потужних рядкових інструкцій. Якщо інструкція має префікс REP (повтор), то процесор виконуватиме операції з блоками - переміщення блоку даних, порівняння блоків даних, присвоєння певного значення блоку даних певної величини, і так далі, тобто, одна інструкція 8086 з префіксом REP може виконувати 4-5 інструкцій, що виконуються на деяких інших процесорах. Але слід згадати, що подібні прийоми були реалізовані і в інших процесорах - Zilog Z80 мав інструкції переміщення і пошуку блоків, а Motorola 68000 може виконувати операції з блоками, використовуючи всього дві команди.

У мікропроцесорі i8086 була використана початкова форма конвеєрної обробки. Блок інтерфейсу з шиною подавав потік команд до виконавчого пристрою через 6-байтову чергу команд. Таким чином, вибірка та виконання нових команд могли відбуватися одночасно. Це значно збільшувало пропускну спроможність процесора і позбавляло необхідності чекати зчитування команди з пам'яті при зайнятому іншими операціями інтерфейсі мікросхеми (у той час швидкість пам'яті значно випереджала швидкість цього процесора).

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

Рис. 2.1 Структура мікропроцесора І8086

1.5. Розробка функціональної схеми пристрою

  1.5.1. Розробка модуля центрального процесора

Для побудови модуля ЦП потрібно забезпечити синхронізацію роботи системи та узгодження роботи ЦП із системною шиною.

Для роботи синхронізації використовують генератор тактових імпульсів і8284, який генерує сигнали синхронізації для ЦП і периферійних пристроїв, а також синхронізує  зовнішні сигнали готовності і початкового встановлення з тактовими сигналами МП. Генератор тактових імпульсів містить подільники частоти 3 і на 2 та логіку керування сигналами скидання і готовності. Робота генератора стабілізує кварцовим резонатором, який приєднується до входів x1, x2. Вхід TANK використовується для додаткового приєднання паралельного резонансного LC – контура, що дозволяє працювати на вищих гармоніках кварцового резонатора. Вхід F/C дозволяє обрати зовнішній або внутрішній генератор. У випадку коли обирають зовнішній генератор із частотою імпульсів F то його підключають до входу EFI.2 

Схема формування тактових імпульсів формує сигнали: CLK - тактової частоти Fclk для ЦП, PCLK - тактової частоти FPCLK для керування периферійними ВІС, OSC - тактової частоти ЗГ, які потрібні для керування пристроями та контролю частоти. Схема формування тактових імпульсів має вхід зовнішньої синхронізації CSYNC, за допомогою якого можна синхронізувати роботу декількох генераторів тактових імпульсів, які входять до складу системи.

Вихідний сигнал READY використовується для підтвердження готовності до обміну. Схема формування сигналу READY побудована так, щоб спростити вмикання системи в інтерфейсну шину стандарту Multibus, і містить дві ідентичні пари сигналів RDYI, AEN1 та RDY2, AEN2, об'єднаних схемою АБО. Сигнали RDYI та RDY2 формуються елементами, які входять до складу системи, і свідчать про їхню готовність до обміну. Сигнали AENI та AEN2 дозволяють формування сигналу READY за сигналами RDY1 та RDY2, підтверджуючи адресацію елементів.

Схема формування вихідного сигналу скидання RESET має на вході тригер Шмітта, а на виході - тригер, що формує фронт сигналу RESET по зрізу сигналу CLK. Зазвичай до входу RES приєднується RC-коло, що забезпечує автоматичне формування сигналу при вмиканні джерела живлення.

Узагальнена структурна схема буферного регістра  містить вісім D-тригерів з вихідними схемами SW, які мають три стани. Сигнали запису інформації STB і дозволу вибірки ОЕ спільні для всіх тригерів ВІС. У буферному регістрі до схем SW приєднуються прямі виходи D-тригерів. Запис інформації в D-тригерах здійснюється по зрізу сигналу STB. Малий вхідний і досить великий вихідний струми дозволяють використовувати ВІС буферних регістрів як регістри-фіксатори або шинні формувачі. При використанні буферних регістрів як шинних формувачів вхід STB з'єднується з виводом живлення +5 В через резистор опором 1 кОм, а вхід ОЕ - із спільною шиною.

Информация о работе Програмне забезпечення та його розробка для управління мікро ЕОМ на базі сучасного МК RISE-архітекткри