ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Мікроконтролери Z86 фірми ZILOG
         

     

    Інформатика, програмування
    Мікроконтролери сімейства Z86 фірми ZILOG

    ВСТУП

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

    - складних протоколів обміну даними;

    - високих швидкостей передачі;

    - складних алгоритмів обробки;

    - високої точності;

    - аналого-цифрових функцій;

    - надійності та достовірності;

    - стійкості до впливу дестабілізуючих чинників;

    - конструктивних параметрів (габаритні розміри, маса);

    - енергоспоживання.

    Вирішальну роль на технічні характеристики пристроїв передачі та обробки інформації надає використовувана елементна база. Найбільш відповідна елементна база для побудови таких пристроїв-це однокристальних мікроконтролери (МК). Такі прилади поставляються на світовий ринок всіма провідними виробниками мікропроцесорів: 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, а також приклади проектування пристроїв передачі та обробки інформації на базі цих МК.

    1. Однокристальний мікроконтролери сімейства Z8

    1.1. Опис сімейства Z8

    Серед новітніх моделей МК сімейства Z8 слід виділити ряд малопотребляющіх МК, виконаних за технологією КМОП, основні параметри яких наведені в табл.1.1. Позначення МК складається з префікса фірми-Z, номери сімейства -86, літери виконання і номера моделі.

    Таблиця 1.1

    Малопотребляющіе мікроконтролери сімейства 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

    Примітка: х - літера виконання, С, Е або L.

    * - є можливість підключення зовнішніх ПЗУ і ОЗУ об'ємом по 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), що одночасно змушувало програміста відмовлятися від використання досить ефективних алгоритмів, заснованих на перегляді таблиць. В останніх версіях МК доступ до ПЗУ блокується встановленням біта захисту без заборони зазначених команд і будь-яких алгоритмічних обмежень.

    1.2. Архітектура мікроконтролерів Z8

    1.2.1. Структурна схема мікроконтролерів

    На рис.1.1 наведена узагальнена структурна схема МК, а в табл. 1.2 вказані набори варіативних елементів структури для кожної моделі.

    Рис. 1.1 Узагальнена структурна схема мікроконтролерів Z8

    Відповідно до структури МК, рис.1.1, операційний пристрій представлено арифметико-логічним вузлом (АЛП) і прапоровим регістром. Пристрій керування МК містить лічильник команд PC (Program Counter) і вузол синхронізації і управління з сторожовим таймером і схемою автосброса. Система пам'яті МК представлена постійним запам'ятовуючим пристроєм (ПЗУ) для зберігання програм і оперативною пам'яттю для даних і стека, виконаної у вигляді реєстрового файлу. Для скорочення розміру поля адреси реєстрового файлу він поділений на робочі групи. Номер активної групи задається спеціальним покажчиком регістрів RP (Register Poitner). Модель 40 має можливість розширення обсягу пам'яті до 64 Кбайт шляхом підключення зовнішньої пам'яті програм і даних.

    Таблиця 1.2

    Параметри структури рис.1.1 для моделей мікроконтролерів Z8

    Модель

    Вузли

    Висновки

    T0

    T1

    SPI

    Управління

    Порт P0

    76543210

    Порт P1

    Порт P3

    76543210

    02

    --

    *

    --

    --

    ***

    --

    ***

    03

    --

    *

    --

    --

    --

    --

    ******

    04

    *

    *

    --

    --

    ***

    --

    ***

    06

    *

    *

    *

    --

    --

    --

    ******

    08

    *

    *

    --

    --

    ***

    --

    ***

    31

    *

    *

    --

    --

    ********

    --

    ********

    30

    *

    *

    --

    --

    ********

    --

    ********

    40

    *

    *

    --

    *

    ********

    *

    ********

    Пристрій введення/виводу МК представлено 4 програмованими портами. Крім того, на кристалі МК виконаний ряд периферійних пристроїв: 1 - таймера/лічильника, пристрій управління переривань, 2 аналогових компаратора і послідовний інтерфейс SPI (Serial Peripheral Interface). Призначення висновків мікроконтролера зрозуміло з рис.1 за винятком висновків вузла синхронізації і управління, функції яких пояснені нижче:

    XTAL-висновки для підключення кварцового або керамічного резонатора, LC-або RC-ланцюга;

    /AS-вихід стробі адреси (Address Strobe);

    /DS-вихід стробі даних (Data Strobe);

    R// W-сигнал "Читання// Запис" (Read// Write);

    /RESET-вхід скидання.

    Примітка. Тут і далі для сигналів з низьким рівнем активним використовуються два еквівалентних позначення, наприклад:

    __

    AS або/AS.

    Фізичне наявність певних вузлів і висновків у різних моделях МК зазначено у табл.1.2 знаком "*".

    1.2.2. Адресний простір мікроконтролерів

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

    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 зарезервовані розробниками МК для подальших застосувань.

    Рис. 1.2 Структура реєстрового файлу

    Частина регістрів СРФ має спеціальне призначення (керуючі і периферійні регістри), інша частина-регістри загального призначення-РОН (General Purpose Register-GPR). Останні й утворюють оперативний запам'ятовуючий пристрій (ОЗУ) МК. Регістри спеціального призначення зосереджені в робочій групі F і в розширеній/робочій групі 0. Всі задіяні регістри розширених груп мають спеціальне призначення. На рис. 1.2 праворуч показані всі регістри спеціального призначення. Для кожного регістру вказані шістнадцятковий адресу та ідентифікатор, який представляє абревіатуру призначення регістра. У табл. 1.3 наведено повний перелік цих регістрів із зазначенням ідентифікатора, призначення на англійській і російській мовах і характеру операцій доступу (R-читання, W-запис).

    Таблиця 1.3

    Регістри спеціального призначення

    Ідентифікатор

    Призначення

    Доступ

    Англійська

    Російська

    SPL

    Stack Pointer Low Byte

    Покажчик стека - мол. байт

    R/W

    SPH

    Stack Pointer High Byte

    Покажчик стека - ст. байт

    R/W

    RP

    Register Pointer

    Покажчик регістрів

    R/W

    FLAGS

    Program Control Flags

    Регістр прапорів

    R/W

    IMR

    Interrupt Mask Register

    Регістр маски переривань

    R/W

    IRQ

    Interrupt Request Register

    Регістр запитів переривань

    R/W

    IRP

    Interrupt Priority Register

    Регістр пріоритету переривань

    W

    P01M

    Port 0-1 Mode Register

    Регістр режиму портів 0-1

    W

    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 Register

    Регістр режиму сторожового таймера

    W

    SMR

    Stop-Mode Recovery Register

    Регістр управління відновленням з режиму STOP

    W *

    PCON

    Port Control Register

    Регістр управління портами

    W

    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

    * Біт 7 регістра SMR - тільки для читання.

    Набори регістрів спеціального призначення для різних моделей МК наведені в табл.1.4.

    Таблиця 1.4

    Набори регістрів спеціального призначення

    Назва Регістру

    Модель МК

    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

    +

    --

    +

    --

    +

    +

    +

    +

    Примітки: 1.Наявність регістра відзначено знаком "+".

    2.Регістр SPH у всіх моделях, крім 40, використовується як

    регістр загального призначення GPR (відмічено знаком "*").

    При програмуванні МК слід враховувати спосіб доступу до регістрів. Читання регістрів, призначених тільки для запису, буде давати результат FFH. Тому використання цих реєстрів в командах, де вони зчитуються (наприклад, в логічних командах OR та AND), буде давати неправильний результат. Коли лінії портів 0 і 1 визначені як виходи адреси, вони набувають статусу регістрів тільки для запису. І, нарешті, реєстр WDTMR повинен бути записаний протягом перших 64 тактів синхронізації після скидання.

    Рони, з точки зору системи команд, можуть розглядатися не тільки як окремі восьмібітние регістри, але і як шістнадцятибітну пари регістрів. При цьому повинна дотримуватися парне вирівнювання, тобто адреса регістровий пари повинен бути парний. При цьому старший байт регістровий пари розміщується за парним адресою, а молодший-по непарним. У робочій групі регістровий реєстрових пар буде 8, і їм відповідають тільки парні номери: 0,2 ,..., 14.

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

    Функція захисту ОЗУ полягає в тому, що старша частина адресного простору від 80H до EFH (виключаючи керуючу групу регістрів) може бути захищена від читання і запису. Біт захисту ОЗУ програмується одночасно з ПЗУ (масочний або електрично). Якщо цей біт запрограмований, то функція захисту управляється програмно бітом D6 регістра IMR. Логічна 1 включає функцію захисту, логічний 0-відключає. Цю функцію мають тільки моделі МК 30 та 40.

    1.2.2.2. Адресний простір пам'яті

    Адресний простір пам'яті складається з адресного простору пам'яті програм та адресного простору пам'яті даних. Пам'ять програм складається з внутрішнього ПЗУ і зовнішньої пам'яті. Пам'ять даних також є зовнішньою. Структура адресного простору пам'яті МК показана на рис.1.3. Доступність фрагментів адресного простору для різних моделей МК показана на малюнку Столбикова діаграмою.

    Рис. 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. При такому підході захищена програма не могла використовувати ці команди, що не дозволяло програмісту реалізовувати ефективні алгоритми з переглядом таблиць. В останніх версіях МК використання функції захисту ПЗУ ніяких обмежень на програмування не накладає.

    1.2.2.3. Стек

    Стек МК Z8 може розташовуватися у внутрішньому ОЗП або в зовнішній пам'яті даних. Розміщення стека програмується шляхом запису біта D2 в регістр режиму портів 0 і 1-P01M. Запис 0 в цей біт задає зовнішній стек, 1-внутрішній. Такий вибір можливий тільки для моделі 40, що має інтерфейс зовнішньої пам'яті, для інших моделей біт D2 повинен бути встановлений в 1.

    Розташування верхівки стека задається шістнадцятибітну покажчиком стека, розміщеним в регістрах SPH і SPL стандартного реєстрового файлу. Для всіх моделей, окрім моделі 40, досить восьмібітного покажчика стека (тому що обсяг внутрішнього ОЗУ не перевищує 256 байт), і він розміщується в регістрі SPL. Регістр SPH з адресою FEH використовується при цьому як регістр загального призначення GPR. Покажчик стека декрементіруется перед операцією завантаження і інкрементіруется після операції добування. Його вміст-це завжди адреса верхівки стека.

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

    1.2.3. Синхронізація

    Узагальнена структурна схема синхронізації МК показана на рис 1.4.

    Рис. 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 відповідно. Логіка управління показана на схемі.

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

    Рис. 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.).

    Рис. 1.6 Времязадающіе ланцюга генератора

    1.2.4. Скидання і сторожовий таймер

    Функція скидання (Reset) необхідна для ініціалізації найважливіших елементів МК: схеми керування і синхронізації, програмного лічильника (він встановлюється в стан 000СН), керуючих регістрів і портів (для визначення їх стану після скидання для різних моделей МК, див. додаток 1 ).

    Функція скидання активується в наступних випадках:

    - при подачі низького рівня на вхід/RESET (тільки для моделі 40);

    - при включенні харчування VСС;

    - при переповнення сторожового таймера WDT;

    - при відновленні з режиму STOP.

    В останньому випадку (так званий "теплий" старт) і в разі переповнення сторожового таймера в режимі STOP порти та керуючі регістри не реініціалізіруются.

    Функція скидання використовується також для захисту пам'яті МК від падіння напруги живлення. Це забезпечується включенням функції скидання при падінні напруги живлення VСС нижче порога захисту VLV (Low Voltage)-2-.6 В. Якщо рівень напруги не знизиться нижче за рівень працездатності КМОП-логіки VCMOS (1.2 В), то можливе збереження вмісту пам'яті МК і продовження нормальної роботи після відновлення VСС і автосброса. Це дозволяє захистити МК від короткочасних "провалів" напруги живлення.

    Поки скидання активний, на вихід/AS подаються імпульси внутрішньої синхронізації, вихід/DS має низький потенціал, R// W-високий.

    Узагальнена структурна схема скидання і сторожового таймера показана на рис. 1.7.

    Рис. 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 здійснюється у таких випадках:

    - якщо рівень VСС піднімається вище рівня VLV;

    - якщо стає активним сигнал відновлення з режиму STOP;

    - якщо має місце закінчення рахунку сторожового таймера 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.

    Рис. 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 постійно дозволений і заборона роботи його після скидання не відбувається.

    Таким чином, функція скидання і сторожовий таймер забезпечують коректний початковий запуск програми і перезапуск в разі збою програми.

    1.2.5. Порти введення/виводу

    МК Z8 має до 32 ліній введення/виводу, згрупованих у чотири восьмібітних порту Р0, Р1, Р2, Р3 (фізична наявність відповідних висновків портів для кожної моделі МК зазначено в табл.1.2). Порти розміщені в адресному просторі реєстрового файлу за адресами відповідно 00H, 01H, 02H, 03H.

    Порти Р0, Р1 і Р2 побудовані за типовою структурі, що на рис. 1.9. Кожен порт має вхідний і вихідний регістри, вхідний і вихідний буфери. Вихідні буфери-двотактні, однак, можуть програмуватися як схеми з відкритим стоком (Open Drain). Крім того, вихідні буфери можуть бути переведені в малошумливий режим.

    Рис. 1.9. Структурна схема портів P0, P1 і P2

    Робота ліній портів може програмуватися на введення або висновок: Р0-потетрадно, Р1-побайтно (тобто цілком), а Р2-побітне (див. табл. на рис. 1.9). Порти можуть працювати в режимі синхронного програмного обміну, в режимі обміну з квітірованіем, в режимі стробіруемого введення/виводу.

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

    Режим обміну з квітірованіем або "рукостисканням" (Handshake) полягає в тому, що МК і зовнішній пристрій обмінюються сигналами (квитанціями) ГОТОВНІСТЬ до обміну-RDY (Ready) і ДІЙСНОСТІ ДАНИХ -/DAV (Data is Available). Введення і виведення з квітірованіем докладно пояснюються тимчасовими діаграмами, ріс.1.10 і 1.11.

    Статус 1.

    Сигнал RDY має високий рівень, що вказує MK прийняти дані.

    Стан 2.

    Зовнішній пристрій поміщає дані на висновки порту і активізує сигнал/DAV. Це призводить до фіксації даних у вхідному реєстрі порту МК і генерування запиту переривання.

    Стан 3.

    МК переводить вихід RDY в низький стан, сигналізуючи зовнішнього пристрою, що дані зафіксовані.

    Стан 4.

    Зовнішній пристрій повертає лінію/DAV у високе стан після отримання низького рівня сигналу RDY.

    Стан 5.

    МК повинен зреагувати на запит переривання і прочитати вміст порту для завершення послідовності квітірованія. На лінії RDY встановлюється високий рівень тоді і тільки тоді, коли порт вже прочитаний і/DAV має високий рівень. Це возврощает інтерфейс в його початкове значення.

    Рис. 1.10. Введення з квітірованіем

    Статус 1.

    Вхід RDY має високий рівень, що вказує на готовність зовнішнього пристрою до прийому даних.

    Стан 2.

    МК запису

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status