МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ p>
Таганрозького державного радіотехнічного університету p>
Кафедра p>
РЕФЕРАТ p>
на тему: p>
«Мікроконтролери сімейства Z86 фірми ZILOG» p>
Виконав p>
студент групи Р-17 Семенов І.В.
Перевірив p>
ст. викладач кафедри Колпачева
Л.А. p>
Таганрог 2000 p>
ЗМІСТ p>
ВСТУП p>
1. Однокристальний мікроконтролери сімейства Z8 p>
1.1. Опис сімейства Z8 p>
1.2. Архітектура мікроконтролерів Z8 p>
1.2.1. Структурна схема мікроконтролерів p>
1.2.2. Адресний простір мікроконтролерів p>
1.2.2.1. Адресний простір реєстрового файлу p>
1.2.2.2. Адресний простір пам'яті p>
1.2.2.3. Стек p>
1.2.3. Синхронізація p>
1.2.4. Скидання і сторожовий таймер p>
1.2.5. Порти введення/виводу p>
1.2.6. Таймери/лічильники p>
1.2.7. Переривання p>
1.3. Система команд мікроконтролерів Z8 p>
1.3.1. Способи адресації операндів p>
1.3.2. Прапори процесора p>
1.3.2.1. Прапор переносу C (Carry Flag) p>
1.3.2.2. Прапор нуля Z (Zero Flag) p>
1.3.2.3. Прапор знака S (Sign Flag) p>
1.3.2.4. Прапор переповнення V (Overflow Flag) p>
1.3.2.5. Прапор десяткової корекції D (Decimal Adjust Flag) p>
1.3.2.6. Прапор полупереноса H (Half Carry Flag) p>
1.3.3. Набір команд p>
1.3.3.1. Опис системи команд p>
1.3.3.2. Умови розгалуження програми p>
1.4. Конструктивне виконання мікроконтролерів Z8 p>
ВИСНОВОК p>
ЛІТЕРАТУРА p>
ВСТУП
Пристрої передачі та обробки інформації є тими "цеглою", зяких будуються складні інформаційно-керуючі системи, такі як,наприклад, цифрові мережі зв'язку з інтеграцією служб ISDN-[1]. Проектуваннятаких пристроїв представляє складне технічне завдання, оскільки до нихпред'являється ряд серйозних технічних вимог в частині: p>
- складних протоколів обміну даними; p>
- високих швидкостей передачі; p>
- складних алгоритмів обробки; p> < p> - високої точності; p>
- аналого-цифрових функцій; p>
- надійності та достовірності; p>
- стійкості до впливу дестабілізуючих чинників; p> < p> - конструктивних параметрів (габаритні розміри, маса); p>
- енергоспоживання.
Вирішальну роль на технічні характеристики пристроїв передачі та обробкиінформації надає використовувана елементна база. Найбільш підходящаелементна база для побудови таких пристроїв-це однокристальнихмікроконтролери (МК). Такі прилади поставляються на світовий ринок усімапровідними виробниками мікропроцесорів: Intel, Motorola, Texas
Instruments, Microchip Technology, Zilog та ін Особливий інтерес длярозглянутого класу пристроїв представляють малогабаритні МК ізмікропотужний споживанням. Серед них можна виділити МК PIC 16CXX фірми
Microchip Technology [2] і Z8 фірми Zilog [3,4]. Якщо PIC-контролеривідносяться до процесорів з так званою скороченою системою команд
(Reduced Instruction Set Command-RISC), то Z8-це процесори зкомплексною системою команд (Complex Instruction Set Command-CISC).
Перевагою останніх є більш високий рівень команд, що робитьпрограмний код більш ефективним в сенсі часу виконання та обсягузайманої пам'яті і спрощує програмування мовою асемблера. Цедозволяє рекомендувати MK сімейства Z8 для використання в практиціпроектування пристроїв передачі та обробки інформації.
У цьому посібнику детально розглянуті питання архітектурного побудовиі програмування МК сімейства Z8, а також приклади проектуванняпристроїв передачі та обробки інформації на базі цих МК. p>
1. Однокристальний мікроконтролери сімейства Z8 p>
1.1. Опис сімейства Z8
Серед новітніх моделей МК сімейства Z8 слід виділити рядмалопотребляющіх МК, виконаних за технологією КМОП, основні параметрияких наведені в табл.1.1. Позначення МК складається з префікса фірми-Z,номера сімейства -86, літери виконання і номера моделі. p>
Таблиця 1.1 p>
Малопотребляющіе мікроконтролери сімейства Z8
| Позначення | ПЗУ | ОЗП | Введення/Висновок | Частота | Корпус |
| Мікросхеми | Байт | байт | Біт | МГц (max) | к-сть вив. |
| Z86x02 | 512 | 61 | 14 | 8 | 18 |
| Z86x03 | 512 | 61 | 14 | 8 | 18 |
| Z86x04 | 1K | 125 | 14 | 12 | 18 |
| Z86x06 | 1K | 125 | 14 | 12 | 18 |
| Z86x08 | 2K | 125 | 14 | 12 | 18 |
| Z86x31 | 2K | 125 | 24 | 16 | 28 |
| Z86x30 | 4K | 237 | 24 | 16 | 28 |
| Z86x40 * | 4K | 236 | 32 | 16 | 40/44 | p>
Примітка: х - літера виконання, С, Е або L. p>
* - є можливість підключення зовнішніх ПЗУ і ОЗУоб'ємом по 60К байт.
МК, в позначення яких входить літера "C", мають ПЗУ з масочнийпрограмуванням. Літера "E" у позначенні вказує на варіант зодноразово електрично програмованим ПЗУ. Літера "L" відповідаєваріантами з масочний ПЗУ і зниженою напругою живлення. Першівикористовують для випуску серійних виробів (5000 і більше штук), другий-длядосвідчених, одиничних і дрібносерійних виробів, третій-для серійних пристроївз автономним живленням від пари сухих гальванічних елементів абоакумуляторів.
Фірма-виробник постачає спеціальне недороге обладнання у виглядіапаратно-програмних крос-засобів, орієнтованих на ПЕОМ IBM PC, длярозробки виробів на базі МК, куди входить і програматор для одноразовопрограмованих МК (наприклад, внутрісхемний емулятор-програматор
Z86CCP01ZEM з програмним забезпеченням).
Всі МК [4,5] мають 5-6-й рівневий контролер переривань, один або дватаймера/лічильника і два аналогових компаратора. Останні дозволяють вирішуватипитання порівняння рівнів напруги, детектування короткозамкнутогостану датчиків, аналого-цифрового перетворення без використаннядодаткових компонентів. Крім того, модель 06 має вбудованийпослідовний інтерфейс.
Лінії введення/виводу МК забезпечують сумісність з КМОП-рівнями. Вихідніпідсилювачі під управлінням програмного забезпечення можуть конфігуруватисяяк двотактні або з відкритим стоком. Крім того, для виключення різкогозростання струму, споживаного вхідними КМОП ключами за відсутностіджерела вхідного рівня, всі цифрові входи забезпечені автофіксаторамірівня (Auto Latch). В останніх версіях МК автофіксатори можутьвідключатися, що підвищує сумісність входів (особливо для аналоговихліній).
Розробники МК передбачили в них цілий ряд апаратних функцій,забезпечують надійність роботи в умовах впливу перешкод ідестабілізуючих факторів: автоматичний скидання при включенні харчування
(Power-On Reset), сторожовий таймер (Watch-Dog Timer), захист від зниженнянапруги живлення (Low-Voltage Protection), захист оперативної пам'яті (RAM Protect).
Автоматичний скидання при включенні харчування забезпечується спеціальнимтаймером скидання, синхронізуються від вбудованого RC-генератора. Цей таймерзабезпечує утримання процесора в стані скидання, поки живлячунапруга не досягне номінального рівня, а генератор основнийсинхронізації не вийде на стабільний режим.
Сторожовий таймер захищає процесор від "зависання". Керується вінпрограмно спеціальними командами. При "зависанні" програми черговакоманда перезапуску сторожового таймера не виконається, він дорахував докінця і викличе функцію скидання МК-тим самим обчислювальний процес будевідновлений.
Функція захисту від зниження напруги живлення дозволяє забезпечитикоректне відновлення обчислювального процесу при "провали" живильногонапруги.
Сутність захисту ОЗУ полягає в можливості програмно керувати доступомдо певної області ОЗУ, яка містить керуючу інформацію. Заборонадоступу гарантує збереження цієї інформації і правильне їївикористання у випадку, наприклад, збою програмного лічильника, в результатіякого може відбутися некоректне звернення до цієї області ОЗУ іспотворення керуючої інформації.
МК працюють в широкому діапазоні живлять напруг:
3 -5,5 По-для масочний виконання; 4,5 -5,5 В-для одноразовопрограмованого і 2 -3,9 По-для виконання зі зниженим годуєнапругою. Споживана потужність в стандартному режимі на максимальнійдопустимої частоті становить 30 -60 мВт.
Для цілей економії споживаної потужності передбачено також два резервнихрежиму з мікропотребленіем: HALT і STOP. У першому режимі вимикаєтьсясинхронізація процесора, активними залишаються лише таймери/лічильники тапереривання. У другому режимі відключається і сінхрогенератор, тількисторожовий таймер може продовжувати свою роботу.
Оригінальна схема вбудованого генератора синхронізації дозволяєвикористовувати як времязадающіх елементів кварцові та керамічнірезонатори, LC та RC-ланцюга. Можлива і синхронізація від зовнішнього джерела.
Функціонування МК забезпечується в широкому діапазоні робочих частот від 10кГц до максимальної (див. табл.1.1). Причому, чим нижче частота, тим меншеспоживаний струм від джерела живлення. Наприклад, для версії "C" більшості
МК на частоті 32 кГц гарантується споживаний струм 8 мкА.
Для застосувань з високими вимогами до електромагнітної сумісності МК
Z8 можуть бути переведені в малошумливий режим (Low Noise). У цьому режимікілька погіршується навантажувальна здатність портів виводу і збільшуєтьсячас перехідних процесів, однак значно знижується рівеньелектромагнітного випромінювання. Частота зовнішнього кварцового резонатора прице обмежується величиною 4 МГц.
Виробник гарантує надійну роботу МК при температурі навколишньогосередовища від 0 до 70 градусів Цельсія для стандартного виконання і від -40 до
105 градусів для виконання з розширеним температурним діапазоном
(Extended Temperature). В останньому виконанні поставляються всі МК ізлітерою "C" і моделі 02, 04, 08, 30, 31 і 40 з літерою "E".
І, нарешті, для виключення можливості копіювання програми МКконкурентами передбачено, біт захисту ПЗУ (ROM Protect). У більш ранніхверсіях МК установка біта захисту забороняла команди завантаження з ПЗП (LDC і
LDCI), що одночасно змушувало програміста відмовлятися відвикористання досить ефективних алгоритмів, заснованих на переглядітаблиць. В останніх версіях МК доступ до ПЗУ блокується встановленням бітазахисту без заборони зазначених команд і будь-яких алгоритмічнихобмежень. p>
1.2. Архітектура мікроконтролерів Z8 p>
1.2.1. Структурна схема мікроконтролерів
На рис.1.1 наведена узагальнена структурна схема МК, а в табл. 1.2 вказанінабори варіативних елементів структури для кожної моделі. p>
Рис. 1.1 Узагальнена структурна схема мікроконтролерів Z8
Відповідно до структури МК, рис.1.1, операційний пристрій представленоарифметико-логічним вузлом (АЛП) і прапоровим регістром. Пристрійуправління МК містить лічильник команд PC (Program Counter) і вузолсинхронізації і управління з сторожовим таймером і схемою автосброса.
Система пам'яті МК представлена постійним запам'ятовуючим пристроєм (ПЗУ)для зберігання програм і оперативною пам'яттю для даних і стека, виконаноїу вигляді реєстрового файлу. Для скорочення розміру поля адреси реєстровогофайлу він поділений на робочі групи. Номер активної групи задаєтьсяспеціальним покажчиком регістрів RP (Register Poitner). Модель 40 маєможливість розширення обсягу пам'яті до 64 Кбайт шляхом підключення зовнішньоїпам'яті програм і даних. p>
Таблиця 1.2 p>
Параметри структури рис.1.1 для моделей мікроконтролерів Z8
| Модель | Вузли | Вив | | | | | |
| | | Оди | | | | | |
| | T0 | T1 | SPI | Управління | Порт P0 | Порт P1 | Порт P3 |
| | | | | | 76543210 | | 76543210 |
| 02 | - | * | - | - | *** | - | *** |
| 03 | - | * | - | - | - | - |****** |
| 04 | * | * | - | - | *** | - | *** |
| 06 | * | * | * | - | - | - |****** |
| 08 | * | * | - | - | *** | - | *** |
| 31 | * | * | - | - |******** | - |******** |
| 30 | * | * | - | - |******** | - |******** |
| 40 | * | * | - | * |******** | * |******** | p>
Пристрій введення/виводу МК представлено 4 програмованими портами. Крімтого, на кристалі МК виконаний ряд периферійних пристроїв: 1 --таймера/лічильника, пристрій управління переривань, 2 аналоговихкомпаратора і послідовний інтерфейс SPI (Serial Peripheral Interface).
Призначення висновків мікроконтролера зрозуміло з рис.1 за винятком висновківвузла синхронізації і управління, функції яких пояснені нижче:
XTAL-висновки для підключення кварцового або керамічного резонатора, LC -або RC-ланцюга; p>
/AS-вихід стробі адреси (Address Strobe); p>
/DS-вихід стробі даних (Data Strobe); p>
R// W-сигнал "Читання// Запис" (Read// Write); p>
/RESET-вхід скидання. p>
Примітка. Тут і далі для сигналів з низьким активним рівнемвикористовуються два еквівалентних позначення, наприклад: p>
__ p>
AS або/AS.
Фізичне наявність певних вузлів і висновків у різних моделях МКзазначено у табл.1.2 знаком "*". p>
1.2.2. Адресний простір мікроконтролерів
Адресний простір МК складається з адресного простору реєстровогофайлу та адресного простору пам'яті. У адресний простір реєстровогофайлу включені периферійні регістри, керуючі регістри, портивведення/виводу і регістри загального призначення (РОН). Останні утворюють ОЗП МК.
Адресний простір пам'яті утворено осередками внутрішньої і зовнішньоїпам'яті програм для зберігання програмного коду і констант, а також осередкамизовнішньої пам'яті даних для зберігання даних і розміщення стека. p>
1.2.2.1. Адресний простір реєстрового файлу
Регістровий файл складається зі стандартного реєстрового файлу (СРФ),наявного у всіх моделях МК, і розширеного реєстрового файлу (РРФ),частково використовується в деяких моделях МК для управліннядодатковими функціями.
Структура реєстрового файлу показана на рис 1.2.
СРФ складається з 256 восьмібітних регістрів з шістнадцятковим адресами від
00H до FFH (тут і далі H-суфікс шістнадцятковій системи числення).
Адресний простір СРФ розділене на 16 робочих груп регістрів по 16регістрів у кожній. Робоча група 0 містить регістри з адресами від 00H до
0FH, група 1-регістри з адресами від 10H до 1FH і т.д. Отже,правомірно вважати, що перший шістнадцяткова цифра адреси відповідаєномером робочої групи регістрів, а другий-номеру регістра. На ріс.1.2виділені робочі групи регістрів СРФ із зазначенням адреси нульового регістракожної групи в шістнадцятковій системі числення.
Робоча група регістрів 0-особлива, вона може замінятись групами регістрівз РРФ. РРФ містить 16 розширених груп регістрів по 16 регістрів вкожній. На ріс.1.2 зазначені номери розширених реєстрових груп. Слідвідзначити, що робоча група 0 СРФ збігається з розширеною групою 0 РРФ.
Спеціальний регістр RP (Register Pointer-Покажчик регістрів), розміщенийв СРФ за адресою FDH (253), містить два четирехбітних покажчика,визначають поточні номера робочої (старша тетрада) і розширеній
(молодша тетрада) реєстрових груп. Перезавантаженням регістра RP можнаоперативно змінювати обрані групи регістрів. Старша цифра зазначеного вкоманді завантаження шістнадцятирічного числа буде визначати номер робочоїгрупи, а молодша-номер розширеної групи регістрів.
Доступ до регістрів може здійснюватися як за допомогою повного восьмібітногоадреси, так і за допомогою короткого четирехбітного адреси. В останньому випадкуадреса визначає номер регістра в поточній робочій групі. Якщо поточнаробоча група -0, то буде обраний відповідний регістр з поточноїрозширеної групи. У разі використання восьмібітного адреси 0XH (де X
-будь-яка шістнадцяткова цифра) вибирається регістр X поточної розширеноїрегістровий групи, а адреси 1XH-FXH відповідають регістрів СРФ. Уостанньому випадку виключення становить робоча група регістрів E (адреса
E0H-EFH), до якої можна звертатися за допомогою восьмібітного адреси, тому щобайтовий формат EXH зарезервований розробниками МК для команд зукороченим адресою.
Різні моделі МК мають різні набори фізично доступних реєстрових груп.
Для СРФ ці набори показані на ріс.1.2 Столбикова діаграмою. Розширенагрупа регістрів 0 (вона ж-робоча група регістрів 0) є у всіхмоделях МК. Розширена група регістрів C є тільки в моделі 06, арозширена група регістрів F мається на моделях 03,06,30,31,40.
Незадіяні регістри розширених груп 1-F зарезервованірозробниками МК для подальших застосувань. p>
Рис. 1.2 Структура реєстрового файлу
Частина регістрів СРФ має спеціальне призначення (керуючі іпериферійні регістри), інша частина-регістри загального призначення-РОН
(General Purpose Register-GPR). Останні й утворюють оперативнезапам'ятовуючий пристрій (ОЗУ) МК. Регістри спеціального призначеннязосереджені в робочій групі F і в розширеній/робочій групі 0. Всізадіяні регістри розширених груп мають спеціальне призначення. Нарис. 1.2 праворуч показані всі регістри спеціального призначення. Для кожногорегістра вказані шістнадцятковий адресу та ідентифікатор, що представляєабревіатуру призначення регістра. У табл. 1.3 наведено повний перелік цихрегістрів із зазначенням ідентифікатора, призначення на англійській і російськіймовах і характеру операцій доступу (R-читання, W-запис). p>
Таблиця 1.3 p>
Регістри спеціального призначення
| Ідентіфік | Призначення | | Дост |
| атор | | | уп |
| | Англійська | Російська | |
| SPL | Stack Pointer Low | Покажчик стека - мол. байт | R/W |
| | Byte | | |
| SPH | Stack Pointer High | Указ?? тель стека - ст. байт | R/W |
| | Byte | | |
| RP | Register Pointer | Покажчик регістрів | R/W |
| FLAGS | Program Control | Регістр прапорів | R/W |
| | Flags | | |
| IMR | Interrupt Mask | Регістр маски переривань | R/W |
| | Register | | |
| IRQ | Interrupt Request | Регістр запитів переривань | R/W |
| | Register | | |
| IRP | Interrupt Priority | Регістр пріоритету переривань | W |
| | Register | | |
| P01M | Port 0-1 Mode | Регістр режиму портів 0-1 | W |
| | Register | | |
| P3M | Port 3 Mode Register | Регістр режиму порту 3 | W |
| P2M | Port 2 Mode Register | Регістр режиму порту 2 | W |
| PRE0 | TO Prescaler | Предделітель ТО | W |
| TO | Timer/Counter TO | Таймер/Лічильник ТО | R/W |
| PRE1 | T1 Prescaler | Предделітель Т1 | W |
| T1 | Timer/Counter T1 | Таймер/Лічильник Т1 | R/W |
| TMR | Timer Mode Register | Регістр режимів таймерів | R/W |
| WDTMR | Watch Dog Timer Mode | Регістр режиму сторожового таймера | W |
| | Register | | |
| SMR | Stop-Mode Recovery | Регістр управління відновленням | W * |
| | Register | з режиму STOP | |
| PCON | Port Control | Регістр управління портами | W |
| | Register | | |
| SCON | SPI Control Register | Регістр управління послідовним | R/W |
| | | Інтерфейсом | |
| RxBUF | SPI Receive Buffer | Приймальний буфер послідовного | R/W |
| | | Інтерфейсу | |
| SCOMP | SPI Compare Register | Регістр порівняння послідовного | R/W |
| | | Інтерфейсу | |
| P3 | Port 3 | Порт 3 | R/W |
| P2 | Port 2 | Порт 2 | R/W |
| P1 | Port 1 | Порт 1 | R/W |
| P0 | Port 0 | Порт 0 | R/W | p>
* Біт 7 регістра SMR - тільки для читання.
Набори регістрів спеціального призначення для різних моделей МК наведені втабл.1.4. p>
Таблиця 1.4 p>
Набори регістрів спеціального призначення
| Ім'я Регістру | Мо | | | | | | | |
| | Де | | | | | | | |
| | Ль | | | | | | | |
| | МК | | | | | | | |
| | 02 | 03 | 04 | 06 | 08 | 31 | 30 | 40 |
| SPL | + | + | + | + | + | + | + | + |
| SPH | * | * | * | * | * | * | * | + |
| RP | + | + | + | + | + | + | + | + |
| FLAGS | + | + | + | + | + | + | + | + |
| IMR | + | + | + | + | + | + | + | + |
| IRQ | + | + | + | + | + | + | + | + |
| IPR | + | + | + | + | + | + | + | + |
| P01M | + | + | + | + | + | + | + | + |
| P3M | + | + | + | + | + | + | + | + |
| P2M | + | + | + | + | + | + | + | + |
| PRE0 | - | - | + | + | + | + | + | + |
| T0 | - | - | + | + | + | + | + | + |
| PRE1 | + | + | + | + | + | + | + | + |
| T1 | + | + | + | + | + | + | + | + |
| TMR | + | + | + | + | + | + | + | + |
| WDTMR | - | + | - | + | - | + | + | + |
| SMR | - | + | - | + | - | + | + | + |
| PCON | - | + | - | + | - | + | + | + |
| SCON | - | - | - | + | - | - | - | - |
| RxBUF | - | - | - | + | - | - | - | - |
| SCOMP | - | - | - | + | - | - | - | - |
| P3 | + | + | + | + | + | + | + | + |
| P2 | + | + | + | + | + | + | + | + |
| P1 | - | - | - | - | - | - | - | + |
| P0 | + | - | + | - | + | + | + | + | p>
Примітки: 1.Наявність регістра відзначено знаком "+". p>
2.Регістр SPH у всіх моделях, крім 40, використовується як регістр загального призначення GPR (відмічено знаком "*").< br>При програмуванні МК слід враховувати спосіб доступу до регістрів.
Читання регістрів, призначених тільки для запису, буде давати результат
FFH. Тому використання цих реєстрів в командах, де вони зчитуються
(наприклад, в логічних командах OR та AND), буде давати неправильнийрезультат. Коли лінії портів 0 і 1 визначені як виходи адреси, вонинабувають статусу регістрів тільки для запису. І, нарешті, реєстр WDTMRповинен бути записаний протягом перших 64 тактів синхронізації після скидання.
Рони, з точки зору системи команд, можуть розглядатися не тільки якокремі восьмібітние регістри, але і як шістнадцятибітну пари регістрів.
При цьому повинна дотримуватися парне вирівнювання, тобто адреса регістровийпари повинен бути парний. При цьому старший байт регістровий пари розміщуєтьсяза парним адресою, а молодший-по непарним. У робочій групі регістровийреєстрових пар буде 8, і їм відповідають тільки парні номери:
0,2 ,..., 14.
Доступ до окремих бітам регістрів здійснюється логічними командами змасками.
Функція захисту ОЗУ полягає в тому, що старша частина адресногопростору від 80H до EFH (виключаючи керуючу групу регістрів) можебути захищена від читання і запису. Біт захисту ОЗУ програмуєтьсяодночасно з ПЗУ (масочний або електрично). Якщо цей бітзапрограмований, то функція захисту управляється програмно бітом D6регістра IMR. Логічна 1 включає функцію захисту, логічний 0
-відключає. Цю функцію мають тільки моделі МК 30 та 40. P>
1.2.2.2. Адресний простір пам'яті
Адресний простір пам'яті складається з адресного простору пам'ятіпрограм та адресного простору пам'яті даних. Пам'ять програм складається звнутрішнього ПЗУ і зовнішньої пам'яті. Пам'ять даних також є зовнішньою.
Структура адресного простору пам'яті МК показана на рис.1.3. Доступністьфрагментів адресного простору для різних моделей МК показана намалюнку Столбикова діаграмою. p>
Рис. 1.3 Структура пам'яті
Внутрішнє ПЗУ мають всі розглянуті моделі МК. Моделі з літерами C і Lмають масочний ПЗУ, а моделі з літерою E-одноразово-програмований (One
Time Programmable-OTP) ПЗУ. Розмір внутрішнього ПЗУ становить для різнихмоделей МК від 512 байт до 4 Кбайт. Перші 12 байт зарезервовані длявекторів переривань (див. рис.1.3). Ці комірки містять 6 шістнадцятибітнувекторів переривань, які відповідають 6 можливим запитам переривання:
IRQ0-IRQ5 (Interrupt Request). Починаючи з клітинки 12 (0CH) розміщуєтьсяпрограма.
Модель 40 має можливість підключення зовнішньої пам'яті програм обсягом до
60 Кбайт. Таке підключення можливо з використанням мультиплексний лінійадреси/даних (AD7-AD0) порту 1 і адресних ліній (A15-A8) порту 0.
Максимальний адреса зовнішньої пам'яті програм -65535 (FFFFH). Цей інтерфейсзовнішньої пам'яті підтримується керуючими лініями/AS,/DS і R// W. Доступдо пам'яті програм (у тому числі і до зовнішньої) здійснюється за допомогоюпрограмного лічильника для зчитування команд, а також командами завантаженняконстант LDC і LDCI.
Модель 40 також має можливість додатково адресувати до 60 Кбайтзовнішньої пам'яті даних з адресами від 4096 (1000H) до 65535 (FFFFH) шляхомпрограмування виходу порту 3 P34 на видачу сигналу/DM (Data Memory),дозволяє апаратно розділити адресні простору зовнішньої пам'ятіпрограм і зовнішньої пам'яті даних. Звернення до зовнішньої пам'яті данихздійснюється спеціальними командами завантаження LDE і LDEI, при виконанніяких сигнал/DM матиме активний низький рівень.
У МК передбачений спеціальний біт захисту ПЗУ (ROM Protect), якийпрограмується одночасно з внутрішньою пам'яттю програм. Сутність захисту
ПЗУ полягає в запобіганні "дампінгу" вмісту ПЗУ. Ця функція вбільш ранніх версіях МК реалізована шляхом заборони команд LDC, LDCI, LDE і
LDEI. При такому підході захищена програма не могла використовувати цікоманди, що не дозволяло програмісту реалізовувати ефективні алгоритмиз переглядом таблиць. В останніх версіях МК використання функції захисту
ПЗУ ніяких обмежень на програмування не накладає. P>
1.2.2.3. Стек
Стек МК Z8 може розташовуватися у внутрішньому ОЗП або у зовнішній пам'ятіданих. Розміщення стека програмується шляхом запису біта D2 в регістррежиму портів 0 і 1-P01M. Запис 0 в цей біт задає зовнішній стек, 1
-внутрішній. Такий вибір можливий тільки для моделі 40, що має інтерфейсзовнішньої пам'яті, для інших моделей біт D2 повинен бути встановлений в 1.
Розташування верхівки стека задається шістнадцятибітну покажчиком стека,розміщеним в регістрах SPH і SPL стандартного реєстрового файлу. Для всіхмоделей, окрім моделі 40, досить восьмібітного покажчика стека (тому щообсяг внутрішнього ОЗУ не перевищує 256 байт), і він розміщується в регістрі
SPL. Регістр SPH з адресою FEH використовується при цьому як регістр загальногопризначення GPR. Покажчик стека декрементіруется перед операцією завантаження іінкрементіруется після операції добування. Його вміст-це завждиадреса верхівки стека.
Стек МК Z8-це стек повернення з підпрограм і переривань, а також стекданих. При роботі МК можливо переповнення стека вниз і вгору.
Відповідальність за неприпустимість переповнення лежить на розробникапрограми, інакше результат буде непередбачуваний. p>
1.2.3. Синхронізація
Узагальнена структурна схема синхронізації МК показана на рис 1.4. P>
Рис. 1.4 Структурна схема синхронізації
Схема складається з задає генератора, розрахованого на підключення зовнішньоївремязадающей ланцюга або зовнішнього джерела синхронізації, дільника частотина 2 і дільника частоти на 16 (останній у моделях 02, 03, 04, 08відсутній). До вхідним контактам XTAL1 і XTAL2 (eXternal crysTAL)підключається времязадающая ланцюг, що змушує генератор формуватисинхроімпульсів з частотою XTAL. З виходу синхронізуючий схеми знімаютьсяімпульси внутрішньої системної синхронізації SCLK (System CLocK) ісинхронізації таймерів TCLK (Timer CLocK). Призначення дільника на 2
-формування сигналу, а дільник на 16 призначений для зменшення робочоїчастоти синхронізації і, відповідно, споживаного струму, особливо урезервних режимах HALT і STOP.
Управління частотою в різних моделях МК здійснюється двома способами. Умоделях 02, 04, 08 управління зводиться тільки до перекладу схеми вмалошумливий режим шляхом програмування (масочний або електрично) бітамалошумні режиму Noise "(див. верхню частину ріс.1.4.). При цьому задаєгенератор переводиться в малошумливий режим і відключається дільник на 2.
Максимальна частота роботи генератора в цьому режимі обмежується 4 МГц ідещо знижується навантажувальна здатність.
У моделях 03, 06, 30, 31 і 40 управління схемою синхронізаціїздійснюється шляхом запису керуючої інформації в регістри PCON та SMR впроцесі виконання прикладної програми МК (див. нижню частину рис 1.4). Біт
D7 регістра PCON управляє режимом задає генератора, а біти D1 та D0регістра SMR-дільниками на 2 і на 16 відповідно. Логіка управлінняпоказана на схемі. p>
_________________________________________________ p>
* У моделі 03 дільник на 16 відсутня, а біт D0 зарезервовано і повинендорівнювати 0. У моделях 02,04,08 дільник на 16 відсутній. P>
Схема задає генератора показана на рис 1.5. Генератор побудований наоснові інвертують підсилювача постійного струму A з виконаної всерединікристала резистивної зворотним зв'язком R. Схема генератора розрахована напідключення зовнішньої времязадающей ланцюга, яка є гнучкою зворотним зв'язкомпідсилювача. p>
Рис. 1.5 Схема задає генератора
Для сталого самозбудження генератора необхідне дотримання умовбалансу амплітуд і балансу фаз на частоті генерації. Умова балансуамплітуд полягає в рівності 1 твори коефіцієнта посиленняпідсилювача на коефіцієнт передачі ланцюга зворотного зв'язку. Умова балансу фазвимагає, щоб сумарний зсув фаз у схемі був дорівнює 0 (360о). Оскількиінвертують підсилювач дає зрушення фази 180о, то ланцюг зворотного зв'язку повинназабезпечувати фазовий зсув також на 180о.
Цим умовам задовольняють схеми времязадающіх ланцюгів, показані наріс.1.6. Генератор може працювати з кварцовим або керамічним резонатором,
LC-ланцюгом, RC-ланцюгом і зовнішнім генератором. Робота генератора з RC-ланцюгомвимагає певної реконфігурації внутрішньої схеми, що досягаєтьсяпрограмуванням (масочний або електрично) спеціального біта RC. Такуможливість мають моделі 03, 06, 30, 31, 40. Що стосується моделей 02, 04,
08, то можливість запуску від RC - ланцюга мають тільки самі останні версіїцих моделей. Сталий збудження генератора можливо на частотах від 10
КГц до максимальної (див. табл.1.1 .). p>
Рис. 1.6 Времязадающіе ланцюга генератора p>
1.2.4. Скидання і сторожовий таймер
Функція скидання (Reset) необхідна для ініціалізації найважливіших елементів МК:схеми керування і синхронізації, програмного лічильника (він встановлюєтьсяв стан 000СН), керуючих регістрів і портів (для визначення їхстану після скидання для різних моделей МК, див. додаток 1).
Функція скидання активується в наступних випадках: p>
- при подачі низького рівня на вхід/RESET (тільки для моделі 40); p>
- при включенні харчування VСС; p>
- при переповнення сторожового таймера WDT; p>
- при відновленні з режиму STOP.
В останньому випадку (так званий "теплий" старт) і в разі переповненнясторожового таймера в режимі STOP порти та керуючі регістри нереініціалізіруются.
Функція скидання використовується також для захисту пам'яті МК від падіннянапруги живлення. Це забезпечується включенням функції скидання припадінні напруги живлення VСС нижче порога захисту VLV (Low Voltage)-2-.6
В. Якщо рівень напруги не знизиться нижче за рівень працездатності КМОП -логіки VCMOS (1.2 В), то можливе збереження вмісту пам'яті МК іпродовження нормальної роботи після відновлення VСС і автосброса. Цедозволяє захистити МК від короткочасних "провалів" напруги живлення.
Поки скидання активний, на вихід/AS подаються імпульси внутрішньоїсинхронізації, вихід/DS має низький потенціал, R// W-високий.
Узагальнена структурна схема скидання і сторожового таймера показана на рис.
1.7. P>
Рис. 1.7. Схема скидання/сторожового таймера
Схема містить генератор сигналу внутрішнього скидання, синхронізуютьсяімпульсами основного генератора XTAL. Цей генератор забезпечуємінімальну тривалість сигналу скидання 18 періодів TpC частоти XTAL.
Запуск генератора здійснюється через фільтр тривалості в 4 TpC. Інакшекажучи, якщо тривалість запускає сигналу буде менше 4 TpC, тоскидання не відбудеться. Якщо запускає сигнал довше 18 TpC, то скиданнябуде утримуватися на час цього сигналу плюс 18 TpC.
Об'єднання сигналів запуску скидання здійснюється за схемою "монтажне
АБО ", тому до зовнішнього висновку МК/RESET (тільки для моделі 40) можнапідключати схеми з вихідними каскадами з відкритим стоком. Для скидання МК іздопомогою кнопки SB "Скидання" слід застосовувати зовнішню RC-ланцюг, показану натому ж малюнку. Для можливості використання RC-ланцюга вхід запуску доповненийтригером Шмітта.
Таймер автосброса POR (Power-On Reset) і сторожовий таймер WDT (Watch-Dog
Timer) виконані у вигляді перерахункові ланцюга, який, в загальному випадку,синхронізується від додаткового RC-генератора GRC або від основногогенератора XTAL. Таймер POR має для всіх моделей постійне час, атаймер WDT-програмований (за винятком моделей 02, 03, 04 і 08).
Запуск таймера автосброса POR здійснюється у таких випадках: p>
- якщо рівень VСС піднімається вище рівня VLV; p>
- якщо стає активним сигнал відновлення з режиму STOP; p>
-- якщо має місце закінчення рахунку сторожового таймера WDT.
У першому випадку сигнал запуску виробляється спеціальним компараторів А.
У другому випадку паразитні сплески сигналу джерела придушуються фільтром
12 нс.
У всіх цих випадках відбувається запуск таймера автосброса POR, часзатримки якого гарантує закінчення перехідних процесів в ланцюзі харчування
VСС і вихід на нормальний режим основного генератора синхронізації XTAL,після чого коректно виконується внутрішній скидання МК.
При відновленні з режиму STOP в разі застосування LCілі RC -времязадающіх ланцюгів основного генератора (див. п.1.2.3) немає необхідностівитримувати затримку автосброса, тому що ці конфігурації генератора маютьмалий час встановлення. Для скорочення затримки відновлення з режиму
STOP в цьому випадку сигнал від джерела може бути поданий безпосередньо навхід запуску генератора сигналу скидання. При цьому необхідно, щоб сигналвід джерела відновлення мав тривалість не менше 4 TpC.
У МК, що мають розширену групу регістрів F (моделі 03, 06, 30, 31, 40),управління схемою скидання/сторожового таймера здійснюється за допомогоюрегістрів режиму сторожового таймера WDTMR (Watch-Dog Timer Mode Register)і режиму відновлення з режиму STOP-SMR (STOP-Mode Recovery Register).
Логіка управління зрозуміла з малюнка. Слід зазначити, що оскількигенератор основний синхронізації вимикається в режимі STOP, перш ніжперейти в цей режим необхідно, щоб біт D4 WDTMR був встановлений встан 0. Необхідно пам'ятати, що регістр WDTMR доступний для записулише протягом перших 64 тактів (128 TpC) процесора після скидання,викликаного будь-яким джерелом. Призначення розрядів регістра WDTMR повністюпоказано на рис. 1.8. P>
Рис. 1.8. Регістр WDTMR
Запуск і оновлення сторожового таймера здійснюється спеціальною командою
WDT в робочому режимі виконання програми RUN. Після одноразовоговиконання цієї команди сторожовий таймер постійно дозволений. Томупрограма МК повинна передбачати періодичне повторення (з періодом,меншим від встановленого часу сторожового таймера) команди WDT. Це повиннобути забезпечено програмістом. У цьому випадку, при нормальній роботіпроцесора сторожовий таймер буде періодично перезапускати і недосягне стану закінчення рахунку. При "зависанні" процесора сторожовийтаймер досягає стану закінчення рахунку, що викликає запуск автосброса
МК і виконання програми з початку. Робота WDT в режимах HALT і STOPдозволяється шляхом програмування відповідних бітів D2 і D3 регістра
WDTMR. У цьому випадку, при переході у відповідний режим, WDT продовжуєсвою роботу.
У моделі 03 сторожовий таймер має фіксовану затримку 15 мс (присинхронізації від GRC) або 512TpC (при синхронізації від XTAL), а станбітів D1 та D0 регістра WDTMR повинно бути 01.
У моделях 02, 04, 08 регістри WDTMR та SMR відсутні, тому схема маєфіксовану конфігурацію (відповідає зображеною на ріс.1.7положень перемикачів). Дозвіл роботи сторожового таймера в режимі
HALT здійснюється виконанням спеціальної команди WDH (виконується допереходу в режим HALT). В режиміSTOP в цих МК робота сторожового таймеразаборонена.
Заборона роботи сторожового таймера в усіх моделях МК відбувається привиконання внутрішнього скидання. Виняток становлять деякі моделі (абоокремі модифікації) мають програмований (масочний або одноразово) бітпостійного дозволу WDT (Permanent WDT). Якщо цей біт запрограмований,то WDT постійно дозволений і заборона роботи його після скидання невідбувається.
Таким чином, функція скидання і сторожовий таймер забезпечують коректнийпочатковий запуск програми і перезапуск в разі збою програми. p>
1.2.5. Порти введення/виводу
МК Z8 має до 32 ліній введення/виводу, згрупованих у чотири восьмібітнихпорту Р0, Р1, Р2, Р3 (фізична наявність відповідних висновків портів длякожної моделі МК зазначено в табл.1.2). Порти розміщені в адресномупросторі реєстрового файлу за адресами відповідно 00H, 01H, 02H,
03H.
Порти Р0, Р1 і Р2 побудовані за типовою структурі, що на рис. 1.9.
Кожен порт має вхідний і вихідний регістри, вхідний і вихідний буфери.
Вихідні буфери-двотактні, однак, можуть програмуватися як схеми звідкритим стоком (Open Drain). Крім того, вихідні буфери можуть бутипереведені в малошумливий режим. p>
Рис. 1.9. Структурна схема портів P0, P1 і P2
Робота ліній портів може програмуватися на введення або висновок: Р0
-потетрадно, Р1-побайтно (тобто цілком), а Р2-побітне (див. табл. на рис.
1.9). Порти можуть працювати в режимі синхронного програмного обміну, врежимі обміну з квітірованіем, в режимі стробіруемого введення/виводу.
При синхронному програмному обміні введення або виведення реалізується в моментвиконання команд читання або запису регістра порту. При цьому зовнішнєпристрій повинен бути постійно готовий до обміну.
Режим обміну з квітірованіем або "рукостисканням" (Handshake) полягає вте, що МК і зовнішній пристрій обмінюються сигналами (квитанціями)
ГОТОВНІСТЬ до обміну-RDY (Ready) і ДІЙСНОСТІ ДАНИХ -/DAV (Data is
Available). Введення і виведення з квітірованіем докладно пояснюються тимчасовимидіаграмами, ріс.1.10 і 1.11. p>
| | Стан | Сигнал RDY має високий рівень, що вказує MK прийняти дані. |
| | 1. | |
| | Стан | Зовнішній пристрій поміщає дані на висновки порту і активізує |
| | 2. | сигнал/DAV. Це призводить до фіксації даних у вхідному реєстрі |
| | | Порту МК і генерування запиту переривання. |
| | Стан | МК переводить вихід RDY в низький стан, сигналізуючи зовнішнього |
| | 3. | пристрою, що дані зафіксовані. |
| | Стан | Зовнішній пристрій повертає лінію/DAV у високе стан після |
| | 4. | отримання низького рівня сигналу RDY. |
| | Стан | МК повинен зреагувати на запит переривання і прочитати вміст |
| | 5. | порту для завершення послідовності квітірованія. На лінії RDY |
| | | Встановлюється високий рівень тоді і тільки тоді, коли порт |
| | | Вже прочитаний і/DAV має високий рівень. Це возврощает |
| | | Інтерфейс в його початкове значення. | p>
Рис. 1.10. Введення з квітірованіем
| | Стан 1. | Вхід RDY має високий рівень, що вказує на готовність |
| | | Зовнішнього пристрою до прийом