Микроконтроллер ATmega169 и демонстрационный набор AVR-Baterfly

№ 7’2003
В ноябре 2002 года к столь полюбившемуся многим разработчикам семейства малопотребляющих 8?разрядных Flash?микроконтроллеров AVR компании Atmel добавился новый микроконтроллер ATmega169, предназначенный для работы в портативном оборудовании с автономным питанием.

В ноябре 2002 года к столь полюбившемуся многим разработчикам семейства малопотребляющих 8?разрядных Flash?микроконтроллеров AVR компании Atmel добавился новый микроконтроллер ATmega169, предназначенный для работы в портативном оборудовании с автономным питанием.

В 1997 году корпорация Atmel, один из мировых лидеров в производстве полупроводниковых приборов, таких, как различные логические, смешанно-сигнальные и радиочастотные микросхемы, а также приборы с энергонезависимой памятью, начала выпуск 8-разрядных микропроцессоров с Flash-памятью своего нового семейства AVR. Корпорация Atmel является признанным лидером в технологии производства приборов с Flash-памятью, что позволяет ей выпускать Flash-микроконтроллеры, которые по цене сравнимы, а порой имеют и более низкую цену, чем аналогичные микроконтроллеры других производителей с ОТР-памятью.

Микропроцессоры семейства AVR содержат высокоскоростное вычислительное ядро RISC-архитектуры, развитую периферию и функцию внутрисистемного программирования. Кроме того, микропроцессоры этого семейства имеют производительность 1 MIPS при тактовой частоте 1 МГц, то есть выполняют большинство команд за один цикл.

Микропроцессор ATmega169 является первым малопотребляющим членом семейства AVR, содержащим встроенный контроллер ЖКИ. Ядро AVR объединяет богатый набор команд и 32 рабочих регистра, которые могут быть напрямую подключены к АЛУ, что позволяет выполнять действия с двумя регистрами одновременно одной командой. Вычислительное ядро построено по гарвардской архитектуре — с раздельными памятью и шинами программы и данных. Процессор имеет одноуровневый конвейер, позволяющий при выполнении команды одновременно выбирать следующую. Такая архитектура вычислительного ядра позволяет выполнять команды в каждом цикле. Архитектура вычислительного ядра микропроцессора приведена на рис. 1.

Микропроцессор содержит:

  • 16 кбайт программной Flash-памяти;
  • 512 байт EEPROM-памяти;
  • 1 кбайт SRAM;
  • 53 линии портов ввода-вывода общего назначения;
  • 32 рабочих регистра общего назначения;
  • интерфейс JTAG;
  • встроенные автоматы отладки и программирования;
  • законченный контроллер ЖКИ с преобразователем напряжения;
  • три гибких независимых таймера-счетчика;
  • внешние и внутренние источники прерывания;
  • последовательный программируемый USART;
  • универсальный последовательный интерфейс с детектором стартового состояния;
  • 8-канальный 10-разрядный АЦП;
  • программируемый сторожевой таймер со встроенным генератором;
  • последовательный SPI-порт.

Предназначенный для использования в аппаратуре с автономным питанием микропроцессор имеет превосходные мощностные характеристики. Во-первых, он выпускается в трех модификациях с различными диапазонами напряжения питания: ATmega169 — от 4,5 до 5,5 В, ATmega169L — от 2,7 до 5,5 В, и ATmega169V — от 1,8 до 5,5 В. При этом модификации имеют различные диапазоны рабочих частот тактового генератора: ATmega169 — от 0 до 16 МГц, ATmega169L — от 0 до 8 МГц, а ATmega169V — от 0 до 1 МГц. При работе на частоте 1 МГц, то есть с производительностью 1 MIPS, микропроцессор потребляет всего 400 мкА при напряжении питания 1,8 В! Во-вторых, имеется возможность программного изменения частоты работы вычислительного ядра. Для выполнения сложных вычислительных функций или других действий, требующих высокого быстродействия вычислительного ядра, разработчик может установить высокую тактовую частоту, а при выполнении простых управляющих функций тактовая частота вычислительного ядра может быть существенно снижена. При работе с частотой 32 кГц микропроцессор потребляет всего 20 мкА (40 мкА при активизированном драйвере ЖКИ). В-третьих, микропроцессор имеет пять программно инициализируемых режимов пониженного потребления: Idle, Power-down, Power-save, ADC Noise Reduction и Standby.

В режиме Idle останавливается ядро, а SRAM, таймеры-счетчики, SPI-порт и система прерываний продолжают функционировать. При этом микропроцессор потребляет не более 0,25 мА при 2 В питании и частоте тактовых импульсов 1 МГц. В режиме Power-down содержимое регистров сохраняется, но останавливается задающий генератор, и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. Типовой ток потребления микропроцессора при отключенном сторожевом таймере и питании 3 В равняется 1 мкА. В режиме Powersave асинхронные таймеры и контроллер ЖКИ продолжают функционировать, позволяя ЖКИ работать в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера, контроллера ЖКИ и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В режиме Standby задающий генератор работает, в то время как остальная часть прибора бездействует.

Кроме сказанного выше, для снижения потребления в рабочем режиме можно отключить незадействованные периферийные модули. Также следует иметь в виду, что многие модули остаются активными даже при установке режимов пониженного потребления. Например, если АЦП был включен в активном режиме, то он остается активным во всех режимах. Аналоговый компаратор остается активным только в режимах Idle и ADC Noise Reduction, в остальных режимах сна он автоматически отключается.

При правильном использовании микропроцессор ATmega169 способен управлять работой ЖКИ в течение 10 лет, питаясь только от двух батареек типа АА!

Для обеспечения этого к описанным выше режимам и способам снижения потребления микропроцессор содержит встроенный драйвер ЖКИ. Встроенный контроллер-драйвер ЖКИ способен обслуживать индикаторы 25×4. Структурная схема модуля ЖКИ приведена на рис. 2.

Контроллер модуля ЖКИ может тактироваться как от внутреннего, так и от внешнего источника тактовых импульсов. Для модуля ЖКИ оба эти источника идентичны. Опорные синхроимпульсы поступают на 12-разрядный циклический счетчик, имеющий отводы от старших восьми разрядов, что позволяет поделить частоту опорных тактовых импульсов на 16, 64, 128, 256, 512, 1024, 2048 или 4096. Полученные после деления синхроимпульсы используются в качестве опорных для тактирования ЖКИ.

Информация, которую необходимо отобразить на индикаторе, заносится в регистры LCDDR0-LCDDR19 (при этом регистры LCDDR4, LCDDR9, LCDDR14 и LCDDR19 не используются). Если сегмент ЖКИ должен быть запитан (то есть он должен быть виден), то соответствующий бит регистра памяти ЖКИ должен быть установлен в 1, а если записать в него 0, то сегмент индикатора виден не будет. Соответствие содержимого регистров памяти ЖКИ и соответствующих сегментов индикатора приведено в таблице.

Таблица. Соответствие содержимого регистров памяти ЖКИ и соответствующих сегментов

Для того чтобы сегмент стал виден, на него надо подать разность потенциалов, превышающую пороговое значение. Это обеспечивается подачей на соответствующие выводы SEG и COM противофазных напряжений. Для отображения информации на ЖКИ, имеющем несколько групп сегментов с одним общим выводом, требуется обеспечить на управляющих выходах не только уровни 0 В и VLCD (напряжение питания ЖКИ), но и дополнительный уровень, равный 1/2 VLCD, или два уровня, равных 1/3 VLCD и 2/3 VLCD. В противном случае сегменты, которые должны быть видны в одной группе, могут быть видны и в другой группе символов индикатора. Контроллер способен обслуживать ЖКИ, содержащие от 1 до 4 групп, которые в свою очередь могут содержать до 24 сегментов.

Как было сказано выше, для того чтобы сегмент стал виден, на него надо подать разность потенциалов. Величина этой разности потенциалов (VLCD) будет определять контрастность отображения информации. Микроконтроллер ATmega169 имеет функцию программной регулировки напряжения питания ЖКИ в пределах от 2,6 до 3,35 В. Это обеспечивается за счет встроенного источника питания, напряжение на выходе которого не зависит от напряжения питания самого микроконтроллера. Этому источнику для работы требуется всего один внешний конденсатор, имеющий величину не менее 0,47 мкФ.

Количество необходимых уровней напряжения, количество обслуживаемых групп сегментов, разрешение прерывания от контроллера ЖКИ, источник опорного тактового сигнала, коэффициент его деления и функция гашения индикатора после окончания формирования кадра задаются соответствующими битами регистров, управляющих работой контроллера ЖКИ. Таким образом, задача обслуживания ЖКИ сводится к простейшим операциям: в управляющие регистры записывается информация, определяющая источник тактовых импульсов, частоту обновления индикатора, необходимое количество уровней в формируемых сигналах, количество групп и напряжение питания ЖКИ (контрастность). После этого драйвер активируется установкой бита LCDEN регистра LCDCRA. Управляющей программе не нужно будет отвлекаться на обслуживание динамической индикации ЖКИ, а только при смене индицируемой информации заносить новые данные в регистры памяти ЖКИ.

Для снижения потребления тока от источника питания можно выбрать режим Low Power Waveform путем установки бита LCDAB регистра LCDCRA. В этом режиме не изменяются уровни самих сигналов, а меняется только активность их изменений. Как известно, потребление КМОП-структур, к тому же работающих на емкостную нагрузку (сегменты ЖКИ), зависит от частоты переключений. Эпюры сигналов нормального и Low Power Waveform режимов работы при обслуживании трех групп сегментов и формировании уровней напряжений, кратных 1/3VLCD, приведены на рис. 3.

В режиме Low Power Waveform происходит меньшее количество переключений, что приводит к снижению потребления, однако для обеспечения нулевой постоянной составляющей тока через сегменты контроллеру ЖКИ требуется два кадра. Это приводит к снижению частоты обновления ЖКИ в два раза.

Важно заметить, что контроллер ЖКИ может работать и в режимах пониженного потребления. При синхронном тактировании драйвер ЖКИ будет работать в режимах Idle и Power-save при любом источнике опорного сигнала. При асинхронном тактировании от таймера TOSC1, работающего от встроенного RC-генератора, драйвер ЖКИ будет работать в режимах пониженного потребления Idle, ADC Noise Reduction и Power-save. В асинхронном режиме работы в качестве опорных синхроимпульсов можно использовать сигнал, поданный на вход TOSC1 от внешнего источника.

В качестве выводов драйвера ЖКИ используются выводы портов РА0-7, РС0-7, PD0-7 и PG0-4. Если для управления работой ЖКИ используются не все выводы модуля, то эти незадействованные выводы могут использоваться в качестве линий портов ввода-вывода общего назначения. Так, например, линии портов, соответствующие общим выводам СОМ0-3, которые не используются драйвером ЖКИ, автоматически устанавливаются в режим работы линии порта ввода-вывода. Количество используемых общих выводов задается битами LCDMUX1-0 регистра LCDCRB. Кроме того биты LCDPM2-0 позволяют выбрать количество используемых выводов сегментов (от 13 до 25 с шагом 2). Таким образом, разработчик может выбрать от 14 (1 общий и 13 сегментов) до 29 (4 общих и 25 сегментов) линий, используемых для обслуживания ЖКИ.

Встроенный автомат внутрисистемного программирования позволяет перепрограммировать программную память через последовательный ISP-интерфейс при помощи программатора энергонезависимой памяти или встроенной программы-загрузчика, выполняющейся в AVR ядре. Программа-загрузчик может использовать любой интерфейс для записи программы в прикладную Flash-память. Программа из загрузочной секции Flash-памяти продолжает выполняться даже при загрузке прикладной секции Flash-памяти, реально обеспечивая Read-While-Write (чтение при записи) режим работы. Микропроцессор ATmega169 является мощным прибором, объединяя 8-разрядное RISC-ядро и самопрограммируемую внутрисистемно Flash-память в одном корпусе, что даст вашим устройствам более высокую гибкость и стоимостную эффективность.

Микропроцессор ATmega169 AVR поддерживается различными программными и системными средствами разработки, такими, как С-компиляторы, макроассемблеры, отладчик-симулятор AVR Studio версий 3.5 и 4.0, внутрисхемные эмуляторы (ATICE50 и AVR JTAG ICE) и внутрисистемный программатор AVR ISP. Для ускорения разработки новых устройств на базе микропроцессора ATmega169 и снижения затрат на разработку выпущены отладочная плата STK502 и демонстрационный набор AVR Batterfly.

Корпорация Atmel уже довольно давно выпускает отладочный набор STK500. В состав этого набора входят кабели, компакт-диск с программным обеспечением, примерами применения и техническими описаниями и отладочная плата, которая является одновременно параллельным и последовательным (в том числе внутрисхемным) программатором. На отладочной плате этого набора имеются панельки для установки микроконтроллеров в различных DIP-корпусах, стабилизированный источник питания с программно управляемым выходным напряжением, преобразователи уровней сигналов, программно управляемый ИОН, микросхема DataFlash 45D021, 8 кнопок, 8 светодиодов, разъемы и 2 источника тактовых сигналов. Однако отладочный комплект STK500 поддерживает не все виды выпускаемых в настоящее время корпорацией Atmel микроконтроллеров. Для обеспечения возможности подключения к нему микроконтроллера Atmega169 выпущена отладочная плата STK502 (рис. 4), которая представляет собой плату расширения для отладочной платы набора STK500. В комплекте с отладочной платой STK502 поставляются микроконтроллер ATmega169, датчик температуры, схемы и тексты программ, позволяющие использовать плату в качестве системы слежения за температурой и драйвера ЖКИ, все соединители и разъемы, необходимые для ее подключения к STK500. Плата STK502 содержит ZIF-колодку, предназначенную для установки в нее микропроцессора ATmega169, а также ЖКИ, 32 кГц кварцевый резонатор, разъем для внутрисхемного программирования через SPI-интерфейс и разъем JTAG-интерфейса. С помощью отладочного комплекта STK500 и платы STK502 вы можете не только исследовать возможности микропроцессоров, но и производить отладку своих прикладных программ.

Демонстрационный набор AVR Batterfly предназначен для показа возможностей встроенного драйвера ЖКИ микроконтроллера ATmega169. Он позволяет не только управлять работой и контрастностью ЖКИ, но и подключать при помощи дополнительных соединителей светодиоды, коммутаторы и различные периферийные устройства для исследования архитектуры AVR микропроцессора. В комплект демонстрационного набора AVR Batterfly входят демонстрационная плата и руководство пользователя. Демонстрационная плата набора AVR Batterfly содержит:

  • микропроцессор Atmega169 в MFL-корпусе;
  • 100-сегментный ЖКИ;
  • пьезоизлучатель;
  • кварцевый резонатор 32 кГц, для обеспечения работы часов реального времени;
  • память DataFlash 4 Мбит производства корпорации Atmel для хранения данных;
  • преобразователь уровней RS-232 для обеспечения обмена данными с внешними устройствами;
  • NTC-термистор для измерения температуры;
  • оптический датчик для измерения интенсивности светового излучения.

Для питания платы используется батарейка 3 В, устанавливаемая в специальный держатель. От батарейки емкостью 600 мА·ч плата способна работать в течение семи лет!

Набор представляет собой перепрограммируемое устройство, в которое пользователь может зашить свою прикладную или входящую в комплект фирменную программу. Записанная в микроконтроллер фирменная программа позволяет хранить идентификационную информацию, измерять температуру, интенсивность светового освещения и напряжение (в диапазоне от 0 до 5 В), проигрывать мелодии, регулировать контрастность ЖКИ и устанавливать режим пониженного потребления микропроцессора. Кроме того, программа выполняет функции часов-календаря, работающих в реальном времени. Выбор режимов работы осуществляется при помощи кнопки-джойстика, расположенной на лицевой стороне платы.

Для программирования микропроцессора, установленного на демонстрационной плате, не требуется никакого внешнего оборудования. Встроенный загрузчик позволяет подключить плату непосредственно к последовательному порту ПК и программировать микроконтроллер прямо из отладочной среды AVRStudio4. Также можно перепрограммировать микроконтроллер и при помощи ISP, высоковольтного параллельного или JTAG-интерфейса, которые, как и порты B и D, выведены на лицевую сторону платы.

Перечисленные отладочные и ознакомительные аппаратно-программные средства позволят легко освоить новый мощный малопотребляющий микропроцессор ATmega169 корпорации Atmel и использовать его в своих новых разработках.

Литература

  1. ATmega169V/L — 8 bit AVR microcontroller with 16K Bytes ISP Flash. Advance information. Atmel Corporation. 2003.
  2. STK 502. User Guide. Atmel Corporation. 2002.
  3. AVR Batterfly. Quick Start User Guide. Atmel Corporation. 2003.
  4. AVR Batterfly Evaluation Kit. User Guide. Atmel Corporation. 2002.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *