Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Железки на микроконтроллерах - собираем с нуля


Информационный Канал Subscribe.Ru

Выпуск номер 4 Окончательный выбор
 
 

В прошлом выпуске, мы пришли к выводу, что AVR может быть гораздо полезней, когда нам необходимо написать программу на языке Си и максимально использовать память микроконтроллера. Исходя из этого пока остановимся на микрконтроллерах Atmel. Конечно, для полного счастья нужен ещё и тест на скорость выполнения инструкций (команд), но, увы я ещё не портировал (для PIC и AVR) известную в Linux кругах простую программку - BogoMips (выводить результат я планировал на COM порт компьютера). BogoMIPS - показывает скорость выполнения оперций (MIPS- миллион операций в секунду).

Кстати, недавно, зашел на сайт www.efo.ru и обнаружил статью, вот её самая интересная часть:

"Архитектура и система команд AVR (до 133 различных инструкций) разрабатывались совместно с фирмой IAR Systems - производителем компиляторов языков программирования С/С++. Так, например, разрядность шины команд AVR составляет 16 бит, из которых 5 обеспечивают доступ к внутреннему регистровому файлу. Данное решение позволило отказаться от страничной организации памяти и традиционной банковой организации регистров общего назначения. Для микроконтроллеров AVR удается получать высокую плотность кода при использовании языков высокого уровня, практически не теряя в производительности по сравнению с программами, написанными на языке Ассемблера. Разработчиками AVR был проведен тест по сравнению объема и времени выполнения кода, полученного в результате компиляции функции для определения максимального значения из массива 16 целых двухбайтных чисел. Функция написана на языке С и компилировалась для выполнения на современных микроконтроллерах различных производителей (см. таблицу).

int max(int *array)
{
char a;
int maximum=-32768;

for (a=0;a<16;a++)
if (array[a]>maximum)
maximum=array[a];
return (maximum);
}


Таблица. Размер и время выполнения кода для некоторых популярных микроконтроллеров
Производитель Устройство Максимальная скорость, МГц Размер кода, кбайт Количество циклов Время выполнения, мкс
Atmel, AVR Atmega16 16 32 227 14,2
Texas Instruments MSP430 8 34 246 30,8
Atmel, C51 T89C51RD2 20 57 4200 210,0
Microchip PIC18F452 40 92 716 17,9

Видно, что коды микроконтроллеров AVR и MSP430 близки по размеру, но скорость выполнения у MSP430 в два раза меньше, чем у AVR. По времени выполнения данной программы микроконтроллер PIC18F452 практически догоняет AVR, но размер кода у него в три раза больше. А микроконтроллерам с ядром С51 нужно тактироваться с частотой 296МГц, чтобы соответствовать AVR с тактированием на 16МГц. "

Сразу замечу, что свои выводы в предыдущих выпусках я делал, основываясь на собственные рассуждения, а не на чужие публикации.

Для своих экспериментов мы выберем микроконтроллер линейки AVR-ATmega 16 . Почему его? Небольшая стоимость и одновременно достаточное количество памяти под программы - 16 Кб. Контроллер так же имеет АЦП (8 каналов 10 бит, т.е. разрешение 5 вольт / 1024=0,004 вольта), аппаратный USART передатчик (можно использовать его для связи с вашим компьютером через нуль-модем), внутренний источник частоты (4Mhz), два 8 битных таймера, один 16 битный таймер, порты A,B,C,D (по 8 бит каждый) и ядро AVR на 131 инструкции. Для оживления сего девайса нам придется, работать с паяльником и бегать по радиомагазинам. Как и где заполучить MCU если вы, живете в такой же тьму таракани как и я, оговорим позже.О готовых наборах. Недавно зашел на сайт http://www.visual-devices.narod.ru, оказалось там можно заказать недорогие комплекты разработчика из линейки процессоров AVR. Широкий выбор модулей, плат расширения и программаторов.
Work_KIT - удобные 'конструкторы' для начинающих изучение микропроцессоров и для маститых профи.
Start_KIT - полные наборы (модуль, платы расширения, программатор, шлейфы, диск с ПО) для комфортной работы или хобби. Так же радует, что ассортимент постоянно пополняется :-D.

На сегодня всё. В следующем выпуске подробнее рассмотрим архитектуру выбранного микроконтроллера.

 
 

 

 
     
Илья - MechCraft(Собака)yandex.ru

Сайт: http://www.mechcraft.nm.ru

 


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.hard.microhard
Отписаться

В избранное