Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
final (восстановлен).docx
Скачиваний:
1
Добавлен:
27.08.2019
Размер:
298.79 Кб
Скачать

11. Якіапаратнізасобизабезпеченнянадійності систем на базімікроконтролеріввизнаєте? Детально опишітьфункції блоку детектуваннязниженнянапругиживлення та сторожового таймера.

Прикладная программа, записанная в память программ МК, должна обеспечивать его надежную работу при любых комбинациях входных сигналов. Однако в результате электромагнитных помех, колебаний напряжения питания и других внешних факторов предусмотренный разработчиком ход выполнения программы может быть нарушен. С целью обеспечения надежного запуска, контроля работы МК и восстановления работоспособности системы в отсутствие оператора все современные МК снабжаются аппаратными средствами обеспечения надежной работы. К ним относятся:

- схема формирования сигнала сброса МК;

- модуль мониторинга напряжения питания;

- сторожевой таймер.

Блок детектирования пониженного напряжения питания

В реальных условиях эксплуатации может сложиться такая ситуация, при которой напряжение питания МК опустится ниже минимально допустимого, но не достигнет порога отпускания схемы POR. В этих условиях МК может "зависнуть". При восстановлении напряжения питания до номинального значения МК останется неработоспособным.

Для восстановления работоспособности системы после "просадки" напряжения питания МК необходимо снова сбросить. Для этой цели в современных МК реализован дополнительный блок детектирования пониженного напряжения питания. Такой модуль используется в МК семейства HC08 фирмы Motorola, аналогичный модуль имеется в составе семейства PIC17 фирмы Microchip. Рассматриваемый модуль генерирует сигнал внутреннего сброса при снижении напряжения питания до уровня чуть ниже минимально допустимого. Уровень срабатывания блока детектирования пониженного напряжения питания значительно превышает напряжение сохранения данных в ОЗУ МК. Событие сброса по сигналу блока пониженного напряжения питания отмечается специальным битом в одном из регистров МК. Следовательно, программно анализируя этот бит после сброса МК, можно установить, что данные целы, и продолжить выполнение программы.

Сторожевой таймер

Если, несмотря на все принятые меры, МК все же "завис" , то на случай выхода из этого состояния все современные контроллеры имеют встроенный модуль сторожевого таймера. Принцип действия сторожевого таймера показан на рис. 4.11.

Рис. 4.11. Принцип действия сторожевого таймера.

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

Для исключения сброса по переполнению сторожевого таймера рабочая программа МК должна периодически сбрасывать счетчик. Сброс счетчика сторожевого таймера осуществляется путем исполнения специальной команды (например, CLRWDT) или посредством записи некоторого указанного кода в один из регистров специальных функций. Тогда при нормальном, предусмотренном разработчиком, порядке исполнения рабочей программы переполнения счетчика сторожевого таймера не происходит, и он не оказывает влияния на работу МК. Однако, если исполнение рабочей программы было нарушено, например, вследствие "зависания", то велика вероятность того, что счетчик не будет сброшен вовремя. Тогда произойдет сброс по переполнению сторожевого таймера, и нормальный ход выполнения рабочей программы будет восстановлен.

Модули сторожевых таймеров конкретных МК могут иметь различные особенности:

- в ряде МК векторы внешнего сброса и сброса по переполнению сторожевого таймера совпадают. Это не позволяет выявить причину сброса программным путем и затрудняет написание рабочей программы. Более высокоуровневые МК имеют либо различные векторы сброса, либо отмечают событие сброса по переполнению сторожевого таймера установкой специального бита в одном из регистров специальных функций;

- в некоторых МК при переходе в один из режимов пониженного энергопотребления, когда рабочая программа не выполняется, автоматически приостанавливается работа сторожевого таймера. В других МК сторожевой таймер имеет независимый тактовый генератор, который продолжает функционировать и в режиме ожидания. В этом случае необходимо периодически выводить МК из состояния ожидания для сброса сторожевого таймера. В PIC-контроллерах фирмы Microchip выработка таких сбросов может быть запрещена путем записи нуля в специальный бит конфигурации WDTE.

Использование сторожевого таймера существенно повышает способность к самовосстановлению системы на основе МК.

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

• модуліпослідовноговведення / виведенняданих;  • модулі аналогового введення / виводу. 

12. Модуліпослідовного вводу / виводу  Наявність у складі 8-розрядного МК модуля контролера послідовноговведення / виводу стало останнім часом звичайнимявищем. Завдання, яківирішуютьсязасобами модуля контролера послідовноговведення / виведення, можнарозділити на три основнігрупи: 

• зв'язок вбудованої мікроконтроллерної системи з системою управління верхнього рівня, наприклад, з персональним комп'ютером. Найчастіше для цієї мети використовуються інтерфейси RS-232C і RS-485;  • зв'язок із зовнішніми по відношенню до МК периферійними ІС, а також з датчиками фізичних величин з послідовним виходом. Для цихцілейвикористовуютьсяінтерфейси I2C, SPI, а такожнестандартніпротоколиобміну;  • інтерфейсзв'язку з локальною мережею в мультимікроконтроллерних системах. У системах з числом МК до п'ятизазвичайвикористовуютьсямережі на основіінтерфейсів I2C, RS-232C і RS-485 з власнимимережевими протоколами високогорівня. У більшскладнихсистемах все більшпопулярнимстає протокол CAN. 

З точки зору організації обміну інформацією згадані типи інтерфейсів послідовного зв'язку відрізняються режимом передачі даних (синхронний або асинхронний), форматом кадру (число біт у посилці при передачі байта корисної інформації) і часовими діаграмами сигналів на лініях (рівні сигналів і положення фронтів при перемиканнях).  Число ліній, по яких відбувається передача в послідовному коді, звичайно дорівнює двом (I2C, RS-232C, RS-485) або трьом (SPI, деякі нестандартні протоколи). Дана обставинадозволяєспроектуватимодуліконтролерівпослідовногообміну таким чином, щоб з їхдопомогою на апаратномурівніможнабулореалізуватикількатипівпослідовнихінтерфейсів. При цьому режим передачі (синхроннийабоасинхронний) і формат кадру підтримуються на рівнілогічнихсигналів, а реальніфізичнірівнісигналів для кожного інтерфейсуодержують за допомогоюспеціальних ІС, якіназиваютьприйомопередавачами, конверторами, трансіверами.  Серед різних типів вбудованих контролерів послідовного обміну, які входять до складу тих чи інших 8-розрядних МК, склався стандарт "де-факто" - модуль UART (UniversalAsynchronousReceiverandTransmitter). UART - цеуніверсальний

асинхроннийприймач. Однакбільшістьмодулів UART, крім асинхронного режиму обміну, здатнітакожреалізувати режим синхронноїпередачіданих.  Не всівиробники МК використовуютьтермін UART для позначення типу модуля контролера послідовногообміну. Так, в МК фірмиMotorola модуль асинхронноїприйомопередачі, якийпідтримуєті ж режими асинхронного обміну, що і UART, прийнятоназивати SCI (SerialCommunicationInterface). Слідзазначити, що модуль типу SCI зазвичайреалізуєтільки режим асинхронного обміну, тобтойогофункціональніможливостівжевпорівнянні з модулями типу UART. Однакбувають і винятки: підтим же ім'ям SCI в МК МС68НС705В16 ховається модуль синхронно-асинхронноїпередачіданих.  Модулі типу UART в асинхронному режимі роботи дозволяють реалізувати протокол обміну для інтерфейсів RS-232C, RS-422А, RS-485, в синхронному режимі - нестандартні синхронні протоколи обміну, і в деяких моделях - SPI. У МК фірмиMotorolaтрадиційнопередбачені два модуліпослідовногообміну: модуль SCI з можливістюреалізаціїтількипротоколівасинхронноїпріемопередачі для інтерфейсів RS-232C, RS-422A, RS-485 та модуль контролера синхронного інтерфейсу в стандарті SPI.  Протоколи інтерфейсів локальних мереж на основі МК (I2C і CAN) відрізняє більш складна логіка роботи. Тому контролери CAN інтерфейсу завжди виконуються у виглядісамостійного модуля. Інтерфейс I2C з можливістю роботи як в провідному, так і проводжуваномурежимі, такожзазвичайпідтримуєтьсяспеціальним модулем (модульпоследовательного порту в МК 89С52 фірмиPhilips). Але якщореалізуєтьсятільки ведений режим I2C, то в МК PIC16 фірмиMicrochipвінуспішнопоєднується з SPI: налаштування одного і того ж модуля на один з протоколівздійснюється шляхом ініціалізації.  Останнім часом з'явилася велика кількість МК з вбудованими модулями контролерів CAN і модулями універсального послідовного інтерфейсу периферійних пристроїв USB (UniversalSerialBus). Кожен з цих інтерфейсів має досить складні протоколи обміну, для ознайомлення з якими слід звертатися до спеціальної літератури. 

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

Багатоканальний аналоговий коммутатор К служить для підключення одного з джереланалоговихсигналів (PTx0. .. PTx7) до входу АЦП. Вибірджерела сигналу для перетворенняздійснюється за допомогоюзапису номера каналу комутатора у відповіднірозрядирегістракерування АЦП.  Два виводи модуля АЦП використовуються для задання опорноїнапругиUоп: VREFH - верхня межа Uоп, VREFL - нижня межа.  Власне аналого-цифровийперетворювачвиконаний за методом послідовногонаближення. Практично у всіхмоделях 8-розрядних МК розрядність АЦП такожскладає 8 розрядів. Відповідно, формат представленнярезультатіввимірювання АЦП - однобайтовий. Винятокстановлятьлишемодулі АЦП мікроконтролерів для керуванняперетворювачамичастоти для електроприводів, роздільназдатністьякихдорівнює 10 розрядам. Два молодшихрозряда результату отримують за допомогоюдодатковогоємнісногодільника, не пов'язаного з регістромпослідовногонаближення.  Тривалість такту перетвореннязадає генератор синхронізації: один цикл дорівнюєдвомперіодамчастоти генератора tADC. Час перетворення для типових модулів АЦП мікроконтроллерівскладаєвідодиниць до десятківмікросекунд.  Джерелом синхронізації модуля АЦП може служити вбудований RC-генератор (Г) або імпульсна послідовність тактуванняміжмодульних магістралей МК. У першомувипадку частота синхронізації АЦП обов'язкововиявиться оптимальною, тобтотією, яка рекомендується в технічномуописі. У другому випадкуобрана з іншихміркуваньfBUSможевиявитисяневідповідною для модуля АЦП. На цейвипадокускладідеякихмодулівпередбаченийпрограмованийдільникчастотиfBUS.  Момент завершення кожного циклу перетвореннявідзначаєтьсяустановкоютригераготовностіданих. Якщо переривання від модуля АЦП дозволені, то генерується запит на переривання. Як правило, читання регістра результату скидає тригер готовності.  Більшість модулів АЦП мають тільки режим програмного запуску: установка одного з бітів регістра режиму запускає чергове вимірювання. Найбільш універсальні модулі АЦП мають також режим автоматичного запуску, при якому після завершення одного циклу перетворення негайно починається наступний.Проте дані виміру кожного циклу повинні бути лічені програмним способом.  Цифро-аналоговіперетворювачі в складі МК є великою рідкістю.Функція цифро-аналогового перетворювачареалізуєтьсязасобами модуля програмованого таймера в режимі ШІМ. На одному з висновків МК формуєтьсявисокочастотнаімпульснапослідовність з регульованоютривалістюімпульсу. Отриманий сигнал згладжується фільтром нижніх частот на операційному підсилювачі. Роздільна здатність такого ЦАП визначається дискретністю регулювання коефіцієнта заповнення в режимі ШІМ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]