Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Ответы до Іспиту по Мікропроцесорним Системам (микроконтроллеры микрокопроцессоры)

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Процессорное ядро. Кожен виробник МК для серії випущених ним виробів розробляє і патентує своє оригінальне процессорное ядро. Однак у більшості їх присутні одні й самі елементи: регістр інструкцій, програмний лічильник, арифметико-логическое пристрій, регістри загального призначення, регістр стану, регістри ввода/вывода, стік. Програмний лічильник: регістр готовий до зберігання адреси осередки… Читати ще >

Ответы до Іспиту по Мікропроцесорним Системам (микроконтроллеры микрокопроцессоры) (реферат, курсова, диплом, контрольна)

1. Історія У 1642 Паскаль винайшов механічну рахункову машину (+,-). 30 років Ляйбніц зробив машину, яка мала множити, ділити, плюсовать і вичитати. На початку 19 В Беббидж сконструював разностную машину, яка могла складати і вичитати. Потім зробив аналітичну машину, яку можна було програмувати. Програміст в цій машині - Ада Августа Ловлейс. У 30 роки 20 в в Гарварді Айкент зробив машину Беббиджа на електричних реле. 1943 — Моушли створив електронний комп’ютер ENIAC (він мав 20 регістрів, 1 регістр — 10-разрядное десяткове число). Джон фон Нейман: «Машина має полягати: АЛУ, пам’ять, пристрій виводу-введення-висновку, пристрій управління «. 1953 IBM побудувала перший комп’ютер — IBM 701. 1956 — винайдено транзистор. 1961 — фірма DEC випустила комп. PDP-1(120 тис. доларів). PDP-8 був 12 битным й мав шинную архитектуру (16 тис. дол.). 1964 — випуск IBM 360. На початку 80-х винайдено БІС. 1981 — INTEL 8088, на цьому проце зроблено IBM PC.

4. АРХІТЕКТУРА МИКРОКОНТРОЛЛЕРА Контролером у техніці регулювання вважається котра управляє пристрій, яке здійснює регулюючі або що контролюють функції у системі. Контролер, реалізований однією кристалі, називається микроконтроллером. Сучасний микроконтроллер не є великою цифровий інтегральної схемою, об'єднуючою мільйони, виконаних по мікронним технологіям, транзисторів. Типова структура микроконтроллера зображено на рис. 1.1. Микроконтроллер складається з трьох, пов’язаних системними шинами, елементів: процесорного ядра, пам’яті і набору программируемых функціональних блоків різного назначения.

Рис. 1.1. Структура микроконтроллера Процессорное ядро (MCU — Microprocessor Com Unit) є основою микроконтроллера. Воно виконує все обчислювальні операції, і одночасно, управляє роботою решти елементів схеми. По системним шинам процессорное ядро обмінюється даними з пам’яттю та всіма функціональними (ннж.ши Розрядність процесорного ядра визначає розрядність микроконтроллера Найпоширеніші нині 8-битные (8- розрядні) микроконфолперы Разом про те, широке використання у простих завданнях знаходять підтримки та 4-битные видання, а складних високопродуктивних системах 16- і 32-битные Ще (Memory) зберігається програма роботи микрокош рол лорою, вихідні дані і всі проміжні результати обчислень. Пам’ять складається з безлічі многоразрядных осередків, кожна з яких має власний адресу У цій адресою процессорное ядро знаходить конкретну осередок пам’яті у процесі обміну. Пам’ять микроконтроллера зазвичай розділена на частини: пам’ять даних (Data Memory) і пам’ять програм (Program Memory). Функціональні блоки різних типів забезпечують взаємодія микроконтроллера з зовнішнім світом. Ці блоки можуть виконувати найрізноманітніші функції: введення та виведення інформації, підрахунок зовнішніх подій і інтервалів часу, передача зовнішніх запитів на процессорное ядро, аналого-цифровые і цифроаналоговые перетворення сигналів, порівняння різних величин, контролю над напругою харчування та інших. Для процесорного ядра будь-який функціональний блок представляється як однієї чи кількох регістрів. Кожен регістр має власний оригінальний адресу, яким процессорное ядро знаходить їх у процесі роботи. Програма роботи микроконтроллера зберігається у пам’яті як послідовності команд (інструкцій). 8 процесі роботи процессорное ядро послідовно витягує зі пам’яті інструкції, розшифровує і виконує їх. Залежно від інструкції в ядрі виконуються різні арифметичні і логічні операції, пересыпки даних. За необхідності, у процесі виконання інструкції, процессорное ядро звертається за даними до осередків пам’яті і функціональним блокам, або пересипає у яких результати обчислень. Безліч інструкцій, які розуміє процессорное ядро, утворює систему команд микроконтроллера. Практично всі провідні виробники розробляють цілі сімейства микроконтроллеров з так званої модульної структурою. У цьому процессорное ядро для сімейства незмінно, а пам’ять і склад функціональних блоків в кожного микроконтроллера різні. Процессорное ядро має свою оригінальну схему і запитають обов’язково, оригінальне ім'я. Наприклад, микроконтроллеры фірми Motorola побудовано з урахуванням ядра НС05 і НС08, фірма Intel створила ядро MCS-51 і мг.8−96, контролери фірми Microchip будуються з урахуванням ядра PIC12, PIC16, PIC17. 1 «До «Ш фірма Л/me/ посилено розвиває сімейство микроконтроллеров з ядром AVR Процессорное ядро з урахуванням відомих схемотехнических рішень, технологій проектування й виробництва цифрових схем реалізує певну архітектуру системи. Для мікропроцесорної системи поняття «архітектура» включає у собі безліч її на структурні особливості, основними у тому числі вважаються: організація пам’яті і системи команд. Нині відомі чотири загальних архітектурних принципу у тому або інший мері, реалізовані в будь-якому процессорном ядрі. По організації пам’яті різняться: ° Неймановская архітектура — характеризується загальним простором пам’яті для зберігання даних, і програми. У цьому розрядність пам’яті зафіксована (як правило, дорівнює одному байту). Таку архітектуру мають, наприклад, микроконтроллеры НС05 і НС08 фірми Motorola, у яких загальний масив 8- бітних осередків пам’яті включає у собі як пам’ять програм, і пам’ять даних [5]. 0 Гарвардська архітектура — відрізняється поділом пам’яті програм, тож пам’яті даних. У цьому розрядність пам’яті програм, тож пам’яті даних, і навіть шини доступу до них, різні. Зокрема, все микроконтроллеры PIC12, PIC16 фірми Microchip мають 8-битную пам’ять даних, а розрядність пам’яті програм вони різна: PIC12 мають 12 битную пам’ять програм, а РЮШ — 14 битную [3]. За системою команд різняться: 0 CISC-архитектура (Complicated Instruction Set Computer) — архітектура з розвинену систему команд. Система команд процесорного ядра має інструкції різного формату: однобайтовые, двухбайтовые, трехбайтовые. Різні інструкції у своїй мають значення і істотно час виконання. 0 RISC-архитектура (Reduced Instruction Set Computer) — архітектура з скороченим набором команд. Одна інструкція, зазвичай, становить лише одну осередок пам’яті, і всі інструкції мають однакову час виконання. Микроконтроллеры з RISC-архитектурой мають порівняно вищу продуктивність за тієї ж тактовою частоті сигналу синхронізації й у справжнє иремя поширеніші. Різні виробники у виробах використовують найчастіше різні архітектурні принципи. Тому наведене вище розподіл є досить умовним Наприклад, AVR-микроконтроллеры фірми Atmel, на думку її творців (Alf Bogen і Vergard Wollan), мають поліпшену RISC (enhanced RISC) архітектуру. Відповідно до принципами RISC — архітектури майже всі команди микроконтроллера (виключаючи ті, які мають однією з операндов є 16- розрядний адресу) займають лише у одну осередок пам’яті програм. Але зробити це розробникам вдалося з допомогою одночасного використання принципів Гарвардської архітектури та розширення осередки пам’яті програм до 16 розрядів. Тож у системі команд AVR-микроконтроллеров цілих 130 різних команд, що значно більше, ніж в більшості модерних RISC — архітектур. Порівняйте, контролери фірми Microchip з ядром PIC12. PIC16, PIC17 мають всього 33 команди [3].

5. Архітектура мікропроцесора КР580ВМ80А Мікросхема КР580ВМ80А — функціонально кінцевий однокристальний паралельний 8-разрядный мікропроцесор з фіксованою системою команд, застосовується у ролі центрального процесора в пристроях обробки даних, і управління. Мікропроцесор має роздільні 16-разрядный канал адреси — й 8-разрядный канал даних. Канал адреси забезпечує пряму адресацію зовнішньої пам’яті обсягом до 65 536 байт, 256 пристроїв введення і 256 пристроїв виведення. Восьмиразрядное арифметико-логическое пристрій мікропроцесора забезпечує виконання арифметичних і логічних операцій над двоичными даними, представленими у додатковому коді, і навіть обробку двоичнодесяткових упакованих чисел. До складу блоку регістрів входять: 16-разрядный регістр адреси команди (IP), 16-разрядный регістр покажчика стека (SP), 16-разрядный регістр тимчасового зберігання (WZ), 16-разрядная схема инкремента-декремента і зібрали шість 8-разрядных регістрів загального призначення (B, З, D, Є, М, L), що потенційно можуть вживатись і як три 16-разрядных регістру (ЗС, DE, HL). Мікропроцесор виконує команди по машинним циклам. Кількість циклів, необхідне виконання команди, залежить від неї типу, і то, можливо від одного до п’яти. Машинні цикли виконуються по машинним тактам. Кількість тактів в циклі визначається кодом виконуваної команди, і то, можливо від трьох до п’яти. Тривалість такту дорівнює періоду тактовою частоти і за частоті 2,0 МГц становить 500 нс.

6. Визначення микроконтроллера. Контролером у техніці регулювання вважається котра управляє пристрій, яке здійснює регулювання або що контролюють функції у системі. Контролер, реалізований однією кристалі, називається микроконтроллером. Сучасний микроконтроллер не є великою цифровий інтегральної схемою, об'єднуючою мільйони, виконаних по мікронним технологіям, транзисторів. Типова структура МК зображено на рис. МК складається з трьох, пов’язаних системними шинами, елементів: процесорного ядра, пам’яті і набору программируемых функціональних блоків різного призначення. Процессорное ядро є основою МК. Воно виконує все обчислювальні операції, і, одночасно, управляє роботою решти елементів схеми. По системним шинам ПрЯд обмінюється даними з пам’яттю та всіма функціональними блоками. Розрядність ПЯ визначає розрядність МК (4,8,16,32-битные). Ще зберігається програма роботи МК, вихідні дані і всі проміжні результати обчислень. Пам’ять складається з безлічі многоразрядных осередків, кожна з яких має власний адресу. Пам’ять МК зазвичай розділена на дві частини: пам’ять даних, і пам’ять програм. Функціональні блоки різних типів забезпечують взаємодія МК з зовнішнім світом. Ці блоки можуть виконувати найрізноманітніші функції: введення і висновок інформації, підрахунок зовнішніх подій і інтервалів часу, передача зовнішніх запитів на ПЯ, анолого-цифровые і цифроанологовые перетворення сигналів. Для ПЯ будь-який функціональний блок представляється як однієї чи кількох регістрів. Кожен регістр має власний оригінальний адресу, по якому ПЯ знаходить процесі роботи. Програма роботи МК зберігається у пам’яті як послідовності команд. У процесі роботи ПЯ послідовно витягує зі пам’яті інструкції, розшифровує і виконує їх. Залежно від інструкцій в ядрі виконуються різні арифметичні і логічні операції, пересилки даних. За необхідності, у виконання інструкцій, ПЯ звертається за даними до осередків пам’яті і функціональним блокам, або пересилає у яких результати обчислень. Безліч інструкцій, які розуміє ПЯ, утворюють систему команд МК. Нині відомі чотири загальних архітектурних принципу у тому чи тією мірою, що реалізуються будь-якому ПЯ. По організації пам’яті різняться: — Неймановская архітектура — характеризується загальним простором пам’яті для зберігання даних, і програми. У цьому розрядність пам’яті зафіксована (зазвичай 1 байт) — Гарвардська архітектура — відрізняється поділом пам’яті програм, тож пам’яті даних. У цьому розрядність пам’яті програм, тож пам’яті даних, і навіть шини доступу до них, різні. За системою команд різняться: — CISC архітектура — архітектура з розвинену систему команд. Система команд ПЯ має інструкції різного формату: однобайтовые, двухбайтовые, трехбайтовые. Різні мають час виконання. — RISC архітектура — архітектура зі скороченою набором команд. Одна інструкція зазвичай посідає один осередок пам’яті, і всі інструкції мають однакову час исполнения.

7. Процессорное ядро. Кожен виробник МК для серії випущених ним виробів розробляє і патентує своє оригінальне процессорное ядро. Однак у більшості їх присутні одні й самі елементи: регістр інструкцій, програмний лічильник, арифметико-логическое пристрій, регістри загального призначення, регістр стану, регістри ввода/вывода, стік. Програмний лічильник: регістр готовий до зберігання адреси осередки пам’яті програм, у якій перебуває виконувана в момент інструкція. Розрядність програмного лічильника визначається кількістю осередків у пам’яті програми. За виконання команди вміст ПС змінюється. У найпростішому випадку він поповнюється 1. Та деякі команди здатні самі записувати дані в ПС. І тут нове вміст ПС і визначається даними, закладені у виконуваної інструкції. Регістр інструкцій: регістр, готовий до зберігання ліченої з пам’яті програм інструкції. Лічена з пам’яті програм інструкція декодируется дешифратором команд і виповнюється микропрограммным автоматом ядра. Розрядність регістру інструкцій визначається розрядністю пам’яті програм. Арифметико-логическое пристрій: логічна схема, безпосередньо що здійснює перетворення одного чи двох змінних відповідно до інструкцією занесений в регістр команд. Стандартне АЛУ здатне виконувати найпростіші арифметичні чи логічні операції над однієї або двома перемінними (складання, віднімання, прибуток, зменшення, NOT, AND, OR, exclusive OR). Деякі виробники інтегрують на кристал також вмонтований умножитель двох змінних. Регістри загального значення: Регістри загального значення призначені для тимчасового зберігання даних у процесі обчислень. Розрядність регістрів визначає розрядність обчислень і розрядність самого МК. Кількість регістрів то, можливо довільним. Зазвичай, у цих регістрах зберігається інформація, оброблювана АЛУ і отриманий у ньому результат обчислень. На що з регістрів може бути покладено додаткові функції. У більшості архітектур одне із регістрів відрізняється з інших великими можливостями. Він зазвичай називається акумулятор чи робочий регістр. У цьому вся регістрі може зберігатися одне з змінних, оброблюваних в АЛУ, і туди ж поміщається результат операції. Регістри ввода/вывода: призначені керувати функціональними блоками МК, енергозалежною пам’яттю даних, і програм. У різних операціях регістри можуть брати участь цілком або окремими бітами. Окремий біт регістру іменується прапором. Звернення до регістрам у різних архитектурах організується по-різному. Зазвичай звернення до них здійснюється виключно як до елементам процесорного ядра по привласненим в архітектурі іменам і адресами, часом до них звертаються з допомогою спеціальних команд ввода/вывода. Регістр стану: призначений для зберігання окремих ознак результату, отриманого і під час різних арифметичних і логічних операцій на АЛУ. Регістр зазвичай розглядається що складається з окремих біт (прапорів), кожен із яких містить у собі певну інформацію про яке або одному ознаці результату. Типовими прапорами регістру стану є: — прапор перенесення: встановлюється у разі виникнення переносу зі старшого розряду результату. — прапор переповнення: встановлюється при переповненні розрядної сітки. — прапор негативного результату: встановлюється, коли результат є негативним числом. — прапор нульового результату: встановлюється, коли результат операції дорівнює нулю. — прапор полупереноса: встановлюється у разі виникнення переносу зі молодшої тетрады 8-битного вересня старшу (з третього розряду вчетверте). Стік: пам’ять даних, організована за принципом: останній зайшов — перший вийшов. Така пам’ять призначається, зазвичай, для оперативного збереження вмісту окремих регістрів при переходах до підпрограмам. Однією з таких регістрів є програмний лічильник. Вилучення з стека вмісту регістрів виробляється у порядку, зворотному порядку записи. Запис в стік й витягування з стека не вимагає знання адреси осередків пам’яті, у яких записуються дані. Стік то, можливо організований або у спеціально створених у ядрі осередках пам’яті, або у області SRAM. У цьому разі в ядрі передбачається спеціальний регістр — покажчик стека. Покажчик стека зберігає адресу останньої записаній осередки пам’яті в області стека. Кількість осередків пам’яті, які використовуються у стеці для зберігання даних, іменується глибиною стека. Глибина стека у різних архитектурах ядра то, можливо різна: від 2-х осередків до розміру SRAM. класифікація команд Безліч інструкцій микроконтроллера утворює систему команд. Система команд, зазвичай, не змінюється всім микроконтроллеров одного сімейства. У списку інструкцій в описах системи зазвичай виділяються окремі групи, родинних щодо застосування інструкцій, наприклад, арифметичні і логічні команди, команди пересилки та інших. Це розподіл є досить умовним й цілком визначається політикою розробника. При описі системи команд наводиться повна інформацію про кожної інструкції: засобах адресації, використанні прапорів регістру стану, часу виконання. Як приклад розглянемо систему команд микроконтроллера, А Ттеда 163 Система команд микроконтроллера містить 130 команд, умовно розділених на чотири групи: команди пересилки даних (data transfer instructions), 0 арифметичні і логічні команди (arithmetic and logic instructions), ° команди роботи із бітами (bit and bit-test instructions), ° команди розгалуження (branch instructions). При описі системи команд використані такі позначення: Rd — регистр-приемник результату (0 < d < 31), Rd* - регистр-приемник результату з номером більш 16 (16 < d < 31), Rr-регистр-источник (0 < р < 31), Rdl: регістри R24, R26, R28, R30 (для інструкцій ADIW і SBIW),.

Радресу регістру ввода/вывода, Р*- адресу побитно адресуемого регістру ввода/вывода ($ 00-$ 1F) До — символьна чи чисельна константа (8 біт) до — адресна константа b — номер біта в регістрі (3 біта) 0 p. s — номер біта в регістрі статусу (3 біта) 0 X, Y, Z — регістри непрямої адресації (X=R27:R26, Y=R29:R28; Z=R31 :R30 Команди пересилки Команди пересилки здійснюють переміщення даних між осередками пам’яті і регістрами процесорного ядра. Одне з операндов, що у інструкції, є джерелом даних, другий — приймачем. При пересилання із джерела до приймальника копія даних завше залишається в джерелі. Отже, все команди пересилки практично здійснюють копіювання даних. Однією з операндов у будь-якій команді пересилки зазвичай є регістр загального призначення процесорного ядра. Другим може бути будь-якою регістр чи осередок пам’яті. Інструкції, зазвичай, не впливають на прапори в регістрі стану процесорного ядра. У системі команд микроконтроллеров AVR передбачено 34 інструкції, здійснюють пересилку даних. У інструкціях використовують усі, за винятком бітових, способи адресації даних; однією з операндов у будь-якій інструкції є регістр загального призначення. Інструкція Idi (toad immediate), яка використовує безпосередню адресацію, то, можливо використана лише у старшої половині файла регістрів загального призначення (R16…R31), решта команд працюють із будьяким зі регістрів файла. Інструкцію spm (store program memory), яка здійснює запис як у пам’ять програм, можна використовувати лише у Boot Program Section пам’яті програм; Час виконання інструкцій, які працюють із регістрами, одно 1 такту. Інструкції, які звертаються до осередків пам’яті даних, виконуються за 2 такту, а «які працюють до осередків пам’яті програм — за 3 такта.

Арифметичні і логічні команди До групи арифметичних команд входить команди виконують складання, віднімання, зменшення і приріст даних, логічне множення логічне складання, операцію ЯКИЙ ВИКЛЮЧАЄ АБО, інверсію перемінної. Зазвичай до этои групі відносять також інструкції порівняння даних. У микроконтроллере Aтmegа 163реализованы також функції арифметичного множення цілих чисел і дробових чисел, без знака і з знако3м Усі інструкції цієї групи, зазвичай, приводять до зміни стану прапорів регістру стану відповідно до резулыа1ами, виконуваної операції. У микроконтроллерах з архітектурою AVR передбачено значна частина (31) інструкцій, виконують арифметичні і логічні перетворення даних. Інструкції використовують виключно пряму регістрову чи безпосередню адресацію даних. Операнды зберігаються у регістрах загального призначення, до одного їх (регистр-приемник) завжди іде і результати обчислень. У виконання інструкцій змінюються прапори регістру SREG (Status Register), а прапор перенесення З (Сапу), ще, бере безпосередню участь у виконанні низки операцій. Арифметичні команди складання і вирахування виконують складання і віднімання однеі двухбайтных операндов. Команди adc (add with сапу two registers) і sbc (subtract with carry two registers) використовують при обчисленнях прапор перенесення З. Інструкції логічного множення (and) логічного складання (or), ЯКИЙ ВИКЛЮЧАЄ АБО (ось) перетворять лише однобайтные дані. Інструкція доповнення до одиниці com (one «p.s complement), фактично виконує операцію інверсії, а інструкція доповнення до двох neg (two «p.s complement) — змінює знак числа Інструкції установки (set) дозволяють встановити як окремі, і все біти обраного регістру в одиничне стан, а команди очищення (dear) — в нульовий. Інструкції инкремента регістру inc (increment) і декремента регістру dec (decrement) використовують пряму адресацію одного обраного регістру. Тест на нуль чи мінус tst (test for zero or minus) фактично не змінює вмісту регістру, але встановлює відповідні прапори за однакової кількості операнда нулю або за його негативному значенні. Команди порівняння (compare) теж змінюють содержиМ°го РегистР°в «а оцінюють різницю операндов і встановлюють відповідні Прапори в регістрі стану. Шість інструкцій множення (multiply виконують множення |-1ель|Х і Дробових операндов з урахуванням психології та не враховуючи знака. 16-битный результат /1^ножения завжди описується в регістри загального призначення RO: R1. Більшість арифметичних і логічних команд выполня!0^ за°Дин тактВиняток становлять лише команди з безпосередньою адресац^. «Ра2?таюи^ ° двухбайтными словами: adiw (add immediate to word) і sbiw (subtract im196 m vvo/ «) — і команди множення, виконуються протягом двох такту. Бітові команди Бітові команди (Вit And Bit-Test Instructions) дозволяють звертатися безпосередньо до окремим бітам регістрів процесорного ядра і виконувати з обраними бітами найпростіші операції пересилки, встановлення і скидання. Операндами команд може бути як біти регістрів загального призначення, і біти регістрів ввода/вывода. Бітові команди можуть проводити окремі прапори регістру ознак. Бітові команди микроконтроллером сімейства AVR працюють із окремими бітами регістрів загального призначення і регістрів ввоода/вывода Біти регістрів ввода/вывода можуть бути чи скинули. Біти регістрів загального призначення може бути зсунуто в сусідні осередки, як вліво (убік старших розрядів), і вправо (убік молодших розрядів). У операціях зсуву, крім розрядів регістрів, може брати участі і біт перенесення. Спеціальні команди передбачені дли встановлення і скидання окремих прапорів регістру стану. Команда swap змінює місцями тетрады (полубайты) регістрів загального назначения.

10. Микроконтроллер Atmega та її зовнішні подключения.

Контроллером у техніці регулювання вважається котра управляє пристрій, яке здійснює регулюючі й контролюючі функції у системі. Зазвичай це вычилительная машина. З розвитком технологій різні компоненти цієї машини, такі як процессорное ядро, різні види пам’яті, АЦП, таймери і ін. ставали мініатюрніші і було включати в одну інтегральну мікросхему чи його малий набір. Микроконтроллер — контр., реалізований однією кристалі. AVR микроконтроллеры фірми Atmel мають поліпшену RISС архітектуру. Микроконтроллер складається з трьох елементів: процесорного ядра, пам’яті і набору функціональних блоків різного призначення, пов’язаних системними шинами. Процессорное ядро є основою микроконтроллера. Воно виконує все арифметичні операції, управляє роботою решти елементів системи. Ще зберігається програма роботи микроконтроллера, вихідні дані і всі проміжні результати обчислень. Функціональні блоки забезпечують зв’язок микроконтроллера з зовнішнім світом. Для процесорного ядра будь-який функ. блок представляється як однієї чи кількох регістрів. Кожен регістр має власний оригінальний адресу. [pic] Зовнішні підключення умовно можна розділити на висновки харчування і інформаційні висновки. Інформаційні висновки містять у собі 4 порту введеннявиведення, висновки підключення кварцевого резонатора, висновок скидання. Контакти портів вводу-виводу можна використовувати як паралельних портів або іншими функціональними блоками, контакти яких об'єднані з контактами портів. Усі висновки портів мають індивідуальні що підтягують резисторы. Для підключення цих резисторів з регістрі SFIOR передбачено біт PUD. На підвищення стабільності використовується зовнішній тактовий генератор. Схема підключенні приведено малюнку. [pic] Ємність С=13,43пФ. Для вибору синхронізації використовуються біти CRSEL0−3.

12. Сторожевої таймер Сторожевої таймер синхронізований від окремого внутрішнього генератора на кристалі, котрий з частотою 1МГц (при напрузі харчування 5В). Затримка скидання встановлюється з допомогою предделителя (Prescaler). Налаштування предделителя здійснюється установкою чи скиданням бітов WDP0… WDP2 регістру управління сторожовим таймером WDTCR. Після закінчення встановленого часу затримки сторожовий таймер подає сигнал скидання на микроконтроллер. Інтервали затримки сторожового таймера |WDP2|WDP1 |WDP0|Количест|Задержк| | | | |у |а | | | | |циклів |скидання | |0 |0 |0 |16К |15ms | |0 |0 |1 |32К |30ms | |0 |1 |0 |64К |60ms | |0 |1 |1 |128К |0,12s | |1 |0 |0 |256К |0,24s | |1 |0 |1 |512К |0,49s | |1 |1 |0 |1,024К |0,97s | |1 |1 |1 |2,048К |1,9s |.

Скидання то, можливо предотвращен інструкцією wdr. Биток WDE в регістрі WDTCR дозволяє підключити чи відключити сторожовий таймер. При вирішенні роботи сторожового таймера її стан не визначене, і колись, ніж розв’язувати включення, необхідні інструкцію wdr. У іншому разі контролер то, можливо скинуто колись, ніж буде виконано команда wdr, прописана після дозволу. Для запобігання випадкових помилок заборона сторожового таймера повинен оформлятися спеціальної процедурою выключения.

13. Програмно_управляемый_обмен Порти введення — призначені для зв’язку микроконтроллера з різними об'єктами і може реалізовувати різні алгоритми обміну даними: асинхронний програмний обмін, синхронний обмін, введення — з сигналами квитирования. Обмін даними між портами і об'єктами забезпечується спеціальними подпрограммами — драйверами, створюваними індивідуально для кожного об'єкта. АСИНХРОННИЙ ОБМІН У режимі асинхронного програмного обміну введення та виведення даних виробляється за програмою в моменти виконання інструкцій введення та виведення даних. Передбачається, що об'єкт завжди до обміну: при введення — дані в момент виконання інструкції in присутні на лініях порту, при виведення — дані буде прочитано з ліній порту до наступного виведення. Наприклад, микроконтроллер ATmega 63 здійснює асинхронний висновок даних при виконанні фрагмента програми: .equ porta = $B; .equ ddra = $A; .cseg ldi r 6,$FF; $FF в r 6 out ddra, r 6; порту На висновок out porta, r0; даних із регістру r0 до порту A. Час виконання команди виведення одно двом періодам тактового сигналу. Той ж микроконтроллер протягом двох тактів запровадить дані з ліній порту при виконанні фрагмента програми: .equ pina = $ 9; .cseg in r0, pina; введення даних із порту pina в регістр r0. За адресою $ 9 у просторі введення — микроконтроллера розміщений регістр pina, з вхідних ліній якого і буде взято дані під час виконання інструкції .

СИМПЛЕКСНЫЙ ОБМЕН Симплексным вважається односпрямований обмін даними. Такий обмін зазвичай є синхронним. І тут кожна зміна даних на лініях порту супроводжується сигналом синхронізації (). Строб генерується джерелом даних, і призначається для завдання моменту записи даних в регістр приймача. При виведення даних сигнал строба повинен сформувати микроконтроллер, використовуючи при цьому спеціальні лінії шини управління чи окремі біти портів введення -. На рис. 9.2 показаний варіант сполуки микроконтроллера ATmega 63 з посимвольным на принтері, у яких 8-битный вхід прийому даних DATA, вихід сигналу готовності READY і вхід стробирования #STB. Активним на вході стробирования є сигнал низького рівня. Порт PORTA микроконтроллера і біт PB6 порту PORTB програмуються виведення даних, біт PB2 порту PORTB на введення. Підпрограма виведення повинна: здійснити перевірку готовності принтера (сигналу готовності принтера READY та її аналіз), для виявлення сигналу READY=1 вивести дані до порту PORT, підтвердити висновок даних висновком сигналу стробирования #STB=0 для записи даних в принтер. Якщо принтер я не готовий до обміну микроконтроллер через поставлене інтервал часу повторює операцию.

[pic].

Рис. 9.2. Підключення принтера до микроконтроллеру Режим синхронного введення дозволяє точно поставити момент зчитування даних із об'єкта. У цьому вся режимі сигнал стробирования, підтверджує готовність даних, надходить із об'єкта на микроконтроллер. За появи строба микроконтроллер має здійснити введення даних із порту. ПОЛУДУПЛЕКСНЫЙ ОБМІН Полудуплексным вважається двунаправленный синхронний обмін, щоб у будь-який час передача даних може проводитися тільки щодо одного напрямі. Напрям передачі порту змінюється у процесі роботи залежно від розв’язуваної в цей час завдання. На рис. 9.3 зображений варіант сполуки микроконтроллера ATmega 63 з об'єктом обмінюватись даними в полудуплексном режимі. У схемою рис. 9.3 передача даних в паралельному форматі здійснюється за лініях порту PORTA. Для видачі і прийому чотирьох сигналів управління обміном (квитирования): строб введення #STB IN (Strobe Input), строб виведення #STB OUT (Strobe Out), підтвердження введення #ACK IN (Acknowledge Input) й підтвердження виведення #ACK OUT (Acknowledge Out), використані дві лінії порту PORTB і входи запитів на переривання INT0 і INT. По прибутті сигналу #STB IN = 0 контролер повинен виставити сигнал підтвердження #ACK IN = 0 і зробити запис у вхідний регістр порту PORTA. При низький рівень сигналу ASK IN об'єкту забороняється формувати новий сигнал #STB IN. Після закінчення записи контролер знімає сигнал #ACK IN, дозволяючи повторну передачу даних. Робота микроконтроллера як виведення аналогічна. Микроконтроллер виводить дані до порту PORTA, підтверджуючи висновок сигналом #STB OUT = 0. Об'єкт формує сигнал підтвердження #ACK OUT = 0, повідомляючи контролеру про готовності до прийому даних. При зняття сигналу #ACK OUT контролер повинен зняти сигнал #STB OUT і може знову можливість перейти до висновку даних. Одночасна передача даних у двох напрямах при полудуплексном обміні неможлива. ДВОБІЧНИЙ ОБМІН Дуплексным вважається двунаправленный синхронний обмін, щоб у будь-який час можлива передача даних у двох напрямах. І тут передачі даних у кожному напрямі виділяється свій односпрямований порт. На рис. 9.4 зображений варіант сполуки микроконтроллера ATmega 1 63 з об'єктом обмінюватись даними в дуплексном режимі [pic].

Рис. 9.3. Підключення микроконтроллера при полудуплексном обміні Рис. 9.4. Підключення микроконтроллера при дуплексном обміні У схемою рис. 9.4 порт PORTA дбає про введення даних, порт PORT — виведення, а лінії PC0 і PC порту PORTC використовуватимуться виведення сигналів квитирования #ACK IN і #ACK OUT. Для введення сигналів квитирования від об'єкта #STB IN і #ACK OUT використані входи запитів на переривання INT0 і INT. За такої підключенні завдання введення даних в микроконтроллер отримує більший пріоритет ніж завдання виведення .

14.Порты виводу-введення-висновку призначені для зв’язку микроконтроллера з різними об'єктами і може реалізовувати різні алгоритми обміну даними: 1) Асинхронный програмний обмін 2) Синхронный обмін 3) Ввод-вывод з сигналами квитирования. Обмін даними між портами і об'єктами забезпечується спеціальними подпрограммами — драйверами, створюваними індивідуально кожному за объекта.

Асинхронний обмен.

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

Приклад програми реалізації асинхронного виведення даних для Atmega163: .equ porta=$ 1B; .equ ddra=$ 1A; .cseg; ldi r16,$FF;запись $FF в r16 out ddra, r16; включення порту На висновок out porta, r0; висновок даних із регістру r0 до порту А. Введення даних із ліній порту. .equ pina=$ 19 .cseg in r0pina; введення даних із порту pina в регістр r0. За адресою $ 19 у просторі введення — виведення микроконтроллера розміщений регістр pina, з вхідних ліній якого і буде взято дані під час виконання инструкции.

Симплексный обмін. Симплексным вважається односпрямований обмін даними. Такий обмін зазвичай є синхронним. І тут кожна зміна даних на лініях порту супроводжується сигналом синхронізації (стробом). Строб генерується джерелом даних, і призначений для завдання моменту записи даних в регістр приемника. При виведення даних сигнал строба повинен сформувати микроконтроллер, використовуючи при цьому спеціальні лінії шини управління чи окремі біти портів введення — виведення. Варіант сполуки Atmega163 з посимвольным принтером, у яких 8-битный вхід прийому даних DATA, вихід сигналу готовності READY і вхід стробирования #STB. Активним на вході стробирования є сигнал низького рівня. Порт, А микроконтроллера і біт РВ6 порту PORTB програмуються на висновок даних, біт PB2 порту PORTB на введення. Підпрограма виведення повинна: здійснювати перевірку готовності принтера, для виявлення сигналу READY=1 вивести дані до порту PORTА, підтвердити висновок даних висновком сигналу стробирования #STB=0 для записи даних в принтер. Якщо принтер я не готовий до обміну микроконтроллер через поставлене інтервал часу повторює операцію. Режим синхронного введення даних дозволяє точно поставити момент зчитування даних із об'єкта. У цьому вся режимі сигнал стробирования, підтверджує готовність даних надходить із об'єкта в микроконтроллер. За появи строба микроконтроллер має здійснити введення даних із порта.

Полудуплексный обмін. Полудуплексным вважається двунаправленный синхронний обмін, щоб у будь-який час передача даних може роблять лише щодо одного напрямі. Напрям передачі порту змінюється у процесі роботи у залежність від розв’язуваної в цей час завдання. Приклад: передача даних в паралельному форматі здійснюється за лініях порту PORTA. Для видачі і прийому чотирьох сигналів управління обміном (сигнали квитирования): використані дві лінії порту PORTB і входи запитів на переривання INTO і INT1. По прибутті сигналу #STB IN=0 контролер повинен виставити сигнал підтвердження #ACK IN=0 і зробити запис у вхідний регістр порту PORTA. При низький рівень сигналу #ACK IN об'єкта забороняється формувати новий сигнал #STB IN. Після закінчення записи контролер знімає сигнал #ACK IN, дозволяючи повторну передачу даних. Робота микроконтроллера як виведення аналогічна. Микроконтроллер виводить дані до порту PORTA, підтверджуючи висновок сигналом #STB OUT=0. Об'єкт формує сигнал підтвердження #ACK OUT=0, повідомляючи контролеру про готовність до прийому даних. При зняття сигналу #ACK OUT контролер повинен зняти сигнал #STB OUTи може знову можливість перейти до висновку даних. Одночасна передача даних у двох напрямах при полудуплексном обміні невозможна.

Двобічний обмін. Дуплексным вважається двунаправленный синхронний обмін, щоб у будь-який час можлива передача даних у двох напрямах. У цьому вся разі передачі даних у кожному напрямі виділяється свій односпрямований порт. Порт PORTA дбає про введення даних, порт PORTB — на висновок, а лінії PC0 і PC1 порту PORTC використовуватимуться виведення сигналів квитирования #ACK IN і #STB OUT. Для введення сигналів квитирования від об'єкта #STB IN і #ACK OUT використані входи запитів на переривання INT0 і INT1. За такої підключенні завдання введення даних в микроконтроллер отримує більший пріоритет, ніж завдання вывода.

15. Однією з різновидів программно-управляемого обміну даними з ПУ є обмін з перериванням програми, відрізняється від асинхронного программно-управляемого обміну тим, що перехід до виконання команд, фізично що реалізують обмін даними, здійснюється з допомогою спеціальних апаратних коштів. Команди обміну даними у разі виділяють в окремий програмний модуль — підпрограму обробки переривання. Завданням обробки переривання таки є припинення виконання однієї програми (її ще називають основний програмою) і передачі управління подпрограмме обробки переривання. Дії, що їх у своїй, як правило, самі, що й за зверненні до подпрограмме. Тільки за зверненні до подпрограмме вони ініціюються командою, а при обробці переривання — управляючим сигналом від ПУ, яку називають «Запит на переривання «чи «Вимога переривання ». Ця важливо обміну з перериванням програми дозволяє організувати обмін даними з ПУ в довільні моменти часу, не залежать від виконуваної програми. Отже, з’являється можливість обміну даними з ПУ у реальному масштабі часу, визначеному зовнішньої середовищем. Обмін із перериванням програми істотно заощаджує час мікропроцесора, затрачуване на обмін. Це відбувається поза рахунок зарплати, що зникає потреба у організації програмних циклів очікування готовності ПУ, виконання яких витрачається чимало часу, особливо в обміні з повільними ПУ. Переривання програми з вимозі ПУ на повинен на перервану програму ніякого впливу крім збільшення її виконання з допомогою припинення тимчасово виконання підпрограми обробки переривання. Коли щодо виконання підпрограми обробки переривання використовуються різні регістри, то інформацію, що є у яких в останній момент переривання, необхідно зберегти на подальше повернення в перервану програму. Формування сигналів переривань — запитів ПУ обслуговування відбувається у контроллерах відповідних ПУ. У найпростіших випадках як сигналу переривання можна використовувати сигнал «Готовність ПУ », що надходить з контролера ПУ. Але такий найпростіше його вирішення має істотним недоліком — процесор неспроможне управляти перериваннями, т. е. вирішувати чи забороняти їх задля окремих ПУ. Через війну організація обміну даними як переривання з кількома ПУ істотно ускладнюється. Аби вирішити цієї проблеми регістр гніву й управління контролера ПУ (рис. 3.11) доповнюють ще однією розрядом — «Дозвіл переривання ». Запис 1 чи 0 до розряду «Дозвіл переривання «виробляється програмним шляхом по одній з ліній шини даних системного інтерфейсу. Керуючий сигнал системного інтерфейсу «Запит на переривання «формується з допомогою схеми збіги лише за наявності одиниць на розрядах «Готовність ПУ «і «Дозвіл переривання «регістру гніву й управління контролера. Аналогічним шляхом вирішується проблемам управління перериваннями в микроконтроллера, загалом. І тому в регістрі стану виділяється розряд, вміст якого визначає, дозволені чи заборонені переривання від зовнішніх пристроїв. Значення цього розряду може визначатися програмним шляхом. У микроЭВМ зазвичай використовується однорівнева система переривань, т. е. сигнали «Запит на переривання «від усіх ПУ надходять однією вхід процесора. Тому не виникає проблема ідентифікації ПУ, запросившего обслуговування, та її реалізації заданої черговості (пріоритету) обслуговування ПУ за одночасного вступі кількох сигналів переривання. Існують дві основні способу ідентифікації ПУ, запросивших обслуживания:

— програмний опитування регістрів стану (розряд «Готовність ПУ ») контролерів всіх ВУ;

— використання векторів переривання. Організація переривань з сучасним програмним опитуванням готовності передбачає його присутність серед пам’яті микроконтроллера єдиної підпрограми обслуговування переривань від усіх зовнішніх пристроїв. Обслуговування ПУ з допомогою єдиної підпрограми обробки переривань виробляється так. Наприкінці останнього машинного циклу виконання черговий команди програми перевіряється наявність вимоги переривання від ПУ. Якщо сигнал переривання є і микропроцессоре переривання дозволено, він переключається виконання підпрограми обробки переривань. Після збереження вмісту регістрів, які у подпрограмме, починається послідовний опитування регістрів стану контролерів всіх ПУ, що працюють у режимі переривання. Щойно підпрограма знайде готове обміну ПУ, відразу виконуються дії з його обслуговування. Завершується підпрограма обробки переривання після опитування готовності всіх ПУ і відновлення вмісту регістрів процесора. Пріоритет ПУ із програмною опитуванням готовності зовнішнього устрою однозначно визначається порядком їх опитування в подпрограмме обробки переривань. Чим раніше у подпрограмме тестується готовність ПУ, тим менше час реакцію запит і від пріоритет. Необхідність перевірки готовності всіх зовнішніх пристроїв істотно збільшує час обслуговування тих ПУ, які опрашиваются останніми. Це є основним недоліком аналізованого способу організації переривань. Тому обслуговування переривань з опитуванням готовності ПУ використовується лише у випадках, коли відсутні жорсткі вимоги тимчасово обробки сигналів переривання зовнішніх пристроїв. Організація системи переривань з допомогою векторів переривань дозволяє усунути зазначений недолік. Під час такої організації системи переривань ПУ, запросившее обслуговування, саме ідентифікує себе з допомогою вектора переривання — адреси осередки основний пам’яті, у якій зберігається або перша команда підпрограми обслуговування переривання даного ПУ, або адресу початку такий підпрограми. Отже, процесор, отримавши вектор переривання, відразу переключається виконання необхідної підпрограми обробки переривання. У микроконтроллерах з векторної системою переривання кожне ПУ повинен мати власну підпрограму обробки переривання. Розрізняють векторні системи з интерфейсным і внеинтерфейсным вектором. У першому випадку вектор переривання формує контролер ПУ, запросившего обслуговування, у другому — контролер переривань, загальний всім пристроїв, що працюють у режимі прерываний.

17. Фундаментальна обізнаність із перериваннями в МК Atmega 163 Контролер Atmega163 має 17 зовнішніх і 15 внутрішніх переривань. Кожен вузол МК є джерелом переривань і може перервати виконувану програму. Кожне переривання має фіксований пріоритет, і вектор переривання. Вектора переривань займають у просторі пам’яті програма адреси з $ 0 до $ 22. $ 0 — визначено, як сигнал скидання. Адреса наступного більше попереднього на 2. Адреси $ 2 і $ 4 відповідають зовнішнім прерываниям int0 і int1. Пріоритет переривань зменшується зі зростанням адрес і векторів. Будь-яке переривання може бути заборонено спеціальними бітами в регістрах I/O МК. Для виходу з підпрограми обробки переривань у системі МК передбачена команда reti, восстанавливающая вміст програмного лічильника з стека. Для правильного функціонування системи переривань в початку прграммы може бути завантажений покажчик стека. |0 |0 |Низький рівень сигналу INT1/0 | | | |генерує запит на | | | |переривання | |0 |1 |Будь-яке логічне зміна | | | |INT1/0 генерує запит на | | | |переривання | |1 |0 |Задній фронт імпульсу на | | | |INT1/0 генерує запит на | | | |переривання | |1 |1 |Переднийфронт імпульсу на | | | |INT1/0 генерує запит на | | | |переривання |.

біти 3 і 2, біти активізації входу INT1 біти 1 і одну, біти активізації входу INT0.

В регістрі маскування переривань GIMSK утримуватися прапори зовнішніх переривань. Коли лічильник команд МК встановлюється на конкретний вектор переривання, соотв. Прапор в GIMSK апаратно скидається. Прапори можна скинути, записавши туди лот. 1. Биток 7 — int1 зовнішнє переривання int 1 дозволено. Якщо біт int1 встановлений і біт I в SREG =1, то зовнішній вихід запиту на переривання int1 стає активним Биток 6 — int0 теж самое.

18. Організація обміну прямим доступом до пам’яті (ПДП).

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

Є дві різновиду прямого доступу до пам’яті з «захопленням циклу ». Найпростіший спосіб організації ПДП у тому, що з обміну використовуються ті машинні цикли процесора, у яких не обмінюється даними з пам’яттю. У такі цикли контролер ПДП може обмінюватися даними з пам’яттю, не заважаючи роботі процесора. Проте виникла потреба виділення таких циклів, ніж сталося тимчасового перекриття обміну ПДП з операціями обміну, инициируемыми процесором. У деяких процесорах формується спеціальний управляючий сигнал, який би цикли, у яких процесор не звертається до системного інтерфейсу. Такий обмін як ПДП можливий лише випадкові моменти часу одиночними байтами чи словами. Більше поширена ПДП з «захопленням циклу «і примусовим відключенням процесора від шин системного інтерфейсу. Задля реалізації такого режиму ПДП системний інтерфейс микроЭВМ доповнюється двома лініями для передачі управляючих сигналів «Вимога прямого доступу до пам’яті «(ТПДП) і «Надання прямого доступу до пам’яті «(ППДП). Керуючий сигнал ТПДП формується контролером прямого доступу до пам’яті. Процесор, отримавши цей сигнал, призупиняє виконання черговий команди, без очікування її завершення, видає на системний інтерфейс управляючий сигнал ППДП і відключається від шин системного інтерфейсу. З цієї моменту, всі шини системного інтерфейсу управляються контролером ПДП. Контролер ПДП, використовуючи шини системного інтерфейсу, здійснює обмін одним байтом чи словом даних із пам’яттю микроЭВМ і далі, знявши сигнал ТПДП, повертає управління системним інтерфейсом процесору. Щойно контролер ПДП буде готовий піти на обміну наступним байтом, його знову «захоплює «цикл процесора тощо. У проміжках між сигналами ТПДП процесор продовжує команди програми. Тим самим було виконання програми сповільнюється, але менше ступеня, аніж за обміні як переривань. Застосування в микроЭВМ обміну даними з ПУ як ПДП завжди вимагає попередньої підготовки, саме: кожному за ПУ необхідно виділити область пам’яті, що використовується під час обміну, і зазначити воно, тобто. кількість записуваних на згадку про чи читаються з пам’яті байт (слів) інформації. Отже, контролер ПДП має мати у своєму складі регістр адреси — й лічильник байт (слів). Перед початком обміну з ПУ в режимі ПДП процесор має виконати програму завантаження. Ця програма забезпечує запис в зазначені регістри контролера ПДП початкового адреси виділеної ПУ пам’яті і його розміру в байтах чи словах залежно від того, якими порціями інформації ведеться обмін. Сказане не належить до початковій завантаженні програм, у пам’ять як ПДП. І тут вміст регістру адреси — й лічильника байт слів встановлюється перемикачами чи перемичками безпосередньо на платі контроллера.

21. Інтерфейс UART. Асинхронний послідовний інтерфейс UART (Universal Asynchronous Receiver Transmitter — універсальний асинхронний приемопередатчик) забезпечує полудуплексный режим обміну за трьома лініях. У обміні завжди беруть участь тільки два устрою, одна з якого є передавачем, друге — приймачем. У режимі асинхронної передачі кожне слово даних передається автономно і передача то, можливо розпочата будь-який час. Стандартний формат асинхронної передачі: [pic] Передача починається з стартового (нульового) біта. Потім передається від 5 до 8 біт даних. Припускається, що приймач і передавач працюють з однаковою швидкістю. Внутрішній генератор синхронізації запускається для виявлення стартового біта. У найпростішому разі асинхронний приемопередатчик має дві сигнальні лінії: TxD (Transmit Data)-выход, RxD (Receive Data)-вход. У цьому два устройства-приемопередатчика мали бути зацікавленими з'єднані між собою трьома лініями, чи мак званим нуль-модемным кабелем: [pic] Інтерфейс SPI. Послідовний інтерфейс SPI (Serial Peripheral Interface) забезпечує повний двобічний обмін даними між двома контролерами. У цьому один контролер вважаємося провідним (master), другий — відомим (slave). Ведучий контролер є джерелом сигналу синхронізації (SCK). [pic] Ведучий і ведений контролери пов’язані трьома сигнальними лініями: MISO (Master In Slave Out) — вхід ведучого — вихід відомого. MOSI (Master Out Slave In) — вихід ведучого — вхід відомого. SCK (Serial Clock) — синхронізація. Контакт #SS (Slave Select) — призначений для вибору відомого контролера. Контролер є відомим якщо #SS=0. Регістри зсуву (Shift Register) ведучого і відомого контролерів лініями MOSI і MOSO з'єднуються в кільце. Запис в регістр даних ведучого контролера запускає генератор синхронізації (SPI clock generator) і дані зсуваються в регістрах зсуву з'єднаних у кільце ведучого і відомого контроллеров.

Интерфейс I2C. 2-проводной послідовний інтерфейс (2-Wire Serial Interface) чи I2C (Inter-Integrated Circuit) підтримує двонаправлену послідовну зв’язок кількох пристроїв в полудуплексном режимі. У системі все устрою, що у обміні, зв’язуються двома сигнальними лініями: SDA (Serial Data) — дані. SCA (Serial Clock) — синхронізація. Типова 2-х дротова послідовна конфігурація шини: [pic] І з пристроїв може у ролі передавача чи приймача. Синхронізацію обміну забезпечує передавач. Двонаправлену лінію даних, виконану за схемою «відкритий колектор» використовують передавач і приймач по черзі. [pic] Початок будь-який операції (Start) инициализируется перекладом сигналу SDA з високого рівня низький високого рівня SCL. Завершується обмін перекладом сигналу SDA з низького рівня високий високого рівня SCL (Stop). При передачі даних стан лінії SDA може змінюватися лише за низькому рівні SCL. Біти даних стробируются позитивним фронтом SCL. Кожна посилка, формована передавачем, складається з байта даних. Посилка починається з старшого біта. Після цього передавач однією такт звільняє лінію, а приймач формує нульової сигнал підтвердження Ack (Acknowledge). Кожне відоме пристрій має власний 7-битный адресу. Сім біт адреси передаються провідним пристроєм в бітах [7−1] першого байта.

25. 16-бит т/с1 мик-ра доступний проц-му ядру для читання і запис, він може вважати імпульси синхронізації CK імпульси із виходу предделителя чи імпульси із зовнішнього виведення Т1. Шість 16 біт рег-в забезпечують режими вх-го захоплення, вых-го порівняння і ШИМ.

16-бит т/с1 вважає імпульси зі входу Т1 чи тактовые імпульси СК. Переключенням входу управляють біти CS10… CS12. При переповненні - прапор запиту на прерыв-е TOV1. регістри упр т/с1 TCCR1A і TCCR1B; регістри даних TCNT1H і TCNT1L; регістри вихідного порівняння OCR1AH і OCR1AL; регістри вихідного порівняння OCR1BH і OCR1BL; регістри вхідного захоплення — ICR1H і ICR1L; регістр прапорів переривання TIFR; регістр маски переривання TIMSK; регістр стану микроконтроллера SREG. Регістр масок переривань TIMSK уст-ся разрешения/запрещения переривань т/с1: Биток 5 -TICIE1 біт дозволу переривання при спрацьовуванні входу захоплення. Биток 4 — OCIE1A біт дозволу переривання за однакової кількості вмісту лічильника і вмісту регістру порівняння OCR1 А. Биток 3 — OCIE1B біт дозволу переривання за однакової кількості вмісту лічильника і вмісту регістру порівняння OCR1B. Биток 2 — TOIE1 біт дозволу переривання при переповненні таймера/счетчика 1. Регістр прапорів переривань T1FR фіксуються події, є джерелами переривань: Биток 5 — ICF1 прапор переривання у разі виникнення захоплення. Биток 4 — OCF1A прапор переривання за однакової кількості вмісту лічильника і вмісту регістру порівняння OCR1A. Биток 3 — OCF1B прапор переривання за однакової кількості вмісту лічильника і вмісту регістру порівняння OCR1B. Биток 2 — TOV1 прапор переривання при переповненні таймера/счетчика 1. У регістрі управління TCCR1B перебувають біти для перемикання входу счетчика/таймера 1. Упр-е входом т/с1. Рег-ы даних TCNT1H і TCNT1L містять зн-е т/с 1. Если проц-е ядро виробляє запис в TCNT1H, то дані розміщуються в регістрі TEMP. Потім, коли процессорное ядро виробляє запис вTCNT1L дані молодшого байта объед-я з байтом даних регістру TEMP і всі 16 бітов одночасно переписуються в регістр таймера/счетчика TCNT1. Если CPU зчитує TCNT1L, то вміст TCNT1L направляються у процессорное ядро, а вміст TCNT1Н розміщається в регістрі TEMP. При зчитуванні TCNT1H його вміст вилучать з регістру TEMP. ВХІД ЗАХОПЛЕННЯ. Ф-я захоплення залежить від копіюванні вмісту т/с1 в регістр входу захоплення ICR1. Регістри входу захоплення ICR1H і ICR1L утворюють 16-битный регістр ICR1, доступний лише читання. При наростаючому чи падаючому фронті сигналу ICP (опр уст-ой біта ICES1) стан т/с 1 пересилається в регістр входу захоплення ICR1. Одночасно встановлюється до стану 1 прапор захоплення входу ICF1 в регістрі прапорів переривання TIFR Для упр-я входом захоплення використовуються біти TCCR1B: Биток 7 — ICNC1 установка режиму придушення шуму на вході захоплення 1. При встановленому один бите ICNC1 імпульс, що поступив на вхід захоплення IC1 піддається серйозної перевірці - стан входу IC1 опр-ся 4 разу. Биток 6 — ICES1 вибір фронту спрацьовування на вході захоплення 1. При скинутому до стану 0 бите ICES1 вміст т/с 1 пересилається в регістр захоплення входу ICR1 по падаючому фронту на вході. ВИХОДИ ПОРІВНЯННЯ. Т/с1 підтримує два виходу порівняння, OCR1А і OCR1B в ролі джерел даних, порівнюваних зі змістом таймера/счетчика 1. Регістри виходів порівняння OCR1AH і OCR1AL, OCR1BH і OCR1BL утворюють два 16-разрядных регістру OCR1A і OCR1B. OCR1A і OCR1B 16-битные то тут для забезпечення одночасного занесення старшого й молодшого байтів даних в регістри OCR1A/B використовується регістр тимчасового зберігання TEMP. Регістр управління TCCR1A: Біти 7,6 — СОМ1А1, СОМ1А0 біти завдання режиму виходу, А Біти 5,4 — СОМ1В1, СОМ1В0 біти завдання режиму виходу У. При ізм бітов СОМ1Х1/СОМ1Х0 переривання мали бути зацікавленими запрешены. Регістр TCCR1B: Биток 3 — СТС1 очищення таймера/счетчика 1 no збігу. ШИМ. Т/с 1 можна використовувати як 8, 9 чи 10-разрядного ШИМ. Роботою PWM управляють окремі біти регістру управління TCCR1A: Біти 1,0 — PWM11, PWM 10 біти вибору режиму широтно-импульсной модуляції. Дані біти визначають установку режиму ШИМ. Таймер/счетчик1 у разі працює як реверсивний лічильник, що вважає від $ 0000 до значення ТОР, у якому напрям рахунки змінюється від і відлік ведеться нанівець, після чого цикл повторюється. ТОР значення таймера і частота ШИМ |Дозвіл |ТОР значення |Частота ШИМ | |ШИМ |таймера | | |8-разрядное |$OOFF (255) |f/510 | |9-разрядное |$ 01FF (511) |f/1022 | |10-разрядное|$ 03FF (1023) |f /2046 |.

У ШИМ режимі прапор переповнення таймера 1 (TOV1) встановлюється на зміну напрями рахунку за досягненні значення $ 0. Переривання по переповненню таймера/счетчика 1 працює як і й у звичайному режимі таймера/счетчика, тобто. захід виконується коли прапор TOV1 в регістрі T1FR встановлено, встановлено біт I в регістрі SREG і дозволені переривання по переповненню таймера 1. 27. Шина сучасного самого персонального комп’ютера. Шина — загальний канал зв’язку, вживаний у комп’ютері. Застосовується для організації взаємодії між двома чи більше компонентами системи. Шина процесора. Це високошвидкісна шина є ядром набору мікросхем системної плати. Використовується переважно процесором передачі даних між кэш-памятью чи основний пам’яттю і компонентом North Bridge набору мікросхем. У системах з урахуванням процесора Pentium 2 ця шина дбає про частоті 66 чи 100МГц і має ширину 64 розряду. У системах з урахуванням процесора Pentium 4 — 800МГц. Шина AGP. Ця 32 разрядная шина дбає про частоті 66МГц і покликана служити для підключення видеоадаптера. Вона підключається до компоненту North Bridge набору мікросхем системної логіки. Шина PCI. Ця 32 разрядная шина дбає про частоті 33,3; 66,6; 133,3 МГц. Використовується, починаючи з систем з урахуванням процесора 486. Перебуває під управлінням контролера PCI — частини компонента North Bridge набору мікросхем. На системної платі встановлюються разъёмы, 4 і більше, у яких можна підключати SCSI, мережні і видеоадаптеры, і навіть інше устаткування. До шині PCI підключається компонент South Bridge набору мікросхем, який містить реалізацію інтерфейсу IDE і USB. Шина ISA. Ця 16 разрядная шина дбає про частоті 8МГц; вперше стала використовуватися в 1984 г. Реалізується з допомогою компонента South Bridge. Шина пам’яті. Призначена обмінюватись інформацією між процесором і основний пам’яттю. Ця шина пов’язані з допомогою основного компонента North Bridge набору мікросхем системної логіки. Зауважимо, що розрядність шини пам’яті дорівнює розрядності шини процесора. Розрядність шини визначає розмір банку памяти.

|Тип шини |Розрядність, біт |Частота, МГц |Швидкість передачі| | | | |даних, Мбайт/с | |8 разрядная ISA |8 |4,77 |2,39 | |16 разрядная ISA |16 |8,33 |8,33 | |EISA* |32 |8,33 |33,3 | |VLB* |32 |33,3 |133,3 | |PCI |32 |33,3 |133,3 | |PCI-2x |32 |66,6 |266,6 | |64 разрядная PCI |64 |33,3 |266,6 | |64 разрядная |64 |66,6 |533,3 | |PCI-2x | | | | |64 разрядная |64 |133,3 |1066,6 | |PCI-X | | | | |AGP |32 |66,6 |266,6 | |AGP-2x |32 |66,6 |533,3 | |AGP-4x |32 |66,6 |1066,6 | |AGP-8x |32 |66,6 |2133,3 |.

* - Нині ці шини не використовуються. Сьогоднішні многогигагерцевые мікросхеми потребують постійному потоці даних, а застаріваючі шини стандартів PCI і AGP може стати не досить швидкими для переміщення даних між компонентами. Саме тому компанія Intel розробила специфікацію на шину виводу-введення-висновку третього покоління під назвою Arapahoe, швидкість передачі через яку може у в десять разів перевершувати відповідний показник нинішнього «короля швидкості» — шини PCI-X. Остання виконує паралельну передачу даних із 64 лініях, досягаючи максимальної швидкості 1 Гбайт/с. Шина Arapahoe використовує від 1 до 32 каналів, причому кожен із новачків полягає з двох провідників і становить продуктивності більш 200 Мбайт/с, переносячи дані між ЦП і платами розширення чи інтегрованими компонентами. Arapahoe він може встановлювати пріоритети при обробці даних в такий спосіб, що потоки інформацією часі будуть оброблятися швидше. (Основне призначення цієї шини все-таки забезпечення зв’язок між південним і північним мостами набору мікросхем.) Появапочаток 2004 г.

[pic].

Мал.1. Архітектура системи з урахуванням процесора Pentium 3.

Поскольку шина процесора повинна обмінюватися інформацією з процесором з максимально високої швидкістю, в комп’ютерах вона функціонує набагато швидше будь-який інший шини. Сигнальні лінії (лінії електричного зв’язку), які мають шину, призначені передачі даних, адрес і сигналів управління між окремими компонентами комп’ютера. Наприклад, в комп’ютерах з процесором Pentium шина процесора складається з 64 ліній даних, 32 ліній адреси — й відповідних лініях управління. Комп’ютери з процесорами Pentium 2 і Pentium Pro мають по 36 ліній адреси. У більшості сучасних комп’ютерах співвідношення частот процесора і шини відповідає одного з коефіцієнтів: 1,5x, 2x …

28. Термінал — об'єднаний щодо одного корпусі монітор і клавіатура, у своїй мп може бути далеко. Клавіатура — використовується для введення команд мп. [pic] Усередині клави перебуває микроконтроллер. При натисканні клавіші - переривання. При відпусканні - ще одно.

Мониторы. ЕПТ і ЖК, на світлодіодних матрицях, на газорозрядних индикационных паневях. ЕПТ. [pic] ЖК. Молекули кристала до однієї суцільну лінію. Якщо подати поляризующее напруга — молекули вишикуються в чітку ланцюг. Оптичні властивості залежать тільки від освітленості. [pic] Миша. Механічна, оптико-механічна, оптична. Механічна — на 2-х коліщатах. Оптико-механічна — кулька обертає шестерінки, зубці яких перекривають сигнал оптопары. Миша передає 3 байта інформації: 1б — рух щодо горизонталі. 2б — рух щодо вертикалі. 3б — натискання клавиш.

Принтер. Принтер — це апарат для роздруківки текстів та графіки. Матричні, струменеві, лазерні. Матричні працюють за принципом друкованої машинки, тобто залишають на папері відбиток від голочки, яку нанесена фарба. Струменеві - на папір зі спеціальних сопла выстреливается цівка фарби. Лазерні - всередині розташований барабан, у якому створюється отпечатываемая картинка (спочатку він намагничивается належним чином, потім до найрізноманітніших його областям «прилипає «фарба необхідних квітів), після цього прокочується аркуш паперу, через що і виходить рисунок.

29. Маніпулятор миша і друкують устрою сучасного персонального комп’ютера. Існує три типу мишей. Це: Механічні, у яких основний елемент є датчики, які відстежують рух кульки. Датчики механічні, тому й назва мишей. У результаті рух миші відбувається так плавно, та й довговічність її теж невелика Оптомеханические. Аналогічні механічним, але рух кульки відстежуються оптичними датчиками. Оптичні. Оптична миша посилає промінь на непрозору поверхню, а після відображення промінь надходить знову на миша де він аналізується електронікою, що у залежність від характеристик отриманого сигналу і відстежує два напрями руху миші, базуючись або на кутках падіння, або на якихось інших ознаках. Перевага такий миші - дуже високий надійність, достовірність і повільність руху. Інтерфейси: — COM, PS/2 Особливою різниці між ними спостерігається. -USB краще за інших, оскільки, забезпечують більше отсчетов в одиницю часу, можливо гаряче включення. Дозвіл миші вимірюється в dpi. Нормальне дозвіл миші становить 200- 900 dpi. Оптичні миші може мати розрізнювальну здатність 1000 dpi і більш. Кількість отсчетов в секунду залежить немає від миші, як від інтерфейсу. COM і PS/2 їх кількість 40, а й у USB понад сотню. Принтери: Лазерний: основа — барабан, відпо-відає перенесення зображення на папір. Він виконаний у вигляді металевого циліндра, з тонкою плівкою фотопроводящего напівпровідника. Під час друку поверхнею барабана з допомогою тонкої дроту чи сітки, званої коронирующим дротом, розподіляється статичний заряд. Лазер, керований відповідної електронікою, генерує світловий промінь, який, позначаючись від обертового дзеркала, потрапляє на барабан і змінює його статистичний заряд у точці доторку. Лазер потрапляє на барабан лише у точках, у яких має бути изображаение, в такий спосіб на барабані виходить прихована копія відбитка. Проходячи повз тонера, барабан притягує їх у точках, які піддалися опроміненню лазером. Потім на поверхню барабана накладається папір, і заправку переходить її у. Папір проходить між двома роликами з температурою близько 180 градусів. Струйный: Використовуються тонкі сопла, які випльовують чорнило. Методом здійснюється перенесення чорнила на папір. Їх три: П'єзоелектричний метод. У кожне сопло встановлено пьезокристалл, пов’язані з діафрагмою. Пьезоэлемент, стискаючи і розтискаючи трубку, наповнює сопло чорнилом. Фарба, яка видавилася назовні, залишає на папері точку. Метод газових бульбашок. Кожне сопло обладнано електричним нагревательным елементом, який за пропущенні нього струму за кілька мікросекунд нагрівається до 500o З. Чорнило закипають і утворюють бульбашки, які прагнуть виштовхнути частина фарби назовні. Потім нагрівальний елемент вистигає, газовий міхур зменшується обсягом і крізь отвір з резервуара надходить нову порцію чорнила. drop-on-demand. на шляху подання чорнила в сопла використовується нагрівальний елемент. Проте разом із додатково працює що й спеціальний механізм. Такий спосіб забезпечує швидше упорскування чорнила Матричний: Використовується голівка з голками, яка переміщається по горизонтальній штанги. З точок, оставляемых голками з допомогою барвної стрічки, і формується бажане зображення. Оскільки голівка є матрицю голок, то принтери зазвичай називають матричными.

31. Цифро-аналоговые перетворювачі Схеми застосування цифро-аналоговых перетворювачів ставляться як до області перетворення код — аналог. Користуючись їх властивостями можна визначати твори двох чи більше сигналів, будувати делители функцій, аналогові ланки, керовані від микроконтроллеров, такі як аттенюаторы, тобто. регулятори рівня сигналу, інтегратори. Важливою областю застосування ЦАП є також генератори сигналів, зокрема сигналів довільній форми. ЦАП використовують у зв’язку й передачі даних: модемах, фільтрах, пристроях самонастройки; вимірювальної і випробувальною техніці: джерелах живлення, генераторах, вимірювальних приладах; в технологічних лініях: виконавчих пристроях роботів, верстатів і т.д.

Параметри ЦАП При послідовному зростанні значень вхідного цифрового сигналу D (t) від 0 до 2N-1 через одиницю молодшого розряду (ЕМР) вихідний сигнал Uвых (t) утворює ступінчасту криву. Таку залежність називають зазвичай характеристикою перетворення ЦАП. За відсутності апаратних похибок середні точки сходинок розташовані на півметровій ідеальної прямий 1 (рис. 22), якої відповідає ідеальна характеристика перетворення. Реальна характеристика перетворення може істотно відрізнятимуться від ідеальної розмірами і формою сходинок, і навіть розташуванням на площині координат. Для кількісного описи їх існує низка параметров.

Статичні параметри Роздільна здатність — прирощення Uвых при перетворення суміжних значень Dj, тобто. відмінних на ЕМР. Це прирощення є кроком назад квантування. Для двійкових кодів перетворення номінальне значення кроку квантування h=Uпш/(2N-1), де Uпш — номінальне максимальне вихідний напруга ЦАП (напруга повної шкали), N — розрядність ЦАП. Чим більший розрядність перетворювача, тим вищі її що дозволяє здатність. Похибка усунення нуля — значення Uвых, коли вхідний код ЦАП дорівнює нулю. Є аддитивной складової повної похибки. Зазвичай вказується в милливольтах чи відсотках від повної шкали: [pic].

Нелінійний — максимальне відхилення реальної характеристики перетворення Uвых (D) від оптимальної (лінія 2 на рис. 22). Оптимальна характеристика перебуває емпірично те щоб мінімізувати значення похибки нелінійності. Нелінійний зазвичай визначається відносних одиницях, але у довідкових даних наводиться й у ЕМР. Для характеристики, наведеної на рис. 22 [pic] Динамічні параметры.

Динамічні параметри ЦАП визначаються зі зміни вихідного сигналу при стрибкоподібному зміні вхідного коду, зазвичай від величини «все нулі «до «все одиниці «(рис. 23).

Час встановлення — інтервал часу від часу зміни вхідного коду (на рис. 23 t=0) досі, як у востаннє виконується рівність |Uвых-Uпш|=d/2, причому d/2 зазвичай відповідає ЕМР.

Швидкість наростання — максимальна швидкість зміни Uвых (t) під час перехідного процесу. Визначається як ставлення збільшення ?Uвых до часу? t, протягом якого сталося це прирощення. Зазвичай вказується в технічні характеристики ЦАП з вихідним сигналом як напруги. У ЦАП з токовым виходом цей параметр значною мірою залежить від типу вихідного ЗУ. Види ЦАП Існують послідовні і рівнобіжні ЦАП. Послідовні -- використовують у мікропроцесорних системах, а то й потрібно високе швидкодія. Серед паралельних — найбільш прості ЦАП з підсумовуванням вагових токов.

Більшість схем паралельних ЦАП грунтується на підсумовуванні струмів, сила кожного у тому числі пропорційна вазі цифрового двоичного розряду, причому повинні суммироваться лише струми розрядів, значення яких рівні 1. Нехай, наприклад, потрібно перетворити двоїчний четырехразрядный код в аналоговий сигнал струму. У четвертого, старшого значущого розряду (ЗЗР) вагу дорівнюватиме 23=8, у третього розряду — 22=4, в другого — 21=2 і в молодшого (МЗР) — 20=1. Якщо вагу МЗР IМЗР=1 мАЛО, то IСЗР=8 мАЛО, а максимальний вихідний струм перетворювача Iвых. макс=15 мАЛО й відповідає коду 11 112. Зрозуміло, що коду 10 012, наприклад, відповідатиме Iвых=9 мАЛО тощо. Отже, потрібно побудувати схему, що забезпечує генерацію і комутацію по заданим законам точних вагових струмів. Найпростіша схема, реалізує зазначений принцип, приведено на рис. 3.

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

При високої розрядності ЦАП токозадающие резисторы би мало бути узгоджені з точністю. Найбільш жорсткі вимогами з точності висуваються до резисторам старших розрядів, оскільки розкид струмів у яких ні перевищувати струму молодшого розряду. Тому розкид опору в k-м розряді може бути менше, ніж ?R / R=2-k.

На цьому умови слід, що розкид опору резистора, наприклад, у четвертому розряді ні перевищувати 3%, а 10-му розряді - 0,05% і т.д.

Розглянута схема за її простоті має цілий букет недоліків. По-перше, що за різних вхідних кодах струм, споживаний від джерела опорного напруги (ІОН), буде різним, але це стимулюватиме величину вихідного напруги ІОН. По-друге, значення опорів вагових резисторів можуть різнитися в тисячі разів, але це робить дуже скрутної реалізацію цих резисторів в напівпровідникових ІМС. Крім того, опір резисторів старших розрядів в многоразрядных ЦАП може бути соизмеримым з опором замкнутого ключа, але це призведе до похибки перетворення. По-третє, у цій схемі до розімкнутим ключам прикладається значну емоційну напругу, що ускладнює їх построение.

11. Система скидання. Скиданняпереклад МК у початковий стан. У цьому все регістри микропроц. Ядра встановлюються на цілком певні початкові стану, і МК переходить до виконання програми з фіксованого адреси початкового адреси (зазвичай $ 00). Джерелами скидання можуть бути різні впливу: включення харчування і короткочасні його, сигнали формовані апаратно всередині МК, а також інструкції програми. Зокрема, інструкція безумовного переходу на адресу $ 00.

Джерела скидання МК Atmega163:

— Скидання включення харчування. Відбувається, якщо напруга харчування ядра нижче певного порога (Vpot).

— Зовнішній скидання. Відбувається на час вступу сигналу низького уросня тривалістю >500нс зовнішній контакт Reset микросхемы.

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

— Скидання при короткочасному провалі напруги харчування. Походимо, якщо напруга харчування контролера своєю практикою опускається нижче певного порога (Vbot).

По будь-якій із цих причин Км переходить до виконання Програми з адреси $ 00. У цьому осередку розміщують інструкцію jmp з адресою програми инициализации.

Усі сигнали скидання детектируются на кристалі спеціальними схемами.

— Схема скидання включення харчування (Power on reset circuit) контролює напруга харчування Vcc і запускається при Vcc>Vpot. При.

Vcc=5V номінал Vpot=1.4V.

— Схема скидання при короткочасному провалі Vcc (Brown out reset circuit) порівнює Vcc з Vbot. Рівень Vbot програмується битому Bodlevel із групи із групи fuse-битов. При Bodlevel=1 Vbot=2.7V, Bodlevel=0.

Vbot=4.

— Схема зовнішнього скидання (External reset circuit) управляється зовнішнім сигналом низького рівня #Reset.

Сигналячи з цих схем і з WDT фіксуються в регістрі стану MCUSR, об'єднуються за схемою «чи» і встановлюють RS-триггер.

Джерело скидання може бути встановлений читанням регістру MCUSR (біти 0−3).

20 ПОСЛІДОВНИЙ ВВОД-ВЫВОД.

Інтерфейс UART.

Асинхронный послідовний інтерфейс UART (Universal Asynchronous Receiver Transmitter — універсальний асинхронний приемопередатчик) забезпечує полудуплексный режим обміну за трьома лініях. У обміні завжди беруть участь лише 2 устрою, одна з якого є передавачем, друге — приймачем. У режимі асинхронної передачі кожне слово даних передається автономно і передача то, можливо розпочата будь-який час. Стандартний формат асинхронної передачі зображений на рис. 13.1.

Передача починається з стартового (нульового) біта. Потім передається від 5 до 8 біт даних. Передача закінчується необов’язковим битому парного (чи непарного) паритету і одного (півтора чи двома) поодинокими стоповыми бітами. Після цього, у будь-який час то, можливо розпочато цикл передачі наступного слова. Припускається, що приймач і передавач працюють з однаковою швидкістю, вимірюваною числом біт в секунду (бод). Внутрішній генератор синхронізації приймача запускається для виявлення стартового біта. У ідеальному разі ці імпульси вміщено у середині бітових інтервалів. Формат асинхронної передачі дозволяє виявляти можливі помилки: * якщо виявлено стартовий біт і генератор синхронізації запущено, а, по першому імпульсу синхронізації фіксується рівень логічного одиниці, стартовий біт вважається хибним; * коли з імпульсам синхронізації, відповідним стоп-битам, в приймальнику фіксується логічний нуль, повідомлення вважається помилковим (помилка кадру); * якщо контрольний біт відповідає прийнятому угоді про паритеті, фіксується помилка паритету. Контроль формату дає змоги виявити обрив лінії відсутністю стоп-бита. Для асинхронної передачі прийнято стандартний ряд швидкостей: 50, 75, 110,150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600, 115 200 бит/с.: У найпростішому разі асинхронний приемопередатчик має дві сигнальні лінії: TxD (Transmit Data) — вихід, RxD (Receive Data) — вхід, У цьому два устройства-приемопередатчика мали бути зацікавленими з'єднані між собою трьома линями, чи пізно це званим нуль-модемным кабелем (рис. 13.2).

УПРАВЛІННЯ UART.

Управление UART здійснюється через регістри ввода/вывода. У контролері ATmega163 керувати використовується 5 регістрів (рис. 13.3):

[pic] Регістр UDR (UART Data Register) — регістр даних UART Регістр UСSRА (UART Control and Status Register A) -регістр, А управління і статусу UART Регістр UCSRB (UART Control and Status Register B) — регістр У управління і статусу UART Регістри UBRRH1 і UBRR (UART Baud Rate registers) — регістри швидкості передачі. Регістр даних UDR (UART Data Register) фізично є двома регістрами: регістром передачі і регістром прийому даних, використовуючи одні й самі адреси $ 0C ($ 2C). При запис у регістр запис виробляється у регістр передачі даних UART, під час читання відбувається читання вмісту регістру прийому даних UART. Швидкість обміну даними в UART задається з допомогою бод-генератора (Baud Rate Generator). Він є дільник, генеруючий імпульси синхронізації з частотою, обумовленою вираженням: BAUD = частота в бодах (бит/сек), CK = частота кварцевого генератора, UBRR = вміст 12-битного регістру UBRR (UART Baud Rate register). Фізично 12-битный регістр UBRR розміщається у двох 8-битных регістрах. Молодші 8 біт в регістрі UBRR, старші 4 біта — в регістрі UBRRH1 (рис. 13.3). З використанням стандартних кварцових резонаторів, найчастіше використовувані швидкості передачі у бодах можна отримати установками UBRR, представленими у таблиці 13.1. При установках UBRR, вказаних у таблиці, реальні швидкістю бодах матимуть відмінності менше двох% від стандартних швидкостей. Таблиця 13.1. Установки UBRR при стандартних частотах синхронизации.

Фактично, для регулювання швидкості передачі UART досить було лише одного регістру UDDR. У регістр UDDRH1 переважають у всіх розглянутих випадках записується константа $ 00.

ПЕРЕДАТЧИК Блок-схема передавача UART показано на рис. 13.3.

Рис. 13.3. Передавач UART.

Установленный до стану 1 біт TXEN регістру UCSRB дозволяє передачу даних UART. Передача ініціюється записом переданих даних в регістр даних UDR. Дані пересилаються з UDR в сдвиговый регістр передачі у наступних случаях:

Новый символ записаний у UDR коли був виведений з регістру стоповый біт попереднього символу. Сдвиговый регістр завантажується негайно. Новий символ записаний у UDR колись, і його виведений стоповый біт попереднього символу. Сдвиговый регістр завантажується після виходу стопового біта переданого символу, що у сдвиговом регистре.

Если з 10(11)-разрядного сдвигового регістру передачі виведено вся інформація (сдвиговый регістр передачі порожній) дані з UDR пересилаються в сдвиговый регістр. Саме тоді встановлюється біт UDRE (UART Data Register Empty) регістру статусу USR (UART Status Register). При встановленому до стану 1 бите UDRE приемопередатчик готовий узяти наступний символ. Запис в UDR очищає біт UDRE. У той самий час, коли дані пересилаються з UDR в 10(11)-разрядный сдвиговый регістр, біт 0 сдвигового регістру скидається до стану 0 (стан 0 — стартовий біт) а біт 9 чи 10 встановлюється до стану 1 (стан 1 — стоповый біт). Якщо регістрі управління UCSRB встановлено біт CHR9 (тобто. обраний режим 9- разрядного слова даних), то біт TXB8 регістру UCSRB пересилається в біт 9 сдвигового регістру передачі. Відразу після пересилки даних в сдвиговый регістр тактом бод-генератора стартовий біт зсувається виведення TxD. Далі слід LSB даних. Коли видасть стоповый біт сдвиговый регістр завантажується нової порцією даних, якщо вона була записана в UDR під час передачі. У процесі завантаження біт UDRE перебуває у встановленому стані. Якщо ж нові дані ні завантажені в UDR до видачі стопового біта, прапор UDRE залишається встановленим. І тут, по тому як стоповый біт житиме виведенні TxD впродовж такту, в регістрі управління і статусу UCSRA встановлюється прапор завершення передачі TxC (TX Complete Flag).

ПРИЙМАЧ Структурна схема приймача UART приведено на рис. 13.4.

Рис. 13.4. Приймач UART Логіка відновлення даних (Front-End Logic) виробляє вибірку станів виведення RxD із частотою в 16 разів більшою, ніж частота передачі. При перебування лінії в пасивному стані одиночна вибірка нульового логічного рівня буде інтерпретуватися як падаючий фронт стартового біта і запустять послідовність детектування стартового біта. Вважається, що як перша вибірка виявила перший нульової логічний рівень ймовірного стартового біта. На вибірках 8, 9 і десяти приймач знову тестує висновок RхD зміну логічних станів. Якщо два чи більш із цих вибірок знайдуть логічні 1, то даний ймовірний стартовий біт відхиляється як шумовий сплеск і приймач почне виявляти і аналізувати такі переходи з 1 в 0. Якщо само було виявлено дійсний стартовий біт, то починає здійснюватися вибірка наступних за стартовим битому інформаційних бітов. Ці біти також тестуються на вибірках 8, 9 і десяти. Логічне стан біта приймається з двох і більш (із трьох) однаковим станам вибірок. Усі біти уводять у сдвиговый регістр приймача про те значенням, що було визначено тестуванням вибірок. Тестування вибірок бітов прийнятих символів показано на рис. 13.5.

При вступі стопового біта необхідно, ніж менше двох вибірок з трьох підтвердили прийом стопового біта (показали високий рівень). Якщо ж дві або як вибірок покажуть стану 0, то, при пересилання прийнятого байта в UDR в регістрі управління і статусу UСSRA встановлюється біт помилки кадру FE (Framing Error). Для виявлення помилки кадру користувач перед читанням регістру UDR повинен перевіряти стан біта FE. Прапор FE очищається при зчитуванні вмісту регістру даних UART (UDR). Незалежно від цього прийнято правильний стоповый біт чи ні, дані пересилаються в регістр UDR і встановлюється прапор RXC в регістрі управління UCSRA. Регістр UDR фактично є двома фізично окремими регістрами, один з яких служить передачі даних, і інший прийому. При зчитуванні UDR звернення ведеться до регістру прийому даних, під час запису звернення ведеться до регістру передачі. Якщо обраний режим обміну 9-разрядными словами даних (встановлено біт CHR9 регістру UCR), при пересилання даних в UDR біт RXB8 регістру UCR завантажується з дев’ятого біта сдвигового регістру передачі. Якщо після отримання символу до регістру UDR був звернення, починаючи з останнього прийому, в регістрі UCSRA встановлюється прапор переповнення OR. Це означає, нові дані, що надсилаються в сдвиговый регістр, неможливо знайти передано у UDR й загублені. Биток OR буферирован і доступний тоді, як у UDR читається байт достовірних даних. Користувачу, для виявлення переповнення, потрібно завжди перевіряти прапор OR після зчитування вмісту регістру UDR. При очищеному (скинутому в логічне стан 0) бите RXEN регістру UCR прийом запрещен.

24. Таймер-счетчик 0. 8-місячного розрядний Т/С 0тактируется сигналом синхронізації процесорного ядра чи вбудованого предделителя, чи то з зовнішнього контакту ТЕ. Призначений до виконання найпростіших операцій: його вміст програмно доступно процесорному ядру для читання /записи, а при переповненні лічильника генерується запит на переривання программы.

Регистры управління: р-р управління TCCR0 — управляє тактовою частотою Т/С0 (біти 0−2) р-р даних TCNT0 — зберігає вміст лічильника (Read/Write) р-р прапорів переривання TIFR р-р маски переривання TIMSK р-р стану МК SREG.

22. Підключення клавіатури і індикація. Більшість мікропроцесорних систем у роботі припускають можливість зміни внутрішніх параметрів програми, необхідність відображення для користувача будь-яких даних. Т.а. виникає необхідність включення до систему коштів ввода/вывода. Зазвичай для цього використовуються клавіатура й різні індикатори. Є кілька способів підключення клавіатури до портів ввода/вывода: Найпростіше за кожен вхід безпосередньо підключати одну клавішу. При цьому забезпечення помехозащищенности ненажатое стан підключають до напрузі харчування, через подтягивающий резистор, а при натисканні вхід замикається на грішну землю. Однак у першому випадку неефективне використовуються входи микроконтроллера, зазвичай перебувають у дефіциті, бо зазвичай передбачається одночасне натискання лише одним клавіші. Можна підключити клавіатуру через мультиплексер (з инвертирующими входами), тоді на N входів микроконтроллера можна підключити до 2N клавіш. З іншого боку клавіатуру то можна організувати як матриці. Тоді, у матриці з k шпальт і N рядків, все клавіші рядка підключаються одного входу микроконтроллера/мультиплексора, а вибір шпальти здійснюється подачею сканирующего сигналу однією з k виходів підключених до столбцам матриці. Що стосується, як у ненажатом стані клавіші підтягнуті до VCC, як сканирующего сигналу ипользуется 0. Вибір конкретної реалізації залежить від неоходимого кількості клавіш, вільних портів микроконтроллера, можливості використовувати додаткові мікросхеми (мультиплексоров). Під час розробки систем годі було не забувати і придушенні ефекту «дребезга контактів». Захист від дребезга може здійснюватися як програмно, і апаратно. У разі клавіші підключаються не так на пряму, а ще через T-триггер. Індикація може здійснюватися з допомогою: світлодіодів сегментних індикаторів Індикатори може бути як світлодіодні, і рідкокристалічні, плюс різне число сегметов. Як світлодіоди, і сегментні індикатори можуть підключатися до портів микроконтроллера безпосередньо, або через дешифратор/демультиплексор. Набір символів відображуваних сегментными індикаторами може визначатися програмно через таблицю декодування, або апаратно логікою зовнішньої мікросхеми дешифратора. Схеми підключення індикаторів до системи можуть бути різними: Проста: один порт — один індикатор Різні варіанти розпаралелювання каналу даних або каналу вибору індикатора Динамічна індикація (число знаків обмежується скважностью) Рис. 1 Динамічна індикація методом досчета (шпаруватість стала) Рис. 2 |[pic] | | |Рис. 1 |Рис. 2 |.

[pic].

Билет 30. Аналогові компараторы. Аналогові компараторы (АК) здійснюють порівняння двох напруг. Результатом порівняння є логічний сигнал, фіксуючий момент рівності вхідних сигналів. Вихід компаратора можна використовувати в ролі запиту на переривання. У цьому користувач може програмувати формування запиту з переднього чи задньому фронту сигналу, або за кожному його зміни. Схема компаратора микроконтроллера ATmega163.

Аналоговый компаратор порівнює рівні на позитивному (АС+) і негативному (АС-) входах. При напряжениии на вході АС+ більшому, ніж напруга на вході АС-, вихід аналогового компаратора АСО встановлюється до стану 1. У микроконтроллере ATmega163 ролі входу АС+ можна використовувати внутрішній джерело напруги 1,22 У або вхід AIN0(PB2). До АСпідключається AIN1(PB3), або одне із входів PA0. PA7 через мультиплексер. Компаратор формує запит на переривання якщо біт ACIE регістру ACSR встановлено у 1. Формування запиту можливо по переднього чи задньому фронту сигналу, або за кожному його зміни. Установка переривання бітами ACIS0/ACIS1. |ACIS0 |ACIS1 |Режим переривання | |0 |0 |Переривання з кожного переключенню виходу компаратора | |0 |1 |Зарезервоване | |1 |0 |Переривання по падаючому (задньому) фронту не вдома компаратора| |1 |1 |Переривання по наростаючому (переднього) фронту не вдома | | | |компаратора |.

При зміні стану бітов ACIS0/ACIS1 переривання по аналоговому компаратору має бути заборонено очищенням біта дозволу переривання (ACIE) в регістрі ACSR, інакше за зміни стану бітов може відбутися переривання. Діяльність компаратора використовуються регістри: ACSR (Analog Comparator Control and Status Register) — управління АК SFIOR (Special Function Input Output Register) — спеціальних функцій ввода/вывода ADCSR (ADC Status Register) — стану аналого-цифрового перетворювача ADCMUX (ADC Multiplexer) — мультиплексора аналого-цифрового перетворювача SREG (Status Register) — стану микроконтролера |Регистр|Биты | |0 |x |xxx |AIN1 | |1 |1 |xxx |AIN1 | |1 |0 |000 |PA0 | |1 |0 |001 |PA1 | |1 |0 |010 |PA2 | |1 |0 |011 |PA3 | |1 |0 |100 |PA4 | |1 |0 |101 |PA5 | |1 |0 |110 |PA6 | |1 |0 |111 |PA7 |.

Значення бітов: ACD (Analog Comparator Disable) — якщо встановлено у 1, АК відключений. При зміні біта переривання від компаратора має бути заблоковано очищенням біта ACIE. ACBG (Analog Comparator Bandgap) — коли біт встановлений і BOD дозволяє (fuse-бит BODEN запрограмований), фіксований напруга 1,22 У надходить на вхід АС+, бо інакше АС+ підключається контакт AIN0. ACO (Analog Comparator Output) — вихід аналогового компаратора ACI (Analog Comparator Interrupt Flag) — встановлюється один при формуванні компаратором переривання. Підпрограма обробки переривання виконуватиметься при встановлених бітах ACIE і I (бит глобального переривання в регістрі SREG). Очищається апаратно і під час підпрограми обробки переривання або вручну. Очищається при модифікації командами SBI, CBI інших бітов регістру ACSR. ACIE (Analog Comparator Interrupt Enable) — установка один дозволяє переривання по аналоговому компаратору (ANA_COM) за встановленого бите I в SREG. ACIC (Analog Comparator Input Capture Enable) — установка один дозволяє захоплення входу таймера/счетчика1 по переключенню АК. ACIS1, ACIS0 (Analog ComparatorInterrupt Mode Select) вибір режиму переривання. ACME (Analog Comparator Multiplexer Enable) — 1 підключає мультиплексер до АК. При підключенні може бути скинуто біт ADEN (ADC Enable) в регістрі ADCSR (аналогово-цифровой перетворювач виключений). Бітами MUX2.0 в регістрі мультиплексора ADMUX вибирається контакт порту PORTA (PA7.PA0).

9. ПОРТИ ВВОДУ-ВИВОДУ 9.1. Організація ввода/вывода Порти виводу-введення-висновку забезпечують введення та виведення даних у паралельному форматі. Зазвичай порти виводу-введення-висновку виконуються 8-разрядными. У режимі введення дані з зовнішніх контактів порту пересилаються в регістри микроконтроллера. У режимі виведення дані з регістрів переміщаються на контакти микроконтроллера. Висновок даних, зазвичай, виробляється у «засувку» порту. Дані у своїй присутні на вихідних контактах до нової операції виведення у цей порт. У системі команд микроконтроллера для введення та виведення даних зазвичай передбачаються спеціальні команди. Залежно від виконуваних функцій порти може бути: 0 односпрямованими, призначеними лише виконання одній з операцій (введення або виведення) за всі линиям;

° двунаправленными, призначеними виконання кожній із операций.

виводу-введення-висновку за всі лініях одночасно; напрям передачі может.

бути змінено програмно у процесі работы;

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

Останній варіант побудови схеми порту час найпоширеніший. Наприклад, микроконтроллер АТтеда163 має 32 лінії вводу-виводу з індивідуальної настроюванням, згрупованих на чотири паралельних порту: порт, А порт У, порт З, порт Про. Напрям передачі будь-якого виведення будь-якого порту то, можливо змінено незалежно від напрямів інших висновків Робота з портами в микроконтроллере передбачено 12 регістрів, по три кожен з портів (рис. 58):

° регістри даних (Dafa Register): PORTA, POF< tb, PORTC і PORTD;

0 регістри напрями (Data Direction Register): DDRA, DDRB, DDRC и.

DDRD; ° регістри вхідних контактів (Port A Input Pins). PINA; PINB, PINC і FIND. Усі висновки портів мають індивідуальні що підтягують резисторы (pull-up resistors). Для підключення цих резисторів в регістрі спеціальних функцій ввода/вывода SFIOR (Special Function Input Output Register) передбачено біт PUD (Pull-up Disabled). [pic] Будь-яка лінія порту виконує функції виходу під час запису логічного одиниці в відповідний біт регістру напрями DDRx (x e А, У, З, D). Регістри PINx не зберігають інформації і фактично є справжніми регістрами. Вони дозволяють доступом до фізичним сигналам на лініях відповідного порту. Під час читання PORTx читається засувка даних обраного порту, а під час читання PINxзначення на контактах порту. Регістри PINx доступні лише читання, е нас саме регістри PORTx і DDRxдля читання і запис. Внутрішні що підтягують резисторы підключаються лише за PUD=0, якщо контакти портів сконфигурированы як входи Виходи портів витримують втекающий струм до 20mA і може бути безпосередньо під'єднані до светодиодным індикаторами. Проте, витікаючий струм порту ні бути більше чотирьох мАЛО, а сумарна завантаження порту — трохи більше 80 мАЛО. 9.2. Алгоритми обміну даними Порти вводу-виводу призначені для зв’язку микроконтроллера з різними об'єктами і може реалізовувати різні алгоритми обміну данными:

0 асинхронний програмний обмен,.

0 синхронний обмен,.

0 вхід-видобуток з сигналами квитирования. Обмін даними між портами і об'єктами забезпечується спеціальними подпрограммами-драйверами, створюваними індивідуально кожному за об'єкта. АСИНХРОННИЙ ОБМІН У режимі асинхронного програмного обміну введення та виведення даних виробляється За урядовою програмою моменти виконання інструкцій введення та виведення даних. Передбачається, Що об'єкт завжди до обміну: при введення — дані в останній момент виконання інструкції in присутні на лініях порту, при виведеннядані буде прочитано з ліній порту до наступного виведення. Наприклад, микроконтроллер ATmega163 здійснює асинхронний висновок даних nпри виконанні фрагмента програми: equporta = $ 1B; .equ ddra = $ 1А; cseg ldir16,$FF ;запись$РРвг16 out ddra, r16 включення порту На висновок out porta, rO ;висновок даних із регістру гО до порту А. Час виконання команди виведення одно двом періодам тактового сигналу. Той-таки микроконтроллер протягом двох тактів запровадить дані з ліній порту при маєтку фрагмента програми: equpina = $ 19 cseg in rO, pina; введення даних із порту pina в регістр гО. За адресою $ 19 у просторі вводу-виводу микроконтроллера розміщений регістр pina, з вхідних ліній якого і буде взято дані під час виконання інструкції. симплексный обмін Симплексным вважається односпрямований обмін даними. Такий обмін зазвичай є синхронним. І тут кожна зміна даних на лініях порту •провождается сигналом синхронізації (стробом). Строб генерується джерелом даних, і призначається для завдання моменту записи даних в регістр приймача. При виведення даних сигнал строба повинен сформувати микроконтроллер, використовуючи при цьому спеціальні лінії шини управління чи окремі біти портів виводу-введення-висновку. На рис. 9.2 показаний варіант сполуки микроконтроллера ATmega163 з посимвольным принтером, у яких 8-битный вхід прийому даних DATA, вихід сигналу готовності READY і вхід стробирования #STB. Активним на вході стробирования є сигнал низького рівня. Порт PORTA микроконтроллера і біт РВ6 порту PORTB програмуються виведення даних, біт РВ2 порту PORTB на введення. Підпрограма виведення повинна: 0 здійснити перевірку готовності принтера (читання сигналу готовності принтера READY та її аналіз), ° для виявлення сигналу READY=1 вивести дані до порту PORTA, ° підтвердити висновок даних висновком сигналу стробирования #STB=0 для записи даних в принтер. [pic] Рис. 9.2. Підключення принтера до микроконтроллеру Режим синхронного введення дозволяє точно поставити момент зчитування даних із об'єкта. У цьому вся режимі сигнал стробирования, підтверджує готовність даних, надходить із об'єкта на микроконтроллер. За появи строба микроконтроллер має здійснити введення даних із порту. полудуплексный обмін Полудуплексным вважається двунаправленный синхронний обмін, щоб у будь-який час передача даних може проводитися тільки щодо одного напрямі. Напрям передачі порту змінюється у процесі роботи у залежність від розв’язуваної в цей час завдання. На рис. 9.3 зображений варіант сполуки микроконтроллера ATmega163 з об'єктом обмінюватись даними в полудуплексном режимі. У схемою рис. 9.3 передача даних у паралельному форматі здійснюється лініями порту PORTA. Для видачі і прийому чотирьох сигналів управління обміном (сигнали квитирования): строб введення #STB IN (Strobe Input), строб виведення #STB OUT (Strobe Out), підтвердження введення SACK IN (Acknowledge Input) й підтвердження виведення #АСК OUT (Acknowledge Out), використані дві лінії порту PORTB і входи запитів на переривання INTO і INT1. По прибутті сигналу #STB IN = 0 контролер повинен виставити сигнал підтвердження #АСК IN = 0 і зробити запис у вхідний регістр порту PORTA. При низький рівень сигналу ASK IN об'єкту забороняється формувати новий сигнал #STB !N. Після закінчення записи контролер знімає сигнал #АСК IN, дозволяючи повторну передачу даних. Робота микроконтроллера як виведення аналогічна. Микроконтроллер виводить дані до порту PORTA, підтверджуючи висновок сигналом #STB OUT = 0. Об'єкт формує сигнал підтвердження #АСК OUT = 0, повідомляючи контролеру про готовності до прийому даних. При зняття сигналу #АСК OUT контролер повинен зняти сигнал #STB OUT і може знову можливість перейти до висновку даних. Одночасна передача даних у двох напрямах при полудуплексном обміні неможлива двобічний обмін Дуплексным вважається двунаправленный синхронний обмін, щоб у будь-який час можлива передача даних у двох напрямах. І тут передачі даних у кожному напрямі виділяється свій односпрямований порт. На рис. І 4 зображений варіант сполуки микроконтроллера ATmega 163 з об'єктом обмінюватись айнными в дуплексном режимі. [pic] 11 схемою рис. 9.4 порт PORTA дбає про введення даних, порт PORTB — на висновок, | пінії I «ЗІ і РС1 порту PORTC використовуватимуться виведення сигналів квитирования #АСК І #ЛСК OUT. Для введення сигналів квитирования від об'єкта #STB IN і #АСК OUT використані входи запитів на переривання INTO і INT1. За такої підключенні завдання введення даних в микроконтроллер отримує більший пріоритет, ніж завдання вывода.

32. Аналого-цифровые перетворювачі. Фундаментальна обізнаність із АЦП микроконтроллера ATmega 163 Аналого-цифровий перетворювач ADC (Analog Digital Converter) здійснює перетворення напруги у цифровій код. Він призначений для оцифровки і в микроконтроллер аналогових сигналів з різних датчиків фізичних величин. Схеми перетворювачів різні. Залежно від типу побудови змінюються, й властивості перетворювача. Паралельний перетворювач У паралельному преобразователе (рис. 1) вхідний сигнал подається відразу на безліч компараторов, здійснюють порівняння сигналу з опорним напругою. Опорні напруги формуються ланцюжком резисторів, ділять еталонне напруга U0 на рівні части.

Рис. 1. Паралельний аналого-цифровий перетворювач Такі схеми ADC працюють нас дуже швидко, але складні, і використовуються редко.

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

Рис. 2. Перетворювач послідовного наближення Перетворення виконується протягом кількох тактів. У першому такті в старший розряд регістру послідовних наближень записується одиниця. Якщо результаті порівняння не вдома компаратора встановлюється одиничний сигнал, одиниця в старшому розряді регістру зберігається. Інакше — скидається. Далі, у тому порядку, формується другої за старшинству розряд результату, потім — третій тощо. Для отримання результату необхідно n тактів, де число n одно розрядності преобразователя.

Интегрирующий преобразователь Интегрирующий ADC порівнювати вхідного сигналу з еталонним використовує заряд конденсатора. Спочатку (рис. 3) конденсатор протягом фіксованого проміжку часу Т1 заряджається струмом, пропорційним вхідному сигналу. Після це розряджається постійним струмом з певним значенням. Час розряду конденсатора Т2 пропорційно значенням вхідного напруги. Воно фіксується з допомогою лічильника і робить для виходу схеми (рис. 4). Рис. 3. Інтегрування сигналу в преобразователе Інтервал часу T1 задається включенням ключа S1. Після закінчення T1 ключ S1 розмикається, a S2 — замикається. Опорне напруга U0 повинен мати знак протилежний знаку напруги вхідного. Компаратор, пристрій управління і лічильник визначають вихідний код D, пропорційний інтервалу T2. Рис. 10.4. Інтегруючий ADC Інтегруючі схеми ADC мають 8−16 розрядів і може представляти результат в двоичном чи двоично-десятичном коде.

Сигма-дельта перетворювач Сигма-дельта перетворювачі є різновидом інтегруючих ADC, в яких вхідний струм компенсується комутованих зарядом від вмонтованого джерела (рис. 5). Імпульси струму фіксованою тривалості кожному такті може бути під'єднані до входу інтегратора. У суммирующей точці інтегратора підтримується нульової середній струм. Лічильник підраховує кількість імпульсів, що у суммирующую точку за фіксований період. Результат рахунки пропорційний вхідному напрузі. Рис. 5. Сигма-дельта преобразователь.

Управління АЦП микроконтроллера До складу микроконтроллеров зазвичай мають 8 — 16-битные многоканальные перетворювачі з великим набором вбудованих функцій. У цьому всі функції перетворювача програмуються і може змінитися своєю практикою. Наприклад, микроконтроллер ATmega163 оснащений 10-разрядным ADC послідовних наближень (рис. 10.6). ADC приєднаний до 10-канальному аналоговому мультиплексору (MUX), що дозволяє подати на вхід перетворювача кожній із восьми вхідних сигналів зі входів ADCO… ADC7, або еталонне напруга 1,22 В. або сигнал зі входу AGND. Висновок AGND рекомендується під'єднати до точки із нульовим потенціалом GND (Ground). ADC містить схему выборки/хранения SHC (Sample&Hold Comparator), удерживающую напруга входити в час перетворення на незмінному уровне.

Рис. 6. Структура аналого-цифрового преобразователя Аналого-цифровой перетворювач перетворює напруга аналогового вхідного сигналу в 10-разрядное цифрове значення методом послідовних наближень. Мінімальна значення вхідного напруги одно напрузі на контакті AGND. максимальне значення на повинен перевищувати напруга на контакті AREF. Результат як 10-битного двоичного числа D равен:

[pic] де U-входное напруга, a U0- опорне напруга перетворювача. Як джерела опорного напруги перетворювача можна використовувати зовнішній сигнал з виведення AREF, внутрішній джерело 2.56 В, або напруга харчування аналогової частини микроконтроллера з виведення AVCC. Напруга на виведення AVCC на повинен відрізнятиметься від напруги харчування Vcc понад ±0,3 У. Наприклад, якщо аналоговий мультиплексер підключає до входу ADC еталонне напруга U =1,22B, а ролі опорного напруги використовувати джерело U0=2,56 В, то результат преобразования: D=1,22*1024/2,56=488=$ 1Е8=0b111101000.

3. Загальне поняття мікропроцесора Мікропроцесор — програмно керовану пристрій в обробці цифровий інформації і управління процесом цієї обробки кристал із елементами і програма. Характеристики: Програмний опитування, Обмін через переривання, Обмін програмним доступом до пам’яті. Микропроцессорный комплект — сукупність мікросхем та інших інтегральних схем, сумісних за архітектурою, конструктивного виконанню й електричним параметрами, які забезпечують можливість спільного застосування Архітектура — функціональні можливості апаратних коштів системи, використовувані до подання програмних даних, і управління процесом обчислень. Мікропроцесори — одне із стрімко та розвитку і консультації безумовно, перспективних видів техніки. Їх на відміну від звичайних БІС у тому, що вони перебувають у собі управляючі елементи, дозволяють налаштувати ці БІС виконання будь-яких операцій, т. е. у будь-який залежності між послідовностями вхідних і вихідних сигналів. Те, що БІС з перестраиваемой логікою здатні за відповідного «їх настроюванні» виконувати будь-які функції, зробила їх універсальними й цілком знімає протиріччя між ступенем інтеграції і потрібним обсягом виробництва. Набір управляючих сигналів, настраивающий БІС виконання певної функції, називається микрокомандой. Подальший розвиток програмно — перестраиваемой логіки призвела до того, що БІС стали виконувати не лише одну, а послідовність микрокоманд, т. е. алгоритм. Виникли БІС з микропрограммным управлінням. Однією з реалізацій БІС з микропрограммным управлінням і з’явилися мікропроцесори. Кожен мікропроцесор втілює у собі головне властивість згаданих БІС — його основі можна побудова системи, реалізуючу будь-яке перетворення послідовності електричних сигналів. Якщо такі сигнали є носіями інформації, то, очевидно, що створювана микропроцессорная система здатна переробляти будь-яку інформацію. Отже, мікропроцесор (МП) — це программно-управляемое пристрій, яке здійснює процес обробки інформації та побудоване в одній чи кількох великих інтегральних схемах. Перший мікропроцесор виник 1971 р Можливі два способу розв’язання поставленого завдання: апаратний і програмний. Апаратний спосіб має особливості: до виконання кожну операцію використовується індивідуальний операційний блок; розподіл змінних по входам і виходам операційного блоку не змінюється у процесі реалізації алгоритму; порядок реалізації алгоритму визначається схемою сполуки операційних блоків; число операційних блоків різко зростає зі зростанням складності алгоритму. Програмний спосіб втілення алгоритму має проти апаратним два основних переваги: по-перше, із ускладненнями алгоритму обсяг устаткування збільшується незначно; по-друге, шляхом зміни програми можна однією устаткуванні вирішувати різні завдання. Мікропроцесор є оптимальне поєднання апаратних і програмних засобів на вирішення конкретного завдання. Доцільність застосування МП залишилася в розроблюваних системах: Складні алгоритми; Обробка великих масивів інформації; Часто звернення до ЗУ; Кількість інтегральних схем понад 34; Мікропроцесори може бути класифіковані за низкою ознак. На кшталт архітектури різняться однокристальные і многокристальные секційні мікропроцесори. Однокристальные мікропроцесори (КР580, КР581, К588, К1801, КА1808, КМ1810, КН1811) виходять при реалізації всіх апаратних коштів процесора як однієї БІС. У міру збільшення ступеня інтеграції елементів в кристалі і числа висновків корпусу параметри однокристальных мікропроцесорів поліпшуються. Зазвичай, належала для розширення функціональних можливостей однокристального мікропроцесора його доповнюють іншими типами мікросхем. Проте можливості однокристальных мікропроцесорів обмежені аппаратурными ресурсами кристала і корпуси. Тому поширеніші многокристальные секційні мікропроцесори. Многокристальные секційні мікропроцесори (К583, К584, КР587, К589, К1800, КР1802, КМ 1804) виходять у разі, як у вигляді БІС реалізуються частини (секції) логічного структури процесора. Микропроцессорная секція — це БІС, призначена в обробці кількох розрядів даних чи виконання зазначених управляючих операцій. Секционность БІС мікропроцесора визначає можливість нарощування розрядності оброблюваних даних чи ускладнення пристроїв управління мікропроцесором при «паралельному» включенні більшої кількості БІС. Многокристальные секційні мікропроцесори мають розрядність від 2 … 4 до 8 … 16 біт і високопродуктивні процесори ЕОМ. Мікропроцесори можна класифікувати і з технології виготовлення. Нижче наведено майже всі сучасні технології: р — МДП — технологія (К1814); я — МДП — технологія (КР580, КР581, К1801, К1809, КМ1810, КН1811, КМ1813, КР1816); ТТЛДШ — технологія (К589, КР1802, КМ1804); КМДП — технологія (К586, К588…); И2Л-технология (К583, К584, КА1808); ЭСЛ — технологія (К1800). За призначенням різняться універсальні й окремі спеціалізовані мікропроцесори. Універсальні мікропроцесори можна застосовувати щодо рішення різноманітних завдань. Їх продуктивність мало залежить від проблемної специфіки розв’язуваних завдань. Спеціалізація МП, т. е. його проблемна орієнтація на прискорене виконання певних функцій, дозволяє різко продуктивність при ухвалі тільки певних завдань. По виду оброблюваних вхідних сигналів мікропроцесори поділяються на цифрові (1 чи 0) і аналогові. Самі мікропроцесори — це цифрові устрою, проте може мати вбудовані аналого-цифровые і цифроаналоговые перетворювачі. Тому вхідні аналогові сигнали передаються в МП через перетворювач у цифровій формі, обробляються і після зворотного перетворення на аналогову форму надходять для виходу. По розрядності даних, оброблюваних мікропроцесором, виділимо: двухразрядные (К589); четырехразрядные (К584, КР587, К1800, КМ1804, К1814); восьмиразрядные (КР580, К583, КР1802, КМ1813, КР1816); шестнадцатиразрядные (КР581, К588, К1801, К1809, КМ1810, КН1811). За характером тимчасової роботи різняться синхронні і асинхронні мікропроцесори. Синхронні мікропроцесори — це мікропроцесори, у яких початок і поклала край операцій задаються пристроєм управління (час виконання операцій на цьому випадку залежить від виду виконуваних команд і значень операндов). Асинхронні мікропроцесори дозволяють початок кожній такій операції визначити за сигналом фактичного закінчення виконання попередньої операції. За кількістю виконуваних програм мікропроцесори діляться однеі многопрограммные. У однопрограммных мікропроцесорах виконується лише одне програма. Перехід до виконання інший програми відбувається після завершення поточної програми. У багаточи мультипрограммных мікропроцесорах одночасно виконується кілька (зазвичай кілька десятків) програм. Організація мультипрограммной роботи мікропроцесорних управляючих систем дозволяє здійснювати контролю над станом й управляти ними великою кількістю джерел чи приймачів информации.

2. Логічний структура мікропроцесорної системи На виконання своїх можливостей мікропроцесор повинен мати регістри, сумматоры, логічні схеми, дешифраторы та інші елементи, які з'єднані між собою з допомогою шин — з'єднувальних ліній. Схема, яка показує, з яких блоків полягає мікропроцесор, і зв’язок між тими блоками, називається структурної схемою мікропроцесора. Функції, реалізовані мікропроцесором, визначаються як його структурою, а й послідовністю управляючих слів (команд). При зміні цієї послідовності змінюється і виконувана мікропроцесором функція. Для комплексної характеристики можливостей мікропроцесора користуються поняттям «архітектура мікропроцесора». Архітектура мікропроцесора — це її логічна організація, обумовлена можливостями мікропроцесора по апаратної чи програмної реалізації функцій, необхідні побудови микроЭВМ.

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

Зная архітектуру мікропроцесора і всієї мікропроцесорної системи, можна скласти певну послідовність команд, звану програмою, що забезпечить виконання заданої функції. Узагальнену схему мікропроцесора можна як, наведеному на рис. 7.2. У цьому структурі використовується трехшинная організація роботи. Шиною називають групу ліній передачі, об'єднаних спільною функціональним ознакою. Прийнято такі умовні позначення: ТИ БА, БД — буферні регістри адрес та об'єктивності даних; БП — блок переривання; РОН — регістри загального призначення; ІР — індексні регістри; СТІК — блок регістрів; УС — покажчик стека; ПС — програмний лічильник; А — акумулятор; АЛУ — арифметическо — логічне пристрій; РП — регістр ознак; СІД — схема «инкремент-декремент»; УУ — пристрій управління; РК — регістр команд; ДК — дешифратор команд.

Конкретные мікропроцесори, зазвичай, не містять всіх вузлів, показаних на рис. У таких випадках відповідні функції можуть виконуватися програмно, а ролі деяких спеціальних регістрів можуть використовуватися РОН чи осередки пам’яті. У багатьох мікропроцесорних комплексів окремі функціональні вузли можуть виконуватися як окремих БИС.

Для управління перетворювачем в микроконтроллере використовуються регістри: Регістр управління мультиплексором ADMUX (ADC Multiplexer Selection Register); Регістр управління аналого-цифровым перетворювачем ADCSR (ADC Control and Status Register); Регістри даних ADCL і ADCH (ADC Low і ADC High); Регістр стану микроконтроллера SREG (Status Register).

|0 |0 |AREF, внутрішня напруга Vref | | | |відключено | |0 |1 |AVCC з зовнішнім конденсатором на | | | |контакті AREF | |1 |0 |Резерв |.

Бит 5 — ADLAR (ADC Left Adjust Result) — впливає на запис результату в регістри даних ADCL і ADCH. При ADLAR=0 можна використовувати спрощене 8- бітне перетворення. Біти 4. О — MUX4. MUXO (Multiplexer bits) — призначені для вибору входу, комутованого на вхід перетворювача. Вибір ввозяться відповідності з таблицею 2. Зміна цих бітов в процесі перетворення, коли прапор ADIF в регістрі ADCSR встановлено, не призводить до зміни результата.

Таблица 2. Вихід вхідного сигналу ADC |MUX4.0 |Подключаемый | | |контакт | |0 |ADCO | |1 |ADC1 | |10 |ADC2 | |11 |ADC3 | |100 |ADC4 | |101 |ADC5 | |110 |ADC6 | |111 |ADC7 | |1 000. |Резерв | |.11 101 | | |11 110 |1.22V | |11 111 |0V (AGND) |.

Регистр — ADCSR (ADC Control and Status Register) призначений для управління роботою аналого-цифрового перетворювача. Биток 7 — ADEN (ADC Enable) — дозвіл роботи ADC. Очищення біта забороняє роботу ADC. Заборона ADC у процесі перетворення припиняє перетворення. Биток 6 — ADSC (ADC Start Conversion) — запуск перетворення ADC. У режимі однократного перетворення для запуску кожного циклу перетворення необхідно встановлювати біт ADSC до стану 1. У циклічному режимі біт ADSC встановлюється до стану 1 лише за запуску першого циклу перетворення. Щоразу після першої установки біта ADSC. виконаною після дозволу чи разом з дозволом, виконуватиметься порожній перетворення. Це порожній перетворення активізує перетворювач. ADSC зберігатиме стан 1 протягом усього циклу перетворення і скидається з його завершення. За виконання порожнього перетворення, попереднього активизируемому, біт ADSC залишається встановленим до завершення активируемого перетворення. Запис 0 у цей біт ефекту не надає. Биток 5 — ADFR (ADC Free Run Select) — установка циклічного режиму роботи ADC. При встановленому до стану 1 бите ADFR аналого-цифровий перетворювач працюватиме у циклічний режимі. У цьому вся режимі виробляються вибірки та звернення до регістрам безупинно (одне одним). Очищення біта призводить до припинення циклічного режиму. Биток 4 — ADIF (ADC Interrupt Flag) — прапор переривання ADC. Цей біт встановлюється до стану 1 після завершення перетворення й відновлення регістрів даних. Переривання після завершення перетворення ADC виконується, тоді як стан 1 встановлено біт ADIE і I — біт регістру статусу SREG. Биток ADIF скидається апаратно і під час підпрограми обробки відповідного вектора переривання. З іншого боку, біт ADIF то, можливо очищено записом у прапор логічного 1. Цього необхідно остерігатися під час читаннямодификации-записи ADCSR, оскільки не може бути заборонено відкладену переривання. Це стосується й у випадках використання команд sbi і cbi. Биток 3 — ADIE (ADC Interrupt Enable) — дозвіл переривання ADC. При встановлених до стану 1 бите ADIE і l-бите регістру SREG активується переривання з вектором $ 1С після завершення перетворення ADC. Біти 2.0 — ADPS2. ADPSO (ADC Prescaler Select Bits) — вибір коефіцієнта попереднього розподілу. Дані біти визначають коефіцієнт розподілу тактовою частоти микроконтроллера щоб одержати необхідної тактовою частоти ADC.

Таблица 3. Вихід вхідного сигналу ADC |ADPS2 |ADPS1 |ADPSO |Коефіцієнт розподілу| |0 |0 |0 |Без розподілу | |0 |0 |1 |2 | |0 |1 |0 |4 | |0 |1 |1 |8 | |1 |0 |0 |16 | |1 |0 |1 |32 | |1 |1 |0 |64 | |1 |1 |1 |128 |.

Регистры ADCL і ADCH є регістрами даних. Їх вміст залежить від стану біта ADLAR регістру ADMUX. Коли перетворення виконано, десятибитный результат перебуває у цих двох регістрах. Якщо молодший регістр ADCL лічений, то регістри не змінюються до читання старшого регістру ADCH. ADLAR біт в ADMUX впливає на уявлення результату. Біти |7 |6 |5 |4 |3 |2 |1 |0 | |ADCH $ 05($ 25) |ADC9 |ADC8 |ADC7 |ADC6 |ADC5 |ADC4 |ADC3 |ADC2 | |ADCL $ 04($ 24) |ADC1 |ADC0 | | | | | | | | ———————————;

Процессорное ядро.

Память.

Функціональні блоки.

[pic].

[pic].

[pic].

Процесор Pentium 3.

Кеш-пам'ять L1.

Кеш-пам'ять L2.

Шина процесора 100МГц Частота = (Частота процессора)/2.

AGP.

North Bridge.

Шина PCI.

Video.

Шина ISA.

100МГц.

100МГц.

SDRAM.

DIMM.

Разъёмы PCI.

South Bridge.

IDE1.

USB11.

IDE2.

USB21.

GMOS.

Super I/O.

Разъёмы ISA.

ROM.

Клав. Мышь.

COM1.

Дисков.

COM2.

LPT1.

Flash BIOS.

-??/???†??? [pic].

Показати весь текст
Заповнити форму поточною роботою