Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт з мікропроцесорної практики.docx
Скачиваний:
10
Добавлен:
16.05.2015
Размер:
137.53 Кб
Скачать

15. Біти блокування пам'яті (LockBits)

Склалося так, що навіть найперші моделі мікроконтролерів мали програмовані осередку захисту інформації. Мікроконтролери AVR так само мають такий захист. Це спеціальні комірки, побудовані за принципом Flash-пам'яті (тобто, незалежній пам'яті з електричним стиранням інформації). Кожен мікроконтролер має як мінімум дві захисні осередку LB1 і LB2. Запис і читання цих осередків можлива тільки в режимі програмування. При записі нуля в LB1 блокується запис даних в Flash і EEPROM пам'ять. Одночасно блокується можливість змінювати конфігураційні осередки. Якщо записати нуль ще й у LB2, то блокується і можливість читання всіх даних. Після цього прочитати вміст вашої програми стає неможливим. Для повторного використання мікроконтролера потрібно виконати команду «Стирання мікросхеми». При цьому вся інформація, записана в мікросхему втрачається, зате здатність читання і модифікації відновлюємо. У мікроконтролерах сімейства Mega є додаткові осередки захисту BLB02, BLB01, BLB12, BLB11. Вони служать для обмеження доступу до різних областей пам'яті програм. Детальніше про це дивіться в описі конкретної мікросхеми.

Крім осередків захисту пам'яті мікросхеми мають, так звані, конфігураційні осередки. Справа в тому, що всі контролери AVR мають безліч режимів роботи. Деякі з режимів неможливо перемикати програмним шляхом, використовуючи внутрішні регістри керування. Наприклад, в деяких моделях мікроконтролерів синхронізація може здійснюватися як від внутрішнього генератора з зовнішнім резонатором, так і від автономного внутрішнього генератора, що не потребує зовнішніх кіл. У таких мікросхемах два вільних контактів, використовувані зазвичай для підключення зовнішнього кварцового (керамічного) резонатора можна використовувати як додаткові лінії порту введення / виводу. Крім того, майже всі мікросхеми AVR не вимагають обов'язкової наявності зовнішнього сигналу скидання. Тому і цей, третій контакт так само можна перемкнути в режим, коли він буде виконувати роль додаткової лінії порту введення / виводу. Природно, що вибір цих режимів повинен проводитися ще до підключення мікросхеми до схеми налагоджуваного пристрою. Для перемикання режимів фірма Atmel ввела в свої мікроконтролери новий настроюваний елемент: програмовані перемикачі режимів. Ці перемикачі виконані у вигляді спеціальних осередків, які, в сукупності з осередками захисту, є ще одним видом перепрограмованої незалежній пам'яті. Всі конфігураційні осередку об'єднуються в байти. Різні мікросхеми AVR мають від одного до трьох байтів конфігураційних осередків. Кожен конфігураційний перемикач призначений для того, що б змінювати який або один параметр або режим роботи мікроконтролера. У документації кожен такий перемикач має своє певне ім'я. Деякі біти конфігураційних осередків об'єднані в групи. Наприклад, група з чотирьох бітів CKSEL 3 ... 0 дозволяє вибирати режими синхронізації. Різні моделі мікроконтролерів мають різні набори конфігураційних осередків. За термінологією фірми Atmel конфігураційні осередку називаються FuseBits. Тому для зручності і стислості ці осередки часто називають Fuse-осередками.

Запис і читання осередків захисту і конфігураційних осередків можлива тільки за допомогою програматора в режимі програмування. Всі незапрограмовані fuse-комірки та комірки захисту містять одиницю. При програмуванні в клітинку записується нуль. Деякі осередки програмуються ще на заводі (заводськкпередвстановлення). Стан усіх конфігураційних осередків для кожної конкретної мікросхеми дивіться у документації на цю мікросхему.

Ще одна група осередків - це осередки ідентифікації. Будь мікроконтролер має три осередки ідентифікації. Ці осередки доступні тільки для читання і містять інформацію про виробника та моделі мікроконтролера