Главная » Микроконтроллеры
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Калибровочные ячейки и ячейки идентификаторов

Любую модель AVR на этапе программирования можно опознать по содержимому трех 8-разрядных ячеек идентификаторов. Первый байт представляет собой код производителя и, естественно, одинаковый для вех микроконтроллеров. Его значение 0x1E. Во втором байте находится код объема FLASH-памяти программ. Он может иметь одно из ряда значений 0x90…0x98. Наименьшему числу соответствует объем FLASH 1 кб, наибольшему – объем 256 кб. Последняя из ячеек идентификаторов содержит код модели в диапазоне 0x01…0x0C.

Второй и третий байты у различных моделей могут быть одинаковыми, но их комбинация в пределах семейства уникальна. Микроконтроллеры ATmega8 содержат идентификаторы 0x1E, 0x93, 0x07.

Все без исключения AVR-микроконтроллеры могут использовать в качестве источника тактовой частоты внутренний RC-генератор (за выбор источника отвечают конфигурационные ячейки  CKSEL3:CKSEL0). Причем в большинстве моделей этот генератор способен работать на нескольких частотах. Так, у ATmega8 это 1,2,4 и 8 МГц. Однако действующая технология изготовления кристаллов дает значительный разброс по этому параметру.

Для управления частотой RC-генератора, используется РВВ OSCCAL. Изменение содержимого OSCCAL от 0 до 0xFF позволяет перестраивать генератор в пределах -100…+200% от номинальной частоты. Точные же значения, при которых погрешность хода не превышает 1% при температуре 25 C (или 3% во всем рабочем диапазоне температур), определены на заводе изготовителе и записаны  в калибровочные ячейки микроконтроллера. Естественно, что количество калибровочных ячеек равно числу возможных частот RC-генератора.

В моделях, где доступна только одна частота, константа из калибровочной ячейки загружается при старте в регистр OSCCAL аппаратно. Тем самым производится автоматическая настройка RC-генератора. То же самое относится и ко всем остальным микроконтроллерам, но только по отношению к наименьшей из ряда опорных частот. Например, у ATmega8 при старте в OSCCAL копируется лишь содержимое ячейки с калибровочной константой на частоту 1 МГц. Во всех остальных случаях на этапе программирования необходимо считать значение соответствующей калибровочной ячейки и поместить его по известному адресу в энергонезависимую память FLASH или EEPROM, а прикладная программа в ходе инициализации должна считать это число и скопировать его в регистр настройки генератора.

Перейти к следующей части:

Теги:

Котов Игорь Юрьевич Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Модуль измерения тока на ACS712 (30А) Raspberry Pi 2
вверх