Рейтинг
38.98
голосов: 40
avatar

AVR

О блоге

Описание ядра и периферии контроллеров AVR. Все, что касается работы с AVR семейством.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (271)

dcoder vvzvlad ploop hexFF foxit _YS_ Vasil Tabke XANDER marvin_yorke Ultrin WildCat hexanaft zb3k Vga Alatar t0x193n mzw Reverb tda2030

Все читатели блога

Missed Optimization

AVR

Missed Optimization

Часто бывает удобно упаковать несколько логически связанных атрибутов в одну POD структуру и работать с ними, как с единым целым. К томе-же, если структура не большая и целиком помещается в регистры, то это должно быть еще и эффективно. Должно, но…


Читать дальше

AVR - Запись данных во флеш память

AVR
Встроенная EEPROM стремительно заканчивается, а данные куда-то записывать надо. Знакомая ситуация, не правда-ли?

Что мы обычно делаем в таких случаях? Ставим внешнюю EEPROM, флеш или SD карточку на 32 гига. Это оправдано, если устройство достаточно сложное. А если оно состоит из одной тиньки и двух с половиной светодиодов? Тогда подключение внешней памяти грозит кардинальными изменениями в алгоритме, а может и пинов банально не хватит.

Но ведь у нас есть своя флеш память, которая в подавляющем большинстве случаев заполнена чуть менее, чем на половину. Отлично! Её и используем для записи данных.



Читать дальше

Время говорить с камнями или USART Multi-processor Communication Mode

AVR
В устройствах, которые чуть сложнее «помигать на демоплате» часто встает вопрос коммуникации между блоками. Какие у нас есть варианты организации шины «один мастер-куча слейвов»?
1. SPI — классика жанра. Минус — надо к каждому слейву тянуть линию SS — Slave Select, чтобы выбирать конкретного
2. I2C (TWI) — вроде все хорошо, правда развязать двунаправленную шину — гемор тот еще.
3. ну и герой нашего обзора — USART Multi-processor Communication Mode

Работает на камнях, где есть полноценный USART (это меги). За базовый камень возьмем atmega32a.



Читать дальше

AVR - Power management или как правильно спать

AVR
Когда начинаешь задумываться о снижении потребления камня — обычно все остальное уже вылизано. И светодиод мигает как надо, и RTOS исправно щелкает задачами, и экранчик подмигивает курсором. Соответственно, этот раздел можно рассматривать как мини-квалификационный экзамен на AVR-джедая. После него остается только всякая экзотика — вроде асинхронных счетчиков или External Memory Interface у старших мег.

Как вообще мы можем влиять на энергопотребление кристалла? Что там вообще потребляет?

Основной элемент кристалла — полевой транзистор. Он в стабильном режиме практически не потребляет энергии — емкость затвора изолирована и практически не разряжается, сопротивление в открытом состоянии мало. А вот при переключении нам надо очень быстро перезарядить эту емкость. Соответственно, чем быстрее, тем больше тока надо вдуть в затвор. А чем больше ток при постоянном сопротивлении, тем больше потери. И поэтому, чем выше тактовая частота, тем больше энергопотребление. Отсюда вывод — если хотим экономить, то сразу надо снижать частоту.

Память. То же самое — в стабильном режиме практически ничего не потребляет (наноамперы). Основные затраты — при чтении и записи.

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



Читать дальше

Как заглянуть в мозги AVR AtMega без JTAG и гемороя

AVR
Ну нету у меня JTAG! А значения переменных посмотреть хочется!
Что делать? (с) Чернышевский. «Кто виноват?», «Кому на Руси жить хорошо?» — тьфу ты не туда.



Читать дальше

Учебный курс. Микро Паскаль. Процедуры и функции.

AVR
статья №5
Трудно представить себе язык программирования без подпрограмм. В Паскале они тоже имеются. Здесь их даже два вида. Это процедуры и функции.


Читать дальше
  • +4
  • 28 марта 2011, 21:32
  • Rom

PinBoard в руках Чайника - Assembler и LCD

AVR
Не прошло и дня, а Чайники опять достают Вас новой писаниной. В прошлой статейке PinBoard в руках Чайника — MicroPascal и LCD, мы рассмотрели управление LCD при помощи встроенных библиотек MikroPascal`я. В этой мы обойдемся целиком ассемблером. Сделаем это для сравнения результатов.
И так, мы помним, что наш текстовый lcd подключен к плате PinBoard по сл. схеме:


Читать дальше

PinBoard в руках Чайника - MicroPascal и LCD

AVR
И снова Чайники атакуют, на этот раз на вооружении чайников МикроПаскаль и LCD. Задача стоит перед нами простая: научиться отображать как символы латиницы так и кириллицы при помощи средств МикроПаскаля.
Первое что нужно нам сделать так это подключить дисплей. Подключать его будем по схеме которая указана в быстром старте PinBoard.

PB0 - E (6) 
PB1 - RW (5) //// Можно кинуть на GND
PB2 - RS (4) 
 
PB4 - DB4 (11) 
PB5 - DB5 (12) 
PB6 - DB6 (13) 
PB7 - DB7 (14) 

Микро паскаль имеет встроенную библиотеку для работе с LCD, вот его и будем сегодня мучить. Должен обратить внимание на то, библиотека lcd не управляет сигналом RW дисплея, поэтому RW нужно кинуть на GND или управлять ручками.

Читать дальше

Учебный курс. Микро Паскаль. Условия и циклы.

AVR
Статья №4
Наверное самыми востребованными операторами на любых языках программирования являются циклы и условия. Их то мы и разберем. Все циклы и условия относиться к структурным операторам.


Читать дальше
  • +3
  • 20 марта 2011, 20:11
  • Rom

USB флешка на ATmega8 и V-USB. От идеи к готовому устройству...

AVR
Прочитав пару статей других пользователей, захотелось самому начеркать чего-то полезного для остальных. Как все поняли из названия, речь пойдет о создании USB mass storage device класса на програмной реализации V-USB.



Читать дальше