Времето и размити-бита - аматьори роботика, 3D принтери и CNC

Времето и Fuzzy бита

Ти успя да се светодиод мига на вашия ATmega 168 (ATmega 8) - Поздравления! Това е значително постижение за начало. Сега е време да го накара да започне да мига бързо.

Това са основните методи за уточняване сигнал часовник:

Външно RC - верига - се използва главно за програмите не са от решаващо значение за скоростта на изпълнение. Схемата се състои от резистор и кондензатор, за зареждане / разреждане се използва като сигнал времето. Най-простият вариант не се препоръчва.

Вътрешният RC мрежата - най-икономичният часовника. Съвременните микроконтролери, като ATmega168, можете просто да поискат да се генерира сигнал часовник за себе си. Това ще използвате вградената в RC мрежа CPU чип. За съжаление, такъв часовник сигнал не е много стабилна.

Външно часовник кварцов резонатор - се превърна в де факто стандарт за тактовата микроконтролер. Свързване на кварцов кристал (кристал за простота) към съответните клеми на план на микроконтролера MCU при дадена честота - честота кварц.

Външно часовник, керамичен резонатор - кухина малко по-евтино от кристал, но е по-малко точни.

вътрешен RC мрежа -

интелигентни хора, които работят в Atmel! Те поставят в ATmega168 по подразбиране се използва вътрешния осцилатор при 1 MHz. Микроконтролера ATmega168 (AVR микроконтролер семейство и като цяло) може да изпълни една инструкция за цикъл. Това означава, че във всеки един момент, когато генераторът завършва един цикъл, една инструкция се изпълнява (въпреки че има инструкции, които се нуждаят от повече от един часовник цикъл за изпълнение). Тъй като използването на конвенционални ATmega168, ние стартира мигане LED с честота от 1 MHz или 1MIPS (милион инструкции в секунда). Вие четете правилните - един милион действия в секунда. Това е наистина впечатляващ. Какво тогава е проблемът за ограничаване на използването на вътрешния часовник? Един проблем в сигнала отклонение са +/- 5% и възможно вътрешния осцилатор да работи при максимална честота от 8 MHz. Отклонение от 5 на сто означава, че вашите ATmega168 могат да изпълняват 1000000 * 1.05 = 1050000 инструкции в секунда, докато съседа си му ATmega168 може да произвежда 1,000,000 * 0,95 = 950 000 инструкции в секунда. Това може да изглежда по-малка разлика, но за съвременните цифрови електрониката много. Просто ATmega168 има максимална работна честота до 20 MHz, докато вътрешния осцилатор може да подаде максимум 8. Така че, ако искате да използвате пълния потенциал на микроконтролера, трябва да използвате външен часовник.

Външно часовник кварцов резонатор -

Това е една от най-честите източници на часовника сигнал.

Времето и размити-бита - аматьори роботика, 3D принтери и CNC

Кварцовите кристали се предлагат в различни сгради и различни честоти. Най-често кварц при 20MHz, 16MHz, 10 MHz, и 4 MHz 8Mgts. Също така на разположение кварц тип 14.7456MGts честоти 9.216MGts и 32,768kGts. Тези честоти са кратни на честотите, необходими за серийна комуникация и време изчисление. Например, ако искате да се осигури последователна валутен курс на 9600 бита в секунда, 9.216MGts разделят по 960 и 9600. Просто няма да получите никакъв цяло число, за което е било възможно да се разделят без остатък, 16MHz, за да получите 9600, така че сериен обмен на кварцови 9.216MGts ще много по-високо качество и най-16MHz винаги ще доведе до определен брой грешки.

Вътре метална кухина съдържа една малка част от кварц. Quartz има определена сума на прецизност и вибрира с определена честота. Вътрешен осцилатор Atmega отклонение от +/- 5%. В същото време, скоростта на кристала се измерва в +/- 20 ррт. Това означава, честотата, с грешка на "части" на милион. Така, например, кварц 16MHz +/- 320Gts отклонение количество. Този процент е +/- 0.002 процента. Crystal е 2,5 хиляди. Пъти по-висока точност, отколкото на вътрешния часовник.

Външно Керамичен резонатор -

Според неговите характеристики заема междинно положение между вътрешния RC осцилатор и кварцови резонатори

Времето и размити-бита - аматьори роботика, 3D принтери и CNC

Керамичен резонатор е керамичен елемент на специална конструкция, предоставяща трептения с определена честота. За съжаление, този процес е трудно да се осигури с висока точност. Керамични резонатори обикновено +/- 0.5% грешка. По този начин, те са 10 пъти по-точни вътрешни осцилатори, но все пак губят резонатори кристали.

Керамични резонатори са по-евтини кварц, обикновено имат по-ниски работни честоти. Керамични резонатори се нагрява достатъчно, тъй като те имат защитен корпус, който се намира в рамките на 3 pinovgo елемент. Корпусът може да се направи в много малки размери, което спестява пространство върху платката.

Обобщавайки общо някои може да се каже, че за някои приложения, вътрешния часовник генератор е достатъчно. Но, ако се опитате да се организира серийна комуникация, грешката при 5% е твърде много (валидни стойности са 1-2% отклонение е за серийна комуникация). Аз използвам кварцови кристали в повечето от неговите проекти. Но, когато искате да направите наистина компактно устройство - с помощта на керамични резонатори. Всяко устройство работи с висока честота цифрови сигнали изисква използването на високо прецизни кварцови резонатори. Всеки осцилатор може да се промени с течение на времето характеристики (този процес се нарича стареене) и всеки генератор променя своите характеристики с температура.

Както бе споменато по-горе, който има конструкция ATmega168 доставени на вътрешния часовник на 1MHz. Но ние можем да я накара да работи по-добре, да го настройка на външния кристал резонатор 16 MHz.

Какво ще трябва да плати, когато започнете ATmega168 при висока честота? Особено при високи честоти не може да се използва ниско напрежение (например 3.3V или 2.8V). На 20MHz микроконтролер ще консумира повече енергия, отколкото 1MHz. Всички тези фактори трябва да бъдат взети под внимание при разработването на собствените си системи.

Колко бързо може да ви свършат контролер?

Максимални ATmega168 скорост - 20 MHz или 20MIPS! Изглежда много по-бързо.

Отделете кварц на 16MHz и да намерят PB6 и PB7 щифтове.

Свързване щифтове кварцов контролер щифт и всеки земята чрез 22pF кондензатор.

Схемата е готова, сега трябва да кажа на администратора, че той използва външен часовник.

Това беше едно от най-сложните проблеми с администраторите на AVR. Fuzzy - бита представляват конфигурация микроконтролер ниско ниво. При инсталиране или премахване на бита, можете напълно да промените режима на контролера. В продължение на много години, аз съм поддръжник на PIC микроконтролери. Конфигуриране на мира е проста. Ти просто ги управляват чрез прилагане на програмата Windows или в кода на C. AVRy се различават по много начини, и можете лесно да свалят контролера си, ако не ще разбере програмиране размита-малко.

Две конфигурация байта ATmega168 се наричат ​​"Размити-бита". Ако не разполагате - изтеглите фиш на ATmega168 (376 страници) и го запишете на десктопа. Ако никога не сте прочели такъв документ, не се притеснявайте. Не е нужно да се научат всички 376 страници, само трябва да знаете как да намерите информацията, от фиша, което трябва, но това не е съвсем лесно.

Нека се опитаме да намерим Fouzi - бита. Отправяме се към раздел "часовник източник" (Уверете се, че на страничния панел е отворен и можете да видите всички раздели на фиша) на. Той описва редица настройки за ATmega168 на часовника източници. Нека започнем с конфигурацията на вътрешния осцилатор с 1 MHz до 8 MHz.

Page 34 (раздел 8.6) "По подразбиране вътрешен RC осцилатор осигурява около 8 MHz. В зависимост от напрежението и температурата, тази честота може да се регулира с достатъчна точност от потребителя. Устройството идва с програмиран малко CKDIV8. За подробности вижте "делител на честотата" на страница 37 "

Така че, за да започне на вътрешния часовник ще трябва да промените дифузия битовия CKDIV8 на

Тук ние виждаме защо ATmega168 може да се използва с изваждането от кутията. Atmel осигурява контролер конфигуриран да 8MHz вътрешен RC осцилатор и настроена на делител контролер честота 8. Общо получи честота 1MHz. Всичко, от което се нуждаете е да се промени малко и премахване CKDIV8 честота дивизия.

Джуниър Размити байта подразбиране. 0b.0110.0010

Новата стойност Fusi байта. 0b.1110.0010

С помощта на тези нови стойности размита-битов, ATmega168 трябва да започне в 8MHz вътрешна честота на и ние трябва да се види, че индикаторът мига 8 пъти по-бързо.

Стартирайте микроконтролера на 16MHz честота

Вие ще трябва да 16MHz кристал, свързан с часовник линии, както е показано на схемата по-горе. Назад към раздел "часовник източник" документи и настройки и да научат за свързване на външен часовник резонатор. Аз ще ти помогна. Те трябва да изглежда така:

Когато програмирате тези настройки, ATmega168 е да се премине към външен часовник 16MHz резонатор и диода ще започне да мига два пъти по-бързо. Ако това не стане, двойна проверка на капацитета на линия и кварцов часовник Xtal. ATmega168 има максимална скорост от 20 MHz (20MIPS). Опитайте се да овърклок микроконтролера кварц на 30 или 40 MHz. Може би дори всичко да работи, но вие никога няма да искате да се развие истинска система на честоти над спецификацията.

Въз основа на чуждестранни източници