Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Вибір мікроконтролера.




Для реалізації бортової мікропроцесорної системи діагностування обрано мікроконтролер серії AVR фірми Atmel. Основні переваги AVR:

  • низька вартість;
  • доступність;
  • надійність;
  • простота програмування;
  • висока швидкодія.

Зважаючи на всі висунуті вимоги вирішено використовувати AVR Atmega16.

Характеристики AVR Atmega16:

  • низьке споживання електроенергії та висока продуктивність;
  • 8-бітна розрядність;
  • покращена RISC архітектура;
  • 131 команда;
  • більшість команд виконуються за один такт;
  • 32 8-бітних регістрів загального призначення;
  • повністю статична робота;
  • максимальна частота – 16 МГц;
  • апаратна команда множення;
  • електронезалежна пам’ять для програми;
  • електронезалежна пам’ять для даних;
  • 16 Кб пам’яті для програми;
  • більше 10 000 циклів перезапису пам’яті для програми;
  • можливість використання завантажуючого сектора;
  • можливість програмування в готовому пристрою;
  • 512 байт енергонезалежної пам’яті для даних;
  • більше 100 000 циклів перезапису пам’яті даних;

 

  • 1 Кб оперативної пам’яті;
  • 2 8-ми бітних таймера;
  • 16-ти бітний таймер;
  • таймер реального часу;
  • 4-х канальний ШІМ;
  • 8-ми канальний 10-ти розрядний АЦП;
  • апаратний 2-wire інтерфейс;
  • апаратний послідовний інтерфейс;
  • апаратний SPI інтерфейс;
  • наглядовий таймер;
  • аналоговий компаратор;
  • 32 лінії введення/виведення;
  • робоча напруга – 2,7-5,5 В

Рис. 2. Конфігурація виводів Atmega16

 

Ядро AVR поєднує повний набір інструкцій з 32-ма робочими регістрами загального призначення. Усі 32 регістри безпосередньо під’єднані до арифметично – логічного пристрою, що дозволяє мати доступ до двох незалежних регістрів під час виконання однієї інструкції за один такт. Окрім зазначених характеристик Atmega16 має також: підтримку відлагоджування на самому чіпі, три гнучких таймери/лічильники з режимами порівняння, зовнішні і внутрішні переривання, шість енергозберігаючих режимів, які обираються програмно. Режим Idle зупиняє роботу процесора, але не забороняє роботу USART, 2 – wire інтерфейсу, АЦП, таймерів/лічильників, SPI порту, системи переривань. В Power-down режимі вміст регістрів зберігається і заморожується осцилятор, що блокує усі інші функції чіпа до появи наступного зовнішнього переривання або апаратного перезапуску. В режимі Power-save асинхронний таймер продовжує працювати, дозволяючи користувачу підтримувати базовий час, поки інші пристрої сплять. Режим ADC Noise Reduction зупиняє CPU і всі модулі введення/виведення окрім асинхронного таймера і АЦП для того, щоб зменшити вплив шумів від перемикань на аналого-цифрове перетворення. В режимі очікування осцилятор працює поки усі інші пристрої сплять. Розширений режим очікування забезпечує подальшу роботу як осцилятора так і асинхронного таймера. Ці режими дають можливість поєднати високу продуктивність роботи з низьким споживанням енергії.

 

 

Рис. 3. Загальна структура Atmega16

 

Atmega16 підтримується значною кількістю програм і систем засобів розробки, включаючи: компілятори С, макро асемблер, програми відлагоджування і симуляції, емулятори і т.д.

Для того щоб максимально збільшити потужність і паралелізм AVR використовує Гарвардську архітектуру – з відокремленою пам’яттю та шинами для програми та даних. Інструкції в пам’яті програм виконуються у вигляді конвеєра. Поки одна інструкція виконується, інша вибирається з пам’яті команд. Такий підхід дозволяє виконувати інструкції кожного такту.

Високопродуктивне AVR ALU з'єднано безпосередньо з усіма 32 швидкодіючими регістрами загального призначення. За один тактовий цикл ALU виконує операцію між регістрами цього реєстрового файлу. Операції ALU підрозділяються на три основні категорії: арифметичної, логічні й операції над бітами.

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

Під час переривань або виклику підпрограм адреса повернення програмного лічильника зберігається у стеці. Стек ефективно розміщується в загальних даних SRAM, саме тому розмір стеку обмежений лише загальним розміром SRAM. Всі користувацькі програми повинні ініціалізувати вказівник стеку в програмі скидання (перед тим як підпрограма або переривання виконане).

Вказівник стеку можна читати/перезаписувати в просторі вводу/виводу. Отримати доступ до даних SRAM можна легко отримати через 5 різних адресних режимів, які підтримуються AVR архітектурою.

Гнучкий модуль переривання має власні регістри контролю в просторі вводу/виводу з додатковим бітом глобального дозволу переривання в регістрі статусу. Всі переривання мають окремий вектор в таблиці векторів переривань. Переривання мають приорітети в відповідності з розташуванням їхнього вектора переривань. Чим нижче адреса вектора переривань, тим вищий приорітет.

Простір пам’яті вводу/виводу містить 64 адреси для процесорних периферійних функцій.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...