Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_Мікропроцесорні пристрої.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆
    1. Резидентна пам'ять мк

Закрита архітектура сучасних 8-розрядних МК стала реалізованою лише за умови інтеграції на кристал МК модулів пам'яті двох типів:

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

  • ПЗП масочного типу – mask-ROM. Уміст осередків ПЗП цього типу записується на заводі-виготовлювачі МК за допомогою масок і не може бути замінений або «допрограмований» в області раніше не використаного сегмента пам'яті. Тому МК із таким типом пам'яті програм варто використати тільки після досить тривалої досвідченої експлуатації виробів. Перші зразки масочних ПЗП з'явилися на початку 60-х рр., але навіть сьогодні ПЗП масочного типу – найдешевше й ефективне рішення при великих обсягах апаратури, що випускається. Використання МК із масочним ПЗП економічно стає рентабельним при партії в кілька десятків тисяч штук. Крім сприятливих економічних аспектів, рішення із ПЗП масочного типу мають й іншу перевагу. Вони забезпечують високу надійність зберігання інформації із причини програмування в заводських умовах з наступним контролем якості. Недолік ПЗП масочного типу очевидний: будь-яка зміна прикладної програми потребує нової серії ІС, що може виявитися досить дорогим і трудомістким рішенням.

  • ПЗП одноразово програмувальні користувачем – OTPROM (One-Time Programmable ROM). У незапрограмованому стані кожна комірка пам'яті модуля одноразово програмувального ПЗП при зчитуванні повертає код $FF. Програмуванню підлягають тільки ті розряди, які після програмування повинні містити 0. Якщо в процесі програмування деякі розряди якої-небудь комірки пам'яті були встановлені в 0, то відновити в цих розрядах одиничне значення вже неможливо. Тому розглянутий тип пам'яті й зветься «одноразово програмувальні ПЗП». Однак ті розряди, які в процесі попереднього сеансу програмування не змінювалися, тобто мають одиничні значення, можуть бути піддані програмуванню надалі й

«до установлені» в 0. Кількість можливих сеансів програмування модуля одноразового програмувального ПЗП в складі МК не має обмежень. Технологія програмування складається в багаторазовому додатку імпульсів підвищеної напруги до елементарних осередків адресованого байта пам'яті (бітам), які програмуються. Рівень напруги програмування, кількість імпульсів та їхніх часових параметрів повинні в точності відповідати технічним умовам. У противному випадку комірки пам'яті можуть відновити одиничне значення по закінченні деякого часу (іноді декількох років) або при зміні умов роботи. МК із одноразово програмувальним ПЗП рекомендується використати у виробах, що випускаються невеликими партіями.

  • ППУ, програмувальні користувачем, з ультрафіолетовим стиранням – EPROM (Erasable Programmable ROM). ПЗП даного типу допускають багаторазове програмування. Технологія програмування близька до технології одноразово програмувальних ПЗП. Перед кожним сеансом програмування для відновлення одиничного значення раніше запрограмованих комірок пам'яті весь модуль ПЗП підлягає операції стирання за допомогою ультрафіолетового опромінення. Для цього корпус МК виконаний зі спеціальним скляним вікном, усередині якого розташована пластина ІС МК. Але якщо деякі розряди комірок пам'яті повинні бути «до програмовані» з 1 на 0 при незмінному стані раніше запрограмованих розрядів, то операція стирання може бути пропущена. Кількість сеансів стирання/програмування ПЗП даного типу обмежене й становить 25...100 за умови дотримання технології програмування (напруга, кількість й тривалість імпульсів програмування) і технології стирання (хвильовий діапазон джерела ультрафіолетового випромінювання). МК із ПЗП даного типу мають високу вартість, тому їх рекомендується використати тільки в експериментальних зразках виробів.

  • ПЗУ, програмувальні користувачем, з електричним стиранням

  • EEPROM, або E2PROM (Electrically Erasable Programmable ROM). ПЗП з електричним програмуванням і поєднали в собі три позитивних якості

розглянутих вище типів пам'яті. По-перше, ПЗП типу EEPROM програмуються користувачем; по-друге, ці ПЗП можуть бути багаторазово піддані операції стирання й, отже, багаторазово програмуються користувачем; по-третє, ці ПЗП дешевше ПЗП з ультрафіолетовим стиранням. Максимальна кількість циклів стирання/програмування ПЗП типу EEPROM у складі МК звичайно дорівнює 10000. Для порівняння: той самий тип пам'яті в окремому корпусі допускає 106 циклів стирання/програмування. Технологія програмування пам'яті типу EEPROM дозволяє реалізувати побайтове стирання й побайтове програмування, для чого до обраної комірки пам'яті повинна бути прикладена відносно висока напруга 10...20 В. Однак допускається також одночасне стирання деякої кількості комірок пам'яті з послідовними адресами, тобто стирання блоку пам'яті. Незважаючи на очевидні переваги, рідкі моделі сучасних МК використовують ПЗП типу EEPROM для зберігання програм. Провиною тому дві обставини. По-перше, ПЗП типу EEPROM мають обмежену ємність і можуть використовуватися як резидентна пам'ять програм тільки

в маловивідних МК із невеликим обсягом пам'яті. По-друге, майже одночасно з EEPROM ПЗП з'явилися ПЗП типу FLASH, які забезпечують близькі користувальницькі характеристики, але значно дешевші.

    • ПЗУ з електричним стиранням типу FLASH – FLASH ROM. ПЗП типу FLASH були призначені для заповнення «ніші» між дешевими одноразово програмувальними ПЗП великої ємності й дорогими EEPROM ПЗП малої ємності. ПЗП типу FLASH зберегли переваги, властиві EEPROM: можливість багаторазового стирання й програмування за допомогою додатка підвищеної напруги. Однак для збільшення обсягу

пам'яті транзистор адресації кожного елементарного осередку був вилучений, що не дає можливості програмувати кожний біт пам'яті окремо. Пам'ять типу FLASH стирається й програмується сторінками або блоками. Сторінка, як правило, становить 8, 16 або 32 байта пам'яті, блоки можуть поєднувати деяку кількість сторінок, аж до повного обсягу резидентного ПЗП МК (до 60 кбайт). Спрощення декодувальних схем, що відбулося через зменшення кількості транзисторів і, як наслідок, зниження вартості й розмірів призвело до того, що МК із FLASH-пам'яттю програм у цей час стають конкурентоспроможними у відношенні не тільки до МК із однократно програмувальним ПЗП, але й з масочним ПЗУ також.

Технологія створення резидентної FLASH-пам'яті МК безупинно вдосконалюється. Одні із кращих показників досягнуті в МК сімейства НС08 фірми Motorola:

    • Гарантована кількість циклів стирання/програмування становить 105.

    • Гарантований період зберігання записаної інформації дорівнює 10 рокам, тобто становить життєвий цикл виробу.

    • Модулі FLASH-пам'яті працюють і програмуються при напрузі живлення МК від 1.8 до 2.7 В.

    • Еквівалентний час програмування одного байта пам'яті знижене до 60 мкс, що дозволяє виконати програмування МК із 32 кбайт пам'яті протягом 2 с.

Перспективні технології FLASH-пам'яті припускають збільшення швидкості програмування до 1 Мбит/с.

Крім ПЗУ до складу МК входить також і статичний оперативний запам'ятовувальний пристрій. Визначення «статичний» виділено не випадково: сучасні 8-розрядні МК допускають зниження частоти тактування до як завгодно малих значень із метою зниження енергії споживання. Уміст комірок ОЗП при цьому зберігається на відміну від динамічної пам'яті. У якості ще однієї особливості слід зазначити, що більшість МК у технічному описі має параметр «напруга зберігання інформації» – USTANDBY. При зниженні напруги живлення нижче мінімально припустимого рівня UDDMIN, але вище напруги зберігання USTANDBY, програма керування мікроконтролером виконуватися не буде, але інформація в ОЗП збережеться. Тоді при відновленні напруги живлення можна буде виконати скидання МК і продовжити виконання програми без втрати даних. Рівень напруги зберігання становить приблизно 1 В. Це дозволяє, якщо буде потреба, перевести МК на живлення від автономного джерела (батарейки або акумулятора) і зберегти тим самим дані ОЗП. Великої витрати енергії споживання в цьому випадку не буде, тому що система тактування МК може бути відключена. Останнім часом з'явилися МК, які в корпусі мають автономне джерело живлення, що гарантує збереження даних в ОЗП протягом 10 років (МК DS5000 фірми Dallas Semiconductor).

Регістри МК. Як і всі МПС, МК мають набір регістрів, які

використовуються для керування його ресурсами. До цих регістрів входять звичайно регістри процесора (акумулятор, регістри стану, індексні регістри), регістри керування (регістри керування перериваннями, таймером), регістри, що забезпечують уведення/вивід даних (регістри даних портів, регістри керування паралельним, послідовним або аналоговим уведенням/виводом). Звертання до цих регістрів може здійснюватися по-різному.

У МК із RISC-процесором усі регістри (часто й акумулятор) розташовуються за адресами, що задають явно. Це забезпечує більш високу гнучкість при роботі процесора.

Одним з важливих питань є розміщення регістрів в адресному просторі МК. У деяких МК усі регістри й пам'ять даних розташовуються в одному адресному просторі. Це означає, що пам'ять даних сполучена з регістрами. Такий підхід називається «відображенням ресурсів МК на пам'ять».

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

Стік МК. У мікроконтролерах ОЗП даних використовується також для організації виклику підпрограм і обробки переривань. При цих операціях уміст програмного лічильника й основних регістрів (акумулятор, регістр стану й інші) зберігається й потім відновлюється при поверненні до основної програми.

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

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

Необхідно пам'ятати, що МК обох архитектур мають обмежену ємність пам'яті для зберігання даних. Якщо в процесорі є окремий стек і обсяг записаних у нього даних перевищує його ємність, то відбувається циклічна зміна вмісту покажчика стека, і він починає посилатися на раніше заповнений осередок стека. Це означає, що після занадто великої кількості викликів підпрограм у стеці виявиться неправильна адреса повернення. Якщо МК використовує загальну область пам'яті для розміщення даних і стека, то існує небезпека, що при переповненні стека відбудеться запис в область даних або буде зроблена спроба запису даних, що завантажують у стек, в область ПЗП.