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

Розрізняють дві системи нумерації портів – цифрову і буквену.

Цифрова нумерація бере початок від прародителя MCS-51 і містить такі елементи: букву «Р» (англ. «Port»), потім цифру номера порту 0 … 3, розділову точку, цифру номера поточної лінії 0 … 7.

Приклад. «Р3.4» – п'ята лінія четвертого за рахунком порту. Цифра «3» оманлива, як травневий сніг. По ній можна судити про справжній кількості портів в МК. До Приміром, 20-вивідна мікросхема Atmel АТ89С4051 фізично має всього лише два порти, але для сумісності програмного забезпечення з MCS-51 один з портів називається Р1 (а не РВ), а інший РЗ (а не Р1).

Різновиди цифрової нумерації:

• відсутня розділова точка між цифрами (Р25, РЗЗ);

• додавання до літери «Р» однієї або декількох інших букв (ВР10, GPI024);

• цифра номера порту більше, ніж 3 (Р9.1, Р5.5);

• номер поточної лінії більше, ніж 7 (Р0.31, Р2.14).

Буквена нумерація з'явилася пізніше цифровий. В її основі лежить здорова ідея заміни цифри порту порядкової буквою латинського алфавіту. Нова система позначень містить такі елементи: букву «Р», номер порту «A. .. Z», номер поточної лінії 0 … 7.

Приклад. «РА2» – третя за рахунком лінія порту «А». Чому «третя»? Тому що програмісти починають рахунок не з одиниці, як звичайні люди, а з нуля.

Різновиди буквеної нумерації:

• заміна літери «Р» інший буквою (RA2);

• додавання до літери «Р» однієї або декількох інших букв (GPIOA2, РТВЗ);

• номер поточної лінії більше, ніж 7 (РА25, PF15).

 

 

Порт для зручності розуміння можна представити у вигляді морської гавані (Мал. 2.24). У неї заходять кораблі (вводяться електричні сигнали), і звідти вони відправляються в плавання (виходять електричні сигнали). Лінії порту – це окремі судноплавні канали або, по-морському, фарватери, обмежені бакенами (буями). Напрямок руху в каналі в будь-який момент часу може бути змінено на протилежне. Деякі канали мають особливий статус. Наприклад, дві лінії портів РС5, РС6 на Рис. 2.24 фізично відсутні або ж вони заховані усередині і доступні на читання тільки для ЦПУ, як в MCS-51.

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

Класифікація портів

За типом сигналів розрізняють:

• цифрові порти, які використовують на вході і на виході дискретні логічні рівні ВИСОКИЙ / НИЗЬКИЙ;

• аналогові порти, які використовують плавно весь діапазон вхідних / вихідних напруг О. .. Ксс. У рідкісних випадках, наприклад, в мікроконвертерах Analog Devices, допускаються двохполярні вхідні аналогові сигнали;

• змішані порти, які в процесі роботи можуть оперативно змінити режим і перейти з «цифри» на «аналог», і навпаки.

Змішаний варіант сам по собі унікальний, адже поєднання цифрових і аналогових функцій під дахом одного висновку – це воістину мікроконтроллерной «ноу-хау». У мікропроцесорах серії i8080 такого ще не було.

Незважаючи на формальне перевагу змішаних портів, тим не менш, якщо корпус МК великий, то аналогові висновки намагаються фізично відокремити від цифрової частини і підвести до них «своє» харчування і «землю». Даний прийом зустрічається в 32-бітних МК, що дозволяє зменшити перехресні перешкоди.

За направленням надіс сигналу розрізняють:

• вхідні порти, призначені тільки для введення інформації;

• вихідні порти, призначені тільки для виводу інформації;

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

• порти з перемикається альтернативної функцією, наприклад, цифровий порт, поєднаний з АЦП, з входом таймера, з UART, ШІМ і т.д.

 

 

Монофункціональні порти першого і другого типів зараз зустрічаються вкрай рідко. Надто вже марнотратно таке «панство» для малорозмірних МК. Чисті двонаправлені порти третього типу теж втрачають свої позиції. В даний час найпоширенішими є порти четвертого типу. Більше того, спостерігається чітка тенденція до збільшення числа альтернативних функцій, «навішених» на одну лінію.

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

Приклад написи: GP4/T1G/OSC2/CLKOUT. Саме так в даташіте на мікросхему Microchip PIC12F629 вказуються три додаткові функції для однієї цифрової лінії порту GP4.

Модною тенденцією останнього часу стало динамічне розподіл альтернативних функцій портів. Мається на увазі, що кожному висновку мікросхеми може бути оперативно призначена своя функція. Наприклад, нульовий канал АЦП на вибір можна підключити або до лінії РАВ, або до лінії РА5 і т.д. У даташітах наводяться перевідні таблиці режимів, які перемикаються регістрами з області SFR. Так зроблено, наприклад, в М До сімейства Atmel ATXmega.

Життя показує, що в реальних програмах лінії портів найчастіше виконують якусь одну задачу, наприклад, цифровий логічний вихід, генератор сигналів шим, вхід АЦП, вихід ЦАП. Режими роботи задаються на початку програми при ініціалізації регістрів і надалі не змінюються.

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

Отже, розгляду підлягають: цифрові входи, аналогові входи, цифрові виходи, аналогові виходи, двонаправлені входи / виходи.

Цифрові входи

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

серіям мікросхем 74НС, 74АС, К561. «Приблизно», тому, що є різниця в електричних характеристиках продукції різних фірм, що виготовляють МК.

На відміну від мікросхем звичайної логіки, на вході МК знаходиться підтягаючий резистор RUP і програмно керований ключ 5 | N (Мал. 2.25). Якщо ключ розімкнений, то вхідний опір М К дуже велике. У деяких родинах резистор присутній постійно або ж він «притягується» до загального проведення через окремий ключ (Мал. 2.26, а … г).

 

 

Логічний елемент DDI, що на Рис. 2.25, виконується за технологією КМОП і має характеристику тригера Шмітта (КМОП-Ш, Рис. 2.27). Це підвищує завадостійкість. Тій же меті служить лінія затримки А1, яка відсікає короткі імпульсні перешкоди.

Резистори RuР, /? DOwn> як і в П ° Д ~ системі скидання, виготовляються на основі інтегральних польових транзисторів, тому продзвонити їх омметром можна. Великий технологічний розкид визначає широкі допуски, аж до ± 50% від номіналу, наприклад, 30 … 100 кОм.

Рідко, але зустрічаються МК з індивідуальною настройкою опору вхідних резисторів. Наприклад, для Texas Instruments MSP430xl 1х (вер

ся з MaskROM) забезпечується вибір 10 градацій опорів в діапазоні 2.1 … 506 кОм шляхом перепалювання плавких перемичок в заводських умовах.

Резистори мають англомовні назви: «pull-up» («тягнути вгору»), «pulldown» («тягнути вниз»). Якщо для комутації резисторів застосовується ключ («switch»), то використовуються схожі терміни «switched pull-up», «switched pulldown». Чому вгору і вниз? Тому що на електричних схемах прийнято малювати загальний провід внизу, а виведення живлення вгорі.

Діоди VD1, VD2защітние, антистатичні. Вони присутні в МК так само, як і в звичайних мікросхемах КМОП-логіки. При вхідному напрузі вище рівня Vcc відкривається діод VD1. При зменшенні вхідної напруги нижче рівня GND відкривається діод VD2.

Наскільки великими в абсолютних числах можуть бути скачки напруги? Для більшості М К по даташітам допускається не більше +0.3 / -0.3 В, як наприклад, у Microchip PIC12/16/18/24. Зустрічається підвищена стійкість входів до перенапряжениям +0.5 / -0.5 В (Atmel AYR, Analog Devices Blackfin). Бувають

 

 

несиметричні рівні +0.5 / -0.3 В (Maxim / Dallas DS89C430) або +0.5 / -1.0 В (Atmel AT90S).

У даташітах можна знайти параметр «Input / Output clamp current» або «DC injection current». Для МК фірми Microchip його значення становить +20 / -20 мА, що добре узгоджується з рекомендаціями міжнародної асоціації JEDEC для мікросхем КМОП-логіки (Мал. 2.28). Що ж означає цей параметр? Име

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

Але в деяких даташітах вказуються гарантовані прямі струми, після впливу яких мікросхема повертається в початковий стан без пошкодження напівпровідникових структур. Наприклад, TMS320F фірми Texas Instruments офіційні

але допускає тривале протікання струму через захисні діоди +2 / -2 мА, а в MC9S08 фірми Freescale Semiconductor зазначений сумарний струм через всі захисні діоди не більше 5 мА. Рекордні струми гарантуються в сімействі STR71 фірми STMicroelectronics: +5 / -5 мА довгостроково для одного діода, але не більше 25 мА сумарно по всіх діодів.

Схемні різновиди цифрових входів показані на Рис. 2.29, а … в. Скорочення ТТЛ-КМОП означає логічний елемент, виконаний за технологією КМОП, але має вхідні рівні, сумісні з ТТЛ (+0.4 / +2.4 В). Примі-

ром може служити серія мікросхем 74НСТ (ТТЛ-КМОП), яка відрізняється за вхідними характеристиками від аналогічної серії 74НС (КМОП, КМОП-LU).

Елементи ТТЛ-КМОП, показані на Рис. 2.29, а, зустрічаються в сімействі Microchip PIC 16, причому упереміж з КМОП. З одного строни це добре, тому що можна напряму підключати до входів МК мікросхеми ТТЛ-логіки, але з іншого боку доставляє клопоти, оскільки треба запам'ятовувати, який висновок мікросхеми який характеристикою володіє – ТТЛ або КМОП. Надалі фірма Microchip відмовилася від спеціалізації і в своїх нових родинах PIC18/24 зробила їх однаковими КМОП-Ш. На фірмі STMicroelectronics пішли по іншому шляху і ввели в сімейство STR71 програмно перемикані входи. Хочеш, на вибір, КМОП-Ш або ТТЛ-КМОП.

Схема, показана на Рис. 2.29, б, відноситься до класу багатофункціональних цифрових портів. Таке зустрічається, наприклад, в Microchip PIC16F684 і виділяється дробом у позначенні виводу – RA5/T1CKI. Вхідний сигнал розділяється на два потоки: цифровий вхід з логічним елементом DDI (ТТЛ-КМОП) і вхід таймера переривання з логічним елементом DD2 (КМОП-Ш). Обидва елементи мають різні пороги спрацьовування по напрузі, тому може виникнути курйозний випадок, коли МК в режимі звичайного цифрового входу працює нормально, а при обслуговуванні запитів переривання INT дає збої.

Схема, показана на Рис. 2.29, в, теж є багатофункціональною, але в правій і лівій частинах стоять однакові логічні елементи. Альтернативними каналами можуть бути UART і SPI, синхронні і асинхронні входи обробки переривань. Паралельне включення двох елементів DDI, DD2 не впливає на сумарну вхідний опір МК, надто вже вона велика у польових транзисторів. Цифрові канали також можуть розділятися не біля входу, а після спільного буферного елемента, тобто вхід елемента DD2 з'єднується з виходом DDL

Важливий практичний нюанс, загальний для всіх вхідних цифрових схем. Якщо лінії портів налаштовані як входи без внутрішніх «pull-up» резисторів і до них нічого ззовні не підключається, то споживаний МК струм збільшується мало не на чверть. Парадоксу тут немає, просто «ширяють у повітрі» високоомні КМОП-входи знаходяться в нестійкому стані (чи то «нуль», чи то «одиниця») і будь-яка зовнішня наводка призводить до «коливання». Це змушує хаотично працювати логічні елементи всередині МК, що призводить до збільшення динамічних втрат і підвищенню енергоспоживання. Рекомендація – всі невживані в схемі входи треба зовні або зсередини навантажувати на резистори опором 10 … 100 кОм або ж переводити лінії в режим цифрових виходів.

Підведення підсумків. Базовою для ідеалізованого МК пропонується вибрати схему, наведену на Рис. 2.25. Входи з альтернативними цифровими функціями будуть заміщатися схему, зображену на Рис. 2.29, в, яка містить однотипні елементи КМОП-Ш.

Аналогові входи

Аналоговий режим відрізняється від цифрового, в першу чергу, рівнями подаються на вхід сигналів. Для цифрового режиму – це стандартні виконавчі перепади напруги НИЗЬКИЙ / ВИСОКИЙ. Для аналогового режиму допускаються сигнали будь-якої форми в діапазоні 0 … Ксс.

 

 

Ізольовані аналогові входи в М До зустрічаються рідко. З метою економії місця їх поєднують з цифровими лініями і використовують як альтернативну функцію порту. В умовному зображенні МК такі висновки легко ідентифікуються по абревіатурі, що починається з першої букви латинського алфавіту: «AN», «ADC4», «AIN» і т.д. Приклад – лінія RA0/AN0 в мікросхемі Microchip PIC16F628A або PC1/ADC1/PCINT9 в мікросхемі Atmel ATmegal68.

Аналогові входи МК ототожнюються з аналоговим компаратором і АЦП.

Принцип роботи аналогового компаратора (Мал. 2.30) полягає в порівнянні між собою сигналів на позитивному («+», AIN0) і негативному («-», AIN1) входах. Якщо на «позитивному» вході напруга стане хоча б на кілька мілівольт більше, ніж на «негативний», то вихідний сигнал компаратора DA1 стане ВИСОКИМ, і навпаки. Результат порівняння поміщається в один з регістрів з області SFR. У деяких МК сигнал AIN фізично виводиться назовні, що показано на схемі пунктиром. Програмно керований перемикач S1 служить для подачі на вхід компаратора сигналу від внутрішнього джерела опорного напруги (ІОН) або від зовнішнього виведення AIN0. У деяких родинах М К перемикач S1 багатопозиційний і забезпечує не два, а кілька додаткових варіантів комутації.

Діоди VD1 … VD4 і логічні елементи DDI, DD2 відносяться до цифрового порту (нікуди від них не дінешся!), Але вони мають дуже високий опір і на точність роботи компаратора не впливають. Важливо тільки простежити, щоб цифрові «pull-up» резистори були програмно відключені, інакше постраждають свідчення абсолютних рівнів сигналів.

Головне достоїнство аналогового компаратора полягає у високому швидкодії, інакше його вже давно б замінили вузлом АЦП. Тільки час покаже, чи втримається аналоговий компаратор перед технологічними досягненнями і чи залишиться він в майбутніх моделях МК.

Принцип роботи багатоканального АЦП в МК полягає у вимірюванні абсолютного рівня вхідного сигналу методом послідовних наближень (частіше) або дельта-сигма-перетворенням (рідше). Основним параметром АЦП

 

 

вважається розрядність. Зазвичай вона становить 8 … 12 бітів при максимальній частоті вибірок 0.1 … 2 МГц. Для довідки, 8-бітний АЦП забезпечує точність вимірювання вхідних напруг близько 0.4%, а 10-бітний АЦП – близько 0.1%, чого цілком достатньо для аматорських конструкцій.

На Рис. 2.31 як приклад показана структурна схема модуля АЦП, що застосовується в МК Atmel ATmegal6-l6PU [2-8]. З незначними змінами її можна розповсюдити і на всі інші AYR-контролери.

Перетворення «аналог-цифра» здійснюється у 10-бітному АЦП послідовного наближення. Для його нормальної роботи потрібні три сигнали: вхідний V] N, тактовий Fmn, зразковий ^REF.

Сигнал Уш надходить від мультиплексора, комутуючого вісім аналогових каналів з ліній РА0 … РА7 і два тестових напруги 0 і +1.22 В. Вибір джерел сигналу здійснюється програмним способом через регістр ADMUX. Цей та інші задіяні регістри входять в область SFR.

Сигнал Faцп виходить з тактового сигналу FCLK шляхом ділення на коефіцієнт 2 … 128, програмно задається регістром ADCSRA. Всередині блоку АЦП частота FAцп ділиться ще раз на 13 або 14 в залежності від одноразового або безперервного режиму вимірювань. Це і буде справжнім значенням частоти дискретизації сигналу F ^. Для довідки, друге розподіл проводиться тому, що використовується АЦП послідовного наближення, а йому для обчислення результату необхідні 13 або 14 машинних тактів.

Приклад. Нехай Fclk = 8 МГц, коефіцієнт розподілу встановлено 16, отже, Faцп = 500 кГц, F ^ = 38.5 кГц (13 тактів) або F ^ = 35.7 кГц (14 тактів).

Сигнал ^ REF може надходити з трьох напрямків: від вхідних лінії AREF, від внутрішнього ІОН +2.56 В, від джерела живлення AYCC. Переключення напрямків здійснюється електронним ключем, який управляється регістром ADMUX. Висновок AREF має безпосередній електричний зв'язок з модулем АЦП, тому, для зменшення наведень, його зазвичай шунтируют керамічним

конденсатором ємністю 0.1 мкФ. Температурна стабільність ІОН в Atmel ATmegal6 залишає бажати кращого, тому для підвищення інструментальної точності рекомендується використовувати зовнішню мікросхему ІОН з нормованими параметрами і вихідною напругою не більше Ус.

Результат кожного вимірювання поміщається в регістри ADCH (старші 2 біти) і ADCL (молодші 8 бітів). Разом в двох регістрах утворюється число в діапазоні 0 … 1023. Ціна одного ділення – ^ REF/1024. Це справедливо для «чистого» режиму 10 біт. У ATmegal6 є ще один режим, умовно званий 8 / 10 біт. У ньому вимір проводиться з точністю 10 бітів, але индицируются всього лише 8 старших бітів, тобто діапазон становить 0 … 255, ціна одного поділу VREF/256.

При роботі АЦП треба на початку програми відключати вхідні «pull-up» резистори, оскільки лінії ADC0 … ADC7 за сумісництвом служать ще і цифровими входами РА0 … РА7. На структурної схемою Рис. 2.31 для простоти не показані захисні діоди на лініях ADC0 … ADC7, хоча реально вони існують. Діоди обмежують зверху і знизу вимірюється напруга Уш. Все, що виходить за межі 0 … КСМ, не обробляється і прирівнюється знизу до AGND, а зверху до Vcc.

Цифрові виходи

Основна функція цифрових виходів в МК полягає у формуванні НИЗЬКИХ і ВИСОКИХ логічних рівнів. Вихідний ланцюг в цифровому режимі можна уявити КМОП-елементом, який має «закритий» або «відкритий» вихід зі стандартної або підвищеної навантажувальною здатністю. Прототипи подібних елементів широко представлені в серіях мікросхем 74НС, 74AC, КР1561, ICP1554.

Розрізняють чотири основні варіанти організації виходів в МК:

• двотактний каскад з вихідними рівнями, близькими до Vcc і GND (Мал. 2.32, а, б). Скорочена назва «push-pull». Зустрічається практично у всіх мікроконтролерних сімействах;

• логічний елемент з «істинно» відкритим стоком або на сленгу з «відкритим колектором» (Мал. 2.33, а, б). Скорочена назва «open drain» або «true open drain». Зустрічається в сімействах Microchip PIC12/16, STMicroelectronics STR71xF, в МК з ядром MCS-51;

• логічний елемент з квазіоткритим стоком (Мал. 2.34, а, б). Скорочена назва «false open drain» через присутність обмежувального діода VD1. Зустрічається в МК з двонаправленими портами;

• логічний елемент з відкритим стоком, доповнений внутрішнім навантажувальним резистором /? Ир (Мал. 2.35 а, б). Скорочена назва «квазідвунаправленние», зустрічається в МК з ядром MCS-51.

Для полегшення розуміння фізики процесів, у функціональні схеми вводяться еквівалентні перемикачі 5оіт. Вони заміщають реальні електронні ключі, виконані на польових транзисторах. У верхньому положенні перемикача 5оітформіруется ВИСОКИЙ, а в нижньому – НИЗЬКИЙ логічний рівень. У тих схемах, де перемикач 50іт є двополюсників, його розімкнутого стан еквівалентно «Виходу в обриві» (Мал. 2.33, а, Рис. 2.34, а) або виходу з високоомним «pull-up» резистором /? Ир (Мал. 2.35, а).

 

 

Таблиця 2.6. Класифікація вихідних КМОП-каскадів в МК

Тйп виходу

Позначення

1н [мА]

Навантаження, що підключається

Слабкий

   «Week»

   1…8

Малопотужні транзисторні ключі, світлодіоди без обмежувальних резисторів, КМОП-логіка

Стандартний

   «Standard»

   20…25

Будь-які транзисторні ключі, світлодіоди з обмежувальними резисторами, логічні елементи

Потужний

   «Power»

   100…200

Реле, невеликі двигуни, лампи, нагрівачі

Управляються перемикачі 5оіт записом «нуля» або «одиниці» в один з бітів регістра з області SFR. Наприклад, в лінійках мікросхем Atmel AVR і Microchip PIC регістри називаються PORTx, де «х» – порядкова буква латинського алфавіту номера порту МК.

Діоди VD1, VD2 – це антистатичні діоди, аналогічні тим, які розглядалися раніше в схемах організації цифрових входів на Рис. 2.25, Рис. 2.26, а … р. Вони є частиною конструкції мікросхеми та нікуди не зникають при зміні напряму з входу на вихід. Це своєрідна «плата» за двунаправленность цифрових портів.

Резистор RUP для «квазідвунаправленние» виходу має в статичному стані таке ж велике опір, як і його «тезко», застосовуваний на Рис. 2.26, а. Основне відмінність полягає в тому, що на етапі переходу з низького рівня високий опір даного резистора на короткий час стає дуже малим, формуючи тим самим крутий наростаючий фронт сигналу. Ця особливість є фірмовою міткою всіх МК, сумісних з ядром MCS-51 [2-9].

Низькоомних резистори й R0L представляють собою опору відкритих каналів відповідно /?-МОП і я-МОП транзисторів вихідного каскаду. У числовому виразі це одиниці-десятки ом в Залежно від технології виготовлення та навантажувальної здатності потоку (Табл. 2.6).

Таблиця 2.6. Класифікація вихідних КМОП-каскадів в МК

У двотактних схемах («push-pull») струмова навантаження при низьких і високих рівнях може бути різною. «Заковика» полягає в потужності розсіювання транзисторів, що входять в комплементарних пару вихідного каскаду. Наприклад, в сімействі Atmel AT90S верхній за схемою транзистор «слабкий», струм навантаження / | Н = 1.5 … 3 мА, а нижній – «стандартний», струм навантаження / 0L = 10 … 20 мА.

Буває, що у всіх портах обидва вихідних транзистора «слабкі» (Philips LPC2104) або обидва «стандартні» (Atmel AVR, Microchip PIC). А от всіх ліній з «потужними» каскадами в одній мікросхемі не буває. Вони застосовуються, як правило, в 16 – і 32-бітових МК, але в одиничному кількості, і служать корисним доповненням до вже наявних виходів.

Найбільш толерантним до типів вихідних каскадів виявилося сімейство Atmel AT91S, в якому мирно уживаються всі три градації, перераховані в Табл. 2.6.

Самі затребувані і ходові – це симетричні вихідні каскади «Standard» з приблизно однаковою навантажувальною здатністю при низьких і високих рівні. Для розробника така ситуація дуже зручна, оскільки не треба болісно довго згадувати, на яку шину (до харчування або до «маси») допускається приєднувати навантаження. Саме цей варіант і пропонується вибрати в якості основного для цифрових виходів ідеалізованого МК.

 

 

На Рис. 2.36, а, б показані усереднені вольт-амперні характеристики (ВАХ) вихідного транзисторного каскаду «Standard».

Щоб порівнювати між собою графіки, наведені в даташітах для конкретних типів МК, слід чітко орієнтуватися в термінології:

• /, н = 20 … 25 мА, / 0L = 20 … 25 мА – це максимальні струми навантаження через резистори R] H, Rql, при яких ще гарантуються вихідні логічні КМОП-рівні від 0 до (0.1 … 0.2) Ус і від (0.6 … 0.8) Ус до Ус;

• 'max = 35 … 45 мА – це граничний струм навантаження на одну лінію порту, тривале перевищення якого може привести (хоча й не обов'язково) до відмови МК;

• / кз = 100 … 150 мА – це струм короткого замикання лінії порту на загальний провід або на шину живлення. Якщо не зняти замикання протягом перших 10 … 15 с, то температурний перегрів транзисторів вихідного каскаду з великою часткою імовірності призведе до фатальних наслідків.

Аналогові виходи

Вважається, що «істинно» аналогові виходи є тільки в каналі ЦАП (англ. DAC – Digital-to-Analog Converter), оскільки широтно-імпульсний модулятор, за допомогою якого теж отримують аналогові сигнали, теоретично відноситься до класу цифрових

пристроїв.

Лінії ЦАП при найменшій можливості намагаються фізично видаляти від цифрових портів для зменшення перехресних перешкод. Їх виконують у вигляді автономних вузлів з відособленою групою висновків. І тільки при нестачі ліній портів виробляють поєднання функцій, як, наприклад, в Atmel ATXmega.

На Рис. 2.37 показана структурна схема 12-бітного ЦАП, застосовані

 

 

мого в мікроконвертори сімейства ADuC812 фірми Analog Devices. Вихідний сигнал DAC0 має характерні сходинки напруг і формується за класичною схемою на комутованої матриці резисторів «R-2R». Резистори тут справжні, продзвонювали, причому досить високої точності.

Цифровий код, відповідний вихідною напругою, записується в регістри з області SFR. Для адресації 12 біт потрібні два 8-розрядних регістра. Блок перемикачів містить електронні ключі, які електрично з'єднують висновки резисторів «2R» з загальним проводом або з ИОН. У якості останнього може на вибір використовуватися або внутрішнє джерело, або зовнішній еталон.

Підсилювач DA1 служить буфером, що знижує вихідний опір і зменшує вплив навантаження на точність рівнів ЦАП. Іноді ставлять підсилювач з програмованим коефіцієнтом передачі, що дозволяє оперативно масштабувати вихідну напругу. Завдання згладжування форми вихідного сигналу вирішується зовнішніми /? С-фільтрами або активними ФНЧ. Чим вище розрядність ЦАП (зазвичай 8 … 14 біт), тим простіше пристрій вихідного фільтра.

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

Слабким подобою вузла ЦАП також можна вважати внутрішній програмно керований ИОН, наявний, наприклад, в Microchip PIC16F628A. Якщо налаштувати лінію VREF в режим виходу та програмно змінювати опорне напруга згідно з його градаціях, то результуючий сигнал буде мати чіткі сходинки, як в ЦАП. Недолік такого рішення полягає в малій кількості самих сходинок і низької точності абсолютних значень напруги.

В ідеалізованому М К окремий модуль ЦАП поки «не виглядає», оскільки на нинішньому етапі розвитку він, скоріше, заморська дивина, ніж реальна річ.

Двонаправлені порти вводу / виводу

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

Електрична схема поєднаного порту введення / виводу показана на Рис. 2.38. Вона виходить як суперпозиція схем, зображених на Рис. 2.25 і Рис. 2.32. а.

Таблиця 2.7. Управління режимами в AYR-і Р1С-контролерах

Функція, яка виконується двонаправленим портом МК

Ядро Atmel AVR

Ядр' Microchip PIC 16/18

   PORTx (S0UT)

   DDRx (S1N)

   PORTx (SOUT)

   TRISx (SIN)

Виході ВИСОКИМ рівнем

   1

   1

   1

   0

Виході НИЗЬКИМ рівнем

   0

   1

   0

   0

Вхід без «pull-up» резистора /? ІР

   0

   0

   0

   1

Вході «pull-up» резистором Rul,

   1

   0

   1

   1

Перемикач ? ВІТ має дві взаємопов'язані групи контактів. Він відповідає за комутацію низького і високого рівнів, а також за підключення та відключення резистора /? ІР. Перемикач 5, N вибирає режим введення (верхнє за схемою положення) або режим виведення даних (нижнє за схемою положення).

Перемикач S] N діє незалежно від ^ 0іт-Оба перемикача управляються двома програмно-доступними регістрами з області SFR. У різних родинах МК вони мають різні назви (Табл. 2.7). Тут регістр PORTx еквівалентний перемикачу S0l} T, а регістри DDRx, TRISx – перемикачу S] N. Зміна бітів в регістрах викликає відповідне замикання контактів.

Таблиця 2.7. Управління режимами в AYR-і Р1С-контролерах

Якщо порівнювати AVR-і PIC-контролери, то помітна велика різниця в поєднаннях бітів, перемикаючих напрям «Вхід / Вихід» і рівні «ВИСОКИЙ / НИЗЬКИЙ». Стандартизація, на жаль, відсутня, що слід враховувати при переході від одного сімейства МК до іншого.

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

Ідеалізований М К повинен мати усереднені характеристики, тому базовою для нього пропонується схема, наведена на Рис. 2.38. Програмною налаштуванням керуючих регістрів контролер може перебудуватися в режими, аналогічні Рис. 2.32, а, Рис. 2.34, а, Рис. 2.35, а. В останньому випадку НИЗЬКИЙ рівень формується «нульовим» напругою на виході, а ВИСОКИЙ – переведенням МК в режим входу з «pull-up» резистором.

Важливе зауваження. При початковому включенні живлення або подачі сигналу скидання всі лінії портів звичайного МК незалежно від бажання програміста переходять в «обірване» високоімпедансное Z-стан, що еквівалентно режиму входу без «pull-up» резистора (Мал. 2.34, а). Виняток з правила становлять МК, сумісні з MCS-51, у яких при скиданні резистор не відключається (Мал. 2.35, а).

Даний момент треба враховувати при розробці реальних схем. Зокрема, якщо навантаженням вихідний лінії М К служить транзисторний ключ, то, щоб його база або затвор при скиданні не «висіли в повітрі », в AVR-і Р1С-контролерах ставлять додаткові зовнішні резистори опором 10 … 100 кОм на загальний провід або на ланцюг харчування. Для МК з ядром MCS-51 цього робити не треба через постійне присутності на виході внутрішнього резистора RVP.

Джерело:
Рюмік С.М. 1000 і одна мікроконтроллерной схема. (Випуск 1)