Атмел 8-битни АВР микроконтролер са 2/4/8К бајтова у систему програмабилним флешом
Карактеристике
- АВР® 8-битни микроконтролер високих перформанси мале снаге
- Напредна РИСЦ архитектура
- 120 моћних упутстава - Извођење већине циклуса једног сата
- 32 к 8 радна регистра опште намене
- Потпуно статична операција
- Несталне меморије програма и података
- 2/4/8К бајтова програмске меморије програма унутар система Фласх
- Издржљивост: 10,000 циклуса писања/брисања
- 128/256/512 бајтова Програмабилни ЕЕПРОМ у систему
- Издржљивост: 100,000 циклуса писања/брисања
- 128/256/512 бајтова Интерни СРАМ
- Програмска брава за самопрограмирајући Фласх програм и ЕЕПРОМ сигурност података
Периферне карактеристике
- 8-битни тајмер/бројач са предскалером и два ПВМ канала
- 8-битни тајмер/бројач велике брзине са засебним предскалером
- 2 високофреквентна ПВМ излаза са одвојеним регистрима за поређење излаза
- Програмабилни генератор мртвог времена
- УСИ – Универзални серијски интерфејс са детектором стартних услова
- 10-битни АДЦ
4 једнострука канала
2 диференцијална пара АДЦ канала са програмабилним појачањем (1к, 20к)
Мерење температуре
Програмабилни Ватцхдог тајмер са засебним осцилатором на чипу
Уграђени аналогни компаратор на чипу
Посебне карактеристике микроконтролера
дебугВИРЕ Систем за отклањање грешака на чипу
Програмабилно у систему преко СПИ порта
Спољни и унутрашњи извори прекида
Режими мировања мале снаге, смањење буке АДЦ-а и искључење напајања
Побољшано коло за ресетовање по укључењу
Програмабилно коло за детекцију затамњења
Интерни калибрисани осцилатор
И/О и пакети
Шест програмабилних И/О линија
8-пински ПДИП, 8-пински СОИЦ, 20-пински КФН/МЛФ и 8-пински ТССОП (само АТтини45/В)
Оператинг Волtage
– 1.8 – 5.5 В за АТтини25В/45В/85В
– 2.7 – 5.5 В за АТтини25/45/85
Спеед Граде
– АТтини25В/45В/85В: 0 – 4 МХз при 1.8 – 5.5 В, 0 – 10 МХз при 2.7 – 5.5 В
– АТтини25/45/85: 0 – 10 МХз при 2.7 – 5.5 В, 0 – 20 МХз при 4.5 – 5.5 В
Опсег индустријских температура
Мала потрошња енергије
Активни режим:
1 МХз, 1.8 В: 300 µА
Режим искључивања:
Пин Цонфигуратионс
Пиноут АТтини25/45/85
Пин Десцриптионс
ВЦЦ: Суппли волtage.
ГНД: Уземљење.
Порт Б (ПБ5:ПБ0): Порт Б је 6-битни двосмерни И/О порт са унутрашњим пулл-уп отпорницима (одабраним за сваки бит). Излазни бафери порта Б имају симетричне карактеристике погона са високом способношћу понора и извора. Као улази, пинови порта Б који су екстерно повучени ниско ће добити струју ако су отпорници за повлачење активирани. Пинови порта Б су троструки када стање ресетовања постане активно, чак и ако сат не ради.
Порт Б такође служи функције различитих посебних карактеристика АТтини25/45/85 као што је наведено
На АТтини25, програмабилни И/О портови ПБ3 и ПБ4 (пинови 2 и 3) се размењују у АТтини15 компатибилном режиму за подршку компатибилности са АТтини15 унатраг.
РЕСЕТ: Ресетујте улаз. Низак ниво на овом пину дуже од минималне дужине импулса ће генерисати ресетовање, чак и ако сат не ради и под условом да пин за ресетовање није онемогућен. Минимална дужина импулса је дата у Табела 21-4 на страни 165. Није гарантовано да ће краћи импулси генерисати ресетовање.
Пин за ресетовање се такође може користити као (слаб) И/О пин.
Готовоview
АТтини25/45/85 је ЦМОС 8-битни микроконтролер мале снаге заснован на АВР побољшаној РИСЦ архитектури. Извршавајући моћне инструкције у једном тактном циклусу, АТтини25/45/85 постиже проток који се приближава 1 МИПС по МХз, омогућавајући дизајнеру система да оптимизује потрошњу енергије у односу на брзину обраде.
Блок дијаграм
АВР језгро комбинује богат скуп инструкција са 32 радна регистра опште намене. Сва 32 регистра су директно повезана са аритметичко-логичком јединицом (АЛУ), што омогућава приступ два независна регистра у једној инструкцији која се извршава у једном циклусу такта. Резултирајућа архитектура је ефикаснија у коду док постиже проток до десет пута бржи од конвенционалних ЦИСЦ микроконтролера.
АТтини25/45/85 пружа следеће карактеристике: 2/4/8К бајтова програмираног флеша у систему, 128/256/512 бајтова ЕЕПРОМ, 128/256/256 бајтова СРАМ, 6 У/И линија опште намене, 32 општа наменски радни регистри, један 8-битни тајмер/бројач са режимима поређења, један 8-битни тајмер/бројач велике брзине, универзални серијски интерфејс, интерни и екстерни прекиди, 4-канални, 10-битни АДЦ, програмабилни Ватцхдог тајмер са интерним Осцилатор и три софтверска бирања режима уштеде енергије. Режим мировања зауставља ЦПУ док дозвољава СРАМ-у, тајмеру/бројачу, АДЦ-у, аналогном компаратору и систему прекида да наставе да функционишу. Режим гашења чува садржај регистра, онемогућујући све функције чипа до следећег прекида или ресетовања хардвера. Режим смањења шума АДЦ-а зауставља ЦПУ и све И/О модуле осим АДЦ-а, како би се смањио шум при пребацивању током АДЦ конверзије.
Уређај је произведен коришћењем Атмелове технологије непроменљиве меморије високе густине. Он-цхип ИСП Фласх омогућава да се програмска меморија поново програмира у систему преко СПИ серијског интерфејса, од стране конвенционалног програматора трајне меморије или помоћу кода за покретање на чипу који ради на АВР језгру.
АТтини25/45/85 АВР је подржан са пуним пакетом програмских и системских развојних алата укључујући: Ц компајлере, макро асемблере, програм за отклањање грешака/симулаторе и комплете за процену.
О ресурсима
Свеобухватан скуп развојних алата, белешки о апликацијама и листови података доступни су за преузимање http://www.atmel.com/avr.
Цоде Екampлес
Ова документација садржи једноставан код нпрampЛекови који укратко показују како се користе различити делови уређаја. Ови кодови прampлес претпоставља да је заглавље специфично за део file је укључен пре компилације. Имајте на уму да сви произвођачи Ц компајлера не укључују дефиниције битова у заглављу fileс и руковање прекидима у Ц-у зависи од компајлера. Молимо потврдите са документацијом Ц компајлера за више детаља.
За И/О регистре који се налазе у проширеној И/О мапи, инструкције “ИН”, “ОУТ”, “СБИС”, “СБИЦ”, “ЦБИ” и “СБИ” морају бити замењене инструкцијама које дозвољавају приступ проширеном И /О. Обично ово значи „ЛДС“ и „СТС“ у комбинацији са „СБРС“, „СБРЦ“, „СБР“ и „ЦБР“. Имајте на уму да сви АВР уређаји не садрже проширену И/О мапу.
Капацитивно детектовање додира
Атмел КТоуцх библиотека пружа једноставно решење за интерфејсе осетљиве на додир на Атмел АВР микроконтролерима. КТоуцх библиотека укључује подршку за КТоуцх® и КМатрик® методе аквизиције.
Сензор додира се лако додаје у било коју апликацију повезивањем КТоуцх библиотеке и коришћењем интерфејса за програмирање апликације (АПИ) библиотеке за дефинисање додирних канала и сензора. Апликација затим позива АПИ да преузме информације о каналу и одреди стање сензора додира.
КТоуцх библиотека је бесплатна и може се преузети са Атмел-а webсајту. За више информација и детаља о имплементацији погледајте упутство за употребу КТоуцх библиотеке – такође доступно на Атмел-у webсајту.
Задржавање података
Резултати квалификације поузданости показују да је пројектована стопа неуспеха задржавања података много мања од 1 ППМ током 20 година на 85°Ц или 100 година на 25°Ц.
АВР ЦПУ Цоре
Увод
Овај одељак говори о архитектури АВР језгра уопште. Главна функција ЦПУ језгра је да обезбеди исправно извршавање програма. ЦПУ стога мора бити у могућности да приступи меморији, да изводи прорачуне, контролише периферне уређаје и да рукује прекидима.
Архитектонски завршетакview
Да би се максимизирале перформансе и паралелизам, АВР користи архитектуру Харварда – са одвојеним меморијама и магистралама за програме и податке. Инструкције у програмској меморији се извршавају са цевоводом на једном нивоу. Док се једна инструкција извршава, следећа инструкција се унапред преузима из програмске меморије. Овај концепт омогућава извршавање инструкција у сваком циклусу такта. Програмска меморија је флеш меморија која се може репрограмирати унутар система.
Регистар брзог приступа File садржи 32 к 8-битне радне регистре опште намене са приступним временом једног циклуса такта. Ово омогућава рад аритметичке логичке јединице (АЛУ) у једном циклусу. У типичној АЛУ операцији, два операнда се излазе из регистра File, операција се извршава, а резултат се чува назад у регистру File– у једном такту.
Шест од 32 регистра се може користити као три 16-битна индиректна адресна регистра за адресирање простора података – омогућавајући ефикасне прорачуне адреса. Један од ових адресних показивача се такође може користити као показивач адресе за тражење табела у меморији Фласх програма. Ови додатни регистри функција су 16-битни Кс-, И- и З-регистри, описани касније у овом одељку.
АЛУ подржава аритметичке и логичке операције између регистара или између константе и регистра. Операције са једним регистром се такође могу извршити у АЛУ. Након аритметичке операције, статусни регистар се ажурира како би одражавао информације о резултату операције.
Ток програма је обезбеђен условним и безусловним инструкцијама за скок и позивање, које могу директно да адресирају цео адресни простор. Већина АВР инструкција има један 16-битни формат речи, али постоје и 32-битне инструкције.
Током прекида и позива потпрограма, повратна адреса Програмски бројач (ПЦ) се чува на стеку. Стек се ефективно додељује у СРАМ општих података, и стога је величина стека ограничена само укупном величином СРАМ-а и употребом СРАМ-а. Сви кориснички програми морају иницијализовати СП у рутини Ресет (пре него што се подрутине или прекиди изврше). Стацк Поинтер (СП) је доступан за читање/уписивање у И/О простору. СРАМ-у података може се лако приступити преко пет различитих начина адресирања подржаних у АВР архитектури.
Сви меморијски простори у АВР архитектури су линеарне и регуларне меморијске мапе.
Флексибилни модул прекида има своје контролне регистре у И/О простору са додатним битом Глобал Интеррупт Енабле у статусном регистру. Сви прекиди имају посебан Вектор прекида у табели Вектора прекида. Прекиди имају приоритет у складу са својом позицијом вектора прекида. Што је нижа адреса вектора прекида, то је већи приоритет.
И/О меморијски простор садржи 64 адресе за ЦПУ периферне функције као што су контролни регистри, СПИ и друге И/О функције. И/О меморији се може приступити директно или као локацијама у простору података које следе оне у регистру. File, 0к20 – 0к5Ф.
АЛУ – Аритметичко-логичка јединица
АВР АЛУ високих перформанси ради у директној вези са сва 32 радна регистра опште намене. У оквиру једног циклуса такта, извршавају се аритметичке операције између регистара опште намене или између регистра и непосредног. АЛУ операције су подељене у три главне категорије – аритметичке, логичке и бит-функције. Неке имплементације архитектуре такође обезбеђују моћан множилац који подржава и множење са знаком/незнаком и формат разломака. Погледајте одељак „Сет инструкција“ за детаљан опис.
Статус Регистер
Статусни регистар садржи информације о резултату последње извршене аритметичке инструкције. Ове информације се могу користити за промену тока програма како би се извршиле условне операције. Имајте на уму да се статусни регистар ажурира након свих АЛУ операција, као што је наведено у референци за скуп инструкција. Ово ће у многим случајевима уклонити потребу за коришћењем наменских упутстава за поређење, што ће резултирати бржим и компактнијим кодом.
Статусни регистар се не чува аутоматски при уласку у рутину прекида и враћа се када се враћа из прекида. Ово мора да се реши софтвером.
СРЕГ – АВР статусни регистар
АВР статусни регистар – СРЕГ – је дефинисан као:
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к3Ф | I | T | H | S | V | N | Z | C | СРЕГ |
Реад/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Бит 7 – И: Омогућавање глобалног прекида
Бит Глобал Интеррупт Енабле мора бити подешен да би прекиди били омогућени. Појединачна контрола омогућавања прекида се затим изводи у одвојеним контролним регистрима. Ако је Глобални регистар за омогућавање прекида обрисан, ниједан од прекида није омогућен независно од појединачних подешавања за омогућавање прекида. И-бит се брише од стране хардвера након што је дошло до прекида и поставља га РЕТИ инструкција да омогући накнадне прекиде. И-бит такође може бити постављен и обрисан од стране апликације помоћу СЕИ и ЦЛИ инструкција, као што је описано у референци за скуп инструкција.
Бит 6 – Т: Бит Цопи Стораге
Инструкције за копирање бита БЛД (Бит ЛоаД) и БСТ (Бит СТоре) користе Т-бит као извор или одредиште за оперисани бит. Мало из регистра у Регистру File може се копирати у Т помоћу БСТ инструкције, а бит у Т може се копирати у бит у регистру у регистру File по упутству БЛД.
Бит 5 – Х: Халф Царри Флаг
Ознака Халф Царри Х указује на Халф Царри у неким аритметичким операцијама. Халф Царри је користан у БЦД аритметици. Погледајте „Опис скупа инструкција“ за детаљне информације.
Бит 4 – С: Бит знака, С = Н ⊕ В
С-бит је увек искључив или између негативне заставе Н и заставице преливања комплемента два В. Погледајте “Опис скупа инструкција” за детаљне информације.
Бит 3 – В: Ознака преливања комплемента два
Заставица преливања комплемента двојке В подржава аритметику комплемента двојке. Погледајте „Опис скупа инструкција“ за детаљне информације.
Бит 2 – Н: негативна заставица
Негативна заставица Н означава негативан резултат у аритметичкој или логичкој операцији. Погледајте „Опис скупа инструкција“ за детаљне информације.
Бит 1 – З: нула заставица
Ознака нула З означава нулти резултат у аритметичкој или логичкој операцији. Погледајте „Опис скупа инструкција“ за детаљне информације.
Бит 0 – Ц: Ознака за ношење
Ознака за ношење Ц означава пренос у аритметичкој или логичкој операцији. Погледајте „Опис скупа инструкција“ за детаљне информације.
Регистар опште намене File
Тхе Регистер File је оптимизован за АВР Енханцед РИСЦ скуп инструкција. Да би се постигле потребне перформансе и флексибилност, Регистар подржава следеће улазно/излазне шеме File:
Један 8-битни излазни операнд и један 8-битни резултатски улаз
Два 8-битна излазна операнда и један 8-битни улазни резултат
Два 8-битна излазна операнда и један 16-битни улазни резултат
Један 16-битни излазни операнд и један 16-битни резултатски улаз
Слика 4-2 приказује структуру 32 радна регистра опште намене у ЦПУ-у.
Као што је приказано у Слика 4-2, сваком регистру се такође додељује адреса меморије података, мапирајући их директно у прве 32 локације корисничког простора података. Иако није физички имплементирана као СРАМ локације, ова организација меморије пружа велику флексибилност у приступу регистрима, јер се регистри Кс-, И- и З-показивача могу подесити да индексирају било који регистар у file.Већина упутства која делују на Регистру File имају директан приступ свим регистрима, а већина њих су инструкције у једном циклусу.
Кс-регистар, И-регистар и З-регистар
Регистри Р26..Р31 имају неке додатне функције за њихову општу употребу. Ови регистри су 16-битни адресни показивачи за индиректно адресирање простора података. Три индиректна адресна регистра Кс, И и З су дефинисана као што је описано у Слика 4-3.
У различитим режимима адресирања ови адресни регистри имају функције фиксног померања, аутоматског повећања и аутоматског смањења (погледајте референцу скупа инструкција за детаље).
Стацк Поинтер
Стацк се углавном користи за складиштење привремених података, за чување локалних променљивих и за чување повратних адреса након прекида и позива потпрограма. Регистар показивача стека увек показује на врх стека. Имајте на уму да је стек имплементиран тако да расте са виших меморијских локација на ниже меморијске локације. Ово имплицира да команда Стацк ПУСХ смањује показивач стека.
Показивач стека указује на област СРАМ стека података где се налазе стекови потпрограма и прекида. Овај простор стека у СРАМ-у података мора да дефинише програм пре него што се било који позив потпрограма изврши или омогући прекид. Показивач стека мора бити постављен на изнад 0к60. Показивач стека се смањује за један када се подаци гурају у стек помоћу ПУСХ инструкције, а смањује се за два када се повратна адреса гурне у стек са позивом потпрограма или прекидом. Показивач стека се повећава за један када се подаци искачу из стека са ПОП инструкцијом, а повећава се за два када се подаци искачу из стека са повратком из потпрограма РЕТ или повратком из прекида РЕТИ.
АВР Стацк Поинтер је имплементиран као два 8-битна регистра у И/О простору. Број битова који се стварно користе зависи од имплементације. Имајте на уму да је простор података у неким имплементацијама АВР архитектуре толико мали да је потребан само СПЛ. У овом случају, СПХ регистар неће бити присутан.
СПХ и СПЛ — Регистар показивача стека
Бит | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
0к3Е | СП15 | СП14 | СП13 | СП12 | СП11 | СП10 | СП9 | СП8 | СПХ |
0к3Д | СП7 | СП6 | СП5 | СП4 | СП3 | СП2 | СП1 | СП0 | СПЛ |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
Реад/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Реад/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | |
Почетна вредност | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД | РАМЕНД |
Време извршења инструкција
Овај одељак описује опште концепте времена приступа за извршење инструкција. АВР ЦПУ покреће ЦПУ такт цлкЦПУ, директно генерисан из изабраног извора такта за чип. Не користи се унутрашња подела сата.
Слика 4-4 приказује паралелно преузимање инструкција и извршења инструкција омогућена архитектуром Харварда и регистром брзог приступа File концепт. Ово је основни концепт цевовода за добијање до 1 МИПС по МХз са одговарајућим јединственим резултатима за функције по цени, функције по такту и функције по јединици напајања.
Слика 4-5. Једноциклични АЛУ рад
Ресетовање и руковање прекидима
АВР обезбеђује неколико различитих извора прекида. Ови прекиди и посебан вектор за ресетовање сваки имају посебан програмски вектор у простору програмске меморије. Свим прекидима се додељују појединачни битови за омогућавање који морају бити написани као логички један заједно са битом Глобал Интеррупт Енабле у статусном регистру да би се омогућио прекид.
Најниже адресе у меморијском простору програма су подразумевано дефинисане као вектори ресетовања и прекида. Комплетна листа вектора је приказана у „Прекиди” на страни 48. Листа такође одређује нивое приоритета различитих прекида. Што је адреса нижа, то је виши ниво приоритета. РЕСЕТ има највећи приоритет, а следећи је ИНТ0 – захтев за екстерним прекидом 0.
Када дође до прекида, И-бит за омогућавање глобалног прекида се брише и сви прекиди су онемогућени. Кориснички софтвер може да упише логичку један у И-бит да омогући угнежђене прекиде. Сви омогућени прекиди тада могу прекинути тренутну рутину прекида. И-бит се аутоматски поставља када се изврши инструкција Повратак из прекида – РЕТИ.
У основи постоје две врсте прекида. Први тип покреће догађај који поставља заставу прекида. За ове прекиде, програмски бројач се векторише на стварни вектор прекида да би се извршила рутина за руковање прекидом, а хардвер брише одговарајућу заставу прекида. Заставице прекида се такође могу обрисати писањем логичке јединице на позицију(е) бита заставице која треба да се обрише. Ако дође до стања прекида док је одговарајући бит за омогућавање прекида обрисан, заставица прекида ће бити постављена и памћена све док се прекид не омогући или док се заставица не обрише софтвером. Слично томе, ако дође до једног или више услова прекида док се брише бит Глобал Интеррупт Енабле, одговарајућа заставица(е) прекида ће бити постављена и запамћена све док се не постави бит за омогућавање глобалног прекида, а затим ће се извршити по редоследу приоритета.
Други тип прекида ће се активирати све док је присутан услов прекида. Ови прекиди не морају нужно имати заставице прекида. Ако услов прекида нестане пре него што је прекид омогућен, прекид се неће покренути.
Када АВР изађе из прекида, увек ће се вратити у главни програм и извршити још једну инструкцију пре него што се испоручи било који прекид на чекању.
Имајте на уму да се статусни регистар не чува аутоматски при уласку у рутину прекида, нити се враћа када се враћа из рутине прекида. Ово мора да се реши софтвером.
Када користите ЦЛИ инструкцију за онемогућавање прекида, прекиди ће бити одмах онемогућени. Ниједан прекид неће бити извршен након ЦЛИ инструкције, чак и ако се догоди истовремено са ЦЛИ инструкцијом. Следећи прampле показује како се ово може користити да се избегну прекиди током временске секвенце уписивања у ЕЕПРОМ.
Монтажни кодекс прample |
у р16, СРЕГ; сачувајте СРЕГ вредност
цли ; онемогући прекиде током временске секвенце сби ЕЕЦР, ЕЕМПЕ ; покрените уписивање у ЕЕПРОМ сби ЕЕЦР, ЕЕПЕ оут СРЕГ, р16; врати СРЕГ вредност (И-бит) |
Ц код прample |
цхар цСРЕГ;
цСРЕГ = СРЕГ; /* чува СРЕГ вредност */ /* онемогући прекиде током временске секвенце */ _ЦЛИ(); ЕЕЦР |= (1< ЕЕЦР |= (1< СРЕГ = цСРЕГ; /* враћање СРЕГ вредности (И-бит) */ |
Када користите СЕИ инструкцију за омогућавање прекида, инструкција која следи СЕИ ће бити извршена пре било каквих прекида на чекању, као што је приказано у овом пр.ampле.
Монтажни кодекс прample |
сеи ; поставите Омогућавање глобалног прекида
спавање; ући у сан, чекајући прекид ; напомена: ући ће у стање спавања пре било каквог чекања ; прекид(и) |
Ц код прample |
_СЕИ(); /* постави Глобал Интеррупт Енабле */
_СЛЕЕП(); /* улази у стање спавања, чека се прекид */ /* напомена: ући ће у стање мировања пре било каквог прекида(а) на чекању */ |
Време одговора на прекид
Одговор на извршење прекида за све омогућене АВР прекиде је најмање четири циклуса такта. Након четири циклуса такта извршава се адреса програмског вектора за стварну рутину руковања прекидом. Током овог периода од четири такта, програмски бројач се гура на стек. Вектор је обично скок на рутину прекида, а овај скок траје три циклуса такта. Ако дође до прекида током извршавања инструкције са више циклуса, ова инструкција се завршава пре него што се прекид сервира. Ако дође до прекида када је МЦУ у режиму мировања, време одговора на извршење прекида се повећава за четири циклуса такта. Ово повећање долази као додатак времену покретања из изабраног режима спавања.
Повратак из рутине за руковање прекидима траје четири циклуса такта. Током ова четири циклуса такта, програмски бројач (два бајта) се враћа из стека, показивач стека се повећава за два, а И-бит у СРЕГ-у је постављен.
АВР Мемориес
Овај одељак описује различите меморије у АТтини25/45/85. АВР архитектура има два главна меморијска простора, меморију података и простор програмске меморије. Поред тога, АТтини25/45/85 има ЕЕПРОМ меморију за складиштење података. Сва три меморијска простора су линеарна и регуларна.
Репрограмабилна флеш програмска меморија у систему
АТтини25/45/85 садржи 2/4/8К бајтова уграђену у систем репрограмабилну флеш меморију за складиштење програма. Пошто су све АВР инструкције широке 16 или 32 бита, Фласх је организован као 1024/2048/4096 к 16.
Фласх меморија има издржљивост од најмање 10,000 циклуса писања/брисања. Програмски бројач АТтини25/45/85 (ПЦ) је широк 10/11/12 бита, тако да адресира меморијске локације програма 1024/2048/4096. „Програм меморије- минг” на страни 147 садржи детаљан опис серијског преузимања Фласх података помоћу СПИ пинова.
Константне табеле се могу доделити унутар целог адресног простора програмске меморије (погледајте опис инструкција ЛПМ – Учитавање програмске меморије).
Слика 5-1. Мапа меморије програма
СРАМ меморија података
Слика 5-2 показује како је организована АТтини25/45/85 СРАМ меморија.
Доње меморијске локације 224/352/607 података адресирају оба регистра File, И/О меморију и СРАМ интерних података. Прве 32 локације адресирају Регистар File, следећих 64 локације је стандардна И/О меморија, а последњих 128/256/512 локација адресирају СРАМ интерне податке.
Пет различитих начина адресирања за поклопац меморије података: Директно, Индиректно са померањем, Индиректно, Индиректно са пре-декрементом и Индиректно са пост-инкрементом. У Регистру File, регистри Р26 до Р31 карактеришу регистри показивача индиректног адресирања.
Директно адресирање допире до целог простора података.
Режим Индиректног са померањем достиже 63 адресне локације са основне адресе дате И- или З- регистром.
Када се користе режими индиректног адресирања регистра са аутоматским пре-декрементом и пост-инкрементом, адресни регистри Кс, И и З се смањују или повећавају.
32 радна регистра опште намене, 64 И/О регистра и 128/256/512 бајтова интерног СРАМ-а података у АТтини25/45/85 су доступни преко свих ових начина адресирања. Тхе Регистер File је описан у „Ген- ерални регистар намена File” на страни 10.
Слика 5-2. Мапа меморије података
Приступ меморији података Тимес
Овај одељак описује опште концепте времена приступа за приступ интерној меморији. Приступ интерним подацима СРАМ-у се обавља у два цлкЦПУ циклуса као што је описано у Слика 5-3.
Слика 5-3. Циклуси приступа СРАМ подацима на чипу ЕЕПРОМ меморија података
АТтини25/45/85 садржи 128/256/512 бајтова ЕЕПРОМ меморије података. Организован је као посебан простор података у који се могу читати и писати појединачни бајтови. ЕЕПРОМ има издржљивост од најмање 100,000 циклуса писања/брисања. Приступ између ЕЕПРОМ-а и ЦПУ-а је описан у наставку, специфицирајући ЕЕПРОМ адресне регистре, ЕЕПРОМ регистар података и ЕЕПРОМ контролни регистар. За детаље погледајте “Серијско преузимање” на страни 151.
Приступ за читање/писање ЕЕПРОМ-а
ЕЕПРОМ приступни регистри су доступни у И/О простору.
Времена приступа уписивању за ЕЕПРОМ су дата Табела 5-1 на страни 21. Функција самоокидања, међутим, омогућава корисничком софтверу да открије када се следећи бајт може написати. Ако кориснички код садржи упутства која пишу ЕЕПРОМ, морају се предузети неке мере предострожности. У јако филтрираним изворима напајања, ВЦЦ ће вероватно полако расти или пасти
Укључивање/искључивање. Ово узрокује да уређај неко време ради на волtagе ниже од специфицираног као минимума за коришћену фреквенцију такта. Видите “Спречавање оштећења ЕЕПРОМ-а” на страни 19 за детаље о томе како да избегнете проблеме у овим ситуацијама.
Да би се спречило ненамерно уписивање у ЕЕПРОМ, мора се поштовати посебна процедура уписивања. Погледајте „Атомски Програмирање бајтова” на страни 17 и “Програмирање подељених бајтова” на страни 17 за детаље о овоме.
Када се ЕЕПРОМ прочита, ЦПУ се зауставља на четири циклуса такта пре него што се изврши следећа инструкција. Када се ЕЕПРОМ упише, ЦПУ се зауставља на два циклуса такта пре него што се изврши следећа инструкција.
Атомиц Бите Программинг
Коришћење атомског бајтова програмирања је најједноставнији режим. Када уписује бајт у ЕЕПРОМ, корисник мора уписати адресу у ЕЕАР регистар, а податке у ЕЕДР регистар. Ако су ЕЕПМн битови нула, писање ЕЕПЕ (унутар четири циклуса након што је ЕЕМПЕ уписан) ће покренути операцију брисања/писања. Циклус брисања и писања се обављају у једној операцији и дато је укупно време програмирања Табела 5-1 на страни 21. ЕЕПЕ бит остаје подешен све док се операције брисања и писања не заврше. Док је уређај заузет програмирањем, није могуће извршити друге ЕЕПРОМ операције.
Програмирање подељених бајтова
Могуће је поделити циклус брисања и писања у две различите операције. Ово може бити корисно ако систем захтева кратко време приступа током неког ограниченог временског периода (обично ако је напајање волtagе пада). Да бисте искористили предност tagе овог метода, потребно је да локације које се уписују буду избрисане пре операције уписивања. Али пошто су операције брисања и писања подељене, могуће је извршити операције брисања када систем дозвољава обављање временски критичних операција (обично након укључивања).
Обриши
Да бисте избрисали бајт, адреса мора бити уписана у ЕЕАР. Ако су ЕЕПМн битови 0б01, писање ЕЕПЕ (унутар четири циклуса након што је ЕЕМПЕ уписан) ће покренути само операцију брисања (време програмирања је дато у Табела 5-1 на страна 21). ЕЕПЕ бит остаје подешен док се операција брисања не заврши. Док је уређај заузет програмирањем, није могуће извршити друге ЕЕПРОМ операције.
Пишите
Да би написао локацију, корисник мора уписати адресу у ЕЕАР, а податке у ЕЕДР. Ако су ЕЕПМн битови 0б10, писање ЕЕПЕ (унутар четири циклуса након што је ЕЕМПЕ уписан) ће покренути само операцију писања (време програмирања је дато у Табела 5-1 на страни 21). ЕЕПЕ бит остаје подешен док се операција писања не заврши. Ако локација која се уписује није обрисана пре писања, подаци који се чувају морају се сматрати изгубљеним. Док је уређај заузет програмирањем, није могуће извршити друге ЕЕПРОМ операције.
Калибрисани осцилатор се користи за време приступа ЕЕПРОМ-у. Уверите се да је фреквенција осцилатора у оквиру захтева описаних у “ОСЦЦАЛ – Регистар калибрације осцилатора” на страни 31.
Следећи код нпрampлесови приказују један склоп и једну Ц функцију за брисање, писање или атомско уписивање ЕЕПРОМ-а. БившиampПретпостављају да се прекиди контролишу (нпр. глобалним онемогућавањем прекида) тако да неће доћи до прекида током извршавања ових функција.
Монтажни кодекс прample |
ЕЕПРОМ_врите:
; Сачекајте завршетак претходног писања сбиц ЕЕЦР,ЕЕПЕ рјмп ЕЕПРОМ_врите ; Подесите режим програмирања ldi r16, (0<<EEPM1)|(0<<EEPM0) оут ЕЕЦР, р16 ; Подесите адресу (р18:р17) у регистру адреса оут ЕЕАРХ, р18 оут ЕЕАРЛ, р17 ; Упишите податке (р19) у регистар података оут ЕЕДР, р19 ; Напишите логичку у ЕЕМПЕ сби ЕЕЦР,ЕЕМПЕ ; Започните еепром писање подешавањем ЕЕПЕ сби ЕЕЦР,ЕЕПЕ рет |
Ц код прample |
воид ЕЕПРОМ_врите(унсигнед цхар уцАддресс, унсигнед цхар уцДата)
{ /* Сачекајте завршетак претходног писања */ вхиле(ЕЕЦР & (1< ; /* Подесите режим програмирања */ ЕЕЦР = (0< /* Подесите регистре адреса и података */ ЕЕАР = уцАддресс; ЕЕДР = уцДата; /* Напиши логичку у ЕЕМПЕ */ ЕЕЦР |= (1< /* Покрени еепром писање подешавањем ЕЕПЕ */ ЕЕЦР |= (1< } |
Следећи код прampлес схов функције склопа и Ц за читање ЕЕПРОМ-а. БившиampПретпостављамо да се прекиди контролишу тако да се прекиди неће десити током извршавања ових функција.
Монтажни кодекс прample |
ЕЕПРОМ_реад:
; Сачекајте завршетак претходног писања сбиц ЕЕЦР,ЕЕПЕ рјмп ЕЕПРОМ_реад ; Подесите адресу (р18:р17) у регистру адреса оут ЕЕАРХ, р18 оут ЕЕАРЛ, р17 ; Започните читање еепром-а писањем ЕЕРЕ сби ЕЕЦР,ЕЕРЕ ; Читање података из регистра података у р16,ЕЕДР рет |
Ц код прample |
унсигнед цхар ЕЕПРОМ_реад(унсигнед цхар уцАддресс)
{ /* Сачекајте завршетак претходног писања */ вхиле(ЕЕЦР & (1< ; /* Подесите регистар адреса */ ЕЕАР = уцАддресс; /* Започните читање еепром-а писањем ЕЕРЕ */ ЕЕЦР |= (1< /* Врати податке из регистра података */ ретурн ЕЕДР; } |
Спречавање оштећења ЕЕПРОМ-а
Током периода ниског ВЦЦ-а, ЕЕПРОМ подаци могу бити оштећени јер је напајање волtagе је пренизак да би ЦПУ и ЕЕПРОМ правилно функционисали. Ова питања су иста као и за системе на нивоу плоче који користе ЕЕПРОМ и треба применити иста дизајнерска решења.
Оштећење ЕЕПРОМ података може бити узроковано двема ситуацијама када је волtagе је прениско. Прво, редовна секвенца писања у ЕЕПРОМ захтева минимални волуменtagе да правилно ради. Друго, сам ЦПУ може да изврши инструкције погрешно, ако је напајање волtagе је прениско.
Оштећење ЕЕПРОМ података може се лако избећи праћењем ове препоруке за дизајн:
Одржавајте АВР РЕСЕТ активним (ниским) током периода недовољног напајања волtagе. Ово се може урадити омогућавањем унутрашњег детектора браун-оут (БОД). Ако се ниво детекције унутрашњег БОД-а не поклапа са
потребан ниво детекције, може се користити екстерно ниско ВЦЦ заштитно коло за ресетовање. Ако дође до ресетовања док је операција писања у току, операција писања ће бити завршена под условом да је напајање волtagе је довољно.
И/О меморија
Дефиниција И/О простора за АТтини25/45/85 је приказана у „Резиме регистра” на страни 200.
Сви АТтини25/45/85 И/О и периферни уређаји су смештени у И/О простор. Свим И/О локацијама може се приступити путем ЛД/ЛДС/ЛДД и СТ/СТС/СТД инструкција, преносећи податке између 32 радна регистра опште намене и И/О простора. И/О регистри у оквиру адресног опсега 0к00 – 0к1Ф су директно доступни у битовима коришћењем СБИ и ЦБИ инструкција. У овим регистрима, вредност појединачних битова се може проверити коришћењем СБИС и СБИЦ инструкција. Погледајте одељак скупа инструкција за више детаља. Када користите И/О специфичне команде ИН и ОУТ, морају се користити И/О адресе 0к00 – 0к3Ф. Када се адресирају И/О регистри као простор података помоћу ЛД и СТ инструкција, 0к20 се мора додати овим адресама.
За компатибилност са будућим уређајима, резервисане битове треба записати на нулу ако им се приступа. Резервисане адресе И / О меморије никада не би требало писати.
Неке од статусних заставица се бришу тако што им се упише логична. Имајте на уму да ће ЦБИ и СБИ инструкције функционисати само на специфицираном биту и стога се могу користити на регистрима који садрже такве статусне заставице. ЦБИ и СБИ инструкције раде само са регистрима од 0к00 до 0к1Ф.
У каснијим одељцима објашњени су И/О и контролни регистри периферије.
Опис регистра
ЕЕАРХ – ЕЕПРОМ адресни регистар
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к1Ф | – | – | – | – | – | – | – | ЕЕАР8 | ЕЕАРХ |
Реад/Врите | R | R | R | R | R | R | R | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Кс/0 |
Битови 7:1 – Рес: резервисани битови
Ови битови су резервисани за будућу употребу и увек ће се читати као нула.
Битови 0 – ЕЕАР8: ЕЕПРОМ адреса
Ово је најважнији бит ЕЕПРОМ адресе АТтини85. У уређајима са мање ЕЕПРОМ-а, тј. АТтини25/АТтини45, овај бит је резервисан и увек ће читати нулу. Почетна вредност ЕЕПРОМ адресног регистра (ЕЕАР) је недефинисана и стога мора бити уписана одговарајућа вредност пре него што се приступи ЕЕПРОМ-у.
ЕЕАРЛ – ЕЕПРОМ адресар
Бит
0к1Е | ЕЕАР7 | ЕЕАР6 | ЕЕАР5 | ЕЕАР4 | ЕЕАР3 | ЕЕАР2 | ЕЕАР1 | ЕЕАР0 | ЕЕАРЛ |
Реар/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | X | X | X | X | X | X | X | X |
Бит 7 – ЕЕАР7: ЕЕПРОМ адреса
Ово је најважнији бит ЕЕПРОМ адресе АТтини45. У уређајима са мање ЕЕПРОМ-а, тј. АТтини25, овај бит је резервисан и увек ће читати нулу. Почетна вредност ЕЕПРОМ адресног регистра (ЕЕАР) је недефинисана и стога мора бити уписана одговарајућа вредност пре него што се приступи ЕЕПРОМ-у.
Битови 6:0 – ЕЕАР[6:0]: ЕЕПРОМ адреса
Ово су (ниски) битови ЕЕПРОМ адресног регистра. ЕЕПРОМ бајтови података се адресирају линеарно у опсегу 0...(128/256/512-1). Почетна вредност ЕЕАР-а је недефинисана и стога мора бити уписана одговарајућа вредност пре него што се може приступити ЕЕПРОМ-у.
ЕЕДР – ЕЕПРОМ регистар података
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к1Д | ЕЕДР7 | ЕЕДР6 | ЕЕДР5 | ЕЕДР4 | ЕЕДР3 | ЕЕДР2 | ЕЕДР1 | ЕЕДР0 | ЕЕДР |
Реад/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
За операцију уписивања у ЕЕПРОМ, ЕЕДР регистар садржи податке који се уписују у ЕЕПРОМ на адреси коју даје ЕЕАР регистар. За операцију читања ЕЕПРОМ-а, ЕЕДР садржи податке очитане из
ЕЕПРОМ на адреси коју је дао ЕЕАР.
5.5.4 ЕЕЦР – ЕЕПРОМ контролни регистар |
|||||||||
Бит 7 6 5 | 4 | 3 | 2 | 1 | 0 | ||||
0к1Ц – | – | ЕЕПМ1 | ЕЕПМ0 | ЕЕРИЕ | ЕЕМПЕ | ЕЕПЕ | ЕЕРЕ | ЕЕЦР | |
Читање/писање Р Р Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | ||||
Почетна вредност 0 0 Кс | X | 0 | 0 | X | 0 |
Бит 7 – Рес: резервисани бит
Овај бит је резервисан за будућу употребу и увек ће се читати као 0 у АТтини25/45/85. За компатибилност са будућим АВР уређајима, увек упишите овај бит на нулу. Након читања, маскирајте овај део.
Бит 6 – Рес: резервисани бит
Овај бит је резервисан у АТтини25/45/85 и увек ће се читати као нула.
Битови 5:4 – ЕЕПМ[1:0]: Битови режима програмирања ЕЕПРОМ-а
Поставка битова режима ЕЕПРОМ програмирања дефинише која ће се радња програмирања покренути приликом писања ЕЕПЕ. Могуће је програмирати податке у једној атомској операцији (брисати стару вредност и програмирати нову вредност) или поделити операције брисања и писања у две различите операције. Времена програмирања за различите режиме су приказана у Табела 5-1. Док је ЕЕПЕ подешен, свако уписивање у ЕЕПМн ће бити занемарено. Током ресетовања, битови ЕЕПМн ће бити ресетовани на 0б00 осим ако ЕЕПРОМ није заузет програмирањем.
Табела 5-1. Битови ЕЕПРОМ режима
ЕЕПМ1 | ЕЕПМ0 | Време програмирања | Операција |
0 | 0 | 3.4 мс | Брисање и писање у једној операцији (Атомска операција) |
0 | 1 | 1.8 мс | Само брисање |
1 | 0 | 1.8 мс | Само пиши |
1 | 1 | – | Резервисано за будућу употребу |
Бит 3 – ЕЕРИЕ: ЕЕПРОМ Реади Интеррупт Енабле
Уписивање ЕЕРИЕ у један омогућава прекид спреман за ЕЕПРОМ ако је И-бит у СРЕГ постављен. Писање ЕЕРИЕ на нулу онемогућава прекид. ЕЕПРОМ Реади Интеррупт генерише константан прекид када је Неиспарљива меморија спремна за програмирање.
Бит 2 – ЕЕМПЕ: ЕЕПРОМ Мастер Програм Енабле
ЕЕМПЕ бит одређује да ли ће писање ЕЕПЕ у један имати ефекта или не.
Када је ЕЕМПЕ подешен, подешавање ЕЕПЕ унутар четири циклуса такта ће програмирати ЕЕПРОМ на изабраној адреси. Ако је ЕЕМПЕ нула, подешавање ЕЕПЕ неће имати ефекта. Када је ЕЕМПЕ софтвер уписан у јединицу, хардвер брише бит на нулу након четири циклуса такта.
Бит 1 – ЕЕПЕ: ЕЕПРОМ програм је омогућен
Сигнал за омогућавање програма ЕЕПРОМ ЕЕПЕ је сигнал за омогућавање програмирања за ЕЕПРОМ. Када је ЕЕПЕ уписан, ЕЕПРОМ ће бити програмиран у складу са поставком битова ЕЕПМн. ЕЕМПЕ бит мора бити уписан у један пре него што се логички упише у ЕЕПЕ, иначе се упис у ЕЕПРОМ не дешава. Када време приступа писању истекне, ЕЕПЕ бит се брише хардверским путем. Када је ЕЕПЕ подешен, ЦПУ се зауставља на два циклуса пре него што се изврши следећа инструкција.
Бит 0 – ЕЕРЕ: Омогућено читање ЕЕПРОМ-а
Сигнал за омогућавање читања ЕЕПРОМ-а – ЕЕРЕ – је строб за читање ЕЕПРОМ-а. Када је тачна адреса постављена у ЕЕАР регистру, ЕЕРЕ бит мора бити уписан у један да би се покренуло читање ЕЕПРОМ-а. Приступ за читање ЕЕПРОМ-а захтева једну инструкцију, а тражени подаци су одмах доступни. Када се ЕЕПРОМ прочита, ЦПУ се зауставља на четири циклуса пре него што се изврши следећа инструкција. Корисник треба да испита ЕЕПЕ бит пре почетка операције читања. Ако је операција уписивања у току, није могуће ни читати ЕЕПРОМ, нити мењати ЕЕАР регистар.
Системски сат и опције сата
Системи сатова и њихова дистрибуција
ЦПУ Цлоцк
ЦПУ такт се усмерава на делове система који се баве радом АВР језгра. ПрampЛе оваквих модула су Регистар опште намене File, статусни регистар и меморију података која држи показивач стека. Заустављање ЦПУ такта спречава језгро да обавља опште операције и прорачуне.
И/О сат – цлкИ/О
И/О сат користи већина И/О модула, као што је тајмер/бројач. И/О сат такође користи модул екстерног прекида, али имајте на уму да се неки екстерни прекиди детектују асинхроном логиком, омогућавајући да такви прекиди буду откривени чак и ако је И/О сат заустављен.
Фласх Цлоцк – цлкФЛАСХ
Фласх сат контролише рад Фласх интерфејса. Флеш такт је обично активан истовремено са тактом процесора.
АДЦ сат – цлкАДЦ
АДЦ има наменски домен такта. Ово омогућава заустављање ЦПУ-а и И/О такта како би се смањио шум који стварају дигитална кола. Ово даје тачније резултате АДЦ конверзије.
Интерни ПЛЛ за брзо генерисање периферног такта – цлкПЦК
Интерни ПЛЛ у АТтини25/45/85 генерише тактну фреквенцију која је 8к помножена са изворног улаза. Подразумевано, ПЛЛ користи излаз интерног, 8.0 МХз РЦ осцилатора као извор. Алтернативно, ако је бит ЛСМ ПЛЛЦСР постављен, ПЛЛ ће користити излаз РЦ осцилатора подељен са два. Тако је излаз ПЛЛ-а, брзог периферног такта 64 МХз. Брзи периферни сат, или сат унапред скалиран од тога, може се изабрати као извор такта за Тајмер/Брач1 или као системски сат. Видите Слика 6-2. Фреквенција брзог периферног такта се дели са два када је ЛСМ ПЛЛЦСР подешен, што резултира фреквенцијом такта од 32 МХз. Имајте на уму да се ЛСМ не може подесити ако се ПЛЛЦЛК користи као системски сат.
Слика 6-2. ПЦК Цлоцкинг Систем.
ПЛЛ је закључан на РЦ осцилатору и подешавање РЦ осцилатора преко ОСЦЦАЛ регистра ће истовремено подесити брзи периферни сат. Међутим, чак и ако се РЦ осцилатор подигне на фреквенцију већу од 8 МХз, брза периферна фреквенција такта се засићује на 85 МХз (најгори случај) и остаје да осцилује на максималној фреквенцији. Треба напоменути да ПЛЛ у овом случају више није закључан са тактом РЦ осцилатора. Због тога се препоручује да се ОСЦЦАЛ подешавања не подесе на вишу фреквенцију од 8 МХз како би се ПЛЛ одржао у исправном радном опсегу.
Интерни ПЛЛ је омогућен када:
ПЛЛЕ бит у регистру ПЛЛЦСР је постављен.
ЦКСЕЛ осигурач је програмиран на '0001'.
ЦКСЕЛ осигурач је програмиран на '0011'.
ПЛЛЦСР бит ПЛОЦК се поставља када је ПЛЛ закључан. И интерни РЦ осцилатор и ПЛЛ се искључују у режимима искључења и приправности.
Интерни ПЛЛ у режиму компатибилности АТтини15
Пошто је АТтини25/45/85 уређај за миграцију за кориснике АТтини15, постоји режим компатибилности са АТтини15 за компатибилност уназад. Режим компатибилности АТтини15 се бира програмирањем ЦКСЕЛ осигурача на '0011'.
У режиму компатибилности са АТтини15 фреквенција интерног РЦ осцилатора је калибрисана на 6.4 МХз и фактор множења ПЛЛ-а је подешен на 4к. Видите Слика 6-3. Са овим подешавањима систем такта је компатибилан са АТтини15 и резултујући брзи периферни такт има фреквенцију од 25.6 МХз (исто као у АТтини15).
Слика 6-3. ПЦК систем тактирања у АТтини15 режиму компатибилности.
Извори сата
Уређај има следеће опције извора такта, које се могу изабрати помоћу Фласх Фусе битова као што је приказано испод. Сат са изабраног извора улази у АВР генератор такта и усмерава се на одговарајуће модуле.
Табела 6-1. Опције сата уређаја Изаберите
Опција такта уређаја | ЦКСЕЛ[3:0](1) |
Ектернал Цлоцк (види страна 26) | 0000 |
Високофреквентни ПЛЛ сат (види страна 26) | 0001 |
Калибрисани унутрашњи осцилатор (види страна 27) | 0010(2) |
Калибрисани унутрашњи осцилатор (види страна 27) | 0011(3) |
Интерни 128 кХз осцилатор (види страна 28) | 0100 |
Нискофреквентни кристални осцилатор (види страна 29) | 0110 |
Кристални осцилатор / керамички резонатор (види страна 29) | 1000 – 1111 |
Резервисано | 0101, 0111 |
За све осигураче "1" значи непрограмиран док "0" значи програмиран.
Уређај се испоручује са изабраном овом опцијом.
Ово ће изабрати режим компатибилности АТтини15, где је системски сат подељен са четири, што резултира фреквенцијом такта од 1.6 МХз. За више информација, погледајте “Калибрисани унутрашњи осцилатор” на страни 27.
Различити избори за сваку опцију такта дати су у следећим одељцима. Када се ЦПУ пробуди из искључења, изабрани извор такта се користи за време покретања, обезбеђујући стабилан рад осцилатора пре почетка извршавања инструкције. Када ЦПУ крене од ресетовања, постоји додатно кашњење које омогућава да снага достигне стабилан ниво пре почетка нормалног рада. Ватцхдог осцилатор се користи за мерење времена овог дела времена покретања у реалном времену. Приказан је број циклуса ВДТ осцилатора који се користе за сваки тајм-аут Табела 6-2.
Табела 6-2. Број циклуса осцилатора Ватцхдог
Откуцајте Тиме-оут | Број циклуса |
4 мс | 512 |
64 мс | 8К (8,192) |
Ектернал Цлоцк
За покретање уређаја са спољног извора такта, ЦЛКИ би требало да се покреће као што је приказано Слика 6-4. Да бисте покренули уређај на екстерном сату, ЦКСЕЛ осигурачи морају бити програмирани на „00“.
Слика 6-4. Конфигурација екстерног погона сата
Када је одабран овај извор такта, времена покретања одређују СУТ осигурачи као што је приказано на Табела 6-3.
Табела 6-3. Времена покретања за избор екстерног сата
СУТ[1:0] | Време покретања од искључења | Додатно одлагање од ресетовања | Препоручена употреба |
00 | КСНУМКС ЦК | КСНУМКСЦК | БОД омогућен |
01 | КСНУМКС ЦК | 14ЦК + 4 мс | Брзо растућа снага |
10 | КСНУМКС ЦК | 14ЦК + 64 мс | Полако расте снага |
11 | Резервисано |
Када се примењује екстерни сат, потребно је избегавати нагле промене примењене фреквенције такта да би се обезбедио стабилан рад МЦУ. Варијација у фреквенцији од више од 2% од једног циклуса такта до другог може довести до непредвидивог понашања. Потребно је осигурати да се МЦУ држи у ресетовању током таквих промена фреквенције такта.
Имајте на уму да претпродаја системског сата може да се користи за имплементацију промена интерне фреквенције такта у току рада уз истовремено обезбеђивање стабилног рада. Погледајте “Прескалер системског сата” на страни 31 за детаље.
Високофреквентни ПЛЛ сат
Постоји интерни ПЛЛ који обезбеђује номинални такт од 64 МХз закључан за РЦ осцилатор за употребу периферног тајмера/бројача1 и за извор системског такта. Када се изабере као извор системског сата, програмирањем ЦКСЕЛ осигурача на '0001', он се дели на четири као што је приказано на Табела 6-4.
Табела 6-4. Начини рада високофреквентног ПЛЛ сата
ЦКСЕЛ[3:0] | Номинална фреквенција |
0001 | 16 МХз |
Када је изабран овај извор такта, времена покретања одређују СУТ осигурачи као што је приказано на Табела 6-5.
Табела 6-5. Времена покретања за високофреквентни ПЛЛ сат
СУТ[1:0] | Време покретања након искључивања | Додатно кашњење од ресетовања по укључењу (ВЦЦ = 5.0 В) | Препоручена употреба |
00 | 14ЦК + 1К (1024) ЦК + 4 мс | 4 мс | БОД омогућен |
Табела 6-5. Времена покретања за високофреквентни ПЛЛ сат
СУТ[1:0] | Време покретања након искључивања | Додатно кашњење од ресетовања по укључењу (ВЦЦ = 5.0 В) | Препоручена употреба |
01 | 14ЦК + 16К (16384) ЦК + 4 мс | 4 мс | Брзо растућа снага |
10 | 14ЦК + 1К (1024) ЦК + 64 мс | 4 мс | Полако расте снага |
11 | 14ЦК + 16К (16384) ЦК + 64 мс | 4 мс | Полако расте снага |
Калибрисани унутрашњи осцилатор
Подразумевано, интерни РЦ осцилатор обезбеђује такт од приближно 8.0 МХз. Иако је волtagе и зависно од температуре, овај сат може бити врло прецизно калибрисан од стране корисника. Види „Калибрисани унутрашњи РЦ осцилатор аку- раци” на страни 164 и “Брзина унутрашњег осцилатора” на страни 192 за више детаља. Уређај се испоручује са програмираним осигурачем ЦКДИВ8. Види “Прескалер системског сата” на страни 31 за више детаља.
Овај сат се може изабрати као системски сат програмирањем ЦКСЕЛ осигурача као што је приказано на Табела 6-6 на стр
27. Ако се изабере, радиће без спољних компоненти. Током ресетовања, хардвер учитава унапред програмирану вредност калибрације у ОСЦЦАЛ регистар и на тај начин аутоматски калибрише РЦ осцилатор. Тачност ове калибрације је приказана као Фабричка калибрација у Табела 21-2 на страни 164.
Променом ОСЦЦАЛ регистра из СВ, види “ОСЦЦАЛ – Регистар калибрације осцилатора” на страни 31, могуће је постићи већу тачност калибрације него коришћењем фабричке калибрације. Тачност ове калибрације је приказана као Корисничка калибрација у Табела 21-2 на страни 164.
Када се овај осцилатор користи као сат чипа, Ватцхдог осцилатор ће се и даље користити за Ватцхдог тајмер и за Ресет Тиме-оут. За више информација о унапред програмираној вредности калибрације, погледајте одељак „Кали- брациони бајтови” на страни 150.
Интерни осцилатор се такође може подесити да обезбеди такт од 6.4 МХз уписивањем ЦКСЕЛ осигурача на „0011“, као што је приказано на Табела 6-6 испод. Ово подешавање се назива АТтини15 режим компатибилности и намењено је да обезбеди калибрисани извор такта на 6.4 МХз, као у АТтини15. У режиму компатибилности АТтини15 ПЛЛ користи интерни осцилатор који ради на 6.4 МХз да генерише периферни такт од 25.6 МХз за тајмер/бројач1 (погледајте „8-битни тајмер/бројач 1 ин АТтини15 Моде” на страни 95). Имајте на уму да се у овом режиму рада сигнал такта од 6.4 МХз увек дели са четири, дајући системски такт од 1.6 МХз.
Табела 6-6. Режими рада интерног калибрираног РЦ осцилатора
ЦКСЕЛ[3:0] | Номинална фреквенција |
0010(1) | 8.0 МХз |
0011(2) | 6.4 МХз |
Уређај се испоручује са изабраном овом опцијом.
Ово подешавање ће изабрати режим компатибилности АТтини15, где је системски сат подељен са четири, што резултира фреквенцијом такта од 1.6 МХз.
Када је калибрисани интерни осцилатор од 8 МХз изабран као извор такта, времена покретања одређују СУТ осигурачи као што је приказано на Табела 6-7 испод.
Табела 6-7. Времена покретања за интерни калибрисани РЦ осцилаторски сат
СУТ[1:0] | Време покретања од искључења | Додатно кашњење од ресетовања (ВЦЦ = 5.0 В) | Препоручена употреба |
00 | КСНУМКС ЦК | КСНУМКСЦК(1) | БОД омогућен |
01 | КСНУМКС ЦК | 14ЦК + 4 мс | Брзо растућа снага |
10(2) | КСНУМКС ЦК | 14ЦК + 64 мс | Полако расте снага |
11 | Резервисано |
1. Ако је РСТДИСБЛ осигурач програмиран, ово време покретања ће се повећати на 14ЦК + 4 мс како би се осигурало да се може ући у режим програмирања.
2. Уређај се испоручује са изабраном овом опцијом.
У режиму компатибилности АТтини15 времена покретања одређују СУТ осигурачи као што је приказано на Табела 6-8 испод.
Табела 6-8. Времена покретања интерног калибрираног РЦ осцилатора (у АТтини15 режиму)
СУТ[1:0] | Време покретања од искључења | Додатно кашњење од ресетовања (ВЦЦ = 5.0 В) | Препоручена употреба |
00 | КСНУМКС ЦК | 14ЦК + 64 мс | |
01 | КСНУМКС ЦК | 14ЦК + 64 мс | |
10 | КСНУМКС ЦК | 14ЦК + 4 мс | |
11 | КСНУМКС ЦК | КСНУМКСЦК(1) |
Напомена: Ако је РСТДИСБЛ осигурач програмиран, ово време покретања ће се повећати на 14ЦК + 4 мс како би се осигурало да се може ући у режим програмирања.
Укратко, више информација о АТтини15 режиму компатибилности можете пронаћи у одељцима „Порт Б (ПБ5:ПБ0)“ укључен страна 2, „Интерни ПЛЛ у режиму компатибилности АТтини15” на страни 24, „8-битни тајмер/бројач1 у режиму АТтини15“ укључен страна 95, “Ограничења дебугВИРЕ-а” на страни 140, “Бајтови калибрације” на страни 150 и у табели „Прескалер сата Изаберите” на страни 33.
Интерни 128 кХз осцилатор
Интерни осцилатор од 128 кХз је осцилатор мале снаге који обезбеђује такт од 128 кХз. Фреквенција је номинална на 3В и 25°Ц. Овај сат се може изабрати као системски сат програмирањем ЦКСЕЛ осигурача на “0100”.
Када је одабран овај извор такта, времена покретања одређују СУТ осигурачи као што је приказано на Табела 6-9.
Табела 6-9. Времена покретања за интерни осцилатор од 128 кХз
СУТ[1:0] | Време покретања од искључења | Додатно одлагање од ресетовања | Препоручена употреба |
00 | КСНУМКС ЦК | КСНУМКСЦК(1) | БОД омогућен |
01 | КСНУМКС ЦК | 14ЦК + 4 мс | Брзо растућа снага |
10 | КСНУМКС ЦК | 14ЦК + 64 мс | Полако расте снага |
11 | Резервисано |
Напомена: Ако је РСТДИСБЛ осигурач програмиран, ово време покретања ће се повећати на 14ЦК + 4 мс како би се осигурало да се може ући у режим програмирања.
Нискофреквентни кристални осцилатор
Да бисте користили кристал за сат од 32.768 кХз као извор такта за уређај, нискофреквентни кристални осцилатор мора бити изабран постављањем ЦКСЕЛ осигурача на '0110'. Кристал треба да буде повезан као што је приказано на Слика 6-5. Да бисте пронашли одговарајући капацитет оптерећења за црисал од 32.768 кХз, консултујте спецификацију произвођача.
Када се изабере овај осцилатор, времена покретања одређују СУТ осигурачи као што је приказано Табела 6-10.
Табела 6-10. Времена покретања за избор такта нискофреквентног кристалног осцилатора
СУТ[1:0] | Време покретања након искључивања | Додатно кашњење од ресетовања (ВЦЦ = 5.0 В) | Препоручена употреба |
00 | 1К (1024) ЦК(1) | 4 мс | Брзо растућа снага или БОД омогућен |
01 | 1К (1024) ЦК(1) | 64 мс | Полако расте снага |
10 | 32К (32768) ЦК | 64 мс | Стабилна фреквенција при покретању |
11 | Резервисано |
Напомена: Ове опције треба користити само ако стабилност фреквенције при покретању није важна.
Нискофреквентни кристални осцилатор обезбеђује унутрашњи капацитет оптерећења, види Табела 6-11 на сваком пину ТОСЦ.
Табела 6-11. Капацитет нискофреквентног кристалног осцилатора
Уређај | 32 кХз Осц. Тип | Капа (Кстал1/Тосц1) | Капа (Кстал2/Тосц2) |
АТтини25/45/85 | Систем Осц. | 16 пФ | 6 пФ |
Кристални осцилатор / керамички резонатор
КСТАЛ1 и КСТАЛ2 су улаз и излаз, респективно, за инвертовање ampЛифиер који се може конфигурисати за употребу као Он-цхип осцилатор, као што је приказано на Слика 6-5. Може се користити или кристал кварца или керамички резонатор.
Ц1 и Ц2 увек треба да буду једнаки и за кристале и за резонаторе. Оптимална вредност кондензатора зависи од кристала или резонатора који се користи, количине лутајућег капацитета и електромагнетног шума околине. Дате су неке почетне смернице за избор кондензатора за употребу са кристалима Табела 6-12 испод. За керамичке резонаторе треба користити вредности кондензатора које је дао произвођач.
Табела 6-12. Режими рада кристалног осцилатора
ЦКСЕЛ[3:1] | Фреквенцијски опсег (МХз) | Препоручени опсег за кондензаторе Ц1 и Ц2 за употребу са кристалима (пФ) |
100(1) | 0.4 – 0.9 | – |
101 | 0.9 – 3.0 | 12 – 22 |
110 | 3.0 – 8.0 | 12 – 22 |
111 | 8.0 – | 12 – 22 |
Напомене: Ову опцију не треба користити са кристалима, већ само са керамичким резонаторима.
Осцилатор може да ради у три различита режима, од којих је сваки оптимизован за одређени фреквентни опсег. Режим рада бирају осигурачи ЦКСЕЛ[3:1] као што је приказано на Табела 6-12.
ЦКСЕЛ0 осигурач заједно са СУТ[1:0] осигурачима бирају времена покретања као што је приказано на Табела 6-13.
Табела 6-13. Времена покретања за избор такта кристалног осцилатора
ЦКСЕЛ0 | СУТ[1:0] | Време покретања од искључења | Додатно одлагање од ресетовања | Препоручена употреба |
0 | 00 | КСНУМКС ЦК(1) | 14ЦК + 4 мс | Керамички резонатор, брзо растућа снага |
0 | 01 | КСНУМКС ЦК(1) | 14ЦК + 64 мс | Керамички резонатор, полако растућа снага |
0 | 10 | 1К (1024) ЦК(2) | КСНУМКСЦК | Керамички резонатор, БОД омогућен |
0 | 11 | 1К (1024)ЦК(2) | 14ЦК + 4 мс | Керамички резонатор, брзо растућа снага |
1 | 00 | 1К (1024)ЦК(2) | 14ЦК + 64 мс | Керамички резонатор, полако растућа снага |
1 | 01 | 16К (16384) ЦК | КСНУМКСЦК | Кристални осцилатор, БОД омогућен |
1 | 10 | 16К (16384) ЦК | 14ЦК + 4 мс | Кристални осцилатор, брзо растућа снага |
1 | 11 | 16К (16384) ЦК | 14ЦК + 64 мс | Кристални осцилатор, полако растућа снага |
Напомене
Ове опције треба користити само када не раде близу максималне фреквенције уређаја и само ако стабилност фреквенције при покретању није важна за апликацију. Ове опције нису погодне за кристале.
Ове опције су намењене за употребу са керамичким резонаторима и обезбедиће стабилност фреквенције при покретању. Могу се користити и са кристалима када не раде близу максималне фреквенције уређаја и ако стабилност фреквенције при покретању није важна за примену.
Подразумевани извор сата
Уређај се испоручује са програмираним ЦКСЕЛ = “0010”, СУТ = “10” и ЦКДИВ8. Подразумевана поставка извора такта је стога интерни РЦ осцилатор који ради на 8 МХз са најдужим временом покретања и почетним предскалирањем системског такта од 8, што резултира 1.0 МХз системским тактом. Ова подразумевана поставка обезбеђује да сви корисници могу да подесе жељену поставку извора сата користећи Ин-Систем или Хигх-волtagе Програмер.
Системски сат Пресцалер
Системски сат АТтини25/45/85 се може поделити подешавањем „ЦЛКПР – Регистар предскала сата“ на страни 32. Ова функција се може користити за смањење потрошње енергије када је захтев за процесорском снагом низак. Ово се може користити са свим опцијама извора такта, и то ће утицати на фреквенцију такта ЦПУ-а и свих синхроних периферних уређаја. цлкИ/О, цлкАДЦ, цлкЦПУ и цлкФЛАСХ су подељени фактором као што је приказано на Табела 6-15 на страни 33.
Време пребацивања
Приликом пребацивања између подешавања предскалера, предскалер системског сата осигурава да се у систему такта не појаве кварови и да ниједна међуфреквенција није виша од фреквенције такта која одговара претходној поставци, нити од фреквенције такта која одговара новој поставци.
Мерач таласа који имплементира предскалер ради на фреквенцији неподељеног такта, која може бити бржа од фреквенције такта ЦПУ-а. Дакле, није могуће одредити стање предскалера – чак и када би био читљив, а тачно време потребно за прелазак са једне поделе сата на другу не може се тачно предвидети.
Од тренутка када су ЦЛКПС вредности уписане, потребно је између Т1 + Т2 и Т1 + 2*Т2 пре него што је активна нова фреквенција сата. У овом интервалу се производе 2 активне ивице сата. Овде је Т1 претходни период такта, а Т2 је период који одговара новом подешавању предскалера.
Излазни бафер сата
Уређај може да емитује системски сат на ЦЛКО пин (када се не користи као КСТАЛ2 пин). Да би се омогућио излаз, ЦКОУТ осигурач мора бити програмиран. Овај режим је погодан када се сат чипа користи за покретање других кола у систему. Имајте на уму да се сат неће емитовати током ресетовања и да ће нормалан рад И/О пина бити замењен када је осигурач програмиран. Интерни РЦ осцилатор, ВДТ осцилатор, ПЛЛ и екстерни сат (ЦЛКИ) се могу изабрати када се сат излази на ЦЛКО. Кристални осцилатори (КСТАЛ1, КСТАЛ2) се не могу користити за излаз такта на ЦЛКО. Ако се користи предскалер системског сата, излаз је подељени системски сат.
Опис регистра
ОСЦЦАЛ – Регистар калибрације осцилатора
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к31 | ЦАЛ7 | ЦАЛ6 | ЦАЛ5 | ЦАЛ4 | ЦАЛ3 | ЦАЛ2 | ЦАЛ1 | ЦАЛ0 | ОСЦЦАЛ |
Реад/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В |
Битови 7:0 – ЦАЛ[7:0]: Вредност калибрације осцилатора
Регистар калибрације осцилатора се користи за тримовање калибрираног унутрашњег РЦ осцилатора да би се уклониле варијације процеса са фреквенције осцилатора. Унапред програмирана вредност калибрације се аутоматски уписује у овај регистар током ресетовања чипа, дајући фабрички калибрисану фреквенцију као што је наведено у Табела 21-2 на страни 164. Апликациони софтвер може да упише овај регистар да промени фреквенцију осцилатора. Осцилатор се може калибрисати на фреквенције као што је наведено у Табела 21-2 на страни 164. Калибрација изван тог опсега није загарантована.
Имајте на уму да се овај осцилатор користи за мерење времена приступа уписивању у ЕЕПРОМ и Фласх, и на то време писања ће утицати сходно томе. Ако су ЕЕПРОМ или Фласх уписани, немојте калибрисати на више од 8.8 МХз. У супротном, ЕЕПРОМ или флеш запис може да не успе.
ЦАЛ7 бит одређује опсег рада за осцилатор. Постављање овог бита на 0 даје најнижи фреквентни опсег, постављање овог бита на 1 даје највећи фреквентни опсег. Два фреквентна опсега се преклапају, другим речима, поставка ОСЦЦАЛ = 0к7Ф даје вишу фреквенцију од ОСЦЦАЛ = 0к80.
ЦАЛ[6:0] битови се користе за подешавање фреквенције унутар изабраног опсега. Поставка 0к00 даје најнижу фреквенцију у том опсегу, а поставка 0к7Ф даје највишу фреквенцију у опсегу.
Да би се обезбедио стабилан рад МЦУ, вредност калибрације треба да се мења у малим количинама. Варијација у учесталости од више од 2% од једног циклуса до другог може довести до непредвидивог понашања. Промене у ОСЦЦАЛ не би требало да прелазе 0к20 за сваку калибрацију. Потребно је осигурати да се МЦУ држи у ресетовању током таквих промена фреквенције такта
Табела 6-14. Интерни опсег фреквенције РЦ осцилатора
ОСЦЦАЛ вредност | Типична најнижа фреквенција у односу на номиналну фреквенцију | Типична највећа фреквенција у односу на номиналну фреквенцију |
0к00 | 50% | 100% |
0к3Ф | 75% | 150% |
0к7Ф | 100% | 200% |
ЦЛКПР – Регистар прескале сата
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к26 | ЦЛКПЦЕ | – | – | – | ЦЛКПС3 | ЦЛКПС2 | ЦЛКПС1 | ЦЛКПС0 | ЦЛКПР |
Реад/Врите | Р/В | R | R | R | Р/В | Р/В | Р/В | Р/В |
Почетна вредност 0 0 0 0 Погледајте опис бита
Бит 7 – ЦЛКПЦЕ: Омогућена промена предскалера сата
ЦЛКПЦЕ бит мора бити уписан у логичку један да би се омогућила промена ЦЛКПС битова. ЦЛКПЦЕ бит се ажурира само када су остали битови у ЦЛКПР истовремено уписани на нулу. ЦЛКПЦЕ се брише хардвером четири циклуса након што је уписан или када су ЦЛКПС битови уписани. Поновно уписивање бита ЦЛКПЦЕ у оквиру овог временског периода не продужава време чекања, нити брише ЦЛКПЦЕ бит.
Битови 6:4 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Битови 3:0 – ЦЛКПС[3:0]: Избор битова 3 – 0 предскалера сата
Ови битови дефинишу фактор поделе између изабраног извора такта и унутрашњег системског сата. Ови битови могу бити записани у току рада да би се променила фреквенција такта како би одговарала захтевима апликације. Како разделник дели улаз главног такта на МЦУ, брзина свих синхроних периферних уређаја се смањује када се користи фактор дељења. Фактори поделе су дати у Табела 6-15.
Да би се избегле ненамерне промене фреквенције такта, мора се следити посебна процедура писања да би се променили ЦЛКПС битови:
Упишите бит Енабле Цлоцк Пресцалер Цханге Енабле (ЦЛКПЦЕ) на један, а све остале битове у ЦЛКПР на нулу.
У року од четири циклуса, упишите жељену вредност у ЦЛКПС док уписујете нулу у ЦЛКПЦЕ.
Прекиди морају бити онемогућени када мењате поставку прескалера да бисте били сигурни да процедура писања није прекинута.
ЦКДИВ8 осигурач одређује почетну вредност ЦЛКПС битова. Ако ЦКДИВ8 није програмиран, битови ЦЛКПС ће бити ресетовани на „0000“. Ако је ЦКДИВ8 програмиран, ЦЛКПС битови се ресетују на „0011“, дајући фактор дељења осам при покретању. Ову функцију треба користити ако изабрани извор такта има вишу фреквенцију од максималне фреквенције уређаја у тренутним условима рада. Имајте на уму да се било која вредност може уписати у ЦЛКПС битове без обзира на поставку ЦКДИВ8 осигурача. Апликациони софтвер мора да обезбеди довољан фактор поделе
изабран ако изабрани извор такта има вишу фреквенцију од максималне фреквенције уређаја у тренутним условима рада. Уређај се испоручује са програмираним осигурачем ЦКДИВ8.
Табела 6-15. Изаберите прескалер сата
ЦЛКПС3 | ЦЛКПС2 | ЦЛКПС1 | ЦЛКПС0 | Фактор поделе сата |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 2 |
0 | 0 | 1 | 0 | 4 |
0 | 0 | 1 | 1 | 8 |
0 | 1 | 0 | 0 | 16 |
0 | 1 | 0 | 1 | 32 |
0 | 1 | 1 | 0 | 64 |
0 | 1 | 1 | 1 | 128 |
1 | 0 | 0 | 0 | 256 |
1 | 0 | 0 | 1 | Резервисано |
1 | 0 | 1 | 0 | Резервисано |
1 | 0 | 1 | 1 | Резервисано |
1 | 1 | 0 | 0 | Резервисано |
1 | 1 | 0 | 1 | Резервисано |
1 | 1 | 1 | 0 | Резервисано |
1 | 1 | 1 | 1 | Резервисано |
Напомена: Прескалер је онемогућен у режиму компатибилности са АТтини15 и ни писање у ЦЛКПР, ни програмирање осигурача ЦКДИВ8 немају никакав утицај на системски сат (који ће увек бити 1.6 МХз).
Управљање напајањем и режими спавања
Високе перформансе и водећа ефикасност кода у индустрији чине АВР микроконтролере идеалним избором за апликације мале снаге. Поред тога, режими мировања омогућавају апликацији да искључи некоришћене модуле у МЦУ, чиме се штеди енергија. АВР обезбеђује различите режиме мировања омогућавајући кориснику да прилагоди потрошњу енергије захтевима апликације.
Режими спавања
Слика 6-1 на страни 23 представља различите системе сатова и њихову дистрибуцију у АТтини25/45/85. Слика је од помоћи при одабиру одговарајућег режима спавања. Табела 7-1 приказује различите режиме спавања и њихове изворе буђења.
Табела 7-1. Активни домени часовника и извори буђења у различитим режимима спавања
Ацтиве Цлоцк Домаинс | Осцилатори | Извори буђења | ||||||||||
Слееп Моде | цлкЦПУ | цлкФЛАСХ | цлкИО | цлкАДЦ | цлкПЦК | Главни извор сата је омогућен | ИНТ0 и Пин Цханге | СПМ/ЕЕПРОМ
Спреман |
УСИ почетни услов |
АДЦ | Други И/О | Ватцхдог Прекини |
Идле | X | X | X | X | X | X | X | X | X | X | ||
АДЦ Смањење шума | X | X | X(1) | X | X | X | X | |||||
Снага доле | X(1) | X | X |
Напомена: За ИНТ0, само прекид нивоа.
Да бисте ушли у било који од три режима спавања, СЕ бит у МЦУЦР-у мора бити уписан у логичку један и мора се извршити СЛЕЕП инструкција. СМ[1:0] битови у МЦУЦР регистру бирају који режим мировања (идле, смањење буке АДЦ-а или искључење напајања) ће бити активиран инструкцијом СЛЕЕП. Видите Табела 7-2 за резиме.
Ако дође до омогућеног прекида док је МЦУ у режиму мировања, МЦУ се буди. МЦУ се затим зауставља на четири циклуса поред времена покретања, извршава рутину прекида и наставља извршавање из инструкције након СЛЕЕП. Садржај Регистра File и СРАМ су непромењени када се уређај пробуди из стања спавања. Ако дође до ресетовања током режима спавања, МЦУ се буди и извршава из вектора за ресетовање.
Напомена: ако се за буђење користи прекид изазван нивоом, промењени ниво мора да се задржи неко време да би се МЦУ пробудио (и да би МЦУ ушао у рутину услуге прекида). Видите “Спољни прекиди” на страни 49 за детаље.
Режим мировања
Када су СМ[1:0] битови уписани у 00, инструкција СЛЕЕП тера МЦУ да уђе у режим мировања, заустављајући ЦПУ, али дозвољавајући аналогном компаратору, АДЦ-у, УСИ, тајмеру/бројачу, Ватцхдог-у и систему прекида да наставе са радом. атинг. Овај режим мировања у основи зауставља цлкЦПУ и цлкФЛАСХ, док дозвољава осталим сатовима да раде.
Режим мировања омогућава МЦУ-у да се пробуди из спољашњих покренутих прекида, као и интерних као што је тајмер Оверфлов. Ако буђење из прекида аналогног компаратора није потребно, аналогни компаратор се може искључити постављањем АЦД бита у “АЦСР – Регистар контроле и статуса аналогног компаратора” на страни 120. Ово ће смањити потрошњу енергије у пасивном режиму рада. Ако је АДЦ омогућен, конверзија почиње аутоматски када се уђе у овај режим.
АДЦ режим смањења шума
Када су СМ[1:0] битови уписани у 01, инструкција СЛЕЕП чини да МЦУ уђе у режим смањења шума АДЦ-а, заустављајући ЦПУ, али дозвољавајући АДЦ-у, спољним прекидима и Ватцхдог-у да наставе са радом (ако је омогућено). Овај режим спавања зауставља цлкИ/О, цлкЦПУ и цлкФЛАСХ, док дозвољава осталим часовницима да раде.
Ово побољшава окружење буке за АДЦ, омогућавајући мерења веће резолуције. Ако је АДЦ омогућен, конверзија почиње аутоматски када се уђе у овај режим. Осим прекида АДЦ Цонверсион Цомплете, само екстерно ресетовање, ресетовање Ватцхдог-а, ресетовање без прекида, прекид спреман за СПМ/ЕЕПРОМ, прекид екстерног нивоа на ИНТ0 или прекид промене пинова могу пробудити МЦУ из редукције шума АДЦ-а режим.
Режим гашења
Када су СМ[1:0] битови уписани у 10, инструкција СЛЕЕП чини да МЦУ уђе у режим искључења напајања. У овом режиму, осцилатор је заустављен, док екстерно прекида, УСИ детекција стартног стања и Ватцхдог настављају са радом (ако је омогућено). Само екстерно ресетовање, ресетовање Ватцхдог-а, ресетовање без прекида, прекид стања покретања УСИ, прекид екстерног нивоа на ИНТ0 или прекид промене пинова могу пробудити МЦУ. Овај режим мировања зауставља све генерисане сатове, дозвољавајући рад само асинхроних модула.
Софтваре БОД Дисабле
Када је детектор затамњења (БОД) омогућен помоћу БОДЛЕВЕЛ осигурача (погледајте Табела 20-4 на страни 148), БОД активно прати снабдевање волtagе током периода спавања. У неким уређајима могуће је уштедети енергију тако што ћете софтвером онемогућити БОД у режиму мировања са искљученим напајањем. Потрошња енергије у режиму мировања ће тада бити на истом нивоу као када је БОД глобално онемогућен осигурачима.
Ако је БОД софтвер онемогућен, БОД функција се искључује одмах након уласка у режим спавања. Након буђења из стања спавања, БОД се аутоматски поново укључује. Ово осигурава безбедан рад у случају да ниво ВЦЦ падне током периода мировања.
Када је БОД онемогућен, време буђења из режима спавања биће исто као и време буђења из РЕСЕТ-а. Корисник мора ручно да конфигурише времена буђења тако да референца појасног размака има времена да се покрене и да БОД ради исправно пре него што МЦУ настави да извршава код. Погледајте СУТ[1:0] и ЦКСЕЛ[3:0] битове осигурача у табели “Ниски бајт осигурача” на страни 149
Онемогућавање БОД-а контролише БОДС (БОД Слееп) бит контролног регистра МЦУ, види „МЦУЦР – МЦУ контрола Региструјте се” на страни 37. Записивање овог бита на један искључује БОД у Повер-Довн-у, док писање нуле одржава БОД активним. Подразумевана поставка је нула, тј. БОД је активан.
Уписивање у БОДС бит се контролише временским низом и битом за омогућавање, види „МЦУЦР – МЦУ контролни регистар- тер” на страни 37.
Ограничења
Функција онемогућавања БОД-а је имплементирана само на следећим уређајима:
АТтини25, ревизија Е, и новије
АТтини45, ревизија Д, и новије
АТтини85, ревизија Ц и новије
Ревизије су означене на пакету уређаја и могу се налазити на следећи начин:
Доња страна пакета 8П3 и 8С2
Горња страна паковања 20М1
Регистар смањења снаге
Регистар смањења снаге (ПРР), види “ПРР – Регистар смањења снаге” на страни 38, обезбеђује метод за смањење потрошње енергије заустављањем сата на појединачним периферним уређајима. Тренутно стање периферије је замрзнуто и И/О регистри се не могу читати или писати. Ресурси које користи периферија приликом заустављања сата ће остати заузети, стога периферију у већини случајева треба онемогућити пре заустављања сата. Буђење модула, које се врши брисањем бита у ПРР, доводи модул у исто стање као пре гашења.
Искључивање модула се може користити у режиму мировања и активном режиму како би се значајно смањила укупна потрошња енергије. У свим осталим режимима спавања, сат је већ заустављен. Видите “Струја напајања И/О модула” на страници 177 за прampлес.
Минимизирање потрошње енергије
Постоји неколико питања која треба размотрити када покушавате да смањите потрошњу енергије у систему који контролише АВР. Генерално, режиме спавања треба користити што је више могуће, а режим спавања треба изабрати тако да ради што мање функција уређаја. Све функције које нису потребне треба да буду онемогућене. Конкретно, следећим модулима ће можда требати посебна пажња када покушавате да постигнете најмању могућу потрошњу енергије.
Аналогно-дигитални претварач
Ако је омогућен, АДЦ ће бити омогућен у свим режимима спавања. Да бисте уштедели енергију, АДЦ би требало да буде онемогућен пре уласка у било који режим мировања. Када се АДЦ искључи и поново укључи, следећа конверзија ће бити проширена конверзија. Погледајте “Аналогно-дигитални претварач” на страни 122 за детаље о раду АДЦ-а.
Аналог Цомпаратор
Када улазите у режим мировања, аналогни компаратор би требало да буде онемогућен ако се не користи. Када улазите у режим смањења шума АДЦ-а, аналогни компаратор треба да буде онемогућен. У другим режимима спавања, аналогни компаратор је аутоматски онемогућен. Међутим, ако је аналогни компаратор подешен да користи Интернал Волtagе Референтни као улаз, аналогни компаратор треба да буде онемогућен у свим режимима мировања. Иначе, Интернал Волtagе Референца ће бити омогућена, независно од режима спавања. Погледајте “Аналогни компаратор” на страни 119 за детаље о томе како да конфигуришете аналогни компаратор.
Детектор затамњења
Ако детектор затамњења није потребан у апликацији, овај модул треба искључити. Ако је детектор затамњења омогућен од стране БОДЛЕВЕЛ осигурача, он ће бити омогућен у свим режимима спавања, а самим тим и увек ће трошити енергију. У дубљим режимима спавања, ово ће значајно допринети укупној потрошњи струје. Видите „Откривени детек- ција” на страни 41 и “Онемогућавање софтвера БОД” на страни 35 за детаље о томе како да конфигуришете детектор затамњења.
Интернал Волtagе Референца
Тхе Интернал Волtagе Референца ће бити омогућена када је то потребно за детекцију затамњења, аналогни компаратор или АДЦ. Ако су ови модули онемогућени као што је описано у горњим одељцима, интерни волtagРеференца ће бити онемогућена и неће трошити енергију. Када се поново укључи, корисник мора дозволити да се референца покрене пре него што се користи излаз. Ако је референца укључена у режиму мировања, излаз се може одмах користити. Погледајте „Интернал Волtagе Референца” на страни 42 за детаље о времену покретања.
Ватцхдог Тимер
Ако Ватцхдог тајмер није потребан у апликацији, овај модул треба искључити. Ако је Ватцхдог тајмер омогућен, биће омогућен у свим режимима спавања и стога ће увек трошити енергију. У дубљим режимима спавања, ово ће значајно допринети укупној потрошњи струје. Погледајте „Тајмер за чување” на страни 42 за детаље о томе како да конфигуришете Ватцхдог тајмер.
Порт Пинс
Када улазите у режим спавања, сви пинови порта треба да буду конфигурисани да користе минималну снагу. Најважније је онда осигурати да ниједан пинови не покреће отпорна оптерећења. У режимима спавања где су и И/О сат (цлкИ/О) и АДЦ сат (цлкАДЦ) заустављени, улазни бафери уређаја ће бити онемогућени. Ово осигурава да се струја не троши
по логици улаза када није потребно. У неким случајевима, улазна логика је потребна за откривање услова буђења, и
тада ће бити омогућено. Погледајте одељак „Омогућавање дигиталног улаза и режим спавања“ на страни 57 за детаље о томе који су пинови омогућени. Ако је улазни бафер омогућен, а улазни сигнал је остављен да плута или има ниво аналогног сигнала близу ВЦЦ/2, улазни бафер ће користити прекомерну снагу.
За пинове аналогног улаза, бафер дигиталног улаза треба да буде онемогућен у сваком тренутку. Ниво аналогног сигнала близу ВЦЦ/2 на улазном пину може изазвати значајну струју чак и у активном режиму. Дигитални улазни бафери се могу онемогућити уписивањем у регистар онемогућавања дигиталног улаза (ДИДР0). Погледајте “ДИДР0 – Регистар онемогућавања дигиталног улаза 0” на страници 121 за детаље.
Опис регистра
МЦУЦР – МЦУ контролни регистар
Контролни регистар МЦУ садржи контролне битове за управљање напајањем.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к35 | БОДС | ПУД | SE | СМ1 | СМ0 | БОДСЕ | ИСЦКСНУМКС | ИСЦКСНУМКС | МЦУЦР |
Реад/Врите | R | Р/В | Р/В | Р/В | Р/В | R | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Бит 7 – БОДС: БОД спавање
Функција онемогућавања БОД-а доступна је само на неким уређајима. Види „Ограничења” на страни 36.
Да бисте онемогућили БОД током спавања (погледајте Табела 7-1 на страни 34) БОДС бит мора бити записан у логичку један. Ово се контролише временским низом и битом за омогућавање, БОДСЕ у МЦУЦР-у. Прво, и БОДС и БОДСЕ морају бити подешени на један. Друго, унутар четири циклуса такта, БОДС мора бити подешен на један, а БОДСЕ мора бити постављен на нулу. БОДС бит је активан три циклуса сата након што је постављен. Инструкција спавања мора да се изврши док је БОДС активан да би се БОД искључио за стварни режим мировања. БОДС бит се аутоматски брише након три циклуса такта.
На уређајима где Слеепинг БОД није имплементиран, овај бит се не користи и увек ће читати нулу.
Бит 5 – СЕ: Омогућено спавање
СЕ бит мора бити записан у логичку један да би МЦУ ушао у режим мировања када се изврши СЛЕЕП инструкција. Да би се избегло да МЦУ уђе у режим спавања, осим ако то није сврха програмера, препоручује се да се бит за омогућавање спавања (СЕ) упише на један непосредно пре извршења СЛЕЕП инструкције и да се обрише одмах након буђења.
Битови 4:3 – СМ[1:0]: Избор битова 1 и 0 у режиму мировања
Ови битови бирају између три доступна режима спавања као што је приказано на Табела 7-2.
Табела 7-2. Изаберите режим спавања
СМ1 | СМ0 | Слееп Моде |
0 | 0 | Идле |
0 | 1 | АДЦ Смањење шума |
1 | 0 | Снага доле |
1 | 1 | Резервисано |
Бит 2 – БОДСЕ: Омогућено спавање БОД
Функција онемогућавања БОД-а доступна је само на неким уређајима. Види „Ограничења” на страни 36.
БОДСЕ бит омогућава подешавање БОДС контролног бита, као што је објашњено у опису бита БОДС. БОД онемогућавање се контролише временским низом.
Овај бит се не користи на уређајима где софтверско БОД онемогућавање није имплементирано и читаће се као нула на тим уређајима.
ПРР – Регистар смањења снаге
Регистар смањења снаге обезбеђује метод за смањење потрошње енергије омогућавањем да се сигнали периферног сата буду онемогућени.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к20 | – | – | – | – | ПРТИМ1 | ПРТИМ0 | ПРУСИ | ПРАДЦ | ПРР |
Реад/Врите | R | R | R | R | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Битови 7:4 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Бит 3 – ПРТИМ1: Тајмер/бројач смањења снаге 1
Уписивањем логичке јединице у овај бит искључује се модул Тимер/Цоунтер1. Када је тајмер/бројач1 омогућен, рад ће се наставити као пре гашења.
Бит 2 – ПРТИМ0: Тајмер/бројач смањења снаге 0
Уписивањем логичке јединице у овај бит искључује се модул Тимер/Цоунтер0. Када је тајмер/бројач0 омогућен, рад ће се наставити као пре гашења.
Бит 1 – ПРУСИ: УСИ за смањење снаге
Уписивање логичке јединице у овај бит искључује УСИ заустављањем сата на модулу. Када поново пробудите УСИ, УСИ би требало поново да се иницијализује да би се обезбедио исправан рад.
Бит 0 – ПРАДЦ: АДЦ за смањење снаге
Писањем логичке јединице у овај бит искључује се АДЦ. АДЦ мора бити онемогућен пре искључивања. Имајте на уму да АДЦ такт користе и неки делови аналогног компаратора, што значи да се аналогни компаратор не може користити када је овај бит висок.
Контрола система и ресетовање
Ресетовање АВР-а
Током ресетовања, сви И/О регистри се постављају на своје почетне вредности, а програм почиње да се извршава од Вектора ресетовања. Инструкција постављена на вектор ресетовања мора бити РЈМП – Релативни скок – инструкција за рутину руковања ресетовањем. Ако програм никада не омогући извор прекида, вектори прекида се не користе, а обичан програмски код се може поставити на ове локације. Шема струјног кола у Слика 8-1 приказује логику ресетовања. Дати су електрични параметри кола за ресетовање “Карактеристике система и ресетовања” на страни 165.
Слика 8-1 Логика ресетовања
И/О портови АВР-а се одмах враћају у почетно стање када се активира извор за ресетовање. Ово не захтева покретање било ког извора сата.
Након што су сви извори ресетовања постали неактивни, позива се бројач кашњења, који протеже унутрашње ресетовање. Ово омогућава да снага достигне стабилан ниво пре него што почне нормалан рад. Тајм-аут бројача кашњења дефинише корисник преко СУТ и ЦКСЕЛ осигурача. Приказани су различити избори за период одлагања „Сат Извори” на страни 25.
Ресетуј изворе
АТтини25/45/85 има четири извора ресетовања:
Ресетовање по укључењу. МЦУ се ресетује када се напајање волtagе је испод прага за ресетовање по укључењу (ВПОТ).
Екстерно ресетовање. МЦУ се ресетује када је низак ниво присутан на РЕСЕТ пину дуже од минималне дужине импулса.
Ватцхдог Ресет. МЦУ се ресетује када истекне период Ватцхдог тајмера и Ватцхдог је омогућен.
Браун-оут Ресет. МЦУ се ресетује када се напајање волtagе ВЦЦ је испод прага ресетовања затамњења (ВБОТ) и Детектор затамњења је омогућен.
Ресетовање по укључењу
Импулс за ресетовање по укључењу (ПОР) генерише коло за детекцију на чипу. Ниво детекције је дефинисан у „Сис- тем и ресетујте карактеристике” на страни 165. ПОР се активира кад год је ВЦЦ испод нивоа детекције. ПОР коло се може користити за покретање ресетовања при покретању, као и за откривање квара у снабдевању волtage.
Коло за ресетовање по укључењу (ПОР) обезбеђује да се уређај ресетује након укључивања. Достизање прага за ресетовање по укључењу обtagе позива бројач кашњења, који одређује колико дуго се уређај држи у РЕСЕТ-у након пораста ВЦЦ. РЕСЕТ сигнал се поново активира, без икаквог одлагања, када ВЦЦ падне испод нивоа детекције.
Слика 8-2. МЦУ покретање, РЕСЕТ Везано за ВЦЦ
ИНТЕРНО РЕСЕТ
Слика 8-3. МЦУ покретање, РЕСЕТ проширен екстерно
Екстерно ресетовање
Спољно ресетовање се генерише ниским нивоом на РЕСЕТ пину ако је омогућен. Ресетујте импулсе дуже од минималне ширине импулса (види “Карактеристике система и ресетовања” на страни 165) ће генерисати ресетовање, чак и ако сат не ради. Није гарантовано да ће краћи импулси генерисати ресетовање. Када примењени сигнал достигне Ресет Тхресхолд Волtagе – ВРСТ – на својој позитивној ивици, бројач кашњења покреће МЦУ након истека временског периода.
Слика 8-4. Екстерно ресетовање током рада
Детекција затамњења
АТтини25/45/85 има коло за детекцију браон-оут (БОД) на чипу за праћење нивоа ВЦЦ током рада упоређујући га са фиксним нивоом окидача. Ниво окидача за БОД се може изабрати помоћу БОДЛЕВЕЛ осигурача. Ниво окидача има хистерезу како би се осигурала детекција браон-оут без скокова. Хистерезу на нивоу детекције треба тумачити као ВБОТ+ = ВБОТ + ВХИСТ/2 и ВБОТ- = ВБОТ – ВХИСТ/2.
Када је БОД омогућен, а ВЦЦ се смањује на вредност испод нивоа окидача (ВБОТ-ин Слика 8-5), Ресетовање затамњеног стања се одмах активира. Када се ВЦЦ повећа изнад нивоа окидача (ВБОТ+ ин Слика 8-5), бројач кашњења покреће МЦУ након истека временског периода тТОУТ.
БОД коло ће открити пад ВЦЦ само ако је волtagе остаје испод нивоа окидача дуже од датог тБОД “Карактеристике система и ресетовања” на страни 165.
Ватцхдог Ресет
Када Ватцхдог истекне, он ће генерисати кратак импулс ресетовања у трајању од једног ЦК циклуса. На опадајућој ивици овог импулса, тајмер кашњења почиње да одбројава временски период тТОУТ. Погледајте „Тајмер за чување” на страни 42 за детаље о раду Ватцхдог тајмера.
Волtagе Референтни сигнали за омогућавање и време покретања
ВолtagРеференца има време почетка које може утицати на начин на који би требало да се користи. Време покретања је наведено “Карактеристике система и ресетовања” на страни 165. Ради уштеде енергије, референца није увек укључена. Референца је укључена у следећим ситуацијама:
Када је БОД омогућен (програмирањем БОДЛЕВЕЛ[2:0] битова осигурача).
Када је референца појасног размака повезана са аналогним компаратором (постављањем бита АЦБГ у АЦСР).
Када је АДЦ укључен.
Стога, када БОД није омогућен, након постављања АЦБГ бита или омогућавања АДЦ-а, корисник увек мора дозволити да се референца покрене пре него што се користи излаз из аналогног компаратора или АДЦ-а. Да би се смањила потрошња енергије у режиму искључења напајања, корисник може да избегне три горе наведена услова како би се уверио да је референца искључена пре уласка у режим искључења.
Ватцхдог Тимер
Ватцхдог тајмер је тактован од Он-цхип осцилатора који ради на 128 кХз. Контролом прескалера Ватцхдог тајмера, интервал ресетовања Ватцхдог се може подесити као што је приказано на Табела 8-3 на страни 46. ВДР – Ватцхдог Ресет – инструкција ресетује Ватцхдог тајмер. Ватцхдог тајмер се такође ресетује када је онемогућен и када дође до ресетовања чипа. За одређивање периода ресетовања може се изабрати десет различитих периода циклуса. Ако период ресетовања истекне без другог Ватцхдог ресетовања, АТтини25/45/85 се ресетује и извршава из вектора за ресетовање. За детаље о времену о ресетовању Ватцхдог-а, погледајте Табела 8-3 на страни 46.
Ватцхдог тајмер се такође може конфигурисати да генерише прекид уместо ресетовања. Ово може бити од велике помоћи када користите Ватцхдог за буђење из искључења.
Да би се спречило ненамерно онемогућавање Ватцхдог-а или ненамерна промена временског периода, осигурач ВДТОН бира два различита нивоа безбедности као што је приказано на Табела 8-1 Погледајте „Временске секвенце за промену кон- фигурација Ватцхдог тајмера” на страни 43 за детаље.
Табела 8-1. ВДТ конфигурација као функција подешавања осигурача за ВДТОН
ВДТОН | Сафети Левел | ВДТ почетно стање | Како онемогућити ВДТ | Како променити временско ограничење |
Унпрограмед | 1 | Онемогућено | Временски низ | Без ограничења |
Програмирано | 2 | Омогућено | Увек омогућено | Временски низ |
Слика 8-7. Ватцхдог Тимер
Временске секвенце за промену конфигурације Ватцхдог тајмера
Редослед промене конфигурације се незнатно разликује између два нивоа безбедности. За сваки ниво су описане посебне процедуре.
Ниво безбедности 1: У овом режиму, Ватцхдог тајмер је првобитно онемогућен, али се може омогућити писањем ВДЕ бита у један без икаквих ограничења. Временски низ је потребан када се онемогући омогућен Ватцхдог тајмер. Да бисте онемогућили омогућен Ватцхдог тајмер, морате следити следећу процедуру:
У истој операцији напишите логичку у ВДЦЕ и ВДЕ. Логички један мора бити уписан у ВДЕ без обзира на претходну вредност ВДЕ бита.
У наредна четири циклуса такта, у истој операцији, упишите ВДЕ и ВДП битове по жељи, али са обрисаним ВДЦЕ битом.
Ниво безбедности 2: У овом режиму, Ватцхдог тајмер је увек омогућен, а ВДЕ бит ће увек читати као један. Временска секвенца је потребна када се мења Ватцхдог Тиме-оут период. Да бисте променили Ватцхдог Тиме-оут, морате следити следећу процедуру:
У истој операцији напишите логичку у ВДЦЕ и ВДЕ. Иако је ВДЕ увек подешен, ВДЕ мора бити уписан у један да би се покренула временски одређена секвенца.
У наредна четири циклуса такта, у истој операцији, упишите ВДП битове по жељи, али са обрисаним ВДЦЕ битом. Вредност уписана у ВДЕ бит је ирелевантна.
Цоде Екample
Следећи код нпрampле приказује један склоп и једну Ц функцију за искључивање ВДТ-а. Бившиampле претпоставља да се прекиди контролишу (нпр. онемогућавањем прекида глобално) тако да неће доћи до прекида током извршавања ових функција.
Монтажни кодекс прample(1) |
ВДТ_офф:
вдр ; Обришите ВДРФ у МЦУСР лди р16, (0< оут МЦУСР, р16 ; Напишите логичку јединицу у ВДЦЕ и ВДЕ ; Задржите старо подешавање предскалера да бисте спречили ненамерно ресетовање Ватцхдог-а у р16, ВДТЦР ори р16, (1< оут ВДТЦР, р16 ; Искључите ВДТ лди р16, (0< оут ВДТЦР, р16 рет |
Ц код прample(1) |
воид ВДТ_офф(воид)
{ _ВДР(); /* Обриши ВДРФ у МЦУСР */ МЦУСР = 0к00 /* Уписује логичку јединицу у ВДЦЕ и ВДЕ */ ВДТЦР |= (1< /* Искључи ВДТ */ ВДТЦР = 0к00; } |
Напомена: 1. Види „Прampлес” на страни 6.
Опис регистра
МЦУСР – МЦУ статусни регистар
МЦУ статусни регистар пружа информације о томе који извор ресетовања је изазвао ресетовање МЦУ-а.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к34 | – | – | – | – | ВДРФ | БОРФ | ЕКСТРФ | ПОРФ | МЦУСР |
Реад/Врите | R | R | R | R | Р/В | Р/В | Р/В | Р/В |
Почетна вредност 0 0 0 0 Погледајте опис бита
Битови 7:4 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Бит 3 – ВДРФ: Ватцхдог Ресет Флаг
Овај бит се поставља ако дође до ресетовања Ватцхдог-а. Бит се ресетује ресетовањем по укључењу или писањем логичке нуле у заставицу.
Бит 2 – БОРФ: Ознака за поништавање мрље
Овај бит се поставља ако дође до ресетовања браун-оут. Бит се ресетује ресетовањем по укључењу или писањем логичке нуле у заставицу.
Бит 1 – ЕКСТРФ: Ознака екстерног ресетовања
Овај бит се поставља ако дође до екстерног ресетовања. Бит се ресетује ресетовањем по укључењу или писањем логичке нуле у заставицу.
Бит 0 – ПОРФ: Ознака за ресетовање по укључењу
Овај бит се поставља ако дође до ресетовања по укључењу. Бит се ресетује само уписивањем логичке нуле у заставицу.
Да би користио Ресет Флагс за идентификацију стања ресетовања, корисник треба да прочита, а затим ресетује МЦУСР што је раније могуће у програму. Ако је регистар обрисан пре него што дође до другог ресетовања, извор ресетовања се може пронаћи испитивањем Ресет Флагс.
ВДТЦР – Ватцхдог тимер Цонтрол Регистер
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к21 | ВДИФ | ВДИЕ | ВДП3 | ВДЦЕ | ВДЕ | ВДП2 | ВДП1 | ВДП0 | ВДТЦР |
Реад/Врите | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | X | 0 | 0 | 0 |
Бит 7 – ВДИФ: Ватцхдог Тимеоут Интеррупт Флаг
Овај бит се поставља када дође до истека времена у Ватцхдог тајмеру и Ватцхдог тајмер је конфигурисан за прекид. ВДИФ се брише хардвером приликом извршавања одговарајућег вектора за руковање прекидом. Алтернативно, ВДИФ се брише писањем логичке јединице у заставицу. Када су И-бит у СРЕГ и ВДИЕ постављени, прекида се временско ограничење Ватцхдог-а.
Бит 6 – ВДИЕ: Омогућено прекидање временског ограничења за надзор
Када се овај бит упише у један, ВДЕ се брише, а И-бит у статусном регистру је постављен, омогућен је прекид временског ограничења Ватцхдог-а. У овом режиму, одговарајући прекид се извршава уместо ресетовања ако дође до истека у Ватцхдог тајмеру.
Ако је ВДЕ подешен, ВДИЕ се аутоматски брише од стране хардвера када дође до истека времена. Ово је корисно за одржавање безбедности Ватцхдог Ресет-а док користите прекид. Након што се ВДИЕ бит обрише, следећи тајм-аут ће генерисати ресетовање. Да би се избегло ресетовање Ватцхдог-а, ВДИЕ се мора подесити након сваког прекида.
Табела 8-2. Ватцхдог Тимер Цонфигуратион
ВДЕ | ВДИЕ | Ватцхдог Тимер Стате | Акција на тајм-ауту |
0 | 0 | Заустављен | Ниједан |
0 | 1 | Трчање | Прекини |
1 | 0 | Трчање | Ресетуј |
1 | 1 | Трчање | Прекини |
Бит 4 – ВДЦЕ: Омогућена промена чувара
Овај бит мора бити постављен када је ВДЕ бит уписан у логичку нулу. У супротном, Ватцхдог неће бити онемогућен. Када се једном упише на један, хардвер ће обрисати овај бит након четири циклуса такта. Погледајте опис ВДЕ бита за процедуру онемогућавања Ватцхдог-а. Овај бит се такође мора подесити приликом промене битова за предскалер. Види „Временске секвенце за промену конфигурације Ватцхдог тајмера” на страни 43.
Бит 3 – ВДЕ: Ватцхдог Енабле
Када је ВДЕ уписан у логичку један, Ватцхдог тајмер је омогућен, а ако је ВДЕ уписан на логичку нулу, функција Ватцхдог тајмера је онемогућена. ВДЕ се може обрисати само ако ВДЦЕ бит има логички ниво један. Да бисте онемогућили омогућен Ватцхдог тајмер, морате следити следећу процедуру:
У истој операцији напишите логичку у ВДЦЕ и ВДЕ. Логички један мора бити уписан у ВДЕ иако је постављен на један пре него што операција онемогућавања почне.
У наредна четири циклуса такта упишите логичку 0 у ВДЕ. Ово онемогућава Ватцхдог.
У безбедносном нивоу 2, није могуће онемогућити Ватцхдог Тимер, чак ни са горе описаним алгоритмом. Види “Временске секвенце за промену конфигурације Ватцхдог тајмера” на страни 43.
У нивоу безбедности 1, ВДЕ је замењен од стране ВДРФ у МЦУСР. Видите “МЦУСР – МЦУ статусни регистар” на страни 44 за опис ВДРФ-а. То значи да је ВДЕ увек подешен када је ВДРФ подешен. Да бисте обрисали ВДЕ, ВДРФ мора бити обрисан пре него што онемогућите Ватцхдог горе описаном процедуром. Ова функција обезбеђује вишеструка ресетовања током услова који узрокују квар и безбедно покретање након квара.
Напомена: Ако се ватцхдог тајмер неће користити у апликацији, важно је да прођете кроз процедуру за онемогућавање чувара при иницијализацији уређаја. Ако је Ватцхдог случајно омогућен, нпрampако показивач у бекству или стање нестане, уређај ће бити ресетован, што ће заузврат довести до новог ресетовања чувара. Да би се избегла ова ситуација, апликативни софтвер увек треба да обрише ознаку ВДРФ и ВДЕ контролни бит у рутини иницијализације.
Битови 5, 2:0 – ВДП[3:0]: Ватцхдог тајмер предскалер 3, 2, 1 и 0
ВДП[3:0] битови одређују предскалирање Ватцхдог тајмера када је Ватцхдог тајмер омогућен. Приказане су различите вредности претходног скалирања и њихови одговарајући временски периоди Табела 8-3.
Табела 8-3. Ватцхдог Тимер Пресцале Селецт
ВДП3 | ВДП2 | ВДП1 | ВДП0 | Број циклуса ВДТ осцилатора | Типично време истека на ВЦЦ = 5.0В |
0 | 0 | 0 | 0 | 2К (2048) циклуса | 16 мс |
0 | 0 | 0 | 1 | 4К (4096) циклуса | 32 мс |
0 | 0 | 1 | 0 | 8К (8192) циклуса | 64 мс |
0 | 0 | 1 | 1 | 16К (16384) циклуса | 0.125 с |
0 | 1 | 0 | 0 | 32К (32764) циклуса | 0.25 с |
0 | 1 | 0 | 1 | 64К (65536) циклуса | 0.5 с |
0 | 1 | 1 | 0 | 128К (131072) циклуса | 1.0 с |
0 | 1 | 1 | 1 | 256К (262144) циклуса | 2.0 с |
1 | 0 | 0 | 0 | 512К (524288) циклуса | 4.0 с |
1 | 0 | 0 | 1 | 1024К (1048576) циклуса | 8.0 с |
Табела 8-3. Одабир прескалања Ватцхдог тајмера (наставак)
ВДП3 | ВДП2 | ВДП1 | ВДП0 | Број циклуса ВДТ осцилатора | Типично време истека на ВЦЦ = 5.0В |
1 | 0 | 1 | 0 | Резервисано(1) | |
1 | 0 | 1 | 1 | ||
1 | 1 | 0 | 0 | ||
1 | 1 | 0 | 1 | ||
1 | 1 | 1 | 0 | ||
1 | 1 | 1 | 1 |
Напомена: 1. Ако је изабрано, користиће се једно од важећих подешавања испод 0б1010.
Прекиди
Овај одељак описује специфичности руковања прекидима као што је изведено у АТтини25/45/85. За опште објашњење руковања АВР прекидима, погледајте „Ресетовање и руковање прекидима“ на страни 12.
Вектори прекида у АТтини25/45/85
Вектори прекида АТтини25/45/85 су описани у Табела 9-1испод.
Табела 9-1. Ресетовање и прекид вектора
Вектор бр. | Адреса програма | Извор | Дефиниција прекида |
1 | 0к0000 | РЕСЕТ | Екстерни пин, ресетовање по укључењу, ресетовање забрављивања, ресетовање чувара |
2 | 0к0001 | ИНТ0 | Захтев за спољни прекид 0 |
3 | 0к0002 | ПЦИНТ0 | Захтев за прекидом промене пинова 0 |
4 | 0к0003 | ТИМЕР1_ЦОМПА | Тајмер/бројач1 Упореди Подударање А |
5 | 0к0004 | ТИМЕР1_ОВФ | Тимер/Цоунтер1 Оверфлов |
6 | 0к0005 | ТИМЕР0_ОВФ | Тимер/Цоунтер0 Оверфлов |
7 | 0к0006 | ЕЕ_РДИ | ЕЕПРОМ спреман |
8 | 0к0007 | АНА_ЦОМП | Аналог Цомпаратор |
9 | 0к0008 | АДЦ | АДЦ конверзија је завршена |
10 | 0к0009 | ТИМЕР1_ЦОМПБ | Тајмер/бројач1 Упореди Упаривање Б |
11 | 0к000А | ТИМЕР0_ЦОМПА | Тајмер/бројач0 Упореди Подударање А |
12 | КСНУМКСкКСНУМКСБ | ТИМЕР0_ЦОМПБ | Тајмер/бројач0 Упореди Упаривање Б |
13 | 0к000Ц | ВДТ | Ватцхдог Тиме-оут |
14 | 0к000Д | УСИ_СТАРТ | УСИ СТАРТ |
15 | 0к000Е | УСИ_ОВФ | УСИ Оверфлов |
Ако програм никада не омогући извор прекида, вектори прекида се не користе, а обичан програмски код се може поставити на ове локације.
Типично и опште подешавање за адресе вектора прекида у АТтини25/45/85 приказано је у програму нпр.ampле испод.
Монтажни кодекс прample | ||
.орг 0к0000 | ;Подесите адресу следећег | изјава |
рјмп РЕСЕТ | ; Адреса 0к0000 | |
рјмп ИНТ0_ИСР | ; Адреса 0к0001 | |
рјмп ПЦИНТ0_ИСР | ; Адреса 0к0002 | |
рјмп ТИМ1_ЦОМПА_ИСР | ; Адреса 0к0003 | |
рјмп ТИМ1_ОВФ_ИСР | ; Адреса 0к0004 | |
рјмп ТИМ0_ОВФ_ИСР | ; Адреса 0к0005 | |
рјмп ЕЕ_РДИ_ИСР | ; Адреса 0к0006 | |
рјмп АНА_ЦОМП_ИСР | ; Адреса 0к0007 | |
рјмп АДЦ_ИСР | ; Адреса 0к0008 | |
рјмп ТИМ1_ЦОМПБ_ИСР | ; Адреса 0к0009 | |
рјмп ТИМ0_ЦОМПА_ИСР | ; Адреса 0к000А | |
рјмп ТИМ0_ЦОМПБ_ИСР | ; Адреса 0к000Б | |
рјмп ВДТ_ИСР | ; Адреса 0к000Ц | |
рјмп УСИ_СТАРТ_ИСР | ; Адреса 0к000Д | |
рјмп УСИ_ОВФ_ИСР | ; Адреса 0к000Е | |
РЕСЕТОВАТИ: | ; Почетак главног програма | |
; Адреса 0к000Ф | ||
… |
Напомена: види „Прampлес” на страни 6.
Екстерни прекиди
Екстерне прекиде покреће пин ИНТ0 или било који од пинова ПЦИНТ[5:0]. Обратите пажњу на то да ће се, ако је омогућено, прекиди покренути чак и ако су пинови ИНТ0 или ПЦИНТ[5:0] конфигурисани као излази. Ова функција пружа начин генерисања софтверског прекида. Промена пинова прекида ПЦИ ће се покренути ако се било који омогућени ПЦИНТ[5:0] пин промени. ПЦМСК регистар контролише који пинови доприносе прекидима промене пинова. Прекиди промене пинова на ПЦИНТ[5:0] се детектују асинхроно. Ово имплицира да се ови прекиди могу користити за буђење дела такође из режима мировања који није режим мировања.
ИНТ0 прекиди могу бити изазвани опадајућом или растућом ивицом или ниским нивоом. Ово је подешено како је назначено у спецификацији за МЦУ контролни регистар – МЦУЦР. Када је ИНТ0 прекид омогућен и конфигурисан као активиран нивоом, прекид ће се покренути све док се пин држи ниско. Имајте на уму да препознавање прекида на опадајућој или растућој ивици на ИНТ0 захтева присуство И/О сата, описаног у „Сатовни системи и њихова дистрибуција“ на страна 23.
Прекид ниског нивоа
Прекид ниског нивоа на ИНТ0 детектује се асинхроно. Ово имплицира да се овај прекид може користити за буђење дела такође из режима мировања који није режим мировања. И/О сат се зауставља у свим режимима мировања осим у пасивном режиму.
Имајте на уму да ако се прекид изазван нивоом користи за буђење након гашења напајања, потребни ниво мора да се задржи довољно дуго да МЦУ заврши буђење да би покренуо прекид нивоа. Ако ниво нестане пре истека времена покретања, МЦУ ће се и даље пробудити, али неће бити генерисан прекид. Време покретања је дефинисано СУТ и ЦКСЕЛ осигурачима као што је описано у “Системски сат и опције сата” на страни 23.
Ако се низак ниво на пин-у за прекид уклони пре него што се уређај пробуди, извршавање програма неће бити преусмерено на рутину услуге прекида, већ ће се наставити од инструкције која следи команду СЛЕЕП.
Пин Цханге Интеррупт Тиминг
Бившиampприказано је време прекида промене пинова Слика 9-1.
Опис регистра
МЦУЦР – МЦУ контролни регистар
Регистар екстерне контроле прекида А садржи контролне битове за контролу чула прекида.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к35 | БОДС | ПУД | SE | СМ1 | СМ0 | БОДСЕ | ИСЦКСНУМКС | ИСЦКСНУМКС | МЦУЦР |
Реад/Врите | R | Р/В | Р/В | Р/В | Р/В | R | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Битови 1:0 – ИСЦ0[1:0]: Контрола чула прекида 0 Бит 1 и Бит 0
Екстерни прекид 0 се активира екстерним пином ИНТ0 ако су постављени СРЕГ И-заставица и одговарајућа маска прекида. Ниво и ивице на екстерном ИНТ0 пину који активирају прекид су дефинисани у Табела 9-2. Вредност на пину ИНТ0 је сampводио пре откривања ивица. Ако се изабере прекид на ивици или прекидач, импулси који трају дуже од једног периода такта ће генерисати прекид. Није гарантовано да ће краћи импулси генерисати прекид. Ако је одабран прекид ниског нивоа, ниски ниво се мора задржати до завршетка инструкције која се тренутно извршава да би се генерисао прекид.
Табела 9-2. Интеррупт 0 Сенсе Цонтрол
ИСЦКСНУМКС | ИСЦКСНУМКС | Опис |
0 | 0 | Низак ниво ИНТ0 генерише захтев за прекид. |
0 | 1 | Свака логичка промена на ИНТ0 генерише захтев за прекид. |
1 | 0 | Пада ивица ИНТ0 генерише захтев за прекид. |
1 | 1 | Растућа ивица ИНТ0 генерише захтев за прекид. |
ГИМСК – Регистар маски општег прекида
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
КСНУМКСкКСНУМКСБ | – | ИНТ0 | ПЦИЕ | – | – | – | – | – | ГИМСК |
Реад/Врите | R | Р/В | Р/В | R | R | R | R | R | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Битови 7, 4:0 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Бит 6 – ИНТ0: Омогућен захтев за екстерним прекидом 0
Када је ИНТ0 бит постављен (један) и И-бит у статусном регистру (СРЕГ) постављен (један), екстерни пин прекид је омогућен. Битови 0/1 контроле чула прекида прекида (ИСЦ0 и ИСЦ01) у МЦУ контролном регистру (МЦУЦР) дефинишу да ли се екстерни прекид активира на растућој и/или опадајућој ивици ИНТ00 пина или детектованог нивоа. Активност на пину ће изазвати захтев за прекид чак и ако је ИНТ0 конфигурисан као излаз. Одговарајући прекид захтева екстерног прекида 0 се извршава из ИНТ0 вектора прекида.
Бит 5 – ПЦИЕ: Омогућен прекид промене пинова
Када је ПЦИЕ бит постављен (један) и И-бит у статусном регистру (СРЕГ) постављен (један), прекид промене пинова је омогућен. Свака промена на било ком омогућеном ПЦИНТ[5:0] пину ће изазвати прекид. Одговарајући прекид захтева за прекидом промене пина се извршава из ПЦИ вектора прекида. ПЦИНТ[5:0] пинови су омогућени појединачно помоћу ПЦМСК0 регистра.
ГИФР – Регистар заставице општег прекида
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к3А | – | ИНТФ0 | ПЦИФ | – | – | – | – | – | ГИФР |
Реад/Врите | R | Р/В | Р/В | R | R | R | R | R | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Битови 7, 4:0 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Бит 6 – ИНТФ0: Ознака екстерног прекида 0
Када промена ивице или логике на ИНТ0 пину покрене захтев за прекидом, ИНТФ0 постаје подешен (један). Ако су И-бит у СРЕГ и ИНТ0 бит у ГИМСК постављени (један), МЦУ ће скочити на одговарајући вектор прекида. Ознака се брише када се изврши рутина прекида. Алтернативно, заставицу можете обрисати тако што ћете јој написати логичку. Ова заставица се увек брише када је ИНТ0 конфигурисан као прекид нивоа.
Бит 5 – ПЦИФ: Ознака прекида промене пинова
Када промена логике на било ком пину ПЦИНТ[5:0] покрене захтев за прекидом, ПЦИФ постаје подешен (један). Ако су И-бит у СРЕГ и ПЦИЕ бит у ГИМСК постављени (један), МЦУ ће скочити на одговарајући вектор прекида. Ознака се брише када се изврши рутина прекида. Алтернативно, заставицу можете обрисати тако што ћете јој написати логичку.
ПЦМСК – Пин Цханге Маск Регистер
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к15 | – | – | ПЦИНТ5 | ПЦИНТ4 | ПЦИНТ3 | ПЦИНТ2 | ПЦИНТ1 | ПЦИНТ0 | ПЦМСК |
Реад/Врите | R | R | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Битови 7:6 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Битови 5:0 – ПЦИНТ[5:0]: Маска за омогућавање промене пинова 5:0
Сваки ПЦИНТ[5:0] бит бира да ли је прекид промене пина омогућен на одговарајућем И/О пину. Ако је ПЦИНТ[5:0] подешен и ПЦИЕ бит у ГИМСК подешен, прекид промене пина је омогућен на одговарајућем И/О пину. Ако је ПЦИНТ[5:0] обрисан, прекид промене пина на одговарајућем И/О пину је онемогућен.
И/О портови
Увод
Сви АВР портови имају истинску функцију Реад-Модифи-Врите када се користе као општи дигитални И/О портови. То значи да се смер једног пина порта може променити без ненамерне промене смера било ког другог пина помоћу СБИ и ЦБИ инструкција. Исто важи и за промену вредности погона (ако је конфигурисан као излаз) или омогућавање/онемогућавање пулл-уп отпорника (ако је конфигурисано као улаз). Сваки излазни бафер има симетричне карактеристике погона са високим капацитетом понора и извора. Пин драјвер је довољно јак да директно покреће ЛЕД екране. Сви пинови порта имају индивидуално бирање пулл-уп отпорника са запремином напајањаtagе непроменљиви отпор. Сви И/О пинови имају заштитне диоде за ВЦЦ и уземљење као што је назначено у Слика 10-1. Погледајте “Електричне карактеристике” на страни 161 за комплетну листу параметара.
Слика 10-1. Шема еквивалентног И/О пина
Сви регистри и референце битова у овом одељку су написани у општем облику. Мало слово “к” представља нумерационо слово за порт, а мало “н” представља број бита. Међутим, када се користи регистар или дефиниција бита у програму, мора се користити прецизан облик. Фор екampле, ПОРТБ3 за бит бр. 3 у порту Б, овде документовано генерално као ПОРТкн. Физички И/О регистри и локације битова су наведени у „Опис регистра“ је укључен страна 64.
Три И/О меморијске адресе су додељене за сваки порт, по једна за регистар података – ПОРТк, регистар смера података – ДДРк и пинове за улаз порта – ПИНк. И/О локација улазних пинова порта је само за читање, док се регистар података и регистар праваца података читају/уписују. Међутим, уписивање логичке јединице у бит у ПИНк регистру, резултираће променом одговарајућег бита у регистру података. Поред тога, Пулл-уп Дисабле – ПУД бит у МЦУЦР онемогућава функцију повлачења за све пинове на свим портовима када је подешена.
Коришћење И/О порта као Генерал Дигитал И/О је описано у “Портови као општи дигитални И/О” на страници 53. Већина пинова порта је мултиплексирана са алтернативним функцијама за периферне функције на уређају. Како свака алтернативна функција омета пин порта је описано у “Функције алтернативног порта” на страници 57. Погледајте појединачне одељке модула за потпуни опис алтернативних функција.
Имајте на уму да омогућавање алтернативне функције неких пинова порта не утиче на употребу других пинова у порту као општих дигиталних И/О.
Портови као Генерал Дигитал И/О
Портови су двосмерни И/О портови са опционим унутрашњим повлачењем. Слика 10-2 приказује функционални опис једног пина И/О порта, који се овде генерално назива Пкн.
Слика 10-2. Генерал Дигитал И/О(1)
Конфигурисање пина
Сваки пин порта се састоји од три регистарска бита: ДДкн, ПОРТкн и ПИНкн. Као што је приказано у „Опис регистра“ је укључен страна 64, ДДкн битовима се приступа на ДДРк И/О адреси, ПОРТкн битовима на ПОРТк И/О адреси и ПИНкн битовима на ПИНк И/О адреси.
ДДкн бит у ДДРк регистру бира смер овог пина. Ако је ДДкн написан логички један, Пкн је конфигурисан као излазни пин. Ако је ДДкн написана логичка нула, Пкн је конфигурисан као улазни пин.
Ако је ПОРТкн написан логички један када је пин конфигурисан као улазни пин, активира се пулл-уп отпорник. Да бисте искључили пулл-уп отпорник, ПОРТкн мора бити уписана логичка нула или пин мора бити конфигурисан као излазни пин. Пинови порта су троструки када стање ресетовања постане активно, чак и ако часовници не раде.
Ако је ПОРТкн написан логички један када је пин конфигурисан као излазни пин, пин порта се покреће високо (један). Ако је ПОРТкн написана као логичка нула када је пин конфигурисан као излазни пин, пин порта се покреће ниско (нула).
Пребацивање пина
Писањем логичке јединице у ПИНкн мења се вредност ПОРТкн, независно од вредности ДДРкн. Имајте на уму да се СБИ инструкција може користити за пребацивање једног бита у порту.
Пребацивање између улаза и излаза
Када прелазите између три стања ({ДДкн, ПОРТкн} = 0б00) и излазног високог ({ДДкн, ПОРТкн} = 0б11), средње стање са омогућеним повлачењем {ДДкн, ПОРТкн} = 0б01) или ниским излазом ({ДДкн, ПОРТкн} = 0б10) мора се појавити. Нормално, стање омогућено за повлачење је потпуно прихватљиво, пошто окружење са високим импедантом неће приметити разлику између снажног високог драјвера и повлачења. Ако то није случај, ПУД бит у МЦУЦР регистру се може подесити да онемогућује сва повлачења на свим портовима.
Пребацивање између улаза са повлачењем и ниским излазом генерише исти проблем. Корисник мора да користи или три-стање ({ДДкн, ПОРТкн} = 0б00) или излазно високо стање ({ДДкн, ПОРТкн} = 0б10) као међукорак.
Табела 10-1 сумира контролне сигнале за вредност пина.
Табела 10-1. Конфигурације пинова порта
ДДкн | ПОРТкн | ПУД
(у МЦУЦР) |
И/О | Пулл-уп | Коментар |
0 | 0 | X | Инпут | бр | Три-стате (Хи-З) |
0 | 1 | 0 | Инпут | Да | Пкн ће извор струје ако екст. повукао ниско. |
0 | 1 | 1 | Инпут | бр | Три-стате (Хи-З) |
1 | 0 | X | Излаз | бр | Низак излаз (умиваоник) |
1 | 1 | X | Излаз | бр | Излаз висок (извор) |
Читање вредности пина
Независно од подешавања бита смера података ДДкн, пин порта се може прочитати преко бита регистра ПИНкн. Као што је приказано у Слика 10-2, бит ПИНкн регистра и претходни реза чине синхронизатор. Ово је потребно да би се избегла метастабилност ако физички пин промени вредност близу ивице унутрашњег сата, али такође уводи кашњење. Слика 10-3 приказује временски дијаграм синхронизације при читању екстерно примењене вредности пина. Максимална и минимална кашњења пропагације су означена као тпд,мак и тпд,мин респективно.
Узмите у обзир период такта који почиње убрзо након прве падајуће ивице системског сата. Засун је затворен када је сат низак и постаје транспарентан када је сат висок, као што је означено осенченим регионом сигнала „СИНЦ ЛАТЦХ“. Вредност сигнала се закључава када системски сат падне низак. Уписује се у ПИНкн регистар на следећој позитивној ивици такта. Као што показују две стрелице тпд,мак и тпд,мин, један прелаз сигнала на пину ће бити одложен између ½ и 1½ периода системског такта у зависности од времена тврдње.
Приликом читања софтверу додељене вредности пина, мора се уметнути инструкција ноп као што је назначено у Слика 10-4. Инструкција излаза поставља сигнал “СИНЦ ЛАТЦХ” на позитивну ивицу сата. У овом случају, кашњење тпд кроз синхронизатор је један период системског такта.
Следећи код нпрampле показује како да поставите пинове порта Б 0 и 1 високо, 2 и 3 ниско и дефинишете пинове порта од 4 до 5 као улаз са повлачењем додељеним пину 4. Добијене вредности пинова се поново читају, али као што је раније дискутовано, укључена је инструкција ноп да би се могла прочитати вредност недавно додељена неким од пинова.
Монтажни кодекс прample(1) |
…
; Дефинишите згибове и поставите високе резултате ; Дефинишите упутства за пинове порта ldi r16,(1<<PB4)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) оут ПОРТБ,р16 ван ДДРБ,р17 ; Убаците ноп за синхронизацију ноп ; Прочитајте портове у р16,ПИНБ … |
Напомена: За програм састављања, два привремена регистра се користе за минимизирање времена од повлачења који се постављају на пинове 0, 1 и 4, док се битови смера не поставе исправно, дефинишући бит 2 и 3 као ниске и редефинишући битове 0 и 1 као јаки високи возачи.
Ц код прample |
унсигнед цхар и;
… /* Дефинишите повлачења и поставите високе резултате */ /* Дефинишите упутства за пинове порта */ ПОРТБ = (1< DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0); /* Убаци ноп за синхронизацију*/ _НОП(); /* Читање пинова порта */ и = ПИНБ; … |
Омогућавање дигиталног улаза и режим мировања
Као што је приказано у Слика 10-2, дигитални улазни сигнал може бити цлampед на уземљење на улазу сцхмитт-окидача. Сигнал означен СЛЕЕП на слици, подешава МЦУ Слееп Цонтроллер у Повер-довн моду да би се избегао велика потрошња енергије ако неки улазни сигнали остану плутајући или имају ниво аналогног сигнала близу ВЦЦ/2.
СЛЕЕП је поништен за пинове порта који су омогућени као екстерни прекидни пинови. Ако спољни захтев за прекид није омогућен, СЛЕЕП је активан и за ове пинове. СЛЕЕП је такође замењен разним другим алтернативним функцијама као што је описано у “Функције алтернативног порта” на страници 57.
Ако је логички високи ниво („један“) присутан на асинхроном екстерном прекидном пину конфигурисаном као „Прекид на растућој ивици, опадајућој ивици или било којој логичкој промени на пину“ док спољни прекид није омогућен, одговарајућа заставица екстерног прекида ће се подеси када се наставља из горе поменутог режима спавања, као цлampстављање у овај режим спавања производи тражену логичку промену.
Унцоннецтед Пинс
Ако су неке игле неискоришћене, препоручује се да обезбедите да ове игле имају дефинисан ниво. Иако је већина дигиталних улаза онемогућена у режимима дубоког спавања као што је горе описано, треба избегавати плутајуће улазе да би се смањила потрошња струје у свим другим режимима у којима су дигитални улази омогућени (Ресетовање, Активни режим и Режим мировања).
Најједноставнији метод да се обезбеди дефинисани ниво неискоришћене игле је да се омогући унутрашње повлачење. У овом случају, повлачење ће бити онемогућено током ресетовања. Ако је мала потрошња енергије током ресетовања важна, препоручује се коришћење екстерног пулл-уп или пуллдовн. Повезивање неискоришћених пинова директно на ВЦЦ или ГНД се не препоручује, јер то може изазвати превелике струје ако се пин случајно конфигурише као излаз.
Алтернативне функције порта
Већина пинова порта има алтернативне функције поред тога што су општи дигитални И/О. Слика 10-5 показује како пин порта управља сигналима из поједностављеног Слика 10-2 могу се заменити алтернативним функцијама. Сигнали надјачавања можда нису присутни у свим пиновима порта, али слика служи као генерички опис применљив на све пинове порта у породици АВР микроконтролера.
Табела 10-2. Генерички опис надјачавајућих сигнала за алтернативне функције
Назив сигнала | Пуно име | Опис |
ПУОЕ | Пулл-уп Оверриде Енабле | Ако је овај сигнал подешен, омогућавање повлачења се контролише ПУОВ сигналом. Ако је овај сигнал обрисан, повлачење је омогућено када
{ДДкн, ПОРТкн, ПУД} = 0б010. |
ПУОВ | Пулл-уп Оверриде Валуе | Ако је ПУОЕ подешен, повлачење је омогућено/онемогућено када је ПУОВ подешен/обрисан, без обзира на подешавање битова ДДкн, ПОРТкн и ПУД регистра. |
ДДОЕ | Дата Дирецтион Оверриде Енабле | Ако је овај сигнал подешен, Омогућавање излазног драјвера контролише ДДОВ сигнал. Ако је овај сигнал обрисан, излазни драјвер је омогућен битом ДДкн регистра. |
ДДОВ | Дата Дирецтион Оверриде Валуе | Ако је ДДОЕ подешен, излазни драјвер је омогућен/онемогућен када је ДДОВ подешен/обрисан, без обзира на поставку бита регистра ДДкн. |
ПВОЕ | Омогући замену вредности порта | Ако је овај сигнал подешен и излазни драјвер је омогућен, вредност порта се контролише помоћу ПВОВ сигнала. Ако је ПВОЕ обрисан, а излазни драјвер је омогућен, вредност порта се контролише помоћу бита регистра ПОРТкн. |
ПВОВ | Порт Валуе Оверриде Валуе | Ако је ПВОЕ подешен, вредност порта је подешена на ПВОВ, без обзира на поставку бита регистра ПОРТкн. |
ПТОЕ | Порт Тоггле Оверриде Енабле | Ако је ПТОЕ подешен, бит регистра ПОРТкн се инвертује. |
ДИЕОЕ | Дигитални улаз Енабле Оверриде Енабле | Ако је овај бит постављен, Омогућавање дигиталног улаза контролише ДИЕОВ сигнал. Ако је овај сигнал обрисан, Омогућавање дигиталног улаза је одређено МЦУ стањем (Нормални режим, режим мировања). |
ДИЕОВ | Дигитал Инпут Енабле Оверриде Валуе | Ако је ДИЕОЕ подешен, дигитални улаз је омогућен/онемогућен када је ДИЕОВ подешен/обрисан, без обзира на стање МЦУ (Нормални режим, режим мировања). |
DI | Дигитални улаз | Ово је дигитални улаз за алтернативне функције. На слици је сигнал повезан са излазом сцхмитт-окидача али пре синхронизатора. Осим ако се дигитални улаз не користи као извор такта, модул са алтернативном функцијом ће користити сопствени синхронизатор. |
АИО | Аналогни улаз / излаз | Ово је аналогни улаз/излаз за/из алтернативних функција. Сигнал је повезан директно са подлогом и може се користити двосмерно. |
Следећи пододељци укратко описују алтернативне функције за сваки порт и повезују сигнале који надјачавају са алтернативном функцијом. Погледајте опис алтернативне функције за више детаља.
Алтернативне функције порта Б
Пинови порта Б са алтернативном функцијом су приказани Табела 10-3.
Табела 10-3. Алтернативне функције пинова порта Б
Порт Пин | Алтернативна функција |
ПБ5 | ![]() РЕСЕТ: Ресетујте Пин дВ: дебугВИРЕ И/О АДЦ0: АДЦ улазни канал 0 ПЦИНТ5: прекид промене пинова, извор 5 |
ПБ4 | КСТАЛ2: Излаз кристалног осцилатора ЦЛКО: Излаз системског такта АДЦ2: АДЦ улазни канал 2
ОЦ1Б: Тимер/Цоунтер1 Цомпаре Матцх Б Излаз ПЦИНТ4: Пин Цханге Интеррупт 0, Соурце 4 |
ПБ3 | КСТАЛ1: Улаз кристалног осцилатора ЦЛКИ: Улаз екстерног такта АДЦ3: АДЦ улазни канал 3
ОЦ1Б: комплементарни тајмер/бројач1 упореди подударање Б Излаз ПЦИНТ3: прекид промене пинова 0, извор 3 |
ПБ2 | СЦК: Улаз серијског сата АДЦ1: АДЦ улазни канал 1
Т0: Тајмер/бројач0 извор сата УСЦК: УСИ сат (трижични режим) СЦЛ : УСИ сат (двожични режим) ИНТ0: спољни прекид 0 Улаз ПЦИНТ2: прекид промене пинова 0, извор 2 |
ПБ1 | МИСО: СПИ Мастер Дата Инпут / Славе Дата Оутпут АИН1: Аналогни компаратор, Негативе Инпут ОЦ0Б: Тајмер/Цоунтер0 Цомпаре Матцх Б Излаз ОЦ1А: Тајмер/Цоунтер1 Цомпаре Матцх А Оутпут ДО: УСИ излаз података (Тхрее Вире Моде) ПЦИНТ1: Пин Цханге Интеррупт 0, извор 1 |
ПБ0 | МОСИ:: СПИ главни излаз података / славе улаз података АИН0: аналогни компаратор, позитиван улаз
ОЦ0А: Тајмер/бројач0 Упореди Матцх А излаз ОЦ1А: комплементарни тајмер/бројач1 упореди упаривање А излаз ДИ: УСИ унос података (трижични режим) СДА: УСИ унос података (двожични режим) АРЕФ: екстерна аналогна референца ПЦИНТ0: прекид промене пинова 0, извор 0 |
Порт Б, Бит 5 – РЕСЕТ/дВ/АДЦ0/ПЦИНТ5
РЕСЕТ: Екстерни улаз за ресетовање је активан ниско и омогућен је депрограмирањем (“1”) РСТДИСБЛ осигурача. Пуллуп је активиран, а излазни драјвер и дигитални улаз су деактивирани када се пин користи као РЕСЕТ пин.
дВ: Када је осигурач дебугВИРЕ Енабле (ДВЕН) програмиран, а битови закључавања нису програмирани, дебугВИРЕ систем унутар циљног уређаја се активира. Пин РЕСЕТ порта је конфигурисан као двосмерни И/О пин са жицом И (опен-драин) са омогућеним пулл-уп и постаје комуникациони пролаз између циља и емулатора.
АДЦ0: Аналогно-дигитални претварач, канал 0.
ПЦИНТ5: Извор прекида промене пинова 5.
Порт Б, Бит 4 – КСТАЛ2/ЦЛКО/АДЦ2/ОЦ1Б/ПЦИНТ4
КСТАЛ2: Пин 2 осцилатора чипа. Користи се као пин такта за све изворе такта чипа осим интерног калибрираног РЦ осцилатора и екстерног такта. Када се користи као пин сата, пин се не може користити као И/О пин. Када се користи интерни калибрирани РЦ осцилатор или екстерни сат као извор такта чипа, ПБ4 служи као обичан И/О пин.
ЦЛКО: Подељени системски сат се може извести на пин ПБ4. Подељени системски сат ће бити излаз ако је ЦКОУТ осигурач програмиран, без обзира на подешавања ПОРТБ4 и ДДБ4. Такође ће бити излаз током ресетовања.
АДЦ2: Аналогно-дигитални претварач, канал 2.
ОЦ1Б: Оутпут Цомпаре Матцх излаз: ПБ4 пин може послужити као екстерни излаз за Тимер/Цоунтер1 Цомпаре Матцх Б када је конфигурисан као излаз (ДДБ4 сет). Пин ОЦ1Б је такође излазни пин за функцију тајмера ПВМ режима.
ПЦИНТ4: Извор прекида промене пинова 4.
Порт Б, Бит 3 – КСТАЛ1/ЦЛКИ/АДЦ3/ОЦ1Б/ПЦИНТ3
КСТАЛ1: Пин 1 осцилатора чипа. Користи се за све изворе такта чипа осим интерног калибрираног РЦ осцилатора. Када се користи као пин за сат, пин се не може користити као И/О пин.
ЦЛКИ: Улаз сата са екстерног извора такта, види „Спољни сат” на страни 26.
АДЦ3: Аналогно-дигитални претварач, канал 3.
ОЦ1Б: Инвертовани излаз упоредног подударања излаза: ПБ3 пин може послужити као екстерни излаз за тајмер/бројач1 упоређивање подударања Б када је конфигурисан као излаз (ДДБ3 сет). Пин ОЦ1Б је такође инверзни излазни пин за функцију тајмера ПВМ режима.
ПЦИНТ3: Извор прекида промене пинова 3.
Порт Б, Бит 2 – СЦК/АДЦ1/Т0/УСЦК/СЦЛ/ИНТ0/ПЦИНТ2
СЦК: излаз главног сата, улазни пин славе сата за СПИ канал. Када је СПИ омогућен као Славе, овај пин је конфигурисан као улаз без обзира на поставку ДДБ2. Када је СПИ омогућен као главни, смер података овог пина контролише ДДПБ2. Када је пин приморан од стране СПИ да буде улаз, повлачење и даље може да се контролише помоћу ПОРТБ2 бита.
АДЦ1: Аналогно-дигитални претварач, канал 1.
Т0: Тајмер/бројач0 извор бројача.
УСЦК: Сат са универзалним серијским интерфејсом у три жице.
СЦЛ: Двожични режим Серијски сат за УСИ двожични режим.
ИНТ0: Спољни извор прекида 0.
ПЦИНТ2: Извор прекида промене пинова 2.
Порт Б, Бит 1 – МИСО/АИН1/ОЦ0Б/ОЦ1А/ДО/ПЦИНТ1
МИСО: Улаз главних података, излазни пин славе података за СПИ канал. Када је СПИ омогућен као главни, овај пин је конфигурисан као улаз без обзира на поставку ДДБ1. Када је СПИ омогућен као Славе, смер података овог пина контролише ДДБ1. Када је пин приморан од стране СПИ да буде улаз, повлачење и даље може да се контролише помоћу ПОРТБ1 бита.
АИН1: Негативни улаз аналогног компаратора. Конфигуришите пин порта као улаз са искљученим унутрашњим повлачењем како бисте избегли да функција дигиталног порта омета функцију аналогног компаратора.
ОЦ0Б: Оутпут Цомпаре Матцх оутпут. Пин ПБ1 може послужити као екстерни излаз за тајмер/бројач0 упоређивање подударања Б. ПБ1 пин мора бити конфигурисан као излаз (ДДБ1 сет (један)) да би служио овој функцији. Пин ОЦ0Б је такође излазни пин за функцију тајмера ПВМ режима.
ОЦ1А: Оутпут Цомпаре Матцх излаз: ПБ1 пин може послужити као екстерни излаз за Тимер/Цоунтер1 Цомпаре Матцх Б када је конфигурисан као излаз (ДДБ1 сет). Пин ОЦ1А је такође излазни пин за функцију тајмера ПВМ режима.
ДО: Излаз података универзалног серијског интерфејса у трожичном режиму. Трожични начин рада Излаз података надјачава вредност ПОРТБ1 и преноси се на порт када се постави бит ДДБ1 смера података (један). ПОРТБ1 и даље омогућава повлачење, ако је смер унет и ПОРТБ1 је подешен (један).
ПЦИНТ1: Извор прекида промене пинова 1.
Порт Б, Бит 0 – МОСИ/АИН0/ОЦ0А/ОЦ1А/ДИ/СДА/АРЕФ/ПЦИНТ0
МОСИ: СПИ излаз мастер података, улаз славе података за СПИ канал. Када је СПИ омогућен као Славе, овај пин је конфигурисан као улаз без обзира на поставку ДДБ0. Када је СПИ омогућен као главни, смер података овог пина контролише ДДБ0. Када је пин приморан од стране СПИ да буде улаз, повлачење и даље може да се контролише помоћу ПОРТБ0 бита.
АИН0: Позитиван улаз аналогног компаратора. Конфигуришите пин порта као улаз са искљученим унутрашњим повлачењем како бисте избегли да функција дигиталног порта омета функцију аналогног компаратора.
ОЦ0А: Оутпут Цомпаре Матцх оутпут. Пин ПБ0 може послужити као екстерни излаз за тајмер/бројач0 упоређивање подударања А када је конфигурисан као излаз (ДДБ0 сет (један)). Пин ОЦ0А је такође излазни пин за функцију тајмера ПВМ режима.
ОЦ1А: Инвертовани излаз упоредног подударања излаза: ПБ0 пин може послужити као екстерни излаз за тајмер/бројач1 упоређивање подударања Б када је конфигурисан као излаз (ДДБ0 сет). Пин ОЦ1А је такође обрнути излазни пин за функцију тајмера ПВМ режима.
СДА: Подаци о серијском интерфејсу у двожичном режиму.
АРЕФ: Екстерна аналогна референца за АДЦ. Драјвер за повлачење и излаз су онемогућени на ПБ0 када се пин користи као спољна референца или интерни Волtagе Референца са екстерним кондензатором на АРЕФ пину.
ДИ: Унос података у трожилном УСИ режиму. УСИ трожични режим не замењује нормалне функције порта, тако да пин мора бити конфигурисан као улаз за ДИ функцију.
ПЦИНТ0: Извор прекида промене пинова 0.
Табела 10-4 и Табела 10-5 повежите алтернативне функције порта Б са надређеним сигналима приказаним на Слика 10-5 на страна 58.
Табела 10-4. Надјачавање сигнала за алтернативне функције у ПБ[5:3]
Назив сигнала | ПБ5/РЕСЕТ/АДЦ0/ПЦИНТ5 | PB4/ADC2/XTAL2/ OC1B/PCINT4 | PB3/ADC3/XTAL1/ OC1B/PCINT3 |
ПУОЕ | ![]() |
0 | 0 |
ПУОВ | 1 | 0 | 0 |
ДДОЕ | РСТДИСБЛ(1) • ДВЕН(1) | 0 | 0 |
ДДОВ | дебугВире Трансмит | 0 | 0 |
ПВОЕ | 0 | ОЦ1Б Енабле | ![]() ОЦ1Б Енабле |
ПВОВ | 0 | ОЦ1Б | ОЦ1Б |
ПТОЕ | 0 | 0 | 0 |
ДИЕОЕ | ![]() РСТДИСБЛ(1) + (ПЦИНТ5 • ПЦИЕ + АДЦ0Д) |
ПЦИНТ4 • ПЦИЕ + АДЦ2Д | ПЦИНТ3 • ПЦИЕ + АДЦ3Д |
ДИЕОВ | АДЦ0Д | АДЦ2Д | АДЦ3Д |
DI | ПЦИНТ5 Улаз | ПЦИНТ4 Улаз | ПЦИНТ3 Улаз |
АИО | РЕСЕТ улаз, АДЦ0 улаз | АДЦ2 Инпут | АДЦ3 Инпут |
Напомена: када је осигурач „0“ (програмиран).
Табела 10-5. Надјачавање сигнала за алтернативне функције у ПБ[2:0]
Назив сигнала | PB2/SCK/ADC1/T0/ USCK/SCL/INT0/PCINT2 | PB1/MISO/DO/AIN1/ OC1A/OC0B/PCINT1 | ПБ0/МОСИ/ДИ/СДА/АИН0/АР ЕФ/ОЦ1А/ОЦ0А/
ПЦИНТ0 |
ПУОЕ | УСИ_ТВО_ВИРЕ | 0 | УСИ_ТВО_ВИРЕ |
ПУОВ | 0 | 0 | 0 |
ДДОЕ | УСИ_ТВО_ВИРЕ | 0 | УСИ_ТВО_ВИРЕ |
ДДОВ | (УСИ_СЦЛ_ХОЛД + ПОРТБ2) • ДДБ2 | 0 | ![]() ![]() (СДА + ПОРТБ0) • ДДБ0 |
ПВОЕ | УСИ_ТВО_ВИРЕ • ДДБ2 | ОЦ0Б Енабле + ОЦ1А Енабле + УСИ_ТХРЕЕ_ВИРЕ | ![]() ОЦ0А Омогући + ОЦ1А Омогући + (УСИ_ТВО_ВИРЕ ДДБ0) |
ПВОВ | 0 | ОЦ0Б + ОЦ1А + ДО | ![]() ОЦ0А + ОЦ1А |
ПТОЕ | УСИТЦ | 0 | 0 |
ДИЕОЕ | ПЦИНТ2 • ПЦИЕ + АДЦ1Д + УСИСИЕ | ПЦИНТ1 • ПЦИЕ + АИН1Д | ПЦИНТ0 • ПЦИЕ + АИН0Д + УСИСИЕ |
ДИЕОВ | АДЦ1Д | АИН1Д | АИН0Д |
DI | Т0/УСЦК/СЦЛ/ИНТ0/
ПЦИНТ2 Улаз |
ПЦИНТ1 Улаз | ДИ/СДА/ПЦИНТ0 улаз |
АИО | АДЦ1 Инпут | Негативни улаз аналогног компаратора | Позитиван улаз аналогног компаратора |
Опис регистра
МЦУЦР – МЦУ контролни регистар
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к35 | БОДС | ПУД | SE | СМ1 | СМ0 | БОДСЕ | ИСЦКСНУМКС | ИСЦКСНУМКС | МЦУЦР |
Реад/Врите | R | Р/В | Р/В | Р/В | Р/В | R | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Бит 6 – ПУД: Повлачење искључено
Када је овај бит уписан у један, подизања у И/О портовима су онемогућена чак и ако су регистри ДДкн и ПОРТкн конфигурисани да омогуће повлачење ({ДДкн, ПОРТкн} = 0б01). Видите “Конфигурисање пина” на страни 54 за више детаља о овој функцији.
ПОРТБ – Регистар података порта Б
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к18 | – | – | ПОРТБ5 | ПОРТБ4 | ПОРТБ3 | ПОРТБ2 | ПОРТБ1 | ПОРТБ0 | ПОРТБ |
Реад/Врите | R | R | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ДДРБ – Регистар праваца података порта Б
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к17 | – | – | ДДБ5 | ДДБ4 | ДДБ3 | ДДБ2 | ДДБ1 | ДДБ0 | ДДРБ |
Реад/Врите | R | R | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ПИНБ – Адреса улазних пинова порта Б
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0к16 | – | – | ПИНБ5 | ПИНБ4 | ПИНБ3 | ПИНБ2 | ПИНБ1 | ПИНБ0 | ПИНБ |
Реад/Врите | R | R | Р/В | Р/В | Р/В | Р/В | Р/В | Р/В | |
Почетна вредност | 0 | 0 | Н/А | Н/А | Н/А | Н/А | Н/А | Н/А |
8-битни тајмер/бројач0 са ПВМ
Карактеристике
Две независне јединице за поређење излаза
Доубле Буфферед Оутпут Цомпаре Регистрс
Обриши тајмер при упоредном подударању (аутоматско поновно учитавање)
Модулатор ширине импулса без грешака, фазно исправан (ПВМ)
Променљиви ПВМ период
Генератор фреквенције
Три независна извора прекида (ТОВ0, ОЦФ0А и ОЦФ0Б)
Готовоview
Тајмер/бројач0 је 8-битни модул за тајмер/бројач опште намене, са две независне јединице за поређење излаза и са подршком за ПВМ. Омогућава тачно време извршавања програма (управљање догађајима) и генерисање таласа.
Приказан је поједностављени блок дијаграм 8-битног тајмера/бројача Слика 11-1. За стварно постављање И/О пинова, погледајте „Пиноут АТтини25/45/85” на страни 2. У/И регистри доступни ЦПУ-у, укључујући И/О битове и И/О пинове, приказани су подебљаним словима. У/И регистар специфичан за уређај и локације битова су наведене у “Опис регистра” на страни 77.
Тајмер/бројач (ТЦНТ0) и регистри за поређење излаза (ОЦР0А и ОЦР0Б) су 8-битни регистри. Сви сигнали захтева за прекид (скраћено од Инт.Рек. на слици) су видљиви у регистру заставице прекида тајмера (ТИФР). Сви прекиди су појединачно маскирани регистром маске прекида тајмера (ТИМСК). ТИФР и ТИМСК нису приказани на слици.
Тајмер/бројач се може тактовати интерно, преко предскалера, или екстерним извором такта на Т0 пину. Логички блок Цлоцк Селецт контролише који извор такта и ивицу тајмер/бројач користи да повећа (или смањи) своју вредност. Тајмер/бројач је неактиван када није изабран извор сата. Излаз из логике избора сата се назива сат тајмера (цлкТ0).
Двоструки баферовани регистри за поређење излаза (ОЦР0А и ОЦР0Б) се увек пореде са вредношћу тајмера/бројача. Генератор таласних облика може да користи резултат поређења да генерише ПВМ или излаз променљиве фреквенције на пиновима за поређење излаза (ОЦ0А и ОЦ0Б). Погледајте “Јединица за поређење излаза” на страни 69. за детаље. Догађај Цомпаре Матцх ће такође поставити ознаку за упоређивање (ОЦФ0А или ОЦФ0Б) која се може користити за генерисање захтева за прекид упоређивања излаза.
Дефиниције
Многе референце на регистре и битове у овом одељку су написане у општем облику. Мало слово “н” замењује број тајмера/бројача, у овом случају 0. Мало слово “к” замењује јединицу за поређење излаза, у овом случају упоредну јединицу А или јединицу за упоређивање Б. Међутим, када се користи регистар или бит дефинише у програму се мора користити прецизан облик, тј. ТЦНТ0 за приступ вредности бројача Тимер/Цоунтер0 и тако даље.
Дефиниције у Табела 11-1 се такође интензивно користе у целом документу.
Табела 11-1. Дефиниције
Константно | Опис |
БОТТОМ | Бројач достиже ДНО када постане 0к00 |
МАКС | Бројач достиже свој МАКСимум када постане 0кФФ (децимално 255) |
ТОП | Бројач достиже ТОП када постане једнак највишој вредности у низу бројања. ТОП вредности се може доделити да буде фиксна вредност 0кФФ (МАКС) или вредност сачувана у ОЦР0А регистру. Додељивање зависи од начина рада |
Тајмер/бројач предскалер и извори сата
Тајмер/бројач се може тактовати помоћу унутрашњег или екстерног извора такта. Извор такта се бира логиком одабира сата која се контролише помоћу битова за одабир сата (ц) који се налазе у контролном регистру тајмера/бројача 0 (ТЦЦР0Б).
Интерни извор такта са прескалером
Тајмер/бројач0 се може тактовати директно од системског сата (подешавањем ЦС0[2:0] = 1). Ово обезбеђује најбржи рад, са максималном фреквенцијом такта тајмера/бројчаника једнаком фреквенцији системског такта (фЦЛК_И/О). Алтернативно, један од четири славина из предскалера може се користити као извор такта. Унапред скалирани сат има фреквенцију од било које
Ресетовање предскалера
Прескалер је слободан, тј. ради независно од логике избора сата за тајмер/бројач0. Пошто на предскалер не утиче избор сата тајмера/бројача, стање предскалера ће имати импликације за ситуације у којима се користи унапред скалирани сат. Један бившиampЛе артефакта предскаларирања је када је тајмер/бројач омогућен и тактован од стране предскалера (6 > ЦС0[2:0] > 1). Број циклуса системског такта од тренутка када је тајмер омогућен до првог бројања може бити од 1 до Н+1 циклуса системског такта, где је Н једнако делиоцу предскалера (8, 64, 256 или 1024).
Могуће је користити Пресцалер Ресет за синхронизацију тајмера/бројача са извршавањем програма.
Спољни извор сата
Спољни извор такта примењен на Т0 пин може се користити као тајмер/бројач такта (цлкТ0). Пин Т0 је сampвођен једном у сваком циклусу системског такта помоћу логике пин синхронизације. Синхронизовани (сampлед) сигнал се затим пропушта
кроз детектор ивица. Слика 11-2 приказује функционални еквивалентни блок дијаграм Т0 синхронизације и логике детектора ивица. Регистри се тактирају на позитивној ивици унутрашњег такта система (цлкИ/О). Засун је транспарентан у високом периоду унутрашњег системског сата.
Детектор ивице генерише један цлкТ0 импулс за сваку позитивну (ЦС0[2:0] = 7) или негативну (ЦС0[2:0] = 6) ивицу коју детектује.
ОЦР0к регистри су двоструко баферовани када се користи било који од режима пулсне ширине (ПВМ). За нормалне и Цлеар Тимер он Цомпаре (ЦТЦ) режиме рада, двоструко баферовање је онемогућено. Двоструко баферовање синхронизује ажурирање регистара за поређење ОЦР0к на врх или на дно низа бројања. Синхронизација спречава појаву несиметричних ПВМ импулса непарне дужине, чинећи тако излаз без грешака.
Приступ ОЦР0к регистру може изгледати сложено, али то није случај. Када је двоструко баферовање омогућено, ЦПУ има приступ регистру бафера ОЦР0к, а ако је двоструко баферовање онемогућено, ЦПУ ће директно приступити ОЦР0к.
Форце Оутпут Цомпаре
У не-ПВМ режимима генерисања таласног облика, излазни излаз компаратора може бити форсиран уписивањем јединице у биту Форце Оутпут Цомпаре (ФОЦ0к). Форцинг Цомпаре Матцх неће поставити ОЦФ0к заставицу или поново учитати/обрисати тајмер, али ће ОЦ0к пин бити ажуриран као да је дошло до стварног подударања (ЦОМ0к[1:0] подешавања битова дефинишу да ли је ОЦ0к пин постављен, обрисан или укључено).
Упоредите блокирање подударања од стране ТЦНТ0 Врите
Све ЦПУ операције уписивања у ТЦНТ0 регистар ће блокирати било које подударање поређења које се догоди у следећем циклусу такта тајмера, чак и када је тајмер заустављен. Ова функција омогућава да се ОЦР0к иницијализује на исту вредност као ТЦНТ0 без окидања прекида када је сат тајмера/бројача омогућен.
Коришћење јединице за поређење излаза
Пошто ће писање ТЦНТ0 у било ком режиму рада блокирати сва подударања поређења за један циклус такта тајмера, постоје ризици при промени ТЦНТ0 када се користи излазна јединица за поређење, независно од тога да ли је тајмер/бројач покренут или не. Ако је вредност записана у ТЦНТ0 једнака вредности ОЦР0к, Цомпаре Матцх ће бити пропуштено, што ће резултирати нетачним генерисањем таласног облика. Слично томе, немојте писати вредност ТЦНТ0 једнаку БОТТОМ када бројач броји наниже.
Подешавање ОЦ0к треба да се изврши пре подешавања регистра смера података за пин порта за излаз. Најлакши начин за подешавање ОЦ0к вредности је коришћење битова стробоскопа Форце Оутпут Цомпаре (ФОЦ0к) у нормалном режиму. ОЦ0к регистри задржавају своје вредности чак и када се мењају између режима генерисања таласног облика.
Имајте на уму да ЦОМ0к[1:0] битови нису двоструко баферовани заједно са вредношћу за поређење. Промена ЦОМ0к[1:0] битова ступа на снагу одмах.
Упоредите излазну јединицу за подударање
Битови режима за поређење излаза (ЦОМ0к[1:0]) имају две функције. Генератор таласних облика користи ЦОМ0к[1:0] битове за дефинисање стања поређења излаза (ОЦ0к) при следећем упоређивању. Такође, ЦОМ0к[1:0] битови контролишу излазни извор пина ОЦ0к. Слика 11-6 приказује поједностављену шему логике на коју утиче подешавање бита ЦОМ0к[1:0]. И/О регистри, У/И битови и И/О пинови на слици су приказани подебљаним словима. Приказани су само делови општих контролних регистара И/О порта (ДДР и ПОРТ) на које утичу ЦОМ0к[1:0] битови. Када се односи на стање ОЦ0к, референца је за интерни регистар ОЦ0к, а не за пин ОЦ0к. Ако дође до ресетовања система, ОЦ0к регистар се ресетује на „0“.
Када је ОЦ0А/ОЦ0Б повезан на И/О пин, функција битова ЦОМ0А[1:0]/ЦОМ0Б[1:0] зависи од подешавања бита ВГМ0[2:0]. Табела 11-2 приказује функционалност бита ЦОМ0к[1:0] када су ВГМ0[2:0] битови постављени на нормалан или ЦТЦ режим (не-ПВМ).
Табела 11-2. Упоредите излазни режим, не-ПВМ режим
ЦОМ0А1 ЦОМ0Б1 | ЦОМ0А0 ЦОМ0Б0 | Опис |
0 | 0 | Нормалан рад порта, ОЦ0А/ОЦ0Б искључен. |
0 | 1 | Укључите ОЦ0А/ОЦ0Б на упоредни меч |
1 | 0 | Обришите ОЦ0А/ОЦ0Б на упоредном подударању |
1 | 1 | Подесите ОЦ0А/ОЦ0Б на Цомпаре Матцх |
Табела 11-3 приказује функционалност бита ЦОМ0к[1:0] када су ВГМ0[2:0] битови постављени на брзи ПВМ режим.
Табела 11-3. Упоредите излазни режим, брзи ПВМ режим(1)
ЦОМ0А1 ЦОМ0Б1 | ЦОМ0А0 ЦОМ0Б0 | Опис |
0 | 0 | Нормалан рад порта, ОЦ0А/ОЦ0Б искључен. |
0 | 1 | Резервисано |
1 | 0 | Обришите ОЦ0А/ОЦ0Б на упоредном подударању, поставите ОЦ0А/ОЦ0Б на ДНО (режим без инвертовања) |
1 | 1 | Подесите ОЦ0А/ОЦ0Б на Цомпаре Матцх, обришите ОЦ0А/ОЦ0Б на ДНУ (режим инвертовања) |
Напомена: Посебан случај се јавља када је ОЦР0А или ОЦР0Б једнак ТОП и ЦОМ0А1/ЦОМ0Б1 је постављен. У овом случају, поређење се занемарује, али се сет или брисање обавља на ДНУ. Видите “Брзи ПВМ режим” на страни 73 за више детаља.
Табела 11-4 приказује функционалност бита ЦОМ0к[1:0] када су ВГМ0[2:0] битови подешени на фазно исправан ПВМ режим.
Табела 11-4. Упоредите излазни режим, ПВМ режим за корекцију фазе(1)
ЦОМ0А1 ЦОМ0Б1 | ЦОМ0А0 ЦОМ0Б0 | Опис |
0 | 0 | Нормалан рад порта, ОЦ0А/ОЦ0Б искључен. |
0 | 1 | Резервисано |
1 | 0 | Обришите ОЦ0А/ОЦ0Б на упоредном подударању приликом бројања. Подесите ОЦ0А/ОЦ0Б на Цомпаре Матцх приликом одбројавања. |
1 | 1 | Подесите ОЦ0А/ОЦ0Б на Цомпаре Матцх при пребројавању. Обришите ОЦ0А/ОЦ0Б на упоредном подударању приликом одбројавања. |
Напомена: 1. Посебан случај се јавља када је ОЦР0А или ОЦР0Б једнак ТОП и ЦОМ0А1/ЦОМ0Б1 је постављен. У овом случају, Цомпаре Матцх се занемарује, али се сет или брисање обавља на ТОП. Видите “Пхасе Цоррецт ПВМ режим” на страници 74 за више детаља.
Битови 3:2 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Битови 1:0 – ВГМ0[1:0]: Режим генерисања таласног облика
У комбинацији са ВГМ02 битом који се налази у ТЦЦР0Б регистру, ови битови контролишу секвенцу бројања бројача, извор за максималну (ТОП) вредност бројача и који тип генерисања таласног облика ће се користити, види Табела 11-5. Режими рада које подржава јединица тајмер/бројач су: нормалан режим (бројач), режим брисања тајмера при упоредном подударању (ЦТЦ) и два типа режима пулсне ширине (ПВМ) (погледајте "Режими рада" на страни 71).
Табела 11-5. Опис бита режима генерисања таласног облика
Режим | ВГМ 02 | ВГМ 01 | ВГМ 00 | Режим рада тајмера/бројача | ТОП | Ажурирање ОЦРк на | ТОВ Флаг Сет он |
0 | 0 | 0 | 0 | Нормално | 0кФФ | Одмах | МАКС(1) |
1 | 0 | 0 | 1 | ПВМ, исправна фаза | 0кФФ | ТОП | БОТТОМ(2) |
2 | 0 | 1 | 0 | ЦТЦ | ОЦРА | Одмах | МАКС(1) |
3 | 0 | 1 | 1 | Фаст ПВМ | 0кФФ | БОТТОМ(2) | МАКС(1) |
4 | 1 | 0 | 0 | Резервисано | – | – | – |
5 | 1 | 0 | 1 | ПВМ, исправна фаза | ОЦРА | ТОП | БОТТОМ(2) |
6 | 1 | 1 | 0 | Резервисано | – | – | – |
7 | 1 | 1 | 1 | Фаст ПВМ | ОЦРА | БОТТОМ(2) | ТОП |
Бит 7 – ФОЦ0А: Форс Оутпут Цомпаре А
ФОЦ0А бит је активан само када ВГМ битови специфицирају не-ПВМ режим.
Међутим, да би се обезбедила компатибилност са будућим уређајима, овај бит мора бити постављен на нулу када је ТЦЦР0Б уписан када ради у ПВМ режиму. Приликом писања логичког у ФОЦ0А бит, тренутно се упореди подударање намеће јединици за генерисање таласног облика. ОЦ0А излаз се мења у складу са поставком битова ЦОМ0А[1:0]. Имајте на уму да је бит ФОЦ0А имплементиран као строб. Стога је вредност присутна у ЦОМ0А[1:0] битовима та која одређује ефекат принудног поређења.
ФОЦ0А строб неће генерисати никакав прекид, нити ће обрисати тајмер у ЦТЦ режиму користећи ОЦР0А као ТОП. ФОЦ0А бит се увек чита као нула.
Бит 6 – ФОЦ0Б: Форс Оутпут Цомпаре Б
ФОЦ0Б бит је активан само када ВГМ битови специфицирају не-ПВМ режим.
Међутим, да би се обезбедила компатибилност са будућим уређајима, овај бит мора бити постављен на нулу када је ТЦЦР0Б уписан када ради у ПВМ режиму. Приликом писања логичке јединице у ФОЦ0Б бит, тренутно се упореди подударање намеће јединици за генерисање таласног облика. ОЦ0Б излаз се мења у складу са поставком битова ЦОМ0Б[1:0]. Имајте на уму да је бит ФОЦ0Б имплементиран као строб. Стога је вредност присутна у ЦОМ0Б[1:0] битовима та која одређује ефекат принудног поређења.
ФОЦ0Б строб неће генерисати никакав прекид, нити ће обрисати тајмер у ЦТЦ режиму користећи ОЦР0Б као ТОП.
ФОЦ0Б бит се увек чита као нула.
Битови 5:4 – Рес: резервисани битови
Ови битови су резервисани битови у АТтини25/45/85 и увек ће се читати као нула.
Бит 3 – ВГМ02: Режим генерисања таласног облика
Погледајте опис у “ТЦЦР0А – Регистар контроле тајмера/бројача А” на страни 77.
Битови 2:0 – ЦС0[2:0]: Избор сата
Три бита за одабир сата бирају извор такта који ће користити тајмер/бројач.
Табела 11-6. Сат Изаберите Бит Опис
ЦС02 | ЦС01 | ЦС00 | Опис |
0 | 0 | 0 | Нема извора сата (тајмер/бројач заустављен) |
0 | 0 | 1 | цлкИ/О/(без претходног скалирања) |
0 | 1 | 0 | цлкИ/О/8 (са предскалера) |
0 | 1 | 1 | цлкИ/О/64 (са предскалера) |
1 | 0 | 0 | цлкИ/О/256 (са предскалера) |
1 | 0 | 1 | цлкИ/О/1024 (са предскалера) |
1 | 1 | 0 | Спољни извор такта на Т0 пину. Сат на опадајућој ивици. |
1 | 1 | 1 | Спољни извор такта на Т0 пину. Сат на растућој ивици. |
Ако се екстерни пин режими користе за тајмер/бројач0, прелази на Т0 пину ће тактирати бројач чак и ако је пин конфигурисан као излаз. Ова функција омогућава софтверску контролу бројања.
Бројање и упоређивање јединица
Општи рад Тимер/Цоунтер1 је описан у асинхроном режиму, а рад у синхроном режиму се помиње само ако постоје разлике између ова два режима. Слика 12-2 приказује блок дијаграм регистра синхронизације Тимер/Цоунтер 1 и кашњења синхронизације између регистара. Имајте на уму да сви детаљи о гајтању сата нису приказани на слици. Вредности регистра Тимер/Цоунтер1 пролазе кроз унутрашње регистре синхронизације, који изазивају кашњење синхронизације улаза, пре него што утичу на рад бројача. Регистри ТЦЦР1, ГТЦЦР, ОЦР1А, ОЦР1Б и ОЦР1Ц могу се читати назад одмах након уписивања регистра. Повратне вредности су одложене за регистар тајмера/бројача1 (ТЦНТ1) и заставице (ОЦФ1А, ОЦФ1Б и ТОВ1), због синхронизације улаза и излаза.
Тајмер/бројач1 има високу резолуцију и високу употребу прецизности са нижим могућностима претходног скалирања. Такође може да подржи два прецизна, брза, 8-битна модулатора ширине импулса који користе брзину такта до 64 МХз (или 32 МХз у режиму мале брзине). У овом режиму, Тимер/Цоунтер1 и регистри за поређење излаза служе као двоструки самостални ПВМ-ови са не-преклапајућим неинвертованим и инвертованим излазима. Погледајте страна 86 за детаљан опис ове функције. Слично томе, велике могућности претходног скалирања чине ову јединицу корисном за функције ниже брзине или функције тачног времена са ретким радњама.
Слика 12-2. Блок дијаграм регистра синхронизације тајмера/бројача 1.
Тајмер/бројач1 и предскалер омогућавају покретање ЦПУ-а из било ког извора такта док предскалер ради на брзом ПЦК такту од 64 МХз (или 32 МХз у режиму ниске брзине) у асинхроном режиму.
Имајте на уму да фреквенција системског такта мора бити нижа од једне трећине фреквенције ПЦК-а. Механизам синхронизације асинхроног Тајмера/Брача1 захтева најмање две ивице ПЦК-а када је системски сат висок. Ако је фреквенција системског сата превисока, постоји ризик од губитка података или контролних вредности.
Следеће Слика 12-3 приказује блок дијаграм за тајмер/бројач1.
Табела 12-1. Цомпаре Моде Изаберите у ПВМ режиму
ЦОМ1к1 | ЦОМ1к0 | Утицај на излазне упоредне пинове |
0 | 0 | ОЦ1к није повезан. ОЦ1к није повезан. |
0 | 1 | ОЦ1к је обрисан при упоредном мечу. Подесите када ТЦНТ1 = $00. ОЦ1к постављен на упоредни меч. Брише се када је ТЦНТ1 = 00 УСД. |
1 | 0 | ОЦ1к је обрисан при упоредном мечу. Подесите када је ТЦНТ1 = 00 УСД. ОЦ1к није повезан. |
1 | 1 | ОЦ1к Подесите на упоредни меч. Брише се када је ТЦНТ1= 00 УСД. ОЦ1к није повезан. |
Карактеристике АДЦ-а
Табела 21-8. Карактеристике АДЦ-а, једноструки канали. ТА = -40°Ц до +85°Ц
Симбол | Параметар | Стање | Мин | Тип | Макс | Јединице |
Резолуција | 10 | Битс | ||||
Апсолутна прецизност (укључујући грешке ИНЛ, ДНЛ и квантизације, појачања и померања) | ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 200 кХз |
2 | ЛСБ | |||
ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 1 МХз |
3 | ЛСБ | ||||
ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 200 кХз Режим смањења шума |
1.5 | ЛСБ | ||||
ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 1 МХз Режим смањења шума |
2.5 | ЛСБ | ||||
Интегрална нелинеарност (ИНЛ) (тачност након калибрације помака и појачања) | ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 200 кХз |
1 | ЛСБ | |||
Диференцијална нелинеарност (ДНЛ) | ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 200 кХз |
0.5 | ЛСБ | |||
Добити грешку | ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 200 кХз |
2.5 | ЛСБ | |||
Оффсет Еррор | ВРЕФ = 4В, ВЦЦ = 4В,
АДЦ такт = 200 кХз |
1.5 | ЛСБ | |||
Време конверзије | Фрее Руннинг Цонверсион | 14 | 280 | µс | ||
Фреквенција сата | 50 | 1000 | кХз | |||
ВИН | Улазни волtage | ГНД | ВРЕФ | V | ||
Улазна ширина опсега | 38.4 | кХз | ||||
АРЕФ | Ектернал Референце Волtage | 2.0 | ВЦЦ | V | ||
ВИНТ | Интернал Волtagе Референца | 1.0 | 1.1 | 1.2 | V | |
Интерна 2.56В референца (1) | ВЦЦ > 3.0В | 2.3 | 2.56 | 2.8 | V | |
РРЕФ | 32 | кΩ | ||||
КИША | Аналогни улазни отпор | 100 | МΩ | |||
АДЦ излаз | 0 | 1023 | ЛСБ |
Напомена: 1. Вредности су само смернице.
Табела 21-9. Карактеристике АДЦ-а, диференцијални канали (униполарни режим). ТА = -40°Ц до +85°Ц
Симбол | Параметар | Стање | Мин | Тип | Макс | Јединице |
Резолуција | Добитак = 1к | 10 | Битс | |||
Добитак = 20к | 10 | Битс | ||||
Апсолутна тачност (укључујући ИНЛ, ДНЛ и
Грешке квантизације, појачања и померања) |
Добитак = 1к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
10.0 | ЛСБ | |||
Добитак = 20к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
20.0 | ЛСБ | ||||
Интегрална нелинеарност (ИНЛ) (прецизност након калибрације помака и појачања) | Добитак = 1к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
4.0 | ЛСБ | |||
Добитак = 20к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
10.0 | ЛСБ | ||||
Добити грешку | Добитак = 1к | 10.0 | ЛСБ | |||
Добитак = 20к | 15.0 | ЛСБ | ||||
Оффсет Еррор | Добитак = 1к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
3.0 | ЛСБ | |||
Добитак = 20к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
4.0 | ЛСБ | ||||
Време конверзије | Фрее Руннинг Цонверсион | 70 | 280 | µс | ||
Фреквенција сата | 50 | 200 | кХз | |||
ВИН | Улазни волtage | ГНД | ВЦЦ | V | ||
ВДИФФ | Инпут Дифферентиал Волtage | ВРЕФ/Гаин | V | |||
Улазна ширина опсега | 4 | кХз | ||||
АРЕФ | Ектернал Референце Волtage | 2.0 | ВЦЦ – 1.0 | V | ||
ВИНТ | Интернал Волtagе Референца | 1.0 | 1.1 | 1.2 | V | |
Интерна 2.56В референца (1) | ВЦЦ > 3.0В | 2.3 | 2.56 | 2.8 | V | |
РРЕФ | Референтни улазни отпор | 32 | кΩ | |||
КИША | Аналогни улазни отпор | 100 | МΩ | |||
АДЦ конверзијски излаз | 0 | 1023 | ЛСБ |
Напомена: Вредности су само смернице.
Табела 21-10. Карактеристике АДЦ-а, диференцијални канали (биполарни режим). ТА = -40°Ц до +85°Ц
Симбол | Параметар | Стање | Мин | Тип | Макс | Јединице |
Резолуција | Добитак = 1к | 10 | Битс | |||
Добитак = 20к | 10 | Битс | ||||
Апсолутна тачност (укључујући ИНЛ, ДНЛ и
Грешке квантизације, појачања и померања) |
Добитак = 1к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
8.0 | ЛСБ | |||
Добитак = 20к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
8.0 | ЛСБ | ||||
Интегрална нелинеарност (ИНЛ) (прецизност након калибрације помака и појачања) | Добитак = 1к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
4.0 | ЛСБ | |||
Добитак = 20к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
5.0 | ЛСБ | ||||
Добити грешку | Добитак = 1к | 4.0 | ЛСБ | |||
Добитак = 20к | 5.0 | ЛСБ | ||||
Оффсет Еррор | Добитак = 1к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
3.0 | ЛСБ | |||
Добитак = 20к
ВРЕФ = 4В, ВЦЦ = 5В АДЦ такт = 50 – 200 кХз |
4.0 | ЛСБ | ||||
Време конверзије | Фрее Руннинг Цонверсион | 70 | 280 | µс | ||
Фреквенција сата | 50 | 200 | кХз | |||
ВИН | Улазни волtage | ГНД | ВЦЦ | V | ||
ВДИФФ | Инпут Дифферентиал Волtage | ВРЕФ/Гаин | V | |||
Улазна ширина опсега | 4 | кХз | ||||
АРЕФ | Ектернал Референце Волtage | 2.0 | ВЦЦ – 1.0 | V | ||
ВИНТ | Интернал Волtagе Референца | 1.0 | 1.1 | 1.2 | V | |
Интерна 2.56В референца (1) | ВЦЦ > 3.0В | 2.3 | 2.56 | 2.8 | V | |
РРЕФ | Референтни улазни отпор | 32 | кΩ | |||
КИША | Аналогни улазни отпор | 100 | МΩ | |||
АДЦ конверзијски излаз | -512 | 511 | ЛСБ |
Резиме скупа упутстава
Мнемотехника | Операнди | Опис | Операција | Заставе | #Сатови |
АРИТМЕТИЧКЕ И ЛОГИЧКЕ УПУТЕ | |||||
АДД | Рд, Рр | Додајте два регистра | Рд ← Рд + Рр | З, Ц, Н, В, Х. | 1 |
АДЦ | Рд, Рр | Додајте са Царри два регистра | Рд ← Рд + Рр + Ц | З, Ц, Н, В, Х. | 1 |
АДИВ | Рдл,К | Додајте Иммедиате у Ворд | Рдх:Рдл ← Рдх:Рдл + К | З,Ц,Н,В,С | 2 |
СУБ | Рд, Рр | Одузми два регистра | Рд ← Рд – Рр | З, Ц, Н, В, Х. | 1 |
СУБИ | Рд, К. | Одузми константу из Регистра | Рд ← Рд – К | З, Ц, Н, В, Х. | 1 |
СБЦ | Рд, Рр | Одузми са Царри два регистра | Рд ← Рд – Рр – Ц | З, Ц, Н, В, Х. | 1 |
СБЦИ | Рд, К. | Одузми Царри Цонстант из Рег. | Рд ← Рд – К – Ц | З, Ц, Н, В, Х. | 1 |
СБИВ | Рдл,К | Одузмите Непосредно од Ворд-а | Рдх:Рдл ← Рдх:Рдл – К | З,Ц,Н,В,С | 2 |
И | Рд, Рр | Логички И регистри | Рд ← Рд ∙ Рр | З, Н, В. | 1 |
АНДИ | Рд, К. | Логично И Региструј се и Стално | Рд ← Рд ∙ К | З, Н, В. | 1 |
OR | Рд, Рр | Логички ИЛИ регистри | Рд ← Рд в Рр | З, Н, В. | 1 |
ОРИ | Рд, К. | Логичан ИЛИ Регистрован и константан | Рд ← Рд в К | З, Н, В. | 1 |
ЕОР | Рд, Рр | Ексклузивни ИЛИ регистри | Рд ← Рд ⊕ Рр | З, Н, В. | 1 |
ЦОМ | Rd | Оне'с Цомплемент | Рд ← 0кФФ − Рд | З, Ц, Н, В. | 1 |
НЕГ | Rd | Допуна двојке | Рд ← 0к00 − Рд | З, Ц, Н, В, Х. | 1 |
СБР | Рд, К. | Подесите бит (ове) у Региструјте се | Рд ← Рд в К | З, Н, В. | 1 |
ЦБР | Рд, К. | Очистите бит (ове) у Региструјте се | Рд ← Рд ∙ (0кФФ – К) | З, Н, В. | 1 |
ИНЦ | Rd | Повећање | Рд ← Рд + 1 | З, Н, В. | 1 |
ДЕЦ | Rd | Декремент | Рд ← Рд − 1 | З, Н, В. | 1 |
теста | Rd | Тест за нулу или минус | Рд ← Рд ∙ Рд | З, Н, В. | 1 |
ЦЛР | Rd | Обриши регистар | Рд ← Рд ⊕ Рд | З, Н, В. | 1 |
СЕР | Rd | Постави регистар | Рд ← 0кФФ | Ниједан | 1 |
УПУТСТВО ЗА ФИЛИЈАЛУ | |||||
РЈМП | k | Релативни скок | ПЦ ← ПЦ + к + 1 | Ниједан | 2 |
ИЈМП | Индиректни скок на (З) | ПЦ ← З | Ниједан | 2 | |
ПОЗОВИТЕ | k | Релативни позив потпрограма | ПЦ ← ПЦ + к + 1 | Ниједан | 3 |
ИЦАЛЛ | Индиректни позив на (З) | ПЦ ← З | Ниједан | 3 | |
РЕТ | Повратак потпрограма | ПЦ ← СТАЦК | Ниједан | 4 | |
РЕТИ | Повратак прекида | ПЦ ← СТАЦК | I | 4 | |
ЦПСЕ | Рд, Рр | Упоредите, прескочите ако је једнако | ако је (Рд = Рр) ПЦ ← ПЦ + 2 или 3 | Ниједан | 1/2/3 |
CP | Рд, Рр | Упоредите | Рд − Рр | З, Н, В, Ц, Х. | 1 |
цена по клику | Рд, Рр | Упоредите са Царри | Рд − Рр − Ц | З, Н, В, Ц, Х. | 1 |
ЦПИ | Рд, К. | Упоредите регистрацију са непосредном | Рд − К | З, Н, В, Ц, Х. | 1 |
СБРЦ | Рр, б | Прескочи ако је бит у Регистру обрисан | ако је (Рр(б)=0) ПЦ ← ПЦ + 2 или 3 | Ниједан | 1/2/3 |
СБРС | Рр, б | Прескочи ако је постављено Бит ин Регистер | ако је (Рр(б)=1) ПЦ ← ПЦ + 2 или 3 | Ниједан | 1/2/3 |
СБИЦ | П, б | Прескочи ако је избрисан бит у И / О регистру | ако је (П(б)=0) ПЦ ← ПЦ + 2 или 3 | Ниједан | 1/2/3 |
СБИС | П, б | Прескочи ако је постављено Бит ин И / О Регистер | ако је (П(б)=1) ПЦ ← ПЦ + 2 или 3 | Ниједан | 1/2/3 |
БРБС | с, к | Грана ако је постављена застава статуса | ако је (СРЕГ(с) = 1) онда ПЦ←ПЦ+к + 1 | Ниједан | 1/2 |
БРБЦ | с, к | Подружница ако је ознака статуса избрисана | ако је (СРЕГ(с) = 0) онда ПЦ←ПЦ+к + 1 | Ниједан | 1/2 |
БРЕК | k | Грана ако је једнака | ако је (З = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРНЕ | k | Грана ако није једнака | ако је (З = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРЦС | k | Подружница ако носи сет | ако је (Ц = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРЦЦ | k | Подружница ако је Царри Цлеаринг | ако је (Ц = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРСХ | k | Подружница ако је иста или виша | ако је (Ц = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРЛО | k | Подружница ако је нижа | ако је (Ц = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРМИ | k | Подружница ако је минус | ако је (Н = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРПЛ | k | Подружница ако је плус | ако је (Н = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРГЕ | k | Подружница ако је већа или једнака, потписана | ако је (Н ⊕ В= 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРЛТ | k | Подружница ако је мања од нуле, потписана | ако је (Н ⊕ В= 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРХС | k | Грана ако је постављена заставица са пола носача | ако је (Х = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРХЦ | k | Подружница ако је ослобођена половина заставе | ако је (Х = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРТС | k | Грана ако је постављена заставица Т | ако је (Т = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРТЦ | k | Грана ако је Т заставица уклоњена | ако је (Т = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРВС | k | Грана ако је постављена заставица за преливање | ако је (В = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРВЦ | k | Разграничи се ако је обрисана заставица за преливање | ако је (В = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
БРИЕ | k | Грана ако је прекид омогућен | ако је ( И = 1) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
НЕВЕСТА | k | Подружница ако је прекид онемогућен | ако је ( И = 0) онда ПЦ ← ПЦ + к + 1 | Ниједан | 1/2 |
УПУТЕ ЗА БИТ И БИТ-ТЕСТ | |||||
СБИ | П, б | Подесите бит у И / О регистру | И/О(П,б) ← 1 | Ниједан | 2 |
ЦБИ | П, б | Обриши бит у И / О регистру | И/О(П,б) ← 0 | Ниједан | 2 |
ЛСЛ | Rd | Логички помак улево | Рд(н+1) ← Рд(н), Рд(0) ← 0 | З, Ц, Н, В. | 1 |
ЛСР | Rd | Логички помак удесно | Рд(н) ← Рд(н+1), Рд(7) ← 0 | З, Ц, Н, В. | 1 |
УЛОГА | Rd | Ротирајте лево кроз Царри | Рд(0)←Ц,Рд(н+1)← Рд(н),Ц←Рд(7) | З, Ц, Н, В. | 1 |
РОР | Rd | Ротирај десно кроз Царри | Рд(7)←Ц,Рд(н)← Рд(н+1),Ц←Рд(0) | З, Ц, Н, В. | 1 |
АСР | Rd | Аритметичко померање удесно | Рд(н) ← Рд(н+1), н=0..6 | З, Ц, Н, В. | 1 |
Мнемотехника | Операнди | Опис | Операција | Заставе | #Сатови |
СВАП | Rd | Замените грицкалице | Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) | Ниједан | 1 |
БСЕТ | s | Заставица постављена | СРЕГ(и) ← 1 | СРЕГ (с) | 1 |
БЦЛР | s | Флаг Цлеар | СРЕГ(и) ← 0 | СРЕГ (с) | 1 |
БСТ | Рр, б | Бит Сторе од Региструј до Т. | Т ← Рр(б) | T | 1 |
БЛД | Рд, б | Битно оптерећење од Т до Регистра | Рд(б) ← Т | Ниједан | 1 |
СЕЦ | Сет Царри | Ц ← 1 | C | 1 | |
ЦЛЦ | Цлеар Царри | Ц ← 0 | C | 1 | |
СЕН | Постави негативну заставицу | Н ← 1 | N | 1 | |
ЦЛН | Обриши негативну заставицу | Н ← 0 | N | 1 | |
СЕЗ | Поставите нулту заставицу | З ← 1 | Z | 1 | |
ЦЛЗ | Цлеар Зеро Флаг | З ← 0 | Z | 1 | |
СЕИ | Омогућавање глобалног прекида | И ← 1 | I | 1 | |
ЦЛИ | Онемогући глобални прекид | И ← 0 | I | 1 | |
СЕС | Поставите потписану тест заставицу | С ← 1 | S | 1 | |
ЦЛС | Очистите потписану тест заставицу | С ← 0 | S | 1 | |
СЕВ | Преливање комплемента два. | В ← 1 | V | 1 | |
ЦЛВ | Цлеар Цлеар Твос Цомплемент Оверфлов | В ← 0 | V | 1 | |
СЕТ | Поставите Т у СРЕГ | Т ← 1 | T | 1 | |
ЦЛТ | Ведро Т у СРЕГ | Т ← 0 | T | 1 | |
СЕХ | Поставите Халф Царри Флаг у СРЕГ | Х ← 1 | H | 1 | |
ЦЛХ | Очистите заставицу за пола ношења у СРЕГ-у | Х ← 0 | H | 1 | |
УПУТСТВО ЗА ПРЕНОС ПОДАТАКА | |||||
МОВ | Рд, Рр | Премештање између регистара | Рд ← Рр | Ниједан | 1 |
МОВВ | Рд, Рр | Копирај Реч регистра | Рд+1:Рд ← Рр+1:Рр | Ниједан | 1 |
ЛДИ | Рд, К. | Лоад Иммедиате | Рд ← К | Ниједан | 1 |
LD | Рд, Кс | Учитај индиректно | Рд ← (Кс) | Ниједан | 2 |
LD | Рд, Кс+ | Учитај Индиректно и Пост-Инц. | Рд ← (Кс), Кс ← Кс + 1 | Ниједан | 2 |
LD | Рд, – Кс | Учитај индиректно и пре-дец. | Кс ← Кс – 1, Рд ← (Кс) | Ниједан | 2 |
LD | Рд, И | Учитај индиректно | Рд ← (И) | Ниједан | 2 |
LD | Рд, И+ | Учитај Индиректно и Пост-Инц. | Рд ← (И), И ← И + 1 | Ниједан | 2 |
LD | Рд, – И | Учитај индиректно и пре-дец. | И ← И – 1, Рд ← (И) | Ниједан | 2 |
ЛДД | Рд,И+к | Индиректно оптерећење са померањем | Рд ← (И + к) | Ниједан | 2 |
LD | Рд, З | Учитај индиректно | Рд ← (З) | Ниједан | 2 |
LD | Рд, З+ | Учитај Индиректно и Пост-Инц. | Рд ← (З), З ← З+1 | Ниједан | 2 |
LD | Рд, -З | Учитај индиректно и пре-дец. | З ← З – 1, Рд ← (З) | Ниједан | 2 |
ЛДД | Рд, З+к | Индиректно оптерећење са померањем | Рд ← (З + к) | Ниједан | 2 |
ЛДС | Рд, к | Учитајте директно из СРАМ-а | Рд ← (к) | Ниједан | 2 |
ST | Кс, Рр | Сторе Индирецт | (Кс) ← Рр | Ниједан | 2 |
ST | Кс+, Рр | Сторе Индирецт и Пост-Инц. | (Кс) ← Рр, Кс ← Кс + 1 | Ниједан | 2 |
ST | – Кс, Рр | Чувајте индиректно и пре-дец. | Кс ← Кс – 1, (Кс) ← Рр | Ниједан | 2 |
ST | И, Рр | Сторе Индирецт | (И) ← Рр | Ниједан | 2 |
ST | И+, Рр | Сторе Индирецт и Пост-Инц. | (И) ← Рр, И ← И + 1 | Ниједан | 2 |
ST | – И, Рр | Чувајте индиректно и пре-дец. | И ← И – 1, (И) ← Рр | Ниједан | 2 |
СТД | И+к,Рр | Чувајте индиректно са померањем | (И + к) ← Рр | Ниједан | 2 |
ST | З, Рр | Сторе Индирецт | (З) ← Рр | Ниједан | 2 |
ST | З+, Рр | Сторе Индирецт и Пост-Инц. | (З) ← Рр, З ← З + 1 | Ниједан | 2 |
ST | -З, Рр | Чувајте индиректно и пре-дец. | З ← З – 1, (З) ← Рр | Ниједан | 2 |
СТД | З+к,Рр | Чувајте индиректно са померањем | (З + к) ← Рр | Ниједан | 2 |
СТС | к, Рр | Чувајте директно у СРАМ-у | (к) ← Рр | Ниједан | 2 |
ЛПМ | Учитај меморију програма | Р0 ← (З) | Ниједан | 3 | |
ЛПМ | Рд, З | Учитај меморију програма | Рд ← (З) | Ниједан | 3 |
ЛПМ | Рд, З+ | Учитај програмску меморију и Пост-Инц | Рд ← (З), З ← З+1 | Ниједан | 3 |
СПМ | Чувајте програмску меморију | (з) ← Р1:Р0 | Ниједан | ||
IN | Рд, П. | У луци | Рд ← П | Ниједан | 1 |
ОУТ | П, Рр | Оут Порт | П ← Рр | Ниједан | 1 |
ПУСХ | Rr | Притисните регистар на стеку | СТАЦК ← Рр | Ниједан | 2 |
ПОП | Rd | Поп Регистер из Стацк-а | Рд ← СТАЦК | Ниједан | 2 |
УПУТСТВА ЗА УПРАВЉАЊЕ МЦУ | |||||
НОП | Но Оператион | Ниједан | 1 | ||
СЛЕЕП | Спавај | (видети специфични опис функције спавања) | Ниједан | 1 | |
ВДР | Ватцхдог Ресет | (погледајте специфичан опис за ВДР/тајмер) | Ниједан | 1 | |
БРЕАК | Пауза |
Брзина (МХз) (1) | Суппли Волtagе (В) | Температурни опсег | Пакет (2) | Код за наручивање (3) |
10 | 1.8 – 5.5 | Индустриал
(-40 ° Ц до +85 ° Ц) (4) |
8П3 | АТтини45В-10ПУ |
8С2 | ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR | |||
8X | АТтини45В-10КСУ АТтини45В-10КСУР | |||
20М1 | АТтини45В-10МУ АТтини45В-10МУР | |||
20 | 2.7 – 5.5 | Индустриал
(-40 ° Ц до +85 ° Ц) (4) |
8П3 | АТтини45-20ПУ |
8С2 | АТтини45-20СУ АТтини45-20СУР
АТтини45-20СХ АТтини45-20СХР |
|||
8X | АТтини45-20КСУ АТтини45-20КСУР | |||
20М1 | АТтини45-20МУ АТтини45-20МУР |
Напомене: 1. За брзину у односу на потрошњу волtagе, види одељак 21.3 “Брзина” на страни 163.
Сва паковања су без Пб, без халогенида и потпуно су зелена и усклађена су са Европском директивом за ограничење опасних супстанци (РоХС).
Индикатори кода
Х: НиПдАу оловни завршетак
У: мат лим
Р: трака и колут
Ови уређаји се такође могу испоручити у облику плочице. За детаљне информације о поруџбини и минималне количине контактирајте вашу локалну продајну канцеларију Атмел-а.
Штампарска грешка
Еррата АТтини25
Писмо ревизије у овом одељку односи се на ревизију АТтини25 уређаја.
Рев Д – Ф
Нема познатих грешака.
Рев Б – Ц
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Покушај читања ЕЕПРОМ-а на ниским фреквенцијама такта и/или при малој запремини напајањаtagе може довести до неважећих података.
Решавање проблема/решење
Немојте користити ЕЕПРОМ када је фреквенција такта испод 1МХз и запремина напајањаtagе је испод 2В. Ако се радна фреквенција не може подићи изнад 1МХз, тада се обtagе треба да буде више од 2В. Слично, ако је понуда волtagе се не може подићи изнад 2В, тада би радна фреквенција требала бити већа од 1МХз.
Познато је да ова карактеристика зависи од температуре, али није окарактерисана. Смернице су дате само за собну температуру.
Рев А.
Не сampЛЕД.
Еррата АТтини45
Писмо ревизије у овом одељку односи се на ревизију АТтини45 уређаја.
Рев Ф – Г
Нема познатих грешака
Рев Д – Е
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Покушај читања ЕЕПРОМ-а на ниским фреквенцијама такта и/или при малој запремини напајањаtagе може довести до неважећих података.
Решавање проблема/решење
Немојте користити ЕЕПРОМ када је фреквенција такта испод 1МХз и запремина напајањаtagе је испод 2В. Ако се радна фреквенција не може подићи изнад 1МХз, тада се обtagе треба да буде више од 2В. Слично, ако је понуда волtagе се не може подићи изнад 2В, тада би радна фреквенција требала бити већа од 1МХз.
Познато је да ова карактеристика зависи од температуре, али није окарактерисана. Смернице су дате само за собну температуру.
Рев Б – Ц
ПЛЛ се не закључава
ЕЕПРОМ прочитан из кода апликације не ради у Лоцк Бит Моде 3
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Генерисање ПВМ излаза бројача тајмера 1 на ОЦ1Б-КСОЦ1Б не ради исправно
ПЛЛ се не закључава
Када је на фреквенцијама испод 6.0 МХз, ПЛЛ се неће закључати
Решавање проблема / решење
Када користите ПЛЛ, ради на 6.0 МХз или више.
ЕЕПРОМ прочитан из кода апликације не ради у Лоцк Бит Моде 3
Када су битови за закључавање меморије ЛБ2 и ЛБ1 програмирани у режим 3, читање ЕЕПРОМ-а не ради из кода апликације.
Решавање проблема/заобилажење
Немојте постављати Лоцк Бит Протецтион Моде 3 када код апликације треба да се чита из ЕЕПРОМ-а.
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Покушај читања ЕЕПРОМ-а на ниским фреквенцијама такта и/или при малој запремини напајањаtagе може довести до неважећих података.
Решавање проблема/решење
Немојте користити ЕЕПРОМ када је фреквенција такта испод 1МХз и запремина напајањаtagе је испод 2В. Ако се радна фреквенција не може подићи изнад 1МХз, тада се обtagе треба да буде више од 2В. Слично, ако је понуда волtagе се не може подићи изнад 2В, тада би радна фреквенција требала бити већа од 1МХз.
Познато је да ова карактеристика зависи од температуре, али није окарактерисана. Смернице су дате само за собну температуру.
Бројач тајмера 1 ПВМ генерисање излаза на ОЦ1Б – КСОЦ1Б не ради исправно
Тајмер Цоунтер1 ПВМ излаз ОЦ1Б-КСОЦ1Б не ради исправно. Само у случају када су контролни битови, ЦОМ1Б1 и ЦОМ1Б0 у истом режиму као ЦОМ1А1 и ЦОМ1А0, респективно, излаз ОЦ1Б-КСОЦ1Б ради исправно.
Решавање проблема/заобилажење
Једино решење је да користите исту поставку контроле на ЦОМ1А[1:0] и ЦОМ1Б[1:0] контролним битовима, погледајте табелу 14-4 у табели са подацима. Проблем је решен за Тини45 рев Д.
Рев А.
Превелика потрошња енергије за искључивање
ДебугВИРЕ губи комуникацију када уђе у прекиде
ПЛЛ се не закључава
ЕЕПРОМ прочитан из кода апликације не ради у Лоцк Бит Моде 3
Читање ЕЕПРОМ-а може да не успе при малом снабдевањуtagе / ниска фреквенција такта
Превелика потрошња енергије за искључивање
Три ситуације ће довести до превисоке потрошње енергије за смањење напајања. ово су:
Спољни сат се бира помоћу осигурача, али је И/О ПОРТ и даље омогућен као излаз.
ЕЕПРОМ се чита пре искључивања напајања.
ВЦЦ је 4.5 волти или више.
Одрицање од одговорности: Информације у овом документу су дате у вези са Атмел производима. Овим документом или у вези са продајом Атмел производа не даје се никаква лиценца, изричита или имплицирана, путем естоппела или на други начин, за било које право интелектуалне својине. ОСИМ КАКО ЈЕ НАВЕДЕНО У АТМЕЛ ОДРЕДБАМА И УСЛОВИМА ПРОДАЈЕ НА АТМЕЛ-у WEBСАЈТ, АТМЕЛ НЕ ПРЕУЗИМА НИКАКВУ ОДГОВОРНОСТ И ОДРИЧЕ СЕ БИЛО КАКВЕ ИЗРИЧИТЕ, ИМПЛИЦИРАНЕ ИЛИ ЗАКОНСКЕ ГАРАНЦИЈЕ КОЈЕ СЕ ОДНОСЕ НА ЊЕГОВЕ ПРОИЗВОДЕ, УКЉУЧУЈУЋИ, АЛИ НЕ ОГРАНИЧАВАЈУЋИ СЕ НА, ИМПЛИЦИРАНУ ГАРАНЦИЈУ О ДЕЛАТКОВ ОБЕЗБЕЂИВАЊУ ТРГОВАЧКЕ ДЕЛАТНОСТИ, Н. АТМЕЛ НЕЋЕ БИТИ ОДГОВОРАН ЗА БИЛО КАКВЕ ДИРЕКТНЕ, ИНДИРЕКТНЕ, ПОСЛЕДИЧНЕ, КАЗНЕНЕ, ПОСЕБНЕ ИЛИ СЛУЧАЈНЕ ШТЕТЕ (УКЉУЧУЈУЋИ, БЕЗ ОГРАНИЧАВАЊА, ШТЕТУ ЗА ГУБИТАК И ДОБИТ, ПОСЛОВАЊЕ КОРИСНИЧКОГ ИНФОРМАЦИЈА ИНТЕРЕС) ОВАЈ ДОКУМЕНТ, ЧАК И АКО ЈЕ АТМЕЛ ОБАВЕШТЕН О МОГУЋНОСТИ ТАКВЕ ШТЕТЕ.
Атмел не даје никакве изјаве или гаранције у погледу тачности или потпуности садржаја овог документа и задржава право да изврши промене у спецификацијама и описима производа у било ком тренутку без обавештења. Атмел се не обавезује да ће ажурирати информације садржане овде. Осим ако није другачије одређено, Атмел производи нису погодни и неће се користити у аутомобилским апликацијама. Атмел производи нису намењени, овлашћени или гарантовани за употребу као компоненте у апликацијама намењеним да подрже или одрже живот.