8/2/4K బైట్లతో కూడిన Atmel 8-బిట్ AVR మైక్రోకంట్రోలర్ ఇన్-సిస్టమ్ ప్రోగ్రామబుల్ ఫ్లాష్
ఫీచర్లు
- అధిక పనితీరు, తక్కువ పవర్ AVR® 8-బిట్ మైక్రోకంట్రోలర్
- అధునాతన RISC ఆర్కిటెక్చర్
- 120 శక్తివంతమైన సూచనలు - చాలా సింగిల్ క్లాక్ సైకిల్ ఎగ్జిక్యూషన్
- 32 x 8 జనరల్ పర్పస్ వర్కింగ్ రిజిస్టర్లు
- పూర్తిగా స్టాటిక్ ఆపరేషన్
- అస్థిరత లేని ప్రోగ్రామ్ మరియు డేటా మెమరీలు
- ఇన్-సిస్టమ్ ప్రోగ్రామబుల్ ప్రోగ్రామ్ మెమరీ ఫ్లాష్ యొక్క 2/4/8 కె బైట్లు
- ఓర్పు: 10,000 చక్రాలను వ్రాయండి/చెరిపివేయండి
- 128/256/512 బైట్లు ఇన్-సిస్టమ్ ప్రోగ్రామబుల్ EEPROM
- ఓర్పు: 100,000 చక్రాలను వ్రాయండి/చెరిపివేయండి
- 128/256/512 బైట్లు అంతర్గత SRAM
- సెల్ఫ్ ప్రోగ్రామింగ్ ఫ్లాష్ ప్రోగ్రామ్ మరియు EEPROM డేటా భద్రత కోసం ప్రోగ్రామింగ్ లాక్
పరిధీయ లక్షణాలు
- ప్రెస్కాలర్ మరియు రెండు పిడబ్ల్యుఎం ఛానెల్లతో 8-బిట్ టైమర్ / కౌంటర్
- ప్రత్యేక ప్రెస్కాలర్తో 8-బిట్ హై స్పీడ్ టైమర్ / కౌంటర్
- ప్రత్యేక అవుట్పుట్తో 2 హై ఫ్రీక్వెన్సీ పిడబ్ల్యుఎం అవుట్పుట్లు రిజిస్టర్లను పోల్చండి
- ప్రోగ్రామబుల్ డెడ్ టైమ్ జనరేటర్
- యుఎస్ఐ - స్టార్ట్ కండిషన్ డిటెక్టర్తో యూనివర్సల్ సీరియల్ ఇంటర్ఫేస్
- 10-బిట్ ADC
4 సింగిల్ ఎండెడ్ ఛానెల్స్
ప్రోగ్రామబుల్ లాభంతో 2 డిఫరెన్షియల్ ADC ఛానల్ పెయిర్స్ (1x, 20x)
ఉష్ణోగ్రత కొలత
ప్రత్యేక ఆన్-చిప్ ఓసిలేటర్తో ప్రోగ్రామబుల్ వాచ్డాగ్ టైమర్
ఆన్-చిప్ అనలాగ్ కంపారిటర్
ప్రత్యేక మైక్రోకంట్రోలర్ ఫీచర్స్
డీబగ్వైర్ ఆన్-చిప్ డీబగ్ సిస్టమ్
SPI పోర్ట్ ద్వారా ఇన్-సిస్టమ్ ప్రోగ్రామబుల్
బాహ్య మరియు అంతర్గత అంతరాయ మూలాలు
తక్కువ పవర్ ఐడిల్, ఎడిసి శబ్దం తగ్గింపు మరియు పవర్-డౌన్ మోడ్లు
మెరుగైన పవర్-ఆన్ రీసెట్ సర్క్యూట్
ప్రోగ్రామబుల్ బ్రౌన్-అవుట్ డిటెక్షన్ సర్క్యూట్
అంతర్గత కాలిబ్రేటెడ్ ఓసిలేటర్
I / O మరియు ప్యాకేజీలు
ఆరు ప్రోగ్రామబుల్ I / O లైన్స్
8-పిన్ PDIP, 8-పిన్ SOIC, 20-ప్యాడ్ QFN / MLF, మరియు 8-పిన్ TSSOP (ATtiny45 / V మాత్రమే)
ఆపరేటింగ్ వాల్యూమ్tage
- ATtiny1.8V / 5.5V / 25V కోసం 45 - 85V
- ATtiny2.7 / 5.5/25 కోసం 45 - 85V
స్పీడ్ గ్రేడ్
- ATtiny25V / 45V / 85V: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V
- ATtiny25 / 45/85: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
పారిశ్రామిక ఉష్ణోగ్రత పరిధి
తక్కువ విద్యుత్ వినియోగం
సక్రియ మోడ్:
1 MHz, 1.8V: 300 µA
పవర్-డౌన్ మోడ్:
పిన్ కాన్ఫిగరేషన్లు
పిన్అవుట్ ATtiny25 / 45/85
వివరణలను పిన్ చేయండి
VCC: సరఫరా వాల్యూమ్tage.
GND: గ్రౌండ్.
పోర్ట్ B (PB5:PB0): పోర్ట్ B అనేది అంతర్గత పుల్-అప్ రెసిస్టర్లతో కూడిన 6-బిట్ ద్వి-దిశాత్మక I/O పోర్ట్ (ప్రతి బిట్కు ఎంపిక చేయబడింది). పోర్ట్ B అవుట్పుట్ బఫర్లు అధిక సింక్ మరియు సోర్స్ సామర్థ్యం రెండింటితో సుష్ట డ్రైవ్ లక్షణాలను కలిగి ఉంటాయి. ఇన్పుట్లుగా, పుల్-అప్ రెసిస్టర్లు యాక్టివేట్ చేయబడితే, బాహ్యంగా తక్కువగా లాగబడిన పోర్ట్ B పిన్లు కరెంట్ను సోర్స్ చేస్తాయి. గడియారం రన్ కానప్పటికీ, రీసెట్ కండిషన్ సక్రియం అయినప్పుడు పోర్ట్ B పిన్లు ట్రై-స్టేట్ చేయబడతాయి.
పోర్ట్ B ATtiny25 / 45/85 యొక్క వివిధ ప్రత్యేక లక్షణాల యొక్క విధులను కూడా జాబితా చేస్తుంది
ATtiny25 లో, ATtiny3 తో వెనుకబడిన అనుకూలతకు మద్దతు ఇవ్వడానికి ప్రోగ్రామబుల్ I / O పోర్ట్లు PB4 మరియు PB2 (పిన్స్ 3 మరియు 15) ATtiny15 అనుకూలత మోడ్లో మార్పిడి చేయబడతాయి.
రీసెట్: ఇన్పుట్ని రీసెట్ చేయండి. గడియారం రన్ కానప్పటికీ, రీసెట్ పిన్ నిలిపివేయబడనప్పటికీ, కనీస పల్స్ పొడవు కంటే ఎక్కువ కాలం ఈ పిన్లో తక్కువ స్థాయి రీసెట్ను ఉత్పత్తి చేస్తుంది. కనీస పల్స్ పొడవు ఇవ్వబడింది పట్టిక 21-4 165వ పేజీలో. తక్కువ పప్పులు రీసెట్ను రూపొందించడానికి హామీ ఇవ్వబడవు.
రీసెట్ పిన్ను (బలహీనమైన) I / O పిన్గా కూడా ఉపయోగించవచ్చు.
పైగాview
ATtiny25 / 45/85 అనేది AVR మెరుగైన RISC నిర్మాణం ఆధారంగా తక్కువ-శక్తి గల CMOS 8-బిట్ మైక్రోకంట్రోలర్. ఒకే గడియార చక్రంలో శక్తివంతమైన సూచనలను అమలు చేయడం ద్వారా, ATtiny25 / 45/85 MHz కు 1 MIPS కి చేరుకునే నిర్గమాంశాలను సాధిస్తుంది, సిస్టమ్ డిజైనర్ విద్యుత్ వినియోగం మరియు ప్రాసెసింగ్ వేగంతో ఆప్టిమైజ్ చేయడానికి అనుమతిస్తుంది.
బ్లాక్ రేఖాచిత్రం
AVR కోర్ 32 సాధారణ ప్రయోజన వర్కింగ్ రిజిస్టర్లతో రిచ్ ఇన్స్ట్రక్షన్ సెట్ను మిళితం చేస్తుంది. మొత్తం 32 రిజిస్టర్లు నేరుగా అంకగణిత లాజిక్ యూనిట్ (ALU) తో అనుసంధానించబడి ఉన్నాయి, ఇది ఒక గడియార చక్రంలో అమలు చేయబడిన ఒకే సూచనలో రెండు స్వతంత్ర రిజిస్టర్లను యాక్సెస్ చేయడానికి అనుమతిస్తుంది. సాంప్రదాయిక CISC మైక్రోకంట్రోలర్ల కంటే పది రెట్లు వేగంగా నిర్గమాంశాలను సాధించేటప్పుడు ఫలిత నిర్మాణం మరింత కోడ్ సమర్థవంతంగా ఉంటుంది.
ATtiny25 / 45/85 ఈ క్రింది లక్షణాలను అందిస్తుంది: ఇన్-సిస్టమ్ ప్రోగ్రామబుల్ ఫ్లాష్ యొక్క 2/4/8K బైట్లు, 128/256/512 బైట్లు EEPROM, 128/256/256 బైట్లు SRAM, 6 సాధారణ ప్రయోజన I / O పంక్తులు, 32 సాధారణ పర్పస్ వర్కింగ్ రిజిస్టర్లు, పోలిక మోడ్లతో ఒక 8-బిట్ టైమర్ / కౌంటర్, ఒక 8-బిట్ హై స్పీడ్ టైమర్ / కౌంటర్, యూనివర్సల్ సీరియల్ ఇంటర్ఫేస్, అంతర్గత మరియు బాహ్య అంతరాయాలు, 4-ఛానల్, 10-బిట్ ADC, అంతర్గత ప్రోగ్రామబుల్ వాచ్డాగ్ టైమర్ ఓసిలేటర్ మరియు మూడు సాఫ్ట్వేర్ ఎంచుకోదగిన విద్యుత్ పొదుపు మోడ్లు. SRAM, టైమర్ / కౌంటర్, ADC, అనలాగ్ కంపారిటర్ మరియు ఇంటరప్ట్ సిస్టమ్ పనితీరును కొనసాగించడానికి అనుమతించేటప్పుడు నిష్క్రియ మోడ్ CPU ని ఆపివేస్తుంది. పవర్-డౌన్ మోడ్ రిజిస్టర్ కాన్టెంట్లను ఆదా చేస్తుంది, తదుపరి అంతరాయం లేదా హార్డ్వేర్ రీసెట్ వరకు అన్ని చిప్ ఫంక్షన్లను నిలిపివేస్తుంది. ADC శబ్దం తగ్గింపు మోడ్ ADC మార్పిడి సమయంలో మారే శబ్దాన్ని తగ్గించడానికి, CPU మరియు ADC మినహా అన్ని I / O మాడ్యూళ్ళను ఆపివేస్తుంది.
ఈ పరికరం అట్మెల్ యొక్క అధిక సాంద్రత లేని అస్థిర మెమరీ సాంకేతిక పరిజ్ఞానాన్ని ఉపయోగించి తయారు చేయబడుతుంది. ఆన్-చిప్ ISP ఫ్లాష్ ప్రోగ్రామ్ మెమరీని SPI సీరియల్ ఇంటర్ఫేస్ ద్వారా, సాంప్రదాయిక అస్థిరత లేని మెమరీ ప్రోగ్రామర్ ద్వారా లేదా AVR కోర్లో నడుస్తున్న ఆన్-చిప్ బూట్ కోడ్ ద్వారా సిస్టమ్లో తిరిగి ప్రోగ్రామ్ చేయడానికి అనుమతిస్తుంది.
ATtiny25 / 45/85 AVR కి పూర్తిస్థాయి ప్రోగ్రామ్ మరియు సిస్టమ్ డెవలప్మెంట్ టూల్స్ తో మద్దతు ఉంది: సి కామ్-పైలర్స్, మాక్రో అస్సెంబ్లర్స్, ప్రోగ్రామ్ డీబగ్గర్ / సిమ్యులేటర్లు మరియు ఎవాల్యుయేషన్ కిట్లు.
వనరుల గురించి
అభివృద్ధి సాధనాలు, అప్లికేషన్ నోట్స్ మరియు డేటాషీట్ల సమగ్ర సెట్ డౌన్లోడ్ కోసం అందుబాటులో ఉంది http://www.atmel.com/avr.
కోడ్ Exampలెస్
ఈ డాక్యుమెంటేషన్ సాధారణ కోడ్ ex కలిగి ఉందిampపరికరంలోని వివిధ భాగాలను ఎలా ఉపయోగించాలో క్లుప్తంగా చూపే les. ఈ కోడ్ exampలెస్ పార్ట్ స్పెసిఫిక్ హెడర్ అని ఊహిస్తారు file సంకలనానికి ముందు చేర్చబడింది. అన్ని C కంపైలర్ విక్రేతలు హెడర్లో బిట్ డెఫినిషన్లను కలిగి ఉండరని గుర్తుంచుకోండి files మరియు Cలో అంతరాయ నిర్వహణ కంపైలర్పై ఆధారపడి ఉంటుంది. మరిన్ని వివరాల కోసం దయచేసి C కంపైలర్ డాక్యుమెంటేషన్తో నిర్ధారించండి.
విస్తరించిన I / O మ్యాప్లో ఉన్న I / O రిజిస్టర్ల కోసం, “IN”, “OUT”, “SBIS”, “SBIC”, “CBI” మరియు “SBI” సూచనలు తప్పనిసరిగా విస్తరించిన I కి ప్రాప్యతను అనుమతించే సూచనలతో భర్తీ చేయాలి. / ఓ. సాధారణంగా, దీని అర్థం “LDS” మరియు “STS” “SBRS”, “SBRC”, “SBR” మరియు “CBR” లతో కలిపి. అన్ని AVR పరికరాల్లో విస్తరించిన I / O మ్యాప్ ఉండదని గమనించండి.
కెపాసిటివ్ టచ్ సెన్సింగ్
Atmel QTouch లైబ్రరీ Atmel AVR మైక్రోకంట్రోలర్లలో టచ్ సెన్సిటివ్ ఇంటర్ఫేస్ల కోసం ఉపయోగించడానికి సులభమైన పరిష్కారాన్ని అందిస్తుంది. QTouch లైబ్రరీ QTouch® మరియు QMatrix® సముపార్జన పద్ధతులకు మద్దతును కలిగి ఉంది.
టచ్ ఛానల్స్ మరియు సెన్సార్లను నిర్వచించడానికి QTouch లైబ్రరీని లింక్ చేయడం ద్వారా మరియు లైబ్రరీ యొక్క అప్లికేషన్ ప్రోగ్రామ్-మింగ్ ఇంటర్ఫేస్ (API) ను ఉపయోగించడం ద్వారా టచ్ సెన్సింగ్ సులభంగా ఏదైనా అనువర్తనానికి జోడించబడుతుంది. ఛానెల్ సమాచారాన్ని తిరిగి పొందడానికి మరియు టచ్ సెన్సార్ స్థితిని నిర్ణయించడానికి అప్లికేషన్ API ని పిలుస్తుంది.
QTouch లైబ్రరీ ఉచితం మరియు Atmel నుండి డౌన్లోడ్ చేసుకోవచ్చు webసైట్. మరింత సమాచారం మరియు అమలు వివరాల కోసం, QTouch లైబ్రరీ యూజర్ గైడ్ని చూడండి - Atmel నుండి కూడా అందుబాటులో ఉంది webసైట్.
డేటా నిలుపుదల
విశ్వసనీయత అర్హత ఫలితాలు అంచనా వేసిన డేటా నిలుపుదల వైఫల్యం రేటు 1 సంవత్సరాలలో 20 ° C వద్ద లేదా 85 సంవత్సరాలు 100 ° C వద్ద 25 పిపిఎమ్ కంటే చాలా తక్కువగా ఉందని చూపిస్తుంది.
AVR CPU కోర్
పరిచయం
ఈ విభాగం సాధారణంగా AVR కోర్ నిర్మాణాన్ని చర్చిస్తుంది. CPU కోర్ యొక్క ప్రధాన విధి సరైన ప్రోగ్రామ్ అమలును నిర్ధారించడం. అందువల్ల CPU తప్పనిసరిగా జ్ఞాపకాలను యాక్సెస్ చేయగలదు, గణనలను చేయగలదు, పెరిఫెరల్స్ ను నియంత్రించగలదు మరియు అంతరాయాలను నిర్వహించగలదు.
ఆర్కిటెక్చరల్ ఓవర్view
పనితీరు మరియు సమాంతరతను పెంచడానికి, AVR హార్వర్డ్ నిర్మాణాన్ని ఉపయోగిస్తుంది - ప్రోగ్రామ్ మరియు డేటా కోసం ప్రత్యేక జ్ఞాపకాలు మరియు బస్సులతో. ప్రోగ్రామ్ మెమరీలోని సూచనలు ఒకే స్థాయి పైప్లైనింగ్తో అమలు చేయబడతాయి. ఒక సూచన అమలు చేయబడుతున్నప్పుడు, తదుపరి సూచన ప్రోగ్రామ్ మెమరీ నుండి ముందే పొందబడుతుంది. ఈ భావన ప్రతి గడియార చక్రంలో సూచనలను అమలు చేయడానికి అనుమతిస్తుంది. ప్రోగ్రామ్ మెమరీ ఇన్-సిస్టమ్ రిప్రొగ్రామబుల్ ఫ్లాష్ మెమరీ.
ఫాస్ట్ యాక్సెస్ రిజిస్టర్ File ఒకే క్లాక్ సైకిల్ యాక్సెస్ టైమ్తో 32 x 8-బిట్ సాధారణ ప్రయోజన పని రిజిస్టర్లను కలిగి ఉంటుంది. ఇది సింగిల్-సైకిల్ అర్థమెటిక్ లాజిక్ యూనిట్ (ALU) ఆపరేషన్ను అనుమతిస్తుంది. సాధారణ ALU ఆపరేషన్లో, రిజిస్టర్ నుండి రెండు ఆపరాండ్లు అవుట్పుట్ చేయబడతాయి File, ఆపరేషన్ అమలు చేయబడుతుంది మరియు ఫలితం రిజిస్టర్లో తిరిగి నిల్వ చేయబడుతుంది File- ఒక గడియార చక్రంలో.
32 రిజిస్టర్లలో ఆరు డేటా స్పేస్ అడ్రసింగ్ కోసం మూడు 16-బిట్ పరోక్ష చిరునామా రిజిస్టర్ పాయింటర్లుగా ఉపయోగించవచ్చు - సమర్థవంతమైన చిరునామా గణనలను ప్రారంభిస్తుంది. ఈ చిరునామా పాయింటర్లలో ఒకదాన్ని ఫ్లాష్ ప్రోగ్రామ్ మెమరీలో పట్టికలను చూడటానికి చిరునామా పాయింటర్గా కూడా ఉపయోగించవచ్చు. ఈ అదనపు ఫంక్షన్ రిజిస్టర్లు 16-బిట్ X-, Y- మరియు Z- రిజిస్టర్, ఈ విభాగంలో తరువాత వివరించబడ్డాయి.
ALU రిజిస్టర్ల మధ్య లేదా స్థిరమైన మరియు రిజిస్టర్ మధ్య అంకగణిత మరియు తర్కం కార్యకలాపాలకు మద్దతు ఇస్తుంది. సింగిల్ రిజిస్టర్ ఆపరేషన్లను ALU లో కూడా అమలు చేయవచ్చు. అంకగణిత ఆపరేషన్ తరువాత, ఆపరేషన్ ఫలితం గురించి సమాచారాన్ని ప్రతిబింబించేలా స్థితి రిజిస్టర్ నవీకరించబడుతుంది.
ప్రోగ్రామ్ ప్రవాహం షరతులతో కూడిన మరియు షరతులు లేని జంప్ మరియు కాల్ సూచనల ద్వారా అందించబడుతుంది, మొత్తం చిరునామా స్థలాన్ని నేరుగా పరిష్కరించగలదు. చాలా AVR సూచనలు ఒకే 16-బిట్ వర్డ్ ఫార్మాట్ను కలిగి ఉంటాయి, అయితే 32-బిట్ సూచనలు కూడా ఉన్నాయి.
అంతరాయాలు మరియు సబ్ట్రౌటిన్ కాల్ల సమయంలో, రిటర్న్ అడ్రస్ ప్రోగ్రామ్ కౌంటర్ (పిసి) స్టాక్లో నిల్వ చేయబడుతుంది. స్టాక్ సాధారణ డేటా SRAM లో సమర్థవంతంగా కేటాయించబడుతుంది మరియు తత్ఫలితంగా స్టాక్ పరిమాణం మొత్తం SRAM పరిమాణం మరియు SRAM వాడకం ద్వారా మాత్రమే పరిమితం చేయబడుతుంది. అన్ని వినియోగదారు ప్రోగ్రామ్లు రీసెట్ దినచర్యలో SP ని ప్రారంభించాలి (ఉప దినచర్యలు లేదా అంతరాయాలు అమలు చేయబడటానికి ముందు). స్టాక్ పాయింటర్ (SP) I / O ప్రదేశంలో చదవడానికి / వ్రాయడానికి అందుబాటులో ఉంది. AVR ఆర్కిటెక్చర్లో మద్దతిచ్చే ఐదు వేర్వేరు అడ్రసింగ్ మోడ్ల ద్వారా SRAM డేటాను సులభంగా యాక్సెస్ చేయవచ్చు.
AVR నిర్మాణంలో మెమరీ ఖాళీలు అన్నీ సరళ మరియు సాధారణ మెమరీ పటాలు.
సౌకర్యవంతమైన అంతరాయ మాడ్యూల్ I / O స్థలంలో దాని నియంత్రణ రిజిస్టర్లను స్టేటస్ రిజిస్టర్లో అదనపు గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ బిట్తో కలిగి ఉంది. అన్ని అంతరాయాలకు అంతరాయ వెక్టర్ పట్టికలో ప్రత్యేక అంతరాయ వెక్టర్ ఉంటుంది. అంతరాయాలకు వారి అంతరాయ వెక్టర్ స్థానానికి అనుగుణంగా ప్రాధాన్యత ఉంటుంది. అంతరాయ వెక్టర్ చిరునామా తక్కువ, అధిక ప్రాధాన్యత.
I/O మెమరీ స్థలం CPU పరిధీయ ఫంక్షన్ల కోసం కంట్రోల్ రిజిస్టర్లు, SPI మరియు ఇతర I/O ఫంక్షన్ల కోసం 64 చిరునామాలను కలిగి ఉంది. I/O మెమరీని నేరుగా యాక్సెస్ చేయవచ్చు లేదా రిజిస్టర్ను అనుసరించి డేటా స్పేస్ స్థానాలుగా యాక్సెస్ చేయవచ్చు File, 0x20 – 0x5F.
ALU - అంకగణిత లాజిక్ యూనిట్
అధిక-పనితీరు గల AVR ALU మొత్తం 32 సాధారణ ప్రయోజన వర్కింగ్ రిజిస్టర్లతో ప్రత్యక్ష కనెక్షన్లో పనిచేస్తుంది. ఒకే గడియార చక్రంలో, సాధారణ ప్రయోజన రిజిస్టర్ల మధ్య లేదా రిజిస్టర్ మరియు తక్షణ మధ్య అంకగణిత కార్యకలాపాలు అమలు చేయబడతాయి. ALU కార్యకలాపాలు మూడు ప్రధాన వర్గాలుగా విభజించబడ్డాయి - అంకగణితం, తార్కిక మరియు బిట్-విధులు. ఆర్కిటెక్చర్ యొక్క కొన్ని అమలులు సంతకం / సంతకం చేయని గుణకారం మరియు పాక్షిక ఆకృతికి మద్దతు ఇచ్చే శక్తివంతమైన గుణకాన్ని కూడా అందిస్తాయి. వివరణాత్మక వివరణ కోసం “ఇన్స్ట్రక్షన్ సెట్” విభాగాన్ని చూడండి.
స్థితి రిజిస్టర్
స్టేటస్ రిజిస్టర్లో ఇటీవల అమలు చేయబడిన అంకగణిత సూచనల ఫలితం గురించి సమాచారం ఉంది. షరతులతో కూడిన కార్యకలాపాలను నిర్వహించడానికి ప్రోగ్రామ్ ప్రవాహాన్ని మార్చడానికి ఈ సమాచారం ఉపయోగించవచ్చు. ఇన్స్ట్రక్షన్ సెట్ రిఫరెన్స్లో పేర్కొన్న విధంగా అన్ని ALU ఆపరేషన్ల తర్వాత స్థితి రిజిస్టర్ నవీకరించబడిందని గమనించండి. ఇది చాలా సందర్భాల్లో అంకితమైన పోలిక సూచనలను ఉపయోగించాల్సిన అవసరాన్ని తొలగిస్తుంది, ఫలితంగా వేగంగా మరియు మరింత కాంపాక్ట్ కోడ్ వస్తుంది.
అంతరాయ దినచర్యలో ప్రవేశించేటప్పుడు స్థితి రిజిస్టర్ స్వయంచాలకంగా నిల్వ చేయబడదు మరియు అంతరాయం నుండి తిరిగి వచ్చేటప్పుడు పునరుద్ధరించబడుతుంది. దీన్ని సాఫ్ట్వేర్ ద్వారా నిర్వహించాలి.
SREG - AVR స్థితి రిజిస్టర్
AVR స్థితి రిజిస్టర్ - SREG - ఇలా నిర్వచించబడింది:
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3F | I | T | H | S | V | N | Z | C | SREG |
చదవండి/వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్ 7 - నేను: గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్
అంతరాయాలు ప్రారంభించబడటానికి గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ బిట్ సెట్ చేయాలి. వ్యక్తిగత అంతరాయ ఎనేబుల్ నియంత్రణ ప్రత్యేక నియంత్రణ రిజిస్టర్లలో నిర్వహిస్తారు. గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ రిజిస్టర్ క్లియర్ చేయబడితే, వ్యక్తిగత అంతరాయం ఎనేబుల్ సెట్టింగుల నుండి స్వతంత్రంగా అంతరాయాలు ఏవీ ప్రారంభించబడవు. అంతరాయం ఏర్పడిన తర్వాత I- బిట్ హార్డ్వేర్ ద్వారా క్లియర్ చేయబడుతుంది మరియు తదుపరి అంతరాయాలను ప్రారంభించడానికి RETI సూచనల ద్వారా సెట్ చేయబడుతుంది. ఇన్స్ట్రక్షన్ సెట్ రిఫరెన్స్లో వివరించిన విధంగా, SEI మరియు CLI సూచనలతో అప్లికేషన్ ద్వారా I- బిట్ను కూడా సెట్ చేయవచ్చు మరియు క్లియర్ చేయవచ్చు.
బిట్ 6 - టి: బిట్ కాపీ నిల్వ
బిట్ కాపీ సూచనలు BLD (బిట్ లోడ్) మరియు BST (బిట్ స్టోర్) T-బిట్ను ఆపరేట్ చేయబడిన బిట్కు మూలం లేదా గమ్యస్థానంగా ఉపయోగిస్తాయి. రిజిస్టర్లోని రిజిస్టర్ నుండి కొంచెం File BST సూచనల ద్వారా T లోకి కాపీ చేయవచ్చు మరియు రిజిస్టర్లోని రిజిస్టర్లో T లో ఒక బిట్ను ఒక బిట్లోకి కాపీ చేయవచ్చు File BLD సూచనల ద్వారా.
బిట్ 5 - హెచ్: హాఫ్ క్యారీ ఫ్లాగ్
హాఫ్ క్యారీ ఫ్లాగ్ హెచ్ కొన్ని అంకగణిత ఆపరేషన్లలో హాఫ్ క్యారీని సూచిస్తుంది. బిసిడి అంకగణితంలో హాఫ్ క్యారీ ఉపయోగపడుతుంది. వివరణాత్మక సమాచారం కోసం “ఇన్స్ట్రక్షన్ సెట్ వివరణ” చూడండి.
బిట్ 4 – S: సైన్ బిట్, S = N ⊕ V
S- బిట్ ఎల్లప్పుడూ ప్రత్యేకమైనది లేదా నెగటివ్ ఫ్లాగ్ N మరియు ఇద్దరి కాంప్లిమెంట్ ఓవర్ఫ్లో ఫ్లాగ్ V. మధ్య ఉంటుంది. వివరణాత్మక సమాచారం కోసం “ఇన్స్ట్రక్షన్ సెట్ వివరణ” చూడండి.
బిట్ 3 - వి: టూస్ కాంప్లిమెంట్ ఓవర్ఫ్లో ఫ్లాగ్
టూ యొక్క కాంప్లిమెంట్ ఓవర్ఫ్లో ఫ్లాగ్ V రెండు యొక్క పూరక అంకగణితానికి మద్దతు ఇస్తుంది. వివరణాత్మక సమాచారం కోసం “ఇన్స్ట్రక్షన్ సెట్ వివరణ” చూడండి.
బిట్ 2 - ఎన్: నెగటివ్ ఫ్లాగ్
ప్రతికూల ఫ్లాగ్ N అంకగణిత లేదా తర్కం ఆపరేషన్లో ప్రతికూల ఫలితాన్ని సూచిస్తుంది. వివరణాత్మక సమాచారం కోసం “ఇన్స్ట్రక్షన్ సెట్ వివరణ” చూడండి.
బిట్ 1 - Z: జీరో ఫ్లాగ్
జీరో ఫ్లాగ్ Z అంకగణితం లేదా తర్కం ఆపరేషన్లో సున్నా ఫలితాన్ని సూచిస్తుంది. వివరణాత్మక సమాచారం కోసం “ఇన్స్ట్రక్షన్ సెట్ వివరణ” చూడండి.
బిట్ 0 - సి: జెండాను తీసుకెళ్లండి
క్యారీ ఫ్లాగ్ సి అంకగణిత లేదా తర్కం ఆపరేషన్లో ఒక క్యారీని సూచిస్తుంది. వివరణాత్మక సమాచారం కోసం “ఇన్స్ట్రక్షన్ సెట్ వివరణ” చూడండి.
సాధారణ ప్రయోజన రిజిస్టర్ File
రిజిస్టర్ File AVR మెరుగుపరచబడిన RISC సూచనల సెట్ కోసం ఆప్టిమైజ్ చేయబడింది. అవసరమైన పనితీరు మరియు వశ్యతను సాధించడానికి, కింది ఇన్పుట్/అవుట్పుట్ పథకాలకు రిజిస్టర్ మద్దతు ఇస్తుంది File:
ఒక 8-బిట్ అవుట్పుట్ ఒపెరాండ్ మరియు ఒక 8-బిట్ ఫలిత ఇన్పుట్
రెండు 8-బిట్ అవుట్పుట్ ఆపరేషన్లు మరియు ఒక 8-బిట్ ఫలిత ఇన్పుట్
రెండు 8-బిట్ అవుట్పుట్ ఆపరేషన్లు మరియు ఒక 16-బిట్ ఫలిత ఇన్పుట్
ఒక 16-బిట్ అవుట్పుట్ ఒపెరాండ్ మరియు ఒక 16-బిట్ ఫలిత ఇన్పుట్
మూర్తి 4-2 CPU లోని 32 సాధారణ ప్రయోజన వర్కింగ్ రిజిస్టర్ల నిర్మాణాన్ని చూపిస్తుంది.
లో చూపిన విధంగా మూర్తి 4-2, ప్రతి రిజిస్టర్కు డేటా మెమరీ చిరునామా కూడా కేటాయించబడుతుంది, వాటిని నేరుగా యూజర్ డేటా స్పేస్లోని మొదటి 32 స్థానాల్లోకి మ్యాపింగ్ చేస్తుంది. భౌతికంగా SRAM స్థానాలుగా అమలు చేయబడనప్పటికీ, ఈ మెమరీ సంస్థ రిజిస్టర్ల యాక్సెస్లో గొప్ప సౌలభ్యాన్ని అందిస్తుంది, ఎందుకంటే X-, Y- మరియు Z-పాయింటర్ రిజిస్టర్లు ఏదైనా రిజిస్టర్ని ఇండెక్స్ చేయడానికి సెట్ చేయవచ్చు. file.రిజిస్టర్లో పనిచేసే చాలా సూచనలు File అన్ని రిజిస్టర్లకు ప్రత్యక్ష ప్రాప్యతను కలిగి ఉంటాయి మరియు వాటిలో ఎక్కువ భాగం సింగిల్ సైకిల్ సూచనలు.
X- రిజిస్టర్, Y- రిజిస్టర్ మరియు Z- రిజిస్టర్
రిజిస్టర్లు R26..R31 వారి సాధారణ ప్రయోజన వినియోగానికి కొన్ని అదనపు విధులను కలిగి ఉన్నాయి. ఈ రిజిస్టర్లు డేటా స్థలం యొక్క పరోక్ష చిరునామా కోసం 16-బిట్ అడ్రస్ పాయింటర్లు. మూడు పరోక్ష చిరునామా రిజిస్టర్లు X, Y మరియు Z లో వివరించిన విధంగా నిర్వచించబడ్డాయి మూర్తి 4-3.
వేర్వేరు చిరునామా రీతుల్లో ఈ చిరునామా రిజిస్టర్లు స్థిర స్థానభ్రంశం, స్వయంచాలక పెరుగుదల మరియు స్వయంచాలక క్షీణత వంటి విధులను కలిగి ఉంటాయి (వివరాల కోసం సూచన సెట్ సూచన చూడండి).
స్టాక్ పాయింటర్
తాత్కాలిక డేటాను నిల్వ చేయడానికి, స్థానిక వేరియబుల్స్ నిల్వ చేయడానికి మరియు అంతరాయాలు మరియు సబ్ట్రౌటిన్ కాల్ల తర్వాత రిటర్న్ చిరునామాలను నిల్వ చేయడానికి స్టాక్ ప్రధానంగా ఉపయోగించబడుతుంది. స్టాక్ పాయింటర్ రిజిస్టర్ ఎల్లప్పుడూ స్టాక్ పైభాగానికి సూచిస్తుంది. అధిక మెమరీ స్థానాల నుండి తక్కువ మెమరీ స్థానాలకు పెరుగుతున్నట్లుగా స్టాక్ అమలు చేయబడుతుందని గమనించండి. ఇది స్టాక్ పుష్ ఆదేశం స్టాక్ పాయింటర్ను తగ్గిస్తుందని సూచిస్తుంది.
స్టాక్ పాయింటర్ సబ్ట్రౌటిన్ మరియు ఇంటరప్ట్ స్టాక్స్ ఉన్న డేటా SRAM స్టాక్ ప్రాంతానికి సూచిస్తుంది. ఏదైనా సబ్ట్రౌటిన్ కాల్లు అమలు చేయబడటానికి లేదా ఇంటర్ రప్ట్లు ప్రారంభించబడటానికి ముందు SRAM డేటాలోని ఈ స్టాక్ స్థలాన్ని ప్రోగ్రామ్ నిర్వచించాలి. స్టాక్ పాయింటర్ తప్పనిసరిగా 0x60 పైన సూచించడానికి సెట్ చేయాలి. డేటాను పుష్ సూచనలతో స్టాక్లోకి నెట్టివేసినప్పుడు స్టాక్ పాయింటర్ ఒకటి తగ్గుతుంది, మరియు రిటర్న్ అడ్రస్ను సబ్ట్రౌటిన్ కాల్ లేదా అంతరాయంతో స్టాక్పైకి నెట్టినప్పుడు అది రెండు తగ్గుతుంది. POP సూచనలతో స్టాక్ నుండి డేటా పాప్ చేయబడినప్పుడు స్టాక్ పాయింటర్ ఒకటి పెరుగుతుంది మరియు సబ్ట్రౌటిన్ RET నుండి తిరిగి రావడం లేదా అంతరాయం కలిగించే RETI నుండి తిరిగి రావడం ద్వారా స్టాక్ నుండి డేటా పాప్ చేయబడినప్పుడు అది రెండు పెరుగుతుంది.
AVR స్టాక్ పాయింటర్ I / O ప్రదేశంలో రెండు 8-బిట్ రిజిస్టర్లుగా అమలు చేయబడుతుంది. వాస్తవానికి ఉపయోగించిన బిట్ల సంఖ్య అమలుపై ఆధారపడి ఉంటుంది. AVR ఆర్కిటెక్చర్ యొక్క కొన్ని అమలులలో డేటా స్థలం చాలా తక్కువగా ఉందని గమనించండి, SPL మాత్రమే అవసరమవుతుంది. ఈ సందర్భంలో, SPH రిజిస్టర్ ఉండదు.
SPH మరియు SPL - స్టాక్ పాయింటర్ రిజిస్టర్
బిట్ | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
0x3E | SP15 | SP14 | SP13 | SP12 | SP11 | SP10 | SP9 | SP8 | SPH |
0x3D | SP7 | SP6 | SP5 | SP4 | SP3 | SP2 | SP1 | SP0 | SPL |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
చదవండి/వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
చదవండి/వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | |
ప్రారంభ విలువ | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND |
ఇన్స్ట్రక్షన్ ఎగ్జిక్యూషన్ టైమింగ్
ఈ విభాగం సూచనల అమలు కోసం సాధారణ యాక్సెస్ సమయ భావనలను వివరిస్తుంది. AVR CPU అనేది CPU క్లాక్ clkCPU ద్వారా నడపబడుతుంది, చిప్ కోసం ఎంచుకున్న క్లాక్ సోర్స్ నుండి నేరుగా రూపొందించబడింది. అంతర్గత గడియార విభజన ఉపయోగించబడదు.
మూర్తి 4-4 హార్వర్డ్ ఆర్కిటెక్చర్ మరియు ఫాస్ట్ యాక్సెస్ రిజిస్టర్ ద్వారా ఎనేబుల్ చేయబడిన సమాంతర ఇన్స్ట్రక్షన్ ఫెచెస్ మరియు ఇన్స్ట్రక్షన్ ఎగ్జిక్యూషన్లను చూపుతుంది File భావన. ఇది ఒక MHzకి 1 MIPS వరకు పొందే ప్రాథమిక పైప్లైనింగ్ కాన్సెప్ట్, ఒక్కో ధరకు ఫంక్షన్లు, ఒక్కో గడియారానికి ఫంక్షన్లు మరియు పవర్-యూనిట్కు ఫంక్షన్ల కోసం సంబంధిత ప్రత్యేక ఫలితాలతో.
మూర్తి 4-5. సింగిల్ సైకిల్ ALU ఆపరేషన్
రీసెట్ చేయండి మరియు అంతరాయం కలిగించే నిర్వహణ
AVR అనేక విభిన్న అంతరాయ వనరులను అందిస్తుంది. ఈ అంతరాయాలు మరియు ప్రత్యేక రీసెట్ వెక్టర్ ప్రతి ఒక్కటి ప్రోగ్రామ్ మెమరీ స్థలంలో ప్రత్యేక ప్రోగ్రామ్ వెక్టర్ను కలిగి ఉంటాయి. అన్ని అంతరాయాలకు వ్యక్తిగత ఎనేబుల్ బిట్స్ కేటాయించబడతాయి, అవి అంతరాయాన్ని ప్రారంభించడానికి గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ బిట్తో కలిసి స్టేటస్ రిజిస్టర్లో రాయాలి.
ప్రోగ్రామ్ మెమరీ స్థలంలో అత్యల్ప చిరునామాలు డిఫాల్ట్గా రీసెట్ మరియు ఇంటరప్ట్ వెక్టర్స్ అని నిర్వచించబడతాయి. వెక్టర్స్ యొక్క పూర్తి జాబితా లో చూపబడింది 48 వ పేజీలోని “అంతరాయాలు”. జాబితా వివిధ అంతరాయాల యొక్క ప్రాధాన్యత స్థాయిలను కూడా నిర్ణయిస్తుంది. తక్కువ చిరునామా ఎక్కువ ప్రాధాన్యత స్థాయి. రీసెట్కు అత్యధిక ప్రాధాన్యత ఉంది మరియు తదుపరిది INT0 - బాహ్య అంతరాయ అభ్యర్థన 0.
అంతరాయం ఏర్పడినప్పుడు, గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ ఐ-బిట్ క్లియర్ చేయబడుతుంది మరియు అన్ని అంతరాయాలు నిలిపివేయబడతాయి. సమూహ అంతరాయాలను ప్రారంభించడానికి యూజర్ సాఫ్ట్ వేర్ ఐ-బిట్కు లాజిక్ ఒకటి వ్రాయగలదు. ప్రారంభించబడిన అన్ని అంతరాయాలు ప్రస్తుత అంతరాయ దినచర్యకు అంతరాయం కలిగిస్తాయి. రిటర్న్ ఫ్రమ్ ఇంటరప్ట్ ఇన్స్ట్రక్షన్ - RETI - అమలు చేసినప్పుడు I-bit స్వయంచాలకంగా సెట్ చేయబడుతుంది.
ప్రాథమికంగా రెండు రకాల అంతరాయాలు ఉన్నాయి. మొదటి రకం అంతరాయ జెండాను సెట్ చేసే ఈవెంట్ ద్వారా ప్రేరేపించబడుతుంది. ఈ అంతరాయాల కోసం, అంతరాయం కలిగించే నిర్వహణ దినచర్యను అమలు చేయడానికి ప్రోగ్రామ్ కౌంటర్ వాస్తవ అంతరాయ వెక్టర్కు వెక్టర్ చేయబడుతుంది మరియు హార్డ్వేర్ సంబంధిత అంతరాయ జెండాను క్లియర్ చేస్తుంది. క్లియర్ చేయవలసిన ఫ్లాగ్ బిట్ స్థానం (ల) కు లాజిక్ ఒకటి రాయడం ద్వారా అంతరాయ జెండాలను కూడా క్లియర్ చేయవచ్చు. సంబంధిత అంతరాయ ఎనేబుల్ బిట్ క్లియర్ చేయబడినప్పుడు అంతరాయ పరిస్థితి ఏర్పడితే, అంతరాయం ప్రారంభించబడే వరకు ఇంటరప్ట్ ఫ్లాగ్ సెట్ చేయబడుతుంది మరియు గుర్తుంచుకోబడుతుంది లేదా సాఫ్ట్వేర్ ద్వారా జెండా క్లియర్ అవుతుంది. అదేవిధంగా, గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ బిట్ క్లియర్ చేయబడినప్పుడు ఒకటి లేదా అంతకంటే ఎక్కువ అంతరాయ పరిస్థితులు ఏర్పడితే, గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ బిట్ సెట్ అయ్యే వరకు సంబంధిత ఇంటరప్ట్ ఫ్లాగ్ (లు) సెట్ చేయబడతాయి మరియు గుర్తుంచుకోబడతాయి మరియు తరువాత ప్రాధాన్యత క్రమం ద్వారా అమలు చేయబడతాయి.
అంతరాయ పరిస్థితి ఉన్నంతవరకు రెండవ రకం అంతరాయాలు ప్రేరేపిస్తాయి. ఈ అంతరాయాలు తప్పనిసరిగా అంతరాయ జెండాలను కలిగి ఉండవు. అంతరాయం ప్రారంభించబడటానికి ముందు అంతరాయ పరిస్థితి అదృశ్యమైతే, అంతరాయం ప్రేరేపించబడదు.
AVR అంతరాయం నుండి నిష్క్రమించినప్పుడు, ఇది ఎల్లప్పుడూ ప్రధాన ప్రోగ్రామ్కు తిరిగి వస్తుంది మరియు పెండింగ్లో ఉన్న ఏదైనా అంతరాయాన్ని అందించే ముందు మరో సూచనను అమలు చేస్తుంది.
అంతరాయ దినచర్యలో ప్రవేశించేటప్పుడు స్థితి రిజిస్టర్ స్వయంచాలకంగా నిల్వ చేయబడదని లేదా అంతరాయ దినచర్య నుండి తిరిగి వచ్చేటప్పుడు పునరుద్ధరించబడదని గమనించండి. దీన్ని సాఫ్ట్వేర్ ద్వారా నిర్వహించాలి.
అంతరాయాలను నిలిపివేయడానికి CLI సూచనను ఉపయోగిస్తున్నప్పుడు, అంతరాయాలు వెంటనే నిలిపివేయబడతాయి. CLI సూచనతో ఏకకాలంలో సంభవించినప్పటికీ, CLI సూచన తర్వాత ఎటువంటి అంతరాయాలు అమలు చేయబడవు. కింది మాజీampసమయం ముగిసిన EEPROM వ్రాసే క్రమంలో అంతరాయాలను నివారించడానికి దీన్ని ఎలా ఉపయోగించవచ్చో le చూపిస్తుంది.
అసెంబ్లీ కోడ్ ఉదాample |
r16లో, SREG; SREG విలువను నిల్వ చేయండి
cli ; సమయానుకూల క్రమంలో అంతరాయాలను నిలిపివేయండి sbi EECR, EEMPE ; EEPROM వ్రాయడం ప్రారంభించండి sbi EECR, EEPE అవుట్ SREG, r16 ; SREG విలువను పునరుద్ధరించండి (I-bit) |
సి కోడ్ ఉదాample |
చార్ cSREG;
cSREG = SREG; /* స్టోర్ SREG విలువ */ /* సమయానుకూల క్రమంలో అంతరాయాలను నిలిపివేయండి */ _CLI (); EECR |= (1< EECR | = (1 < SREG = cSREG; /* SREG విలువను పునరుద్ధరించండి (I-bit) */ |
అంతరాయాలను ఎనేబుల్ చేయడానికి SEI సూచనలను ఉపయోగిస్తున్నప్పుడు, ఈ ex లో చూపిన విధంగా, ఏదైనా పెండింగ్లో ఉన్న అంతరాయాలకు ముందు SEI కింది సూచన అమలు చేయబడుతుందిample.
అసెంబ్లీ కోడ్ ఉదాample |
sei ; గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ సెట్ చేయండి
నిద్ర; నిద్రలోకి ప్రవేశించండి, అంతరాయం కోసం వేచి ఉండండి ; గమనిక: పెండింగ్లో ఉన్న ముందు నిద్రలోకి ప్రవేశిస్తుంది ; అంతరాయం (లు) |
సి కోడ్ ఉదాample |
_SEI(); /* సెట్ గ్లోబల్ ఇంటరప్ట్ ఎనేబుల్ */
_స్లీప్(); /* నిద్రలోకి ప్రవేశించండి, అంతరాయం కోసం వేచి ఉంది */ / * గమనిక: పెండింగ్లో ఉన్న అంతరాయం (లు) ముందు నిద్రలోకి ప్రవేశిస్తుంది * / |
అంతరాయం కలిగించే ప్రతిస్పందన సమయం
ప్రారంభించబడిన అన్ని AVR అంతరాయాలకు అంతరాయ అమలు ప్రతిస్పందన కనీసం నాలుగు గడియార చక్రాలు. నాలుగు గడియార చక్రాల తరువాత వాస్తవ అంతరాయ నిర్వహణ దినచర్య కోసం ప్రోగ్రామ్ వెక్టర్ చిరునామా అమలు చేయబడుతుంది. ఈ నాలుగు గడియార చక్ర వ్యవధిలో, ప్రోగ్రామ్ కౌంటర్ స్టాక్లోకి నెట్టబడుతుంది. వెక్టర్ సాధారణంగా అంతరాయ దినచర్యకు జంప్, మరియు ఈ జంప్ మూడు గడియార చక్రాలను తీసుకుంటుంది. బహుళ-చక్ర సూచనలను అమలు చేసేటప్పుడు అంతరాయం ఏర్పడితే, అంతరాయం అందించే ముందు ఈ సూచన పూర్తవుతుంది. MCU స్లీప్ మోడ్లో ఉన్నప్పుడు అంతరాయం ఏర్పడితే, అంతరాయ అమలు ప్రతిస్పందన సమయం నాలుగు గడియార చక్రాల ద్వారా పెరుగుతుంది. ఈ పెరుగుదల ఎంచుకున్న స్లీప్ మోడ్ నుండి ప్రారంభ సమయానికి అదనంగా వస్తుంది.
అంతరాయ నిర్వహణ దినచర్య నుండి తిరిగి రావడానికి నాలుగు గడియార చక్రాలు పడుతుంది. ఈ నాలుగు గడియార చక్రాల సమయంలో, ప్రోగ్రామ్ కౌంటర్ (రెండు బైట్లు) స్టాక్ నుండి తిరిగి పాప్ చేయబడతాయి, స్టాక్ పాయింటర్ రెండు పెరుగుతుంది మరియు SREG లోని I- బిట్ సెట్ చేయబడింది.
AVR జ్ఞాపకాలు
ఈ విభాగం ATtiny25 / 45/85 లోని విభిన్న జ్ఞాపకాలను వివరిస్తుంది. AVR ఆర్కిటెక్చర్ రెండు ప్రధాన మెమరీ ఖాళీలను కలిగి ఉంది, డేటా మెమరీ మరియు ప్రోగ్రామ్ మెమరీ స్పేస్. అదనంగా, ATtiny25 / 45/85 డేటా నిల్వ కోసం EEPROM మెమరీని కలిగి ఉంటుంది. మూడు మెమరీ ఖాళీలు సరళ మరియు రెగ్యులర్.
ఇన్-సిస్టమ్ రీ-ప్రోగ్రామబుల్ ఫ్లాష్ ప్రోగ్రామ్ మెమరీ
ATtiny25 / 45/85 ప్రోగ్రామ్ స్టోర్-ఏజ్ కోసం ఆన్-చిప్ ఇన్-సిస్టమ్ రిప్రొగ్రామబుల్ ఫ్లాష్ మెమరీని కలిగి ఉంది. అన్ని AVR సూచనలు 2 లేదా 4 బిట్స్ వెడల్పు ఉన్నందున, ఫ్లాష్ 8/16/32 x 1024 గా నిర్వహించబడుతుంది.
ఫ్లాష్ మెమరీకి కనీసం 10,000 వ్రాత / చెరిపివేసే చక్రాల ఓర్పు ఉంటుంది. ATtiny25 / 45/85 ప్రోగ్రామ్ కౌంటర్ (పిసి) 10/11/12 బిట్స్ వెడల్పుతో ఉంటుంది, తద్వారా 1024/2048/4096 ప్రోగ్రామ్ మెమరీ స్థానాలను సూచిస్తుంది. “మెమరీ ప్రోగ్రామ్- 147 వ పేజీలో మింగ్ ” SPI పిన్లను ఉపయోగించి ఫ్లాష్ డేటా సీరియల్ డౌన్లోడ్పై వివరణాత్మక వివరణ ఉంది.
మొత్తం ప్రోగ్రామ్ మెమరీ చిరునామా స్థలంలో స్థిరమైన పట్టికలను కేటాయించవచ్చు (LPM - లోడ్ ప్రోగ్రామ్ మెమరీ సూచన వివరణ చూడండి).
మూర్తి 5-1. ప్రోగ్రామ్ మెమరీ మ్యాప్
SRAM డేటా మెమరీ
మూర్తి 5-2 ATtiny25 / 45/85 SRAM మెమరీ ఎలా నిర్వహించబడుతుందో చూపిస్తుంది.
దిగువ 224/352/607 డేటా మెమరీ స్థానాలు రిజిస్టర్ రెండింటినీ సూచిస్తాయి File, I/O మెమరీ మరియు అంతర్గత డేటా SRAM. మొదటి 32 స్థానాలు రిజిస్టర్ను సూచిస్తాయి File, తదుపరి 64 స్థానాలు ప్రామాణిక I/O మెమరీ, మరియు చివరి 128/256/512 స్థానాలు అంతర్గత డేటా SRAMని సూచిస్తాయి.
డేటా మెమరీ కవర్ కోసం ఐదు విభిన్న అడ్రసింగ్ మోడ్లు: డైరెక్ట్, ఇన్డైరెక్ట్తో డిస్ప్లేస్మెంట్, ఇన్డైరెక్ట్, ఇండైరెక్ట్తో ప్రీ-డిక్రిమెంట్ మరియు ఇన్డైరెక్ట్తో ఇన్క్రిమెంట్. రిజిస్టర్ లో File, రిజిస్టర్లు R26 నుండి R31 వరకు పరోక్ష చిరునామా పాయింటర్ రిజిస్టర్లను కలిగి ఉంటాయి.
ప్రత్యక్ష చిరునామా మొత్తం డేటా స్థలానికి చేరుకుంటుంది.
Y- లేదా Z- రిజిస్టర్ ఇచ్చిన మూల చిరునామా నుండి పరోక్ష విత్ డిస్ప్లేస్మెంట్ మోడ్ 63 చిరునామా స్థానాలకు చేరుకుంటుంది.
ఆటోమేటిక్ ప్రీ-డిక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్తో రిజిస్టర్ పరోక్ష అడ్రసింగ్ మోడ్లను ఉపయోగిస్తున్నప్పుడు, చిరునామా రిజిస్టర్లు X, Y మరియు Z తగ్గుతాయి లేదా పెంచబడతాయి.
ATtiny32/64/128లోని 256 సాధారణ ప్రయోజన వర్కింగ్ రిజిస్టర్లు, 512 I/O రిజిస్టర్లు మరియు 25/45/85 బైట్ల అంతర్గత డేటా SRAM ఈ అన్ని అడ్రసింగ్ మోడ్ల ద్వారా అందుబాటులో ఉంటాయి. రిజిస్టర్ File లో వివరించబడింది “జనరల్- ఎరల్ పర్పస్ రిజిస్టర్ File10వ పేజీలో.
మూర్తి 5-2. డేటా మెమరీ మ్యాప్
డేటా మెమరీ యాక్సెస్ టైమ్స్
ఈ విభాగం అంతర్గత మెమరీ యాక్సెస్ కోసం సాధారణ యాక్సెస్ టైమింగ్ కాన్సెప్ట్లను వివరిస్తుంది. లో వివరించిన విధంగా అంతర్గత డేటా SRAM యాక్సెస్ రెండు clkCPU చక్రాలలో నిర్వహించబడుతుంది మూర్తి 5-3.
మూర్తి 5-3. ఆన్-చిప్ డేటా SRAM యాక్సెస్ సైకిల్స్ EEPROM డేటా మెమరీ
ATtiny25 / 45/85 128/256/512 బైట్ల డేటా EEPROM మెమరీని కలిగి ఉంది. ఇది ఒక ప్రత్యేక డేటా స్థలంగా నిర్వహించబడుతుంది, దీనిలో ఒకే బైట్లను చదవవచ్చు మరియు వ్రాయవచ్చు. EEPROM కి కనీసం 100,000 వ్రాత / చెరిపివేసే చక్రాల ఓర్పు ఉంది. EEPROM మరియు CPU ల మధ్య ప్రాప్యత కింది వాటిలో వివరించబడింది, EEPROM చిరునామా రిజిస్టర్లు, EEPROM డేటా రిజిస్టర్ మరియు EEPROM కంట్రోల్ రిజిస్టర్ను పేర్కొంటుంది. వివరాల కోసం చూడండి 151 వ పేజీలోని “సీరియల్ డౌన్లోడ్”.
EEPROM యాక్సెస్ / రైట్ యాక్సెస్
EEPROM యాక్సెస్ రిజిస్టర్లు I / O ప్రదేశంలో అందుబాటులో ఉంటాయి.
EEPROM కోసం వ్రాసే ప్రాప్యత సమయాలు ఇవ్వబడ్డాయి 5 వ పేజీలో పట్టిక 1-21. స్వీయ-సమయ ఫంక్షన్, అయితే, తదుపరి బైట్ను ఎప్పుడు వ్రాయవచ్చో వినియోగదారు సాఫ్ట్వేర్ని గుర్తించడానికి అనుమతిస్తుంది. వినియోగదారు కోడ్ EEPROMని వ్రాసే సూచనలను కలిగి ఉంటే, కొన్ని జాగ్రత్తలు తప్పనిసరిగా తీసుకోవాలి. భారీగా ఫిల్టర్ చేయబడిన విద్యుత్ సరఫరాలలో, VCC నెమ్మదిగా పెరుగుతుంది లేదా పడిపోతుంది
పవర్-అప్/డౌన్. దీని వలన పరికరం కొంత సమయం వరకు వాల్యూమ్లో నడుస్తుందిtagఇ ఉపయోగించిన గడియార పౌనఃపున్యానికి కనిష్టంగా పేర్కొన్న దానికంటే తక్కువ. చూడండి 19 వ పేజీలోని “EEPROM అవినీతిని నివారించడం” ఈ పరిస్థితులలో సమస్యలను ఎలా నివారించాలో వివరాల కోసం.
అనుకోకుండా EEPROM వ్రాతలను నివారించడానికి, ఒక నిర్దిష్ట వ్రాత విధానాన్ని అనుసరించాలి. చూడండి “అణు 17 వ పేజీలో బైట్ ప్రోగ్రామింగ్ ” మరియు 17 వ పేజీలోని “స్ప్లిట్ బైట్ ప్రోగ్రామింగ్” దీనిపై వివరాల కోసం.
EEPROM చదివినప్పుడు, తదుపరి సూచనను అమలు చేయడానికి ముందు CPU నాలుగు గడియార చక్రాల కోసం నిలిపివేయబడుతుంది. EEPROM వ్రాసినప్పుడు, తదుపరి సూచన అమలు చేయడానికి ముందు రెండు గడియార చక్రాల కోసం CPU నిలిపివేయబడుతుంది.
అటామిక్ బైట్ ప్రోగ్రామింగ్
అటామిక్ బైట్ ప్రోగ్రామింగ్ ఉపయోగించడం సరళమైన మోడ్. EEPROM కు బైట్ రాసేటప్పుడు, వినియోగదారు తప్పనిసరిగా EEAR రిజిస్టర్లో చిరునామాను మరియు డేటాను EEDR రిజిస్టర్లో వ్రాయాలి. EEPMn బిట్స్ సున్నా అయితే, EEPE రాయడం (EEMPE వ్రాసిన తర్వాత నాలుగు చక్రాలలో) చెరిపివేయుట / వ్రాసే ఆపరేషన్ను ప్రేరేపిస్తుంది. చెరిపివేయుట మరియు వ్రాసే చక్రం రెండూ ఒక ఆపరేషన్లో జరుగుతాయి మరియు మొత్తం ప్రోగ్రామింగ్ సమయం ఇవ్వబడుతుంది 5 వ పేజీలో పట్టిక 1-21. చెరిపివేయు మరియు వ్రాసే కార్యకలాపాలు పూర్తయ్యే వరకు EEPE బిట్ సెట్ చేయబడుతుంది. పరికరం ప్రోగ్రామింగ్లో బిజీగా ఉన్నప్పటికీ, ఇతర EEPROM ఆపరేషన్లు చేయడం సాధ్యం కాదు.
స్ప్లిట్ బైట్ ప్రోగ్రామింగ్
రెండు వేర్వేరు ఆపరేషన్లలో ఎరేస్ మరియు రైట్ సైకిల్ను విభజించడం సాధ్యమవుతుంది. సిస్టమ్కు కొంత పరిమిత సమయం వరకు తక్కువ యాక్సెస్ సమయం అవసరమైతే ఇది ఉపయోగకరంగా ఉండవచ్చు (సాధారణంగా విద్యుత్ సరఫరా వాల్యూమ్ అయితేtagఇ వస్తుంది). అడ్వాన్ తీసుకోవడానికి- tagఈ పద్దతి యొక్క ఇ, వ్రాయవలసిన లొకేషన్లను వ్రాత ఆపరేషన్కు ముందు తొలగించడం అవసరం. కానీ ఎరేస్ మరియు రైట్ ఆపరేషన్లు విభజించబడినందున, సిస్టమ్ టైమ్-క్రిటికల్ ఆపరేషన్లను (సాధారణంగా పవర్-అప్ తర్వాత) చేయడానికి అనుమతించినప్పుడు ఎరేస్ ఆపరేషన్లు చేయడం సాధ్యపడుతుంది.
తుడిచివేయండి
బైట్ను చెరిపేయడానికి, చిరునామా EEAR కు వ్రాయబడాలి. EEPMn బిట్స్ 0b01 అయితే, EEPE రాయడం (EEMPE వ్రాసిన తర్వాత నాలుగు చక్రాలలో) చెరిపివేసే ఆపరేషన్ను మాత్రమే ప్రేరేపిస్తుంది (ప్రోగ్రామింగ్ సమయం ఇవ్వబడింది టేబుల్ 5-1 ఆన్ పేజీ 21). చెరిపివేసే ఆపరేషన్ పూర్తయ్యే వరకు EEPE బిట్ సెట్ చేయబడుతుంది. పరికరం బిజీగా ఉన్న ప్రోగ్రామింగ్ అయితే, ఇతర EEPROM ఆపరేషన్లు చేయడం సాధ్యం కాదు.
వ్రాయండి
ఒక స్థానాన్ని వ్రాయడానికి, వినియోగదారు చిరునామాను EEAR లోకి మరియు డేటాను EEDR లోకి వ్రాయాలి. EEPMn బిట్స్ 0b10 అయితే, EEPE రాయడం (EEMPE వ్రాసిన తర్వాత నాలుగు చక్రాలలో) వ్రాసే ఆపరేషన్ను మాత్రమే ప్రేరేపిస్తుంది (ప్రోగ్రామ్-మింగ్ సమయం ఇవ్వబడింది 5 వ పేజీలో పట్టిక 1-21). వ్రాసే ఆపరేషన్ పూర్తయ్యే వరకు EEPE బిట్ సెట్ చేయబడుతుంది. వ్రాయడానికి ముందు వ్రాయవలసిన స్థానం తొలగించబడకపోతే, నిల్వ చేయబడిన డేటా తప్పక కోల్పోయినట్లుగా పరిగణించాలి. పరికరం ప్రోగ్రామింగ్లో బిజీగా ఉన్నప్పటికీ, ఇతర EEPROM ఆపరేషన్లు చేయడం సాధ్యం కాదు.
క్రమాంకనం చేసిన ఓసిలేటర్ EEPROM యాక్సెస్ చేసే సమయానికి ఉపయోగించబడుతుంది. ఓసిలేటర్ ఫ్రీక్వెన్సీ వివరించిన అవసరాలలో ఉందని నిర్ధారించుకోండి 31 వ పేజీలోని “OSCCAL - ఓసిలేటర్ కాలిబ్రేషన్ రిజిస్టర్”.
కింది కోడ్ ఉదాamples EEPROM యొక్క ఎరేస్, రైట్ లేదా అటామిక్ రైట్ కోసం ఒక అసెంబ్లీ మరియు ఒక C ఫంక్షన్ను చూపుతుంది. మాజీampఅంతరాయాలు నియంత్రించబడతాయని (ఉదా, ప్రపంచవ్యాప్తంగా అంతరాయాలను నిలిపివేయడం ద్వారా) కాబట్టి ఈ ఫంక్షన్ల అమలు సమయంలో ఎటువంటి అంతరాయాలు సంభవించవు.
అసెంబ్లీ కోడ్ ఉదాample |
EEPROM_ వ్రాయండి:
; మునుపటి వ్రాత పూర్తయ్యే వరకు వేచి ఉండండి sbic EECR,EEPE rjmp EEPROM_write ; ప్రోగ్రామింగ్ మోడ్ను సెట్ చేయండి ldi r16, (0<<EEPM1)|(0<<EEPM0) EECR, r16 నుండి ; చిరునామా రిజిస్టర్లో చిరునామాను (r18: r17) సెటప్ చేయండి EEARH, r18 నుండి EEARL, r17 నుండి ; డేటా రిజిస్టర్కు డేటా (r19) వ్రాయండి అవుట్ EEDR, r19 ; EEMPE కి తార్కికదాన్ని వ్రాయండి sbi EECR,EEMPE ; EEPE ని సెట్ చేయడం ద్వారా ఈప్రోమ్ వ్రాతను ప్రారంభించండి sbi EECR,EEPE రెట్ |
సి కోడ్ ఉదాample |
శూన్యం EEPROM_write (సంతకం చేయని చార్ uc చిరునామా, సంతకం చేయని చార్ ucData)
{ /* మునుపటి వ్రాత పూర్తయ్యే వరకు వేచి ఉండండి */ అయితే(EECR & (1< ; /* ప్రోగ్రామింగ్ మోడ్ని సెట్ చేయండి */ EECR = (0 < / * చిరునామా మరియు డేటా రిజిస్టర్లను సెటప్ చేయండి * / EEAR = ucAddress; EEDR = ucData; /* EEMPEకి లాజికల్ ఒకటి వ్రాయండి */ EECR | = (1 < / * EEPE ని సెట్ చేయడం ద్వారా ఈప్రోమ్ వ్రాతను ప్రారంభించండి * / EECR | = (1 < } |
తదుపరి కోడ్ మాజీampలెస్ EEPROM చదవడానికి అసెంబ్లీ మరియు C ఫంక్షన్లను చూపుతుంది. మాజీampఈ ఫంక్షన్ల అమలు సమయంలో ఎటువంటి అంతరాయాలు ఏర్పడకుండా అంతరాయాలు నియంత్రించబడతాయని లెస్ భావించవచ్చు.
అసెంబ్లీ కోడ్ ఉదాample |
EEPROM_రీడ్:
; మునుపటి వ్రాత పూర్తయ్యే వరకు వేచి ఉండండి sbic EECR,EEPE rjmp EEPROM_read ; చిరునామా రిజిస్టర్లో చిరునామాను (r18: r17) సెటప్ చేయండి EEARH, r18 నుండి EEARL, r17 నుండి ; EERE రాయడం ద్వారా ఈప్రోమ్ చదవడం ప్రారంభించండి sbi EECR,EERE ; డేటా రిజిస్టర్ నుండి డేటాను చదవండి r16,EEDRలో రెట్ |
సి కోడ్ ఉదాample |
సంతకం చేయని చార్ EEPROM_read(సంతకం చేయని చార్ uc చిరునామా)
{ / * మునుపటి వ్రాత పూర్తయ్యే వరకు వేచి ఉండండి * / అయితే (EECR & (1 < ; / * చిరునామా రిజిస్టర్ను సెటప్ చేయండి * / EEAR = ucAddress; /* EERE వ్రాయడం ద్వారా eeprom చదవడం ప్రారంభించండి */ EECR | = (1 < / * డేటా రిజిస్టర్ నుండి డేటాను తిరిగి ఇవ్వండి * / తిరిగి EEDR; } |
EEPROM అవినీతిని నివారించడం
తక్కువ VCC ఉన్న కాలంలో, EEPROM డేటా పాడైపోతుంది ఎందుకంటే సరఫరా వాల్యూమ్tage CPU మరియు EEPROM సరిగ్గా పనిచేయడానికి చాలా తక్కువగా ఉంది. ఈ సమస్యలు EEPROMని ఉపయోగించే బోర్డు స్థాయి సిస్టమ్ల మాదిరిగానే ఉంటాయి మరియు అదే డిజైన్ పరిష్కారాలను వర్తింపజేయాలి.
ఒక EEPROM డేటా అవినీతి రెండు పరిస్థితుల వల్ల సంభవించవచ్చుtagఇ చాలా తక్కువగా ఉంది. ముందుగా, EEPROMకి రెగ్యులర్ రైట్ సీక్వెన్స్కు కనీస వాల్యూమ్ అవసరంtagఇ సరిగ్గా పనిచేయడానికి. రెండవది, సరఫరా వాల్యూమ్ అయితే, CPU కూడా సూచనలను తప్పుగా అమలు చేయగలదుtagఇ చాలా తక్కువగా ఉంది.
ఈ డిజైన్ సిఫారసును అనుసరించడం ద్వారా EEPROM డేటా అవినీతిని సులభంగా నివారించవచ్చు:
తగినంత విద్యుత్ సరఫరా లేని సమయాల్లో AVR రీసెట్ను సక్రియంగా (తక్కువగా) ఉంచండిtagఇ. అంతర్గత బ్రౌన్-అవుట్ డిటెక్టర్ (BOD)ని ప్రారంభించడం ద్వారా ఇది చేయవచ్చు. అంతర్గత BOD యొక్క గుర్తింపు స్థాయి సరిపోలకపోతే
అవసరమైన గుర్తింపు స్థాయి, బాహ్య తక్కువ VCC రీసెట్ రక్షణ సర్క్యూట్ను ఉపయోగించవచ్చు. వ్రాత ఆపరేషన్ ప్రోగ్రెస్లో ఉన్నప్పుడు రీసెట్ జరిగితే, పవర్ సప్లై వాల్యూం ప్రకారం రైట్ ఆపరేషన్ పూర్తవుతుందిtagఇ సరిపోతుంది.
I / O మెమరీ
ATtiny25 / 45/85 యొక్క I / O స్పేస్ నిర్వచనం చూపబడింది 200 వ పేజీలోని “రిజిస్టర్ సారాంశం”.
అన్ని ATtiny25 / 45/85 I / Os మరియు పెరిఫెరల్స్ I / O ప్రదేశంలో ఉంచబడతాయి. అన్ని I / O స్థానాలను LD / LDS / LDD మరియు ST / STS / STD సూచనల ద్వారా యాక్సెస్ చేయవచ్చు, 32 సాధారణ ప్రయోజన వర్కింగ్ రిజిస్టర్లు మరియు I / O స్థలం మధ్య డేటాను బదిలీ చేస్తుంది. చిరునామా పరిధి 0x00 - 0x1F లోని I / O రిజిస్టర్లు SBI మరియు CBI సూచనలను ఉపయోగించి నేరుగా బిట్-యాక్సెస్ చేయబడతాయి. ఈ రిజిస్టర్లలో, SBIS మరియు SBIC సూచనలను ఉపయోగించడం ద్వారా సింగిల్ బిట్ల విలువను తనిఖీ చేయవచ్చు. మరిన్ని వివరాల కోసం ఇన్స్ట్రక్షన్ సెట్ విభాగాన్ని చూడండి. IN / OUT I / O నిర్దిష్ట ఆదేశాలను ఉపయోగిస్తున్నప్పుడు, I / O చిరునామాలు 0x00 - 0x3F తప్పక ఉపయోగించాలి. LD మరియు ST సూచనలను ఉపయోగించి I / O రిజిస్టర్లను డేటా స్పేస్గా పరిష్కరించేటప్పుడు, ఈ చిరునామాలకు 0x20 తప్పక జోడించబడాలి.
భవిష్యత్ పరికరాలతో అనుకూలత కోసం, రిజర్వు చేయబడిన బిట్లను యాక్సెస్ చేస్తే సున్నాకి వ్రాయాలి. రిజర్వు చేసిన I / O మెమరీ చిరునామాలు ఎప్పుడూ వ్రాయకూడదు.
కొన్ని స్థితి జెండాలు వాటికి తార్కికమైనదాన్ని వ్రాయడం ద్వారా క్లియర్ చేయబడతాయి. సిబిఐ మరియు ఎస్బిఐ సూచనలు పేర్కొన్న బిట్లో మాత్రమే పనిచేస్తాయని గమనించండి మరియు అందువల్ల అటువంటి స్థితి జెండాలను కలిగి ఉన్న రిజిస్టర్లలో ఉపయోగించవచ్చు. సిబిఐ మరియు ఎస్బిఐ సూచనలు 0x00 నుండి 0x1F వరకు మాత్రమే రిజిస్టర్లతో పనిచేస్తాయి.
I / O మరియు పెరిఫెరల్స్ కంట్రోల్ రిజిస్టర్లు తరువాత విభాగాలలో వివరించబడ్డాయి.
నమోదు వివరణ
EEARH - EEPROM చిరునామా రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1F | – | – | – | – | – | – | – | EEAR8 | చెవి |
చదవండి/వ్రాయండి | R | R | R | R | R | R | R | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X/0 |
బిట్స్ 7: 1 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ భవిష్యత్ ఉపయోగం కోసం ప్రత్యేకించబడ్డాయి మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్స్ 0 - EEAR8: EEPROM చిరునామా
ఇది ATtiny85 యొక్క అత్యంత ముఖ్యమైన EEPROM చిరునామా బిట్. తక్కువ EEPROM ఉన్న పరికరాల్లో, అనగా ATtiny25 / ATtiny45, ఈ బిట్ రిజర్వు చేయబడింది మరియు ఎల్లప్పుడూ సున్నా చదువుతుంది. EEPROM అడ్రస్ రెజిస్టర్ (EEAR) యొక్క ప్రారంభ విలువ నిర్వచించబడలేదు మరియు అందువల్ల EEPROM ను యాక్సెస్ చేయడానికి ముందు సరైన విలువ వ్రాయబడాలి.
EEARL - EEPROM చిరునామా రిజిస్టర్
బిట్
0x1E | EEAR7 | EEAR6 | EEAR5 | EEAR4 | EEAR3 | EEAR2 | EEAR1 | EEAR0 | EEARL |
వెనుక / వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | X | X | X | X | X | X | X | X |
బిట్ 7 - EEAR7: EEPROM చిరునామా
ఇది ATtiny45 యొక్క అత్యంత ముఖ్యమైన EEPROM చిరునామా బిట్. తక్కువ EEPROM ఉన్న పరికరాల్లో, అంటే ATtiny25, ఈ బిట్ రిజర్వు చేయబడింది మరియు ఎల్లప్పుడూ సున్నా చదువుతుంది. EEPROM అడ్రస్ రిజిస్టర్ (EEAR) యొక్క ప్రారంభ విలువ నిర్వచించబడలేదు మరియు అందువల్ల EEPROM ను యాక్సెస్ చేయడానికి ముందు సరైన విలువ వ్రాయబడాలి.
బిట్స్ 6: 0 - EEAR [6: 0]: EEPROM చిరునామా
ఇవి EEPROM చిరునామా రిజిస్టర్ యొక్క (తక్కువ) బిట్స్. EEPROM డేటా బైట్లు 0… (128/256 / 512-1) పరిధిలో సరళంగా పరిష్కరించబడతాయి. EEAR యొక్క ప్రారంభ విలువ నిర్వచించబడలేదు మరియు అందువల్ల EEPROM ను యాక్సెస్ చేయడానికి ముందు సరైన విలువను వ్రాయాలి.
EEDR - EEPROM డేటా రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1D | EEDR7 | EEDR6 | EEDR5 | EEDR4 | EEDR3 | EEDR2 | EEDR1 | EEDR0 | EEDR |
చదవండి/వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
EEPROM వ్రాత ఆపరేషన్ కోసం EEDR రిజిస్టర్ EEAR రిజిస్టర్ ఇచ్చిన చిరునామాలో EEPROM కు వ్రాయవలసిన డేటాను కలిగి ఉంది. EEPROM రీడ్ ఆపరేషన్ కోసం, EEDR నుండి చదివిన డేటాను కలిగి ఉంటుంది
EEAR ఇచ్చిన చిరునామా వద్ద EEPROM.
5.5.4 EECR - EEPROM కంట్రోల్ రిజిస్టర్ |
|||||||||
బిట్ 7 6 5 | 4 | 3 | 2 | 1 | 0 | ||||
0x1 సి – | – | EEPM1 | EEPM0 | ఈరీ | EEMPE | EEPE | EERE | EECR | |
R R R / W చదవండి / వ్రాయండి | R/W | R/W | R/W | R/W | R/W | ||||
ప్రారంభ విలువ 0 0 X. | X | 0 | 0 | X | 0 |
బిట్ 7 - రెస్: రిజర్వు చేసిన బిట్
ఈ బిట్ భవిష్యత్ ఉపయోగం కోసం రిజర్వు చేయబడింది మరియు ఇది ఎల్లప్పుడూ ATtiny0 / 25/45 లో 85 గా చదువుతుంది. భవిష్యత్ AVR పరికరాలతో అనుకూలత కోసం, ఎల్లప్పుడూ ఈ బిట్ను సున్నాకి రాయండి. చదివిన తరువాత, ఈ బిట్ను ముసుగు చేయండి.
బిట్ 6 - రెస్: రిజర్వు చేసిన బిట్
ఈ బిట్ ATtiny25 / 45/85 లో రిజర్వు చేయబడింది మరియు ఇది ఎల్లప్పుడూ సున్నాగా చదవబడుతుంది.
బిట్స్ 5: 4 - EEPM [1: 0]: EEPROM ప్రోగ్రామింగ్ మోడ్ బిట్స్
EEPROM ప్రోగ్రామింగ్ మోడ్ బిట్స్ సెట్టింగ్ EEPE ను వ్రాసేటప్పుడు ఏ ప్రోగ్రామింగ్ చర్యను ప్రేరేపిస్తుందో నిర్వచిస్తుంది. ఒక అణు ఆపరేషన్లో డేటాను ప్రోగ్రామ్ చేయడం (పాత విలువను చెరిపివేయడం మరియు క్రొత్త విలువను ప్రోగ్రామ్ చేయడం) లేదా రెండు వేర్వేరు ఆపరేషన్లలో ఎరేస్ మరియు రైట్ ఆపరేషన్లను విభజించడం సాధ్యపడుతుంది. విభిన్న మోడ్ల కోసం ప్రోగ్రామింగ్ సమయాలు చూపించబడ్డాయి పట్టిక 5-1. EEPE సెట్ చేయబడినప్పుడు, EEPMn కు ఏదైనా వ్రాయడం విస్మరించబడుతుంది. రీసెట్ చేసేటప్పుడు, EEPROM బిజీ ప్రోగ్రామింగ్ కాకపోతే EEPMn బిట్స్ 0b00 కు రీసెట్ చేయబడతాయి.
పట్టిక 5-1. EEPROM మోడ్ బిట్స్
EEPM1 | EEPM0 | ప్రోగ్రామింగ్ సమయం | ఆపరేషన్ |
0 | 0 | 3.4 ms | ఒక ఆపరేషన్లో తొలగించండి మరియు వ్రాయండి (అటామిక్ ఆపరేషన్) |
0 | 1 | 1.8 ms | తొలగించు మాత్రమే |
1 | 0 | 1.8 ms | వ్రాయడానికి మాత్రమే |
1 | 1 | – | భవిష్యత్ ఉపయోగం కోసం రిజర్వ్ చేయబడింది |
బిట్ 3 - EERIE: EEPROM రెడీ ఇంటరప్ట్ ఎనేబుల్
SREG లోని I- బిట్ సెట్ చేయబడితే EERIE ను వ్రాయడం EEPROM రెడీ ఇంటరప్ట్ను అనుమతిస్తుంది. EERIE ని సున్నాకి రాయడం అంతరాయాన్ని కలిగిస్తుంది. ప్రోగ్రామింగ్ కోసం అస్థిర మెమరీ సిద్ధంగా ఉన్నప్పుడు EEPROM రెడీ ఇంటరప్ట్ స్థిరమైన అంతరాయాన్ని సృష్టిస్తుంది.
బిట్ 2 - EEMPE: EEPROM మాస్టర్ ప్రోగ్రామ్ ప్రారంభించండి
ఒకరికి EEPE రాయడం ప్రభావం చూపుతుందో లేదో EEMPE బిట్ నిర్ణయిస్తుంది.
EEMPE సెట్ చేయబడినప్పుడు, నాలుగు గడియార చక్రాలలో EEPE ని సెట్ చేస్తే ఎంచుకున్న చిరునామా వద్ద EEPROM ను ప్రోగ్రామ్ చేస్తుంది. EEMPE సున్నా అయితే, EEPE సెట్ చేయడం వల్ల ఎటువంటి ప్రభావం ఉండదు. సాఫ్ట్వేర్ ద్వారా EEMPE ఒకదానికి వ్రాయబడినప్పుడు, హార్డ్వేర్ నాలుగు గడియార చక్రాల తర్వాత బిట్ను సున్నాకి క్లియర్ చేస్తుంది.
బిట్ 1 - EEPE: EEPROM ప్రోగ్రామ్ ప్రారంభించండి
EEPROM ప్రోగ్రామ్ సిగ్నల్ను ప్రారంభించండి EEPE అనేది ప్రోగ్రామింగ్ EEPROM కు ఎనేబుల్ సిగ్నల్. EEPE వ్రాసినప్పుడు, EEPROM EEPMn బిట్స్ సెట్టింగ్ ప్రకారం ప్రోగ్రామ్ చేయబడుతుంది. EEPE కి తార్కిక వ్రాసే ముందు EEMPE బిట్ తప్పనిసరిగా ఒకదానికి వ్రాయబడాలి, లేకపోతే EEPROM వ్రాయడం జరగదు. వ్రాసే ప్రాప్యత సమయం ముగిసినప్పుడు, హార్డ్వేర్ ద్వారా EEPE బిట్ క్లియర్ అవుతుంది. EEPE సెట్ చేయబడినప్పుడు, తదుపరి సూచనలను అమలు చేయడానికి ముందు CPU రెండు చక్రాల కోసం నిలిపివేయబడుతుంది.
బిట్ 0 - EERE: EEPROM Read Enable
EEPROM రీడ్ ఎనేబుల్ సిగ్నల్ - EERE - అనేది EEPROM కు రీడ్ స్ట్రోబ్. EEAR రిజిస్టర్లో సరైన చిరునామా ఏర్పాటు చేయబడినప్పుడు, EEPROM రీడ్ను ప్రేరేపించడానికి EERE బిట్ను ఒకదానికి వ్రాయాలి. EEPROM రీడ్ యాక్సెస్ ఒక సూచనను తీసుకుంటుంది మరియు అభ్యర్థించిన డేటా వెంటనే అందుబాటులో ఉంటుంది. EEPROM చదివినప్పుడు, తదుపరి సూచనను అమలు చేయడానికి ముందు CPU నాలుగు చక్రాల కోసం నిలిపివేయబడుతుంది. రీడ్ ఆపరేషన్ ప్రారంభించడానికి ముందు వినియోగదారు EEPE బిట్ను పోల్ చేయాలి. వ్రాత ఆపరేషన్ పురోగతిలో ఉంటే, EEPROM ను చదవడం లేదా EEAR రిజిస్టర్ను మార్చడం సాధ్యం కాదు.
సిస్టమ్ గడియారం మరియు గడియార ఎంపికలు
క్లాక్ సిస్టమ్స్ మరియు వాటి పంపిణీ
CPU గడియారం
CPU గడియారం AVR కోర్ యొక్క ఆపరేషన్కు సంబంధించిన సిస్టమ్లోని భాగాలకు మళ్లించబడుతుంది. ఉదాampఅటువంటి మాడ్యూల్స్ యొక్క లెస్ జనరల్ పర్పస్ రిజిస్టర్ File, స్టేటస్ రిజిస్టర్ మరియు స్టాక్ పాయింటర్ని కలిగి ఉన్న డేటా మెమరీ. CPU గడియారాన్ని ఆపివేయడం వలన కోర్ సాధారణ కార్యకలాపాలు మరియు గణనలను నిర్వహించకుండా నిరోధిస్తుంది.
I / O గడియారం - clkI / O.
I / O గడియారాన్ని టైమర్ / కౌంటర్ వంటి I / O మాడ్యూళ్ళలో ఎక్కువ భాగం ఉపయోగిస్తారు. I / O గడియారం బాహ్య అంతరాయ మాడ్యూల్ ద్వారా కూడా ఉపయోగించబడుతుంది, అయితే కొన్ని బాహ్య అంతరాయాలు అసమకాలిక తర్కం ద్వారా గుర్తించబడతాయని గమనించండి, I / O గడియారం ఆగిపోయినప్పటికీ అటువంటి అంతరాయాలను కనుగొనటానికి అనుమతిస్తుంది.
ఫ్లాష్ క్లాక్ - clkFLASH
ఫ్లాష్ గడియారం ఫ్లాష్ ఇంటర్ఫేస్ యొక్క ఆపరేషన్ను నియంత్రిస్తుంది. ఫ్లాష్ గడియారం సాధారణంగా CPU గడియారంతో ఏకకాలంలో చురుకుగా ఉంటుంది.
ADC గడియారం - clkADC
ADC కి ప్రత్యేకమైన క్లాక్ డొమైన్తో అందించబడింది. ఇది డిజిటల్ సర్క్యూట్ ద్వారా ఉత్పన్నమయ్యే శబ్దాన్ని తగ్గించడానికి CPU మరియు I / O గడియారాలను ఆపడానికి అనుమతిస్తుంది. ఇది మరింత ఖచ్చితమైన ADC మార్పిడి ఫలితాలను ఇస్తుంది.
ఫాస్ట్ పెరిఫెరల్ క్లాక్ జనరేషన్ కోసం అంతర్గత పిఎల్ఎల్ - clkPCK
ATtiny25 / 45/85 లోని అంతర్గత PLL గడియార పౌన frequency పున్యాన్ని ఉత్పత్తి చేస్తుంది, ఇది మూలం ఇన్పుట్ నుండి 8x గుణించబడుతుంది. అప్రమేయంగా, PLL అంతర్గత, 8.0 MHz RC ఓసిలేటర్ యొక్క ఉత్పత్తిని మూలంగా ఉపయోగిస్తుంది. ప్రత్యామ్నాయంగా, PLLCSR యొక్క బిట్ LSM సెట్ చేయబడితే, PLL RC ఓసిలేటర్ యొక్క అవుట్పుట్ను రెండుతో విభజించింది. ఈ విధంగా PLL యొక్క అవుట్పుట్, ఫాస్ట్ పెరిఫెరల్ క్లాక్ 64 MHz. వేగవంతమైన పరిధీయ గడియారం లేదా దాని నుండి ప్రీస్కేల్ చేయబడిన గడియారాన్ని టైమర్ / కౌంటర్ 1 కోసం గడియార మూలంగా లేదా సిస్టమ్ గడియారంగా ఎంచుకోవచ్చు. చూడండి మూర్తి 6-2. PLLCSR యొక్క LSM సెట్ చేయబడినప్పుడు వేగవంతమైన పరిధీయ గడియారం యొక్క ఫ్రీక్వెన్సీ రెండుగా విభజించబడింది, దీని ఫలితంగా 32 MHz గడియార పౌనఃపున్యం ఉంటుంది. PLLCLKని సిస్టమ్ క్లాక్గా ఉపయోగించినట్లయితే LSM సెట్ చేయబడదని గుర్తుంచుకోండి.
మూర్తి 6-2. PCK క్లాకింగ్ సిస్టమ్.
PLL RC ఓసిలేటర్లో లాక్ చేయబడింది మరియు OSCCAL రిజిస్టర్ ద్వారా RC ఓసిలేటర్ను సర్దుబాటు చేయడం వలన అదే సమయంలో వేగవంతమైన పరిధీయ గడియారాన్ని సర్దుబాటు చేస్తుంది. అయినప్పటికీ, RC ఓసిలేటర్ను 8 MHz కన్నా ఎక్కువ పౌన frequency పున్యానికి తీసుకువెళ్ళినప్పటికీ, వేగవంతమైన పరిధీయ గడియార పౌన frequency పున్యం 85 MHz (చెత్త కేసు) వద్ద సంతృప్తమవుతుంది మరియు గరిష్ట ఫ్రీక్వెన్సీ వద్ద డోలనం చెందుతుంది. ఈ సందర్భంలో పిఎల్ఎల్ ఇకపై ఆర్సి ఓసిలేటర్ గడియారంతో లాక్ చేయబడదని గమనించాలి. అందువల్ల, PLL ను సరైన ఆపరేటింగ్ పరిధిలో ఉంచడానికి OSCCAL సర్దుబాట్లను 8 MHz కన్నా ఎక్కువ పౌన frequency పున్యానికి తీసుకోకూడదని సిఫార్సు చేయబడింది.
అంతర్గత PLL ఎప్పుడు ప్రారంభించబడుతుంది:
రిజిస్టర్ PLLCSR లోని PLLE బిట్ సెట్ చేయబడింది.
CKSEL ఫ్యూజ్ '0001' కు ప్రోగ్రామ్ చేయబడింది.
CKSEL ఫ్యూజ్ '0011' కు ప్రోగ్రామ్ చేయబడింది.
PLL లాక్ చేయబడినప్పుడు PLLCSR బిట్ PLOCK సెట్ చేయబడుతుంది. పవర్ డౌన్ మరియు స్టాండ్-బై స్లీప్ మోడ్లలో అంతర్గత RC ఓసిలేటర్ మరియు PLL రెండూ స్విచ్ ఆఫ్ చేయబడ్డాయి.
ATtiny15 అనుకూలత మోడ్లో అంతర్గత PLL
ATtiny25 / 45/85 ATtiny15 వినియోగదారులకు వలస పరికరం కాబట్టి, బ్యాక్-వార్డ్ అనుకూలత కోసం ATtiny15 అనుకూలత మోడ్ ఉంది. CKSEL ఫ్యూజ్లను '15' కు ప్రోగ్రామింగ్ చేయడం ద్వారా ATtiny0011 అనుకూలత మోడ్ ఎంపిక చేయబడింది.
ATtiny15 అనుకూలత మోడ్లో అంతర్గత RC ఓసిలేటర్ యొక్క ఫ్రీక్వెన్సీ 6.4 MHz వరకు క్రమాంకనం చేయబడుతుంది మరియు PLL యొక్క గుణకారం కారకం 4x కు సెట్ చేయబడింది. చూడండి మూర్తి 6-3. ఈ సర్దుబాట్లతో క్లాకింగ్ సిస్టమ్ ATtiny15- అనుకూలంగా ఉంటుంది మరియు ఫలితంగా వచ్చే వేగవంతమైన పరిధీయ గడియారం 25.6 MHz పౌన frequency పున్యాన్ని కలిగి ఉంటుంది (ATtiny15 లో వలె).
మూర్తి 6-3. ATtiny15 అనుకూలత మోడ్లో PCK క్లాకింగ్ సిస్టమ్.
గడియార మూలాలు
పరికరం కింది క్లాక్ సోర్స్ ఎంపికలను కలిగి ఉంది, క్రింద చూపిన విధంగా ఫ్లాష్ ఫ్యూజ్ బిట్స్ ద్వారా ఎంచుకోవచ్చు. ఎంచుకున్న మూలం నుండి గడియారం AVR క్లాక్ జనరేటర్కు ఇన్పుట్ అవుతుంది మరియు తగిన మాడ్యూళ్ళకు మళ్ళించబడుతుంది.
పట్టిక 6-1. పరికర క్లాకింగ్ ఎంపికలు ఎంచుకోండి
పరికర క్లాకింగ్ ఎంపిక | సికెఎస్ఇఎల్[3:0](1) |
బాహ్య గడియారం (చూడండి పేజీ 26) | 0000 |
అధిక ఫ్రీక్వెన్సీ PLL గడియారం (చూడండి పేజీ 26) | 0001 |
క్రమాంకనం చేసిన అంతర్గత ఓసిలేటర్ (చూడండి పేజీ 27) | 0010(2) |
క్రమాంకనం చేసిన అంతర్గత ఓసిలేటర్ (చూడండి పేజీ 27) | 0011(3) |
అంతర్గత 128 kHz ఓసిలేటర్ (చూడండి పేజీ 28) | 0100 |
తక్కువ-ఫ్రీక్వెన్సీ క్రిస్టల్ ఓసిలేటర్ (చూడండి పేజీ 29) | 0110 |
క్రిస్టల్ ఆసిలేటర్ / సిరామిక్ రెసొనేటర్ (చూడండి పేజీ 29) | 1000 – 1111 |
రిజర్వ్ చేయబడింది | 0101, 0111 |
అన్ని ఫ్యూజ్లకు “1” అంటే ప్రోగ్రామ్ చేయనిది అయితే “0” అంటే ప్రోగ్రామ్ చేయబడినది.
ఈ ఎంపికతో పరికరం రవాణా చేయబడుతుంది.
ఇది ATtiny15 అనుకూలత మోడ్ను ఎన్నుకుంటుంది, ఇక్కడ సిస్టమ్ గడియారం నాలుగుతో విభజించబడింది, దీని ఫలితంగా 1.6 MHz క్లాక్ ఫ్రీక్వెన్సీ వస్తుంది. మరింత జడత్వం కోసం, చూడండి 27 వ పేజీలోని “క్రమాంకనం చేసిన అంతర్గత ఓసిలేటర్”.
ప్రతి క్లాకింగ్ ఎంపిక కోసం వివిధ ఎంపికలు క్రింది విభాగాలలో ఇవ్వబడ్డాయి. పవర్-డౌన్ నుండి CPU మేల్కొన్నప్పుడు, ఎంచుకున్న గడియార మూలం ప్రారంభ సమయానికి ఉపయోగపడుతుంది, బోధన అమలు ప్రారంభమయ్యే ముందు స్థిరమైన ఓసిలేటర్ ఆపరేషన్ను నిర్ధారిస్తుంది. CPU రీసెట్ నుండి ప్రారంభమైనప్పుడు, సాధారణ ఆపరేషన్ ప్రారంభించే ముందు శక్తిని స్థిరమైన స్థాయికి చేరుకోవడానికి అదనపు ఆలస్యం ఉంటుంది. వాచ్డాగ్ ఓసిలేటర్ ప్రారంభ సమయం యొక్క ఈ నిజ-సమయ భాగాన్ని టైమింగ్ చేయడానికి ఉపయోగిస్తారు. ప్రతి సమయం ముగిసే సమయానికి ఉపయోగించే WDT ఓసిలేటర్ చక్రాల సంఖ్య చూపబడింది పట్టిక 6-2.
పట్టిక 6-2. వాచ్డాగ్ ఓసిలేటర్ సైకిళ్ల సంఖ్య
టైప్-అవుట్ టైప్ చేయండి | చక్రాల సంఖ్య |
4 ms | 512 |
64 ms | 8K (8,192) |
బాహ్య గడియారం
బాహ్య గడియార మూలం నుండి పరికరాన్ని నడపడానికి, CLKI చూపిన విధంగా నడపాలి మూర్తి 6-4. పరికరాన్ని బాహ్య గడియారంలో అమలు చేయడానికి, CKSEL ఫ్యూజులను “00” కు ప్రోగ్రామ్ చేయాలి.
మూర్తి 6-4. బాహ్య క్లాక్ డ్రైవ్ కాన్ఫిగరేషన్
ఈ గడియార మూలాన్ని ఎన్నుకున్నప్పుడు, ప్రారంభ సమయాలు చూపిన విధంగా SUT ఫ్యూజ్ల ద్వారా నిర్ణయించబడతాయి పట్టిక 6-3.
పట్టిక 6-3. బాహ్య గడియారం ఎంపిక కోసం ప్రారంభ సమయాలు
SUT[1:0] | పవర్-డౌన్ నుండి ప్రారంభ సమయం | రీసెట్ నుండి అదనపు ఆలస్యం | సిఫార్సు చేయబడిన ఉపయోగం |
00 | 6 సికె | 14CK | BOD ప్రారంభించబడింది |
01 | 6 సికె | 14CK + 4 ms | వేగంగా పెరుగుతున్న శక్తి |
10 | 6 సికె | 14CK + 64 ms | నెమ్మదిగా పెరుగుతున్న శక్తి |
11 | రిజర్వ్ చేయబడింది |
బాహ్య గడియారాన్ని వర్తించేటప్పుడు, MCU యొక్క స్థిరమైన ఆపరేషన్ను నిర్ధారించడానికి అనువర్తిత గడియార పౌన frequency పున్యంలో ఆకస్మిక మార్పులను నివారించడం అవసరం. ఒక గడియార చక్రం నుండి మరొకదానికి 2% కంటే ఎక్కువ పౌన frequency పున్యంలో వైవిధ్యం అనూహ్య ప్రవర్తనకు దారితీస్తుంది. గడియార పౌన .పున్యంలో ఇటువంటి మార్పుల సమయంలో MCU రీసెట్లో ఉంచబడిందని నిర్ధారించుకోవాలి.
సిస్టమ్ క్లాక్ ప్రీసెల్ స్థిరమైన ఆపరేషన్ను నిర్ధారిస్తూ అంతర్గత గడియార ఫ్రీక్వెన్సీ యొక్క రన్-టైమ్ మార్పులను అమలు చేయడానికి ఉపయోగించవచ్చని గమనించండి. చూడండి 31 వ పేజీలోని “సిస్టమ్ క్లాక్ ప్రెస్కాలర్” వివరాల కోసం.
అధిక ఫ్రీక్వెన్సీ PLL గడియారం
పెరిఫెరల్ టైమర్ / కౌంటర్ 64 ఉపయోగం కోసం మరియు సిస్టమ్ క్లాక్ సోర్స్ కోసం RC ఓసిలేటర్కు నామమాత్రంగా 1 MHz క్లాక్ రేట్ను అందించే అంతర్గత PLL ఉంది. సిస్టమ్ క్లాక్ సోర్స్గా ఎంచుకున్నప్పుడు, CKSEL ఫ్యూజ్లను '0001' కు ప్రోగ్రామ్ చేయడం ద్వారా, ఇది చూపిన విధంగా నాలుగు ద్వారా విభజించబడింది పట్టిక 6-4.
పట్టిక 6-4. అధిక ఫ్రీక్వెన్సీ PLL క్లాక్ ఆపరేటింగ్ మోడ్లు
సికెఎస్ఇఎల్[3:0] | నామమాత్రపు ఫ్రీక్వెన్సీ |
0001 | 16 MHz |
ఈ గడియార మూలాన్ని ఎంచుకున్నప్పుడు, ప్రారంభ సమయాలు చూపిన విధంగా SUT ఫ్యూజ్ల ద్వారా నిర్ణయించబడతాయి పట్టిక 6-5.
పట్టిక 6-5. అధిక ఫ్రీక్వెన్సీ PLL గడియారం కోసం ప్రారంభ సమయాలు
SUT[1:0] | పవర్ డౌన్ నుండి ప్రారంభ సమయం | పవర్-ఆన్ రీసెట్ నుండి అదనపు ఆలస్యం (VCC = 5.0V) | సిఫార్సు చేయబడిన ఉపయోగం |
00 | 14CK + 1K (1024) CK + 4 ms | 4 ms | BOD ప్రారంభించబడింది |
పట్టిక 6-5. అధిక ఫ్రీక్వెన్సీ PLL గడియారం కోసం ప్రారంభ సమయాలు
SUT[1:0] | పవర్ డౌన్ నుండి ప్రారంభ సమయం | పవర్-ఆన్ రీసెట్ నుండి అదనపు ఆలస్యం (VCC = 5.0V) | సిఫార్సు చేయబడిన ఉపయోగం |
01 | 14CK + 16K (16384) CK + 4 ms | 4 ms | వేగంగా పెరుగుతున్న శక్తి |
10 | 14CK + 1K (1024) CK + 64 ms | 4 ms | నెమ్మదిగా పెరుగుతున్న శక్తి |
11 | 14CK + 16K (16384) CK + 64 ms | 4 ms | నెమ్మదిగా పెరుగుతున్న శక్తి |
క్రమాంకనం చేసిన అంతర్గత ఓసిలేటర్
డిఫాల్ట్గా, అంతర్గత RC ఓసిలేటర్ సుమారుగా 8.0 MHz గడియారాన్ని అందిస్తుంది. వాల్యూమ్ అయితేtagఇ మరియు ఉష్ణోగ్రతపై ఆధారపడి, ఈ గడియారాన్ని వినియోగదారు చాలా ఖచ్చితంగా క్రమాంకనం చేయవచ్చు. చూడండి “క్రమాంకనం చేసిన అంతర్గత RC ఓసిలేటర్ అక్యూ- పేజీ 164 లో మరియు 192 వ పేజీలోని “అంతర్గత ఓసిలేటర్ వేగం” మరిన్ని వివరాల కోసం. పరికరం CKDIV8 ఫ్యూజ్ ప్రోగ్రామ్తో రవాణా చేయబడుతుంది. చూడండి 31 వ పేజీలోని “సిస్టమ్ క్లాక్ ప్రెస్కాలర్” మరిన్ని వివరాల కోసం.
చూపిన విధంగా CKSEL ఫ్యూజ్లను ప్రోగ్రామింగ్ చేయడం ద్వారా ఈ గడియారాన్ని సిస్టమ్ గడియారంగా ఎంచుకోవచ్చు పేజీలో 6-6 పట్టిక
27. ఎంచుకుంటే, ఇది బాహ్య భాగాలు లేకుండా పనిచేస్తుంది. రీసెట్ చేసేటప్పుడు, హార్డ్వేర్ ప్రీ-ప్రోగ్రామ్ చేసిన క్రమాంకనం విలువను OSCCAL రిజిస్టర్లో లోడ్ చేస్తుంది మరియు తద్వారా స్వయంచాలకంగా RC ఓసిలేటర్ను క్రమాంకనం చేస్తుంది. ఈ క్రమాంకనం యొక్క ఖచ్చితత్వాన్ని ఫ్యాక్టరీ క్రమాంకనం లో చూపబడింది 21 వ పేజీలో పట్టిక 2-164.
SW నుండి OSCCAL రిజిస్టర్ను మార్చడం ద్వారా, చూడండి 31 వ పేజీలోని “OSCCAL - ఓసిలేటర్ కాలిబ్రేషన్ రిజిస్టర్”, ఫ్యాక్టరీ క్రమాంకనాన్ని ఉపయోగించడం కంటే అధిక అమరిక ఖచ్చితత్వాన్ని పొందడం సాధ్యమవుతుంది. ఈ అమరిక యొక్క ఖచ్చితత్వం వినియోగదారు క్రమాంకనం లో చూపబడింది 21 వ పేజీలో పట్టిక 2-164.
ఈ ఆసిలేటర్ను చిప్ గడియారంగా ఉపయోగించినప్పుడు, వాచ్డాగ్ టైమర్ కోసం మరియు రీసెట్ టైమ్-అవుట్ కోసం వాచ్డాగ్ ఆసిలేటర్ ఇప్పటికీ ఉపయోగించబడుతుంది. ప్రీ-ప్రోగ్రామ్ చేసిన క్రమాంకనం విలువపై మరింత సమాచారం కోసం, విభాగాన్ని చూడండి “కాలి- 150 వ పేజీలో bration బైట్లు ”.
చూపిన విధంగా CKSEL ఫ్యూజ్లను “6.4” కు వ్రాయడం ద్వారా 0011 MHz గడియారాన్ని అందించడానికి అంతర్గత ఓసిలేటర్ను కూడా సెట్ చేయవచ్చు. పట్టిక 6-6 క్రింద. ఈ సెట్టింగ్ ATtiny15 అనుకూలత మోడ్గా సూచించబడుతుంది మరియు ATtiny6.4 లో వలె 15 MHz వద్ద క్రమాంకనం చేసిన గడియార మూలాన్ని అందించడానికి ఉద్దేశించబడింది. ATtiny15 అనుకూలత మోడ్లో PLL టైమర్ / కౌంటర్ 6.4 కోసం 25.6 MHz పరిధీయ గడియార సిగ్నల్ను ఉత్పత్తి చేయడానికి 1 MHz వద్ద నడుస్తున్న అంతర్గత ఓసిలేటర్ను ఉపయోగిస్తుంది (చూడండి “8-బిట్ టైమర్ / కౌంటర్ 1 ఇన్ 15 వ పేజీలో ATtiny95 మోడ్ ”). ఈ ఆపరేషన్ మోడ్లో 6.4 MHz క్లాక్ సిగ్నల్ ఎల్లప్పుడూ నాలుగుతో విభజించబడింది, ఇది 1.6 MHz సిస్టమ్ గడియారాన్ని అందిస్తుంది.
పట్టిక 6-6. అంతర్గత కాలిబ్రేటెడ్ RC ఓసిలేటర్ ఆపరేటింగ్ మోడ్లు
సికెఎస్ఇఎల్[3:0] | నామమాత్రపు ఫ్రీక్వెన్సీ |
0010(1) | 8.0 MHz |
0011(2) | 6.4 MHz |
ఈ ఎంపికతో పరికరం రవాణా చేయబడుతుంది.
ఈ సెట్టింగ్ ATtiny15 అనుకూలత మోడ్ను ఎన్నుకుంటుంది, ఇక్కడ సిస్టమ్ గడియారం నాలుగుతో విభజించబడింది, దీని ఫలితంగా 1.6 MHz క్లాక్ ఫ్రీక్వెన్సీ వస్తుంది.
క్రమాంకనం చేసిన 8 MHz అంతర్గత ఓసిలేటర్ను క్లాక్ సోర్స్గా ఎంచుకున్నప్పుడు, ప్రారంభ సమయం SUT ఫ్యూజ్ల ద్వారా నిర్ణయించబడుతుంది పట్టిక 6-7 క్రింద.
పట్టిక 6-7. అంతర్గత కాలిబ్రేటెడ్ RC ఓసిలేటర్ క్లాక్ కోసం ప్రారంభ సమయాలు
SUT[1:0] | పవర్-డౌన్ నుండి ప్రారంభ సమయం | రీసెట్ నుండి అదనపు ఆలస్యం (VCC = 5.0V) | సిఫార్సు చేయబడిన ఉపయోగం |
00 | 6 సికె | 14CK(1) | BOD ప్రారంభించబడింది |
01 | 6 సికె | 14CK + 4 ms | వేగంగా పెరుగుతున్న శక్తి |
10(2) | 6 సికె | 14CK + 64 ms | నెమ్మదిగా పెరుగుతున్న శక్తి |
11 | రిజర్వ్ చేయబడింది |
1. RSTDISBL ఫ్యూజ్ ప్రోగ్రామ్ చేయబడితే, ప్రోగ్రామింగ్ మోడ్ను నమోదు చేయవచ్చని నిర్ధారించడానికి ఈ ప్రారంభ సమయం 14CK + 4 ms కు పెంచబడుతుంది.
2. ఎంచుకున్న ఈ ఎంపికతో పరికరం రవాణా చేయబడుతుంది.
ATtiny15 అనుకూలత మోడ్లో ప్రారంభ సమయాలు చూపిన విధంగా SUT ఫ్యూజ్ల ద్వారా నిర్ణయించబడతాయి పట్టిక 6-8 క్రింద.
పట్టిక 6-8. ఇంటర్నల్ కాలిబ్రేటెడ్ RC ఓసిలేటర్ క్లాక్ కోసం ప్రారంభ సమయాలు (ATtiny15 మోడ్లో)
SUT[1:0] | పవర్-డౌన్ నుండి ప్రారంభ సమయం | రీసెట్ నుండి అదనపు ఆలస్యం (VCC = 5.0V) | సిఫార్సు చేయబడిన ఉపయోగం |
00 | 6 సికె | 14CK + 64 ms | |
01 | 6 సికె | 14CK + 64 ms | |
10 | 6 సికె | 14CK + 4 ms | |
11 | 1 సికె | 14CK(1) |
గమనిక: RSTDISBL ఫ్యూజ్ ప్రోగ్రామ్ చేయబడితే, ప్రోగ్రామింగ్ మోడ్లోకి ప్రవేశించవచ్చని నిర్ధారించుకోవడానికి ఈ ప్రారంభ సమయం 14CK + 4 msకి పెంచబడుతుంది.
సారాంశంలో, ATtiny15 అనుకూలత మోడ్ గురించి మరింత సమాచారం విభాగాలలో చూడవచ్చు “పోర్ట్ బి (పిబి 5: పిబి 0)” ఆన్ పేజీ 2, 15 వ పేజీలోని “ATtiny24 అనుకూలత మోడ్లో అంతర్గత PLL”, “ATtiny8 మోడ్లో 1-బిట్ టైమర్ / కౌంటర్ 15” ఆన్లో ఉంది పేజీ 95, 140 వ పేజీలోని “డీబగ్వైర్ యొక్క పరిమితులు”, 150 వ పేజీలోని “అమరిక బైట్లు” మరియు పట్టికలో “క్లాక్ ప్రెస్కాలర్ 33 వ పేజీలో ”ఎంచుకోండి.
అంతర్గత 128 kHz ఓసిలేటర్
128 kHz అంతర్గత ఓసిలేటర్ 128 kHz గడియారాన్ని అందించే తక్కువ శక్తి గల ఓసిలేటర్. ఫ్రీక్వెన్సీ 3V మరియు 25°C వద్ద నామమాత్రంగా ఉంటుంది. CKSEL ఫ్యూజ్లను “0100”కి ప్రోగ్రామింగ్ చేయడం ద్వారా ఈ గడియారాన్ని సిస్టమ్ క్లాక్గా ఎంచుకోవచ్చు.
ఈ గడియార మూలాన్ని ఎన్నుకున్నప్పుడు, ప్రారంభ సమయాలు చూపిన విధంగా SUT ఫ్యూజ్ల ద్వారా నిర్ణయించబడతాయి పట్టిక 6-9.
పట్టిక 6-9. 128 kHz అంతర్గత ఓసిలేటర్ కోసం ప్రారంభ సమయాలు
SUT[1:0] | పవర్-డౌన్ నుండి ప్రారంభ సమయం | రీసెట్ నుండి అదనపు ఆలస్యం | సిఫార్సు చేయబడిన ఉపయోగం |
00 | 6 సికె | 14CK(1) | BOD ప్రారంభించబడింది |
01 | 6 సికె | 14CK + 4 ms | వేగంగా పెరుగుతున్న శక్తి |
10 | 6 సికె | 14CK + 64 ms | నెమ్మదిగా పెరుగుతున్న శక్తి |
11 | రిజర్వ్ చేయబడింది |
గమనిక: RSTDISBL ఫ్యూజ్ ప్రోగ్రామ్ చేయబడితే, ప్రోగ్రామింగ్ మోడ్లోకి ప్రవేశించవచ్చని నిర్ధారించుకోవడానికి ఈ ప్రారంభ సమయం 14CK + 4 msకి పెంచబడుతుంది.
తక్కువ-ఫ్రీక్వెన్సీ క్రిస్టల్ ఓసిలేటర్
పరికరం కోసం క్లాక్ సోర్స్గా 32.768 kHz వాచ్ క్రిస్టల్ను ఉపయోగించడానికి, CKSEL ఫ్యూజ్లను '0110' కు సెట్ చేయడం ద్వారా తక్కువ-ఫ్రీక్వెన్సీ క్రిస్టల్ ఆసిలేటర్ను ఎంచుకోవాలి. చూపిన విధంగా క్రిస్టల్ కనెక్ట్ చేయాలి మూర్తి 6-5. 32.768 kHz స్ఫటికం కోసం సూట్-చేయగల లోడ్ కెపాసిటెన్స్ను కనుగొనడానికి, దయచేసి తయారీదారు యొక్క డేటాషీట్ను సంప్రదించండి.
ఈ ఓసిలేటర్ ఎంచుకోబడినప్పుడు, ప్రారంభ సమయాలు చూపిన విధంగా SUT ఫ్యూజ్ల ద్వారా నిర్ణయించబడతాయి పట్టిక 6-10.
పట్టిక 6-10. తక్కువ ఫ్రీక్వెన్సీ క్రిస్టల్ ఓసిలేటర్ క్లాక్ ఎంపిక కోసం ప్రారంభ సమయాలు
SUT[1:0] | పవర్ డౌన్ నుండి ప్రారంభ సమయం | రీసెట్ నుండి అదనపు ఆలస్యం (VCC = 5.0V) | సిఫార్సు చేయబడిన ఉపయోగం |
00 | 1 కె (1024) సికె(1) | 4 ms | వేగంగా పెరుగుతున్న శక్తి లేదా BOD ప్రారంభించబడింది |
01 | 1 కె (1024) సికె(1) | 64 ms | నెమ్మదిగా పెరుగుతున్న శక్తి |
10 | 32 కె (32768) సికె | 64 ms | ప్రారంభంలో స్థిరమైన పౌన frequency పున్యం |
11 | రిజర్వ్ చేయబడింది |
గమనిక: ప్రారంభంలో ఫ్రీక్వెన్సీ స్థిరత్వం ముఖ్యం కానట్లయితే మాత్రమే ఈ ఎంపికలను ఉపయోగించాలి.
తక్కువ-ఫ్రీక్వెన్సీ క్రిస్టల్ ఆసిలేటర్ అంతర్గత లోడ్ కెపాసిటెన్స్ను అందిస్తుంది, చూడండి పట్టిక 6-11 ప్రతి TOSC పిన్ వద్ద.
పట్టిక 6-11. తక్కువ-ఫ్రీక్వెన్సీ క్రిస్టల్ ఓసిలేటర్ యొక్క కెపాసిటెన్స్
పరికరం | 32 kHz Osc. టైప్ చేయండి | టోపీ (Xtal1 / Tosc1) | టోపీ (Xtal2 / Tosc2) |
ATtiny25 / 45/85 | సిస్టమ్ ఓస్క్. | 16 pF | 6 pF |
క్రిస్టల్ ఆసిలేటర్ / సిరామిక్ రెసొనేటర్
XTAL1 మరియు XTAL2 ఇన్పుట్ మరియు అవుట్పుట్, వరుసగా ఇన్వర్టింగ్ ampలో చూపిన విధంగా ఆన్-చిప్ ఓసిలేటర్గా ఉపయోగించడానికి కాన్ఫిగర్ చేయగల లిఫైయర్ మూర్తి 6-5. క్వార్ట్జ్ క్రిస్టల్ లేదా సిరామిక్ రెసొనేటర్ వాడవచ్చు.
C1 మరియు C2 ఎల్లప్పుడూ స్ఫటికాలు మరియు రెసొనేటర్లు రెండింటికీ సమానంగా ఉండాలి. కెపాసిటర్ల యొక్క సరైన విలువ ఉపయోగంలో ఉన్న క్రిస్టల్ లేదా రెసొనేటర్, విచ్చలవిడి కెపాసిటెన్స్ పరిమాణం మరియు పర్యావరణం యొక్క విద్యుదయస్కాంత శబ్దం మీద ఆధారపడి ఉంటుంది. స్ఫటికాలతో ఉపయోగం కోసం కెపాసిటర్లను ఎంచుకోవడానికి కొన్ని ప్రారంభ మార్గదర్శకాలు ఇవ్వబడ్డాయి పట్టిక 6-12 క్రింద. సిరామిక్ రెసొనేటర్స్ కోసం, తయారీదారు ఇచ్చిన కెపాసిటర్ విలువలను ఉపయోగించాలి.
పట్టిక 6-12. క్రిస్టల్ ఓసిలేటర్ ఆపరేటింగ్ మోడ్లు
సికెఎస్ఇఎల్[3:1] | ఫ్రీక్వెన్సీ పరిధి (MHz) | స్ఫటికాలతో ఉపయోగం కోసం కెపాసిటర్స్ సి 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 |
గమనికలు: ఈ ఎంపికను స్ఫటికాలతో ఉపయోగించరాదు, సిరామిక్ రెసొనేటర్లతో మాత్రమే.
ఓసిలేటర్ మూడు వేర్వేరు రీతుల్లో పనిచేయగలదు, ప్రతి ఒక్కటి నిర్దిష్ట పౌన frequency పున్య శ్రేణికి ఆప్టిమైజ్ చేయబడింది. ఆపరేటింగ్ మోడ్లో చూపిన విధంగా CKSEL [3: 1] ఫ్యూజ్ల ద్వారా ఎంపిక చేయబడింది పట్టిక 6-12.
CKSEL0 ఫ్యూజ్ SUT తో కలిసి [1: 0] ఫ్యూజులు చూపిన విధంగా ప్రారంభ సమయాన్ని ఎంచుకుంటాయి పట్టిక 6-13.
పట్టిక 6-13. క్రిస్టల్ ఓసిలేటర్ క్లాక్ ఎంపిక కోసం ప్రారంభ సమయాలు
సికెఎస్ఇఎల్0 | SUT[1:0] | పవర్-డౌన్ నుండి ప్రారంభ సమయం | రీసెట్ నుండి అదనపు ఆలస్యం | సిఫార్సు చేయబడిన ఉపయోగం |
0 | 00 | 258 సికె(1) | 14CK + 4 ms | సిరామిక్ రెసొనేటర్, వేగంగా పెరుగుతున్న శక్తి |
0 | 01 | 258 సికె(1) | 14CK + 64 ms | సిరామిక్ రెసొనేటర్, నెమ్మదిగా పెరుగుతున్న శక్తి |
0 | 10 | 1 కె (1024) సికె(2) | 14CK | సిరామిక్ రెసొనేటర్, BOD ప్రారంభించబడింది |
0 | 11 | 1 కె (1024) సికె(2) | 14CK + 4 ms | సిరామిక్ రెసొనేటర్, వేగంగా పెరుగుతున్న శక్తి |
1 | 00 | 1 కె (1024) సికె(2) | 14CK + 64 ms | సిరామిక్ రెసొనేటర్, నెమ్మదిగా పెరుగుతున్న శక్తి |
1 | 01 | 16 కె (16384) సికె | 14CK | క్రిస్టల్ ఓసిలేటర్, BOD ప్రారంభించబడింది |
1 | 10 | 16 కె (16384) సికె | 14CK + 4 ms | క్రిస్టల్ ఓసిలేటర్, వేగంగా పెరుగుతున్న శక్తి |
1 | 11 | 16 కె (16384) సికె | 14CK + 64 ms | క్రిస్టల్ ఓసిలేటర్, నెమ్మదిగా పెరుగుతున్న శక్తి |
గమనికలు
పరికరం యొక్క గరిష్ట పౌన frequency పున్యానికి దగ్గరగా పనిచేయనప్పుడు మాత్రమే ఈ ఎంపికలు ఉపయోగించబడాలి మరియు ప్రారంభంలో ఫ్రీక్వెన్సీ స్థిరత్వం అనువర్తనానికి ముఖ్యమైనది కాకపోతే మాత్రమే. ఈ ఎంపికలు స్ఫటికాలకు తగినవి కావు.
ఈ ఎంపికలు సిరామిక్ రెసొనేటర్లతో ఉపయోగం కోసం ఉద్దేశించబడ్డాయి మరియు ప్రారంభంలో ఫ్రీక్వెన్సీ స్థిరత్వాన్ని నిర్ధారిస్తాయి. పరికరం యొక్క గరిష్ట పౌన frequency పున్యానికి దగ్గరగా పనిచేయనప్పుడు వాటిని స్ఫటికాలతో కూడా ఉపయోగించవచ్చు మరియు ప్రారంభంలో ఫ్రీక్వెన్సీ స్థిరత్వం అనువర్తనానికి ముఖ్యమైనది కానట్లయితే.
డిఫాల్ట్ గడియారం మూలం
పరికరం CKSEL = “0010”, SUT = “10” మరియు CKDIV8 ప్రోగ్రామ్తో రవాణా చేయబడింది. డిఫాల్ట్ క్లాక్ సోర్స్ సెట్టింగ్ అనేది 8 MHz వద్ద రన్ అయ్యే అంతర్గత RC ఓసిలేటర్ సుదీర్ఘ ప్రారంభ సమయం మరియు ప్రారంభ సిస్టమ్ క్లాక్ 8 ప్రీస్కేలింగ్, ఫలితంగా 1.0 MHz సిస్టమ్ క్లాక్ వస్తుంది. ఈ డిఫాల్ట్ సెట్టింగ్ వినియోగదారులందరూ ఇన్-సిస్టమ్ లేదా హై-వాల్యూమ్ని ఉపయోగించి తమకు కావలసిన క్లాక్ సోర్స్ సెట్టింగ్ని చేయగలరని నిర్ధారిస్తుందిtagఇ ప్రోగ్రామర్.
సిస్టమ్ క్లాక్ ప్రెస్కాలర్
ATtiny25 / 45/85 సిస్టమ్ గడియారాన్ని సెట్ చేయడం ద్వారా విభజించవచ్చు 32 వ పేజీలోని “CLKPR - క్లాక్ ప్రెస్కేల్ రిజిస్టర్”. ప్రాసెసింగ్ పవర్ అవసరం తక్కువగా ఉన్నప్పుడు విద్యుత్ వినియోగాన్ని తగ్గించడానికి ఈ ఫీచర్ ఉపయోగపడుతుంది. ఇది అన్ని క్లాక్ సోర్స్ ఎంపికలతో ఉపయోగించబడుతుంది మరియు ఇది CPU మరియు అన్ని సింక్రోనస్ పెరిఫెరల్స్ యొక్క క్లాక్ ఫ్రీక్వెన్సీని ప్రభావితం చేస్తుంది. clkI/O, clkADC, clkCPU మరియు clkFLASH లో చూపిన విధంగా కారకం ద్వారా విభజించబడ్డాయి 6 వ పేజీలో పట్టిక 15-33.
మారే సమయం
ప్రీస్కాలర్ సెట్టింగుల మధ్య మారేటప్పుడు, సిస్టమ్ క్లాక్ ప్రెస్కాలర్ క్లాక్ సిస్టమ్లో ఎటువంటి అవాంతరాలు జరగవని మరియు మునుపటి సెట్టింగ్కు అనుగుణమైన క్లాక్ ఫ్రీక్వెన్సీ లేదా కొత్త సెట్టింగ్కు అనుగుణమైన క్లాక్ ఫ్రీక్వెన్సీ కంటే ఇంటర్మీడియట్ ఫ్రీక్వెన్సీ ఎక్కువగా లేదని నిర్ధారిస్తుంది.
ప్రెస్కాలర్ను అమలు చేసే అలల కౌంటర్ అవిభక్త గడియారం యొక్క పౌన frequency పున్యంలో నడుస్తుంది, ఇది CPU యొక్క గడియార పౌన .పున్యం కంటే వేగంగా ఉండవచ్చు. అందువల్ల, ప్రీస్కాలర్ యొక్క స్థితిని నిర్ణయించడం సాధ్యం కాదు - అది చదవగలిగినప్పటికీ, మరియు ఒక గడియార విభజన నుండి మరొక గడియారానికి మారడానికి ఖచ్చితమైన సమయం ఖచ్చితంగా cannot హించలేము.
CLKPS విలువలు వ్రాయబడిన సమయం నుండి, క్రొత్త గడియారం ఫ్రీక్వెన్సీ చురుకుగా ఉండటానికి ముందు T1 + T2 మరియు T1 + 2 * T2 మధ్య పడుతుంది. ఈ విరామంలో, 2 క్రియాశీల గడియార అంచులు ఉత్పత్తి చేయబడతాయి. ఇక్కడ, T1 మునుపటి గడియార కాలం, మరియు T2 అనేది కొత్త ప్రీస్కాలర్ సెట్టింగ్కు అనుగుణంగా ఉండే కాలం.
క్లాక్ అవుట్పుట్ బఫర్
పరికరం సిస్టమ్ గడియారాన్ని CLKO పిన్పై అవుట్పుట్ చేయగలదు (XTAL2 పిన్గా ఉపయోగించనప్పుడు). అవుట్పుట్ను ప్రారంభించడానికి, CKOUT ఫ్యూజ్ ప్రోగ్రామ్ చేయాలి. సిస్టమ్లోని ఇతర సర్క్యూట్లను నడపడానికి చిప్ గడియారాన్ని ఉపయోగించినప్పుడు ఈ మోడ్ అనుకూలంగా ఉంటుంది. రీసెట్ చేసేటప్పుడు గడియారం అవుట్పుట్ కాదని మరియు ఫ్యూజ్ ప్రోగ్రామ్ చేసినప్పుడు I / O పిన్ యొక్క సాధారణ ఆపరేషన్ భర్తీ చేయబడుతుందని గమనించండి. CLKO లో గడియారం అవుట్పుట్ అయినప్పుడు అంతర్గత RC ఓసిలేటర్, WDT ఓసిలేటర్, PLL మరియు బాహ్య గడియారం (CLKI) ఎంచుకోవచ్చు. CLKO లో గడియారపు ఉత్పత్తికి క్రిస్టల్ ఓసిలేటర్లు (XTAL1, XTAL2) ఉపయోగించబడవు. సిస్టమ్ క్లాక్ ప్రెస్కాలర్ ఉపయోగించినట్లయితే, ఇది అవుట్పుట్ అయిన విభజించబడిన సిస్టమ్ గడియారం.
నమోదు వివరణ
OSCCAL - ఓసిలేటర్ కాలిబ్రేషన్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x31 | CAL7 | CAL6 | CAL5 | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 | OSCCAL |
చదవండి/వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
బిట్స్ 7: 0 - CAL [7: 0]: ఓసిలేటర్ క్రమాంకనం విలువ
ఓసిలేటర్ ఫ్రీక్వెన్సీ నుండి ప్రాసెస్ వైవిధ్యాలను తొలగించడానికి క్రమాంకనం చేసిన అంతర్గత RC ఓసిలేటర్ను కత్తిరించడానికి ఓసిలేటర్ కాలిబ్రేషన్ రిజిస్టర్ ఉపయోగించబడుతుంది. చిప్ రీసెట్ సమయంలో ప్రీ-ప్రోగ్రామ్ చేయబడిన క్రమాంకనం విలువ స్వయంచాలకంగా ఈ రిజిస్టర్కు వ్రాయబడుతుంది, ఇది పేర్కొన్న విధంగా ఫ్యాక్టరీ క్రమాంకనం చేసిన ఫ్రీక్వెన్సీని ఇస్తుంది 21 వ పేజీలో పట్టిక 2-164. అప్లికేషన్ సాఫ్ట్వేర్ ఓసిలేటర్ ఫ్రీక్వెన్సీని మార్చడానికి ఈ రిజిస్టర్ను వ్రాయగలదు. పేర్కొన్న విధంగా ఓసిలేటర్ను పౌన encies పున్యాలకు క్రమాంకనం చేయవచ్చు 21 వ పేజీలో పట్టిక 2-164. ఆ పరిధి వెలుపల అమరిక హామీ ఇవ్వబడదు.
ఈ ఓసిలేటర్ EEPROM మరియు Flash వ్రాసే ప్రాప్యతలకు ఉపయోగించబడుతుందని గమనించండి మరియు ఈ వ్రాత సమయాలు తదనుగుణంగా ప్రభావితమవుతాయి. EEPROM లేదా Flash వ్రాసినట్లయితే, 8.8 MHz కన్నా ఎక్కువ క్రమాంకనం చేయవద్దు. లేకపోతే, EEPROM లేదా ఫ్లాష్ రైట్ విఫలం కావచ్చు.
CAL7 బిట్ ఓసిలేటర్ కోసం ఆపరేషన్ పరిధిని నిర్ణయిస్తుంది. ఈ బిట్ను 0 కి సెట్ చేస్తే అతి తక్కువ ఫ్రీక్వెన్సీ పరిధిని ఇస్తుంది, ఈ బిట్ను 1 కి సెట్ చేస్తే అత్యధిక ఫ్రీక్వెన్సీ పరిధిని ఇస్తుంది. రెండు ఫ్రీక్వెన్సీ శ్రేణులు అతివ్యాప్తి చెందుతున్నాయి, మరో మాటలో చెప్పాలంటే OSCCAL = 0x7F యొక్క సెట్టింగ్ OSCCAL = 0x80 కన్నా ఎక్కువ ఫ్రీక్వెన్సీని ఇస్తుంది.
ఎంచుకున్న పరిధిలో ఫ్రీక్వెన్సీని ట్యూన్ చేయడానికి CAL [6: 0] బిట్స్ ఉపయోగించబడతాయి. 0x00 యొక్క అమరిక ఆ పరిధిలో అతి తక్కువ స్వేచ్ఛను ఇస్తుంది మరియు 0x7F యొక్క అమరిక శ్రేణిలో అత్యధిక పౌన frequency పున్యాన్ని ఇస్తుంది.
MCU యొక్క స్థిరమైన ఆపరేషన్ను నిర్ధారించడానికి అమరిక విలువను చిన్నగా మార్చాలి. ఒక చక్రం నుండి మరొక చక్రానికి 2% కంటే ఎక్కువ పౌన frequency పున్యంలో వైవిధ్యం అనూహ్య ప్రవర్తనకు దారితీస్తుంది. OSCCAL లో మార్పులు ప్రతి అమరికకు 0x20 మించకూడదు. గడియార పౌన .పున్యంలో ఇటువంటి మార్పుల సమయంలో MCU రీసెట్లో ఉంచబడిందని నిర్ధారించుకోవాలి
పట్టిక 6-14. అంతర్గత RC ఓసిలేటర్ ఫ్రీక్వెన్సీ రేంజ్
OSCCAL విలువ | నామమాత్రపు ఫ్రీక్వెన్సీకి సంబంధించి సాధారణ తక్కువ ఫ్రీక్వెన్సీ | నామమాత్రపు ఫ్రీక్వెన్సీకి సంబంధించి సాధారణ అత్యధిక ఫ్రీక్వెన్సీ |
0x00 | 50% | 100% |
0x3F | 75% | 150% |
0x7F | 100% | 200% |
CLKPR - క్లాక్ ప్రెస్కేల్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x26 | CLKPCE | – | – | – | CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | CLKPR |
చదవండి/వ్రాయండి | R/W | R | R | R | R/W | R/W | R/W | R/W |
ప్రారంభ విలువ 0 0 0 0 బిట్ వివరణ చూడండి
బిట్ 7 - CLKPCE: క్లాక్ ప్రెస్కాలర్ మార్పు ప్రారంభించండి
CLKPS బిట్ల మార్పును ప్రారంభించడానికి CLKPCE బిట్ను లాజిక్ వన్కు వ్రాయాలి. CLKPR లోని ఇతర బిట్స్ ఒకేసారి సున్నాకి వ్రాసినప్పుడు మాత్రమే CLKPCE బిట్ నవీకరించబడుతుంది. CLKPCE వ్రాసిన తర్వాత లేదా CLKPS బిట్స్ వ్రాసిన తర్వాత హార్డ్వేర్ నాలుగు చక్రాల ద్వారా క్లియర్ చేయబడుతుంది. ఈ సమయం ముగిసిన వ్యవధిలో CLKPCE బిట్ను తిరిగి వ్రాయడం సమయం ముగిసే వ్యవధిని పొడిగించదు, లేదా CLKPCE బిట్ను క్లియర్ చేయదు.
బిట్స్ 6: 4 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్స్ 3: 0 - సిఎల్కెపిఎస్ [3: 0]: క్లాక్ ప్రెస్కాలర్ బిట్స్ 3 - 0 ఎంచుకోండి
ఈ బిట్స్ ఎంచుకున్న గడియార మూలం మరియు అంతర్గత వ్యవస్థ గడియారం మధ్య విభజన కారకాన్ని నిర్వచించాయి. అప్లికేషన్ అవసరాలకు అనుగుణంగా గడియార ఫ్రీక్వెన్సీని మార్చడానికి ఈ బిట్లను రన్-టైమ్ వ్రాయవచ్చు. డివైడర్ మాస్టర్ క్లాక్ ఇన్పుట్ను MCU కి విభజిస్తున్నందున, డివిజన్ కారకాన్ని ఉపయోగించినప్పుడు అన్ని సింక్రోనస్ పెరిఫెరల్స్ వేగం తగ్గుతుంది. విభజన కారకాలు ఇవ్వబడ్డాయి పట్టిక 6-15.
గడియార పౌన frequency పున్యం యొక్క అనుకోకుండా మార్పులను నివారించడానికి, CLKPS బిట్లను మార్చడానికి ప్రత్యేక వ్రాత విధానాన్ని అనుసరించాలి:
క్లాక్ ప్రెస్కాలర్ చేంజ్ ఎనేబుల్ (CLKPCE) బిట్ను ఒకదానికి మరియు CLKPR లోని అన్ని ఇతర బిట్లను సున్నాకి వ్రాయండి.
నాలుగు చక్రాలలో, CLKPCE కు సున్నా వ్రాసేటప్పుడు కావలసిన విలువను CLKPS కి రాయండి.
వ్రాసే విధానానికి అంతరాయం లేదని నిర్ధారించుకోవడానికి ప్రీస్కాలర్ సెట్టింగ్ను మార్చేటప్పుడు అంతరాయాలు నిలిపివేయబడాలి.
CKDIV8 ఫ్యూజ్ CLKPS బిట్ల ప్రారంభ విలువను నిర్ణయిస్తుంది. CKDIV8 ప్రోగ్రామ్ చేయని పక్షంలో, CLKPS బిట్లు “0000”కి రీసెట్ చేయబడతాయి. CKDIV8 ప్రోగ్రామ్ చేయబడితే, CLKPS బిట్లు “0011”కి రీసెట్ చేయబడతాయి, ఇది ప్రారంభంలో ఎనిమిది విభజన కారకాన్ని ఇస్తుంది. ప్రస్తుత ఆపరేటింగ్ పరిస్థితుల్లో పరికరం యొక్క గరిష్ట పౌనఃపున్యం కంటే ఎంచుకున్న గడియార మూలం అధిక ఫ్రీక్వెన్సీని కలిగి ఉంటే ఈ ఫీచర్ ఉపయోగించాలి. CKDIV8 ఫ్యూజ్ సెట్టింగ్తో సంబంధం లేకుండా ఏదైనా విలువ CLKPS బిట్లకు వ్రాయవచ్చని గమనించండి. అప్లికేషన్ సాఫ్ట్వేర్ తప్పనిసరిగా తగినంత విభజన కారకాన్ని నిర్ధారించాలి
ప్రస్తుత ఆపరేటింగ్ పరిస్థితులలో పరికరం యొక్క గరిష్ట పౌన frequency పున్యం కంటే ఎంచుకున్న గడియార మూలం అధిక పౌన frequency పున్యాన్ని కలిగి ఉంటే ఎంచుకోబడుతుంది. పరికరం CKDIV8 ఫ్యూజ్ ప్రోగ్రామ్తో రవాణా చేయబడుతుంది.
పట్టిక 6-15. క్లాక్ ప్రీస్కేలర్ ఎంచుకోండి
CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | క్లాక్ డివిజన్ ఫాక్టర్ |
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 | రిజర్వ్ చేయబడింది |
గమనిక: ప్రీస్కేలర్ ATtiny15 అనుకూలత మోడ్లో నిలిపివేయబడింది మరియు CLKPRకి వ్రాయడం లేదా CKDIV8 ఫ్యూజ్ని ప్రోగ్రామింగ్ చేయడం వల్ల సిస్టమ్ గడియారంపై ఎటువంటి ప్రభావం ఉండదు (ఇది ఎల్లప్పుడూ 1.6 MHz ఉంటుంది).
పవర్ మేనేజ్మెంట్ మరియు స్లీప్ మోడ్లు
అధిక పనితీరు మరియు పరిశ్రమ ప్రముఖ కోడ్ సామర్థ్యం AVR మైక్రోకంట్రోలర్లను తక్కువ శక్తి అనువర్తనాలకు అనువైన ఎంపికగా చేస్తుంది. అదనంగా, స్లీప్ మోడ్లు MCU లో ఉపయోగించని మాడ్యూళ్ళను మూసివేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది, తద్వారా శక్తిని ఆదా చేస్తుంది. AVR వివిధ స్లీప్ మోడ్లను అందిస్తుంది, ఇది వినియోగదారుడు విద్యుత్ వినియోగాన్ని అప్లికేషన్ యొక్క అవసరాలకు అనుగుణంగా మార్చడానికి అనుమతిస్తుంది.
స్లీప్ మోడ్లు
6 వ పేజీలో మూర్తి 1-23 వేర్వేరు గడియార వ్యవస్థలను మరియు వాటి పంపిణీని ATtiny25 / 45/85 లో అందిస్తుంది. తగిన స్లీప్ మోడ్ను ఎంచుకోవడంలో ఫిగర్ సహాయపడుతుంది. పట్టిక 7-1 విభిన్న నిద్ర రీతులు మరియు వాటి మేల్కొలుపు మూలాలను చూపుతుంది.
పట్టిక 7-1. విభిన్న స్లీప్ మోడ్లలో యాక్టివ్ క్లాక్ డొమైన్లు మరియు వేక్-అప్ సోర్సెస్
యాక్టివ్ క్లాక్ డొమైన్లు | ఓసిలేటర్లు | మేల్కొలుపు మూలాలు | ||||||||||
స్లీప్ మోడ్ | clkCPU | clkFLASH | clkIO | clkADC | clkPCK | ప్రధాన గడియారం మూలం ప్రారంభించబడింది | INT0 మరియు పిన్ మార్పు | SPM / EEPROM
సిద్ధంగా ఉంది |
USI ప్రారంభ పరిస్థితి |
ADC | ఇతర I/O | వాచ్డాగ్ అంతరాయం కలిగించు |
పనిలేకుండా | X | X | X | X | X | X | X | X | X | X | ||
ADC శబ్దం తగ్గింపు | X | X | X(1) | X | X | X | X | |||||
పవర్-డౌన్ | X(1) | X | X |
గమనిక: INT0 కోసం, స్థాయి అంతరాయం మాత్రమే.
మూడు స్లీప్ మోడ్లలో దేనినైనా నమోదు చేయడానికి, MCUCR లోని SE బిట్ లాజిక్ వన్కు వ్రాయబడాలి మరియు SLEEP ఇన్స్ట్రక్షన్ తప్పనిసరిగా అమలు చేయాలి. MCUCR రిజిస్టర్లోని SM [1: 0] బిట్స్ SLEEP సూచనల ద్వారా ఏ స్లీప్ మోడ్ (ఐడిల్, ADC శబ్దం తగ్గింపు లేదా పవర్-డౌన్) సక్రియం చేయబడుతుందో ఎంచుకోండి. చూడండి పట్టిక 7-2 సారాంశం కోసం.
MCU స్లీప్ మోడ్లో ఉన్నప్పుడు ప్రారంభించబడిన అంతరాయం ఏర్పడితే, MCU మేల్కొంటుంది. MCU ప్రారంభ సమయానికి అదనంగా నాలుగు చక్రాల వరకు నిలిపివేయబడుతుంది, అంతరాయ దినచర్యను అమలు చేస్తుంది మరియు స్లీప్ తర్వాత సూచనల నుండి అమలును పునఃప్రారంభిస్తుంది. రిజిస్టర్ యొక్క విషయాలు File మరియు పరికరం నిద్ర నుండి మేల్కొన్నప్పుడు SRAM మారదు. స్లీప్ మోడ్లో రీసెట్ జరిగితే, MCU మేల్కొంటుంది మరియు రీసెట్ వెక్టర్ నుండి అమలు అవుతుంది.
గమనిక: మేల్కొలపడానికి లెవల్ ట్రిగ్గర్ చేయబడిన అంతరాయాన్ని ఉపయోగించినట్లయితే, MCUని మేల్కొలపడానికి (మరియు MCU అంతరాయ సేవా రొటీన్లోకి ప్రవేశించడానికి) మార్చబడిన స్థాయిని కొంత సమయం పాటు ఉంచాలి. చూడండి 49 వ పేజీలోని “బాహ్య అంతరాయాలు” వివరాల కోసం.
నిష్క్రియ మోడ్
SM[1:0] బిట్లు 00కి వ్రాయబడినప్పుడు, SLEEP సూచన MCUని నిష్క్రియ మోడ్లోకి ప్రవేశించేలా చేస్తుంది, CPUని ఆపివేస్తుంది, కానీ అనలాగ్ కంపారేటర్, ADC, USI, టైమర్/కౌంటర్, వాచ్డాగ్ మరియు అంతరాయ సిస్టమ్ ఆపరేటింగ్ను కొనసాగించడానికి అనుమతిస్తుంది. తినడం. ఈ స్లీప్ మోడ్ ప్రాథమికంగా clkCPU మరియు clkFLASHని నిలిపివేస్తుంది, అయితే ఇతర గడియారాలను అమలు చేయడానికి అనుమతిస్తుంది.
నిష్క్రియ మోడ్ బాహ్య ప్రేరేపిత అంతరాయాల నుండి మరియు టైమర్ ఓవర్ఫ్లో వంటి అంతర్గత వాటి నుండి మేల్కొలపడానికి MCU ని అనుమతిస్తుంది. అనలాగ్ కంపారిటర్ అంతరాయం నుండి మేల్కొలపడానికి అవసరం లేకపోతే, ఎసిడి బిట్ను సెట్ చేయడం ద్వారా అనలాగ్ కంపారిటర్ను శక్తివంతం చేయవచ్చు 120 వ పేజీలోని “ACSR - అనలాగ్ కంపారిటర్ కంట్రోల్ మరియు స్టేటస్ రిజిస్టర్”. ఇది ఐడిల్ మోడ్లో విద్యుత్ వినియోగాన్ని తగ్గిస్తుంది. ADC ప్రారంభించబడితే, ఈ మోడ్ ఎంటర్ అయినప్పుడు మార్పిడి స్వయంచాలకంగా ప్రారంభమవుతుంది.
ADC శబ్దం తగ్గింపు మోడ్
SM[1:0] బిట్లు 01కి వ్రాయబడినప్పుడు, SLEEP సూచన MCUని ADC నాయిస్ రిడక్షన్ మోడ్లోకి ప్రవేశించేలా చేస్తుంది, CPUని ఆపివేస్తుంది, అయితే ADC, బాహ్య అంతరాయాలు మరియు వాచ్డాగ్ ఆపరేటింగ్ను కొనసాగించడానికి అనుమతిస్తుంది (ప్రారంభించబడి ఉంటే). ఈ స్లీప్ మోడ్ ఇతర గడియారాలను అమలు చేయడానికి అనుమతించేటప్పుడు, clkI/O, clkCPU మరియు clkFLASHలను నిలిపివేస్తుంది.
ఇది ADC కోసం శబ్దం వాతావరణాన్ని మెరుగుపరుస్తుంది, అధిక రిజల్యూషన్ కొలతలను అనుమతిస్తుంది. ADC ప్రారంభించబడితే, ఈ మోడ్ ఎంటర్ అయినప్పుడు మార్పిడి స్వయంచాలకంగా ప్రారంభమవుతుంది. ADC మార్పిడి పూర్తి అంతరాయాన్ని ఏర్పరచడమే కాకుండా, బాహ్య రీసెట్, వాచ్డాగ్ రీసెట్, బ్రౌన్-అవుట్ రీసెట్, SPM / EEPROM రెడీ ఇంటరప్ట్, INT0 లో బాహ్య స్థాయి అంతరాయం లేదా పిన్ మార్పు అంతరాయం మాత్రమే ADC శబ్దం తగ్గింపు నుండి MCU ని మేల్కొల్పవచ్చు మోడ్.
పవర్-డౌన్ మోడ్
SM [1: 0] బిట్స్ 10 కి వ్రాసినప్పుడు, SLEEP సూచన MCU ను పవర్-డౌన్ మోడ్లోకి ప్రవేశించేలా చేస్తుంది. ఈ మోడ్లో, ఓసిలేటర్ ఆపివేయబడుతుంది, బాహ్య అంతరాయాలు, యుఎస్ఐ ప్రారంభ కండిషన్ డిటెక్షన్ మరియు వాచ్డాగ్ పనిచేయడం కొనసాగిస్తాయి (ప్రారంభించబడితే). బాహ్య రీసెట్, వాచ్డాగ్ రీసెట్, బ్రౌన్-అవుట్ రీసెట్, యుఎస్ఐ ప్రారంభ స్థితి అంతరాయం, INT0 లో బాహ్య స్థాయి అంతరాయం లేదా పిన్ మార్పు అంతరాయం మాత్రమే MCU ని మేల్కొల్పగలవు. ఈ స్లీప్ మోడ్ ఉత్పత్తి చేసిన అన్ని గడియారాలను ఆపివేస్తుంది, అసమకాలిక మాడ్యూళ్ల ఆపరేషన్ను మాత్రమే అనుమతిస్తుంది.
సాఫ్ట్వేర్ BOD డిసేబుల్
BODLEVEL ఫ్యూజ్ల ద్వారా బ్రౌన్-అవుట్ డిటెక్టర్ (BOD) ప్రారంభించబడినప్పుడు (చూడండి 20 వ పేజీలో పట్టిక 4-148), BOD సరఫరా వాల్యూమ్ను చురుకుగా పర్యవేక్షిస్తోందిtagఇ నిద్ర కాలంలో. కొన్ని పరికరాలలో పవర్-డౌన్ స్లీప్ మోడ్లో సాఫ్ట్వేర్ ద్వారా BODని నిలిపివేయడం ద్వారా శక్తిని ఆదా చేయడం సాధ్యపడుతుంది. ఫ్యూజ్ల ద్వారా ప్రపంచవ్యాప్తంగా BOD నిలిపివేయబడినప్పుడు నిద్ర మోడ్ విద్యుత్ వినియోగం అదే స్థాయిలో ఉంటుంది.
సాఫ్ట్వేర్ ద్వారా BOD నిలిపివేయబడితే, నిద్ర మోడ్లోకి ప్రవేశించిన వెంటనే BOD ఫంక్షన్ ఆఫ్ చేయబడుతుంది. నిద్ర నుండి మేల్కొన్న తర్వాత, BOD స్వయంచాలకంగా మళ్లీ ప్రారంభించబడుతుంది. నిద్ర సమయంలో VCC స్థాయి పడిపోయిన సందర్భంలో ఇది సురక్షితమైన ఆపరేషన్ను నిర్ధారిస్తుంది.
BOD నిలిపివేయబడినప్పుడు, నిద్ర మోడ్ నుండి మేల్కొనే సమయం రీసెట్ నుండి మేల్కొనే సమయానికి సమానంగా ఉంటుంది. బ్యాండ్గ్యాప్ రిఫరెన్స్ ప్రారంభించడానికి సమయం ఉందని మరియు MCU కోడ్ను అమలు చేయడాన్ని కొనసాగించడానికి ముందు BOD సరిగ్గా పనిచేస్తుందని వినియోగదారు మేల్కొనే సమయాన్ని మాన్యువల్గా కాన్ఫిగర్ చేయాలి. పట్టికలో SUT [1: 0] మరియు CKSEL [3: 0] ఫ్యూజ్ బిట్లను చూడండి 149 వ పేజీలోని “తక్కువ బైట్ ఫ్యూజ్”
BOD డిసేబుల్ MCU కంట్రోల్ రిజిస్టర్ యొక్క BODS (BOD స్లీప్) బిట్ ద్వారా నియంత్రించబడుతుంది, చూడండి “MCUCR - MCU కంట్రోల్ 37 వ పేజీలో నమోదు చేయండి. ఈ బిట్ను ఒకదానికి వ్రాయడం పవర్-డౌన్లో BOD ని ఆపివేస్తుంది, సున్నా రాయడం BOD ని చురుకుగా ఉంచుతుంది. డిఫాల్ట్ సెట్టింగ్ సున్నా, అనగా BOD యాక్టివ్.
BODS బిట్కు రాయడం సమయం ముగిసిన క్రమం మరియు ఎనేబుల్ బిట్ ద్వారా నియంత్రించబడుతుంది, చూడండి “MCUCR - MCU కంట్రోల్ రెగిస్- 37 వ పేజీలో.
పరిమితులు
కింది పరికరాల్లో BOD డిసేబుల్ కార్యాచరణ అమలు చేయబడింది, మాత్రమే:
ATtiny25, పునర్విమర్శ E మరియు క్రొత్తది
ATtiny45, పునర్విమర్శ D మరియు క్రొత్తది
ATtiny85, పునర్విమర్శ సి మరియు క్రొత్తది
పరికర ప్యాకేజీలో పునర్విమర్శలు గుర్తించబడతాయి మరియు ఈ క్రింది విధంగా ఉంటాయి:
ప్యాకేజీల దిగువ వైపు 8P3 మరియు 8S2
ప్యాకేజీ 20M1 యొక్క పై వైపు
విద్యుత్ తగ్గింపు రిజిస్టర్
విద్యుత్ తగ్గింపు రిజిస్టర్ (పిఆర్ఆర్), చూడండి 38 వ పేజీలోని “పిఆర్ఆర్ - పవర్ రిడక్షన్ రిజిస్టర్”, వ్యక్తిగత పెరిఫెరల్స్కు గడియారాన్ని ఆపడం ద్వారా విద్యుత్ వినియోగాన్ని తగ్గించడానికి ఒక పద్ధతిని అందిస్తుంది. పరిధీయ ప్రస్తుత స్థితి స్తంభింపజేయబడింది మరియు I / O రిజిస్టర్లను చదవడం లేదా వ్రాయడం సాధ్యం కాదు. గడియారాన్ని ఆపేటప్పుడు పరిధీయ ఉపయోగించే వనరులు ఆక్రమించబడతాయి, అందువల్ల గడియారాన్ని ఆపే ముందు పరిధీయ చాలా సందర్భాల్లో నిలిపివేయబడాలి. మాడ్యూల్ను మేల్కొలపడం, ఇది పిఆర్ఆర్లో బిట్ను క్లియర్ చేయడం ద్వారా జరుగుతుంది, మాడ్యూల్ను షట్డౌన్ చేసే ముందు అదే స్థితిలో ఉంచుతుంది.
మొత్తం విద్యుత్ వినియోగాన్ని గణనీయంగా తగ్గించడానికి మాడ్యూల్ షట్డౌన్ ఐడిల్ మోడ్ మరియు యాక్టివ్ మోడ్లో ఉపయోగించవచ్చు. అన్ని ఇతర నిద్ర మోడ్లలో, గడియారం ఇప్పటికే ఆపివేయబడింది. చూడండి 177 వ పేజీలోని “I / O మాడ్యూళ్ల సరఫరా ప్రవాహం” ఉదాహరణకుampలెస్.
విద్యుత్ వినియోగాన్ని తగ్గించడం
AVR నియంత్రిత వ్యవస్థలో విద్యుత్ వినియోగాన్ని తగ్గించడానికి ప్రయత్నించినప్పుడు పరిగణించవలసిన అనేక సమస్యలు ఉన్నాయి. సాధారణంగా, స్లీప్ మోడ్లను వీలైనంత వరకు ఉపయోగించాలి, మరియు స్లీప్ మోడ్ను ఎంచుకోవాలి, తద్వారా పరికరం యొక్క ఫంక్షన్లలో సాధ్యమైనంత తక్కువ పనిచేస్తాయి. అవసరం లేని అన్ని విధులు నిలిపివేయబడాలి. ప్రత్యేకించి, సాధ్యమైనంత తక్కువ విద్యుత్ వినియోగాన్ని సాధించడానికి ప్రయత్నిస్తున్నప్పుడు కింది మాడ్యూళ్ళకు ప్రత్యేక పరిశీలన అవసరం.
అనలాగ్ టు డిజిటల్ కన్వర్టర్
ప్రారంభించబడితే, అన్ని నిద్ర మోడ్లలో ADC ప్రారంభించబడుతుంది. శక్తిని ఆదా చేయడానికి, ఏదైనా స్లీప్ మోడ్లోకి ప్రవేశించే ముందు ADC ని నిలిపివేయాలి. ADC ఆపివేయబడినప్పుడు మరియు మళ్లీ ప్రారంభించినప్పుడు, తదుపరి మార్పిడి విస్తరించిన మార్పిడి అవుతుంది. చూడండి 122 వ పేజీలోని “అనలాగ్ టు డిజిటల్ కన్వర్టర్” ADC ఆపరేషన్ వివరాల కోసం.
అనలాగ్ కంపారిటర్
నిష్క్రియ మోడ్లోకి ప్రవేశించేటప్పుడు, అనలాగ్ కంపారేటర్ ఉపయోగించకపోతే నిలిపివేయబడాలి. ADC నాయిస్ రిడక్షన్ మోడ్లోకి ప్రవేశించినప్పుడు, అనలాగ్ కంపారేటర్ డిసేబుల్ చేయబడాలి. ఇతర స్లీప్ మోడ్లలో, అనలాగ్ కంపారేటర్ స్వయంచాలకంగా నిలిపివేయబడుతుంది. అయితే, ఇంటర్నల్ వాల్యూమ్ని ఉపయోగించడానికి అనలాగ్ కంపారేటర్ని సెటప్ చేస్తేtagఇ ఇన్పుట్గా సూచన, అన్ని స్లీప్ మోడ్లలో అనలాగ్ కంపారేటర్ నిలిపివేయబడాలి. లేకపోతే, అంతర్గత వాల్యూమ్tagఇ రిఫరెన్స్ స్లీప్ మోడ్ నుండి స్వతంత్రంగా ప్రారంభించబడుతుంది. చూడండి 119 వ పేజీలోని “అనలాగ్ కంపారిటర్” అనలాగ్ కంపారిటర్ను ఎలా కాన్ఫిగర్ చేయాలో వివరాల కోసం.
బ్రౌన్-అవుట్ డిటెక్టర్
అనువర్తనంలో బ్రౌన్-అవుట్ డిటెక్టర్ అవసరం లేకపోతే, ఈ మాడ్యూల్ ఆపివేయబడాలి. BODLEVEL ఫ్యూజ్ల ద్వారా బ్రౌన్-అవుట్ డిటెక్టర్ ప్రారంభించబడితే, ఇది అన్ని స్లీప్ మోడ్లలో ప్రారంభించబడుతుంది మరియు అందువల్ల, ఎల్లప్పుడూ శక్తిని వినియోగిస్తుంది. లోతైన నిద్ర రీతుల్లో, ఇది మొత్తం ప్రస్తుత వినియోగానికి గణనీయంగా దోహదం చేస్తుంది. చూడండి “బ్రౌన్-అవుట్ డిటెక్- tion ”41 వ పేజీలో మరియు 35 వ పేజీలోని “సాఫ్ట్వేర్ BOD డిసేబుల్” బ్రౌన్-అవుట్ డిటెక్టర్ను ఎలా కాన్ఫిగర్ చేయాలో వివరాల కోసం.
అంతర్గత వాల్యూమ్tagఇ సూచన
అంతర్గత వాల్యూమ్tagఇ రిఫరెన్స్ బ్రౌన్-అవుట్ డిటెక్షన్, అనలాగ్ కంపారేటర్ లేదా ADC ద్వారా అవసరమైనప్పుడు ప్రారంభించబడుతుంది. ఎగువ విభాగాలలో వివరించిన విధంగా ఈ మాడ్యూల్లు నిలిపివేయబడితే, అంతర్గత వాల్యూమ్tagఇ సూచన నిలిపివేయబడుతుంది మరియు అది శక్తిని వినియోగించదు. మళ్లీ ఆన్ చేసినప్పుడు, అవుట్పుట్ ఉపయోగించే ముందు తప్పనిసరిగా సూచనను ప్రారంభించడానికి వినియోగదారు అనుమతించాలి. సూచనను స్లీప్ మోడ్లో ఉంచినట్లయితే, అవుట్పుట్ వెంటనే ఉపయోగించబడుతుంది. చూడండి “అంతర్గత వాల్యూమ్tagఇ రిఫరెన్స్” పేజీ 42లో ప్రారంభ సమయం వివరాల కోసం.
వాచ్డాగ్ టైమర్
అనువర్తనంలో వాచ్డాగ్ టైమర్ అవసరం లేకపోతే, ఈ మాడ్యూల్ ఆపివేయబడాలి. వాచ్డాగ్ టైమర్ ప్రారంభించబడితే, ఇది అన్ని స్లీప్ మోడ్లలో ప్రారంభించబడుతుంది మరియు అందువల్ల, ఎల్లప్పుడూ శక్తిని వినియోగిస్తుంది. లోతైన నిద్ర రీతుల్లో, ఇది మొత్తం ప్రస్తుత వినియోగానికి గణనీయంగా దోహదం చేస్తుంది. చూడండి 42 వ పేజీలోని “వాచ్డాగ్ టైమర్” వాచ్డాగ్ టైమర్ను ఎలా కాన్ఫిగర్ చేయాలో వివరాల కోసం.
పోర్ట్ పిన్స్
స్లీప్ మోడ్లోకి ప్రవేశించేటప్పుడు, అన్ని పోర్ట్ పిన్లు కనీస శక్తిని ఉపయోగించేందుకు కాన్ఫిగర్ చేయబడాలి. అత్యంత ముఖ్యమైన విషయం ఏమిటంటే, పిన్లు రెసిస్టివ్ లోడ్లను డ్రైవ్ చేయవని నిర్ధారించుకోవడం. I/O క్లాక్ (clkI/O) మరియు ADC క్లాక్ (clkADC) రెండూ ఆపివేయబడిన స్లీప్ మోడ్లలో, పరికరం యొక్క ఇన్పుట్ బఫర్లు నిలిపివేయబడతాయి. ఇది విద్యుత్తు వినియోగించబడదని నిర్ధారిస్తుంది
అవసరం లేనప్పుడు ఇన్పుట్ లాజిక్ ద్వారా. కొన్ని సందర్భాల్లో, మేల్కొనే పరిస్థితులను గుర్తించడానికి ఇన్పుట్ లాజిక్ అవసరం, మరియు
అది ప్రారంభించబడుతుంది. విభాగాన్ని చూడండి 57 వ పేజీలోని “డిజిటల్ ఇన్పుట్ ఎనేబుల్ అండ్ స్లీప్ మోడ్లు” ఏ పిన్లు ప్రారంభించబడ్డాయి అనే వివరాల కోసం. ఇన్పుట్ బఫర్ ప్రారంభించబడి, ఇన్పుట్ సిగ్నల్ ఫ్లోటింగ్లో ఉంచబడితే లేదా VCC/2కి దగ్గరగా అనలాగ్ సిగ్నల్ స్థాయిని కలిగి ఉంటే, ఇన్పుట్ బఫర్ అధిక శక్తిని ఉపయోగిస్తుంది.
అనలాగ్ ఇన్పుట్ పిన్ల కోసం, డిజిటల్ ఇన్పుట్ బఫర్ అన్ని సమయాల్లో నిలిపివేయబడాలి. ఇన్పుట్ పిన్లో VCC/2కి దగ్గరగా ఉన్న అనలాగ్ సిగ్నల్ స్థాయి యాక్టివ్ మోడ్లో కూడా గణనీయమైన కరెంట్ను కలిగిస్తుంది. డిజిటల్ ఇన్పుట్ డిసేబుల్ రిజిస్టర్ (DIDR0)కి వ్రాయడం ద్వారా డిజిటల్ ఇన్పుట్ బఫర్లను నిలిపివేయవచ్చు. చూడండి 0 వ పేజీలోని “DIDR0 - డిజిటల్ ఇన్పుట్ రిజిస్టర్ 121 ని ఆపివేయి” వివరాల కోసం.
నమోదు వివరణ
MCUCR - MCU కంట్రోల్ రిజిస్టర్
MCU కంట్రోల్ రిజిస్టర్ విద్యుత్ నిర్వహణ కోసం నియంత్రణ బిట్లను కలిగి ఉంది.
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | బాడ్స్ | పుడ్ | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
చదవండి/వ్రాయండి | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్ 7 - BODS: BOD స్లీప్
BOD డిసేబుల్ కార్యాచరణ కొన్ని పరికరాల్లో మాత్రమే అందుబాటులో ఉంది. చూడండి 36 వ పేజీలోని “పరిమితులు”.
నిద్రలో BOD ని నిలిపివేయడానికి (చూడండి 7 వ పేజీలో పట్టిక 1-34) BODS బిట్ లాజిక్ ఒకటికి వ్రాయబడాలి. ఇది సమయం ముగిసిన క్రమం మరియు MCUCR లోని BODSE ఎనేబుల్ బిట్ ద్వారా నియంత్రించబడుతుంది. మొదట, BODS మరియు BODSE రెండింటినీ ఒకటికి సెట్ చేయాలి. రెండవది, నాలుగు గడియార చక్రాలలో, BODS ను ఒకదానికి మరియు BODSE ని సున్నాకి అమర్చాలి. BODS బిట్ సెట్ చేసిన తర్వాత మూడు గడియార చక్రాలు చురుకుగా ఉంటాయి. అసలు స్లీప్ మోడ్ కోసం BOD ని ఆపివేయడానికి BODS చురుకుగా ఉన్నప్పుడు నిద్ర సూచనను అమలు చేయాలి. మూడు గడియార చక్రాల తర్వాత BODS బిట్ స్వయంచాలకంగా క్లియర్ చేయబడుతుంది.
స్లీపింగ్ BOD అమలు చేయని పరికరాల్లో ఈ బిట్ ఉపయోగించబడదు మరియు ఎల్లప్పుడూ సున్నా చదువుతుంది.
బిట్ 5 - SE: స్లీప్ ఎనేబుల్
SLEEP సూచనను అమలు చేసినప్పుడు MCU స్లీప్ మోడ్లోకి ప్రవేశించేలా చేయడానికి SE బిట్ తప్పనిసరిగా లాజిక్ వన్కు వ్రాయబడాలి. ప్రోగ్రామర్ యొక్క ఉద్దేశ్యం తప్ప MCU స్లీప్ మోడ్లోకి ప్రవేశించకుండా నిరోధించడానికి, SLEEP సూచనలను అమలు చేయడానికి ముందు స్లీప్ ఎనేబుల్ (SE) బిట్ను ఒకటికి వ్రాయమని మరియు మేల్కొన్న వెంటనే దాన్ని క్లియర్ చేయాలని సిఫార్సు చేయబడింది.
బిట్స్ 4: 3 - SM [1: 0]: స్లీప్ మోడ్ బిట్స్ 1 మరియు 0 ఎంచుకోండి
ఈ బిట్స్ చూపిన విధంగా అందుబాటులో ఉన్న మూడు స్లీప్ మోడ్ల మధ్య ఎంచుకుంటాయి పట్టిక 7-2.
పట్టిక 7-2. స్లీప్ మోడ్ ఎంచుకోండి
SM1 | SM0 | స్లీప్ మోడ్ |
0 | 0 | పనిలేకుండా |
0 | 1 | ADC శబ్దం తగ్గింపు |
1 | 0 | పవర్-డౌన్ |
1 | 1 | రిజర్వ్ చేయబడింది |
బిట్ 2 - BODSE: BOD స్లీప్ ఎనేబుల్
BOD డిసేబుల్ కార్యాచరణ కొన్ని పరికరాల్లో మాత్రమే అందుబాటులో ఉంది. చూడండి 36 వ పేజీలోని “పరిమితులు”.
BODS బిట్ వివరణలో వివరించిన విధంగా BODS బిట్ BODS కంట్రోల్ బిట్ యొక్క అమరికను అనుమతిస్తుంది. BOD డిసేబుల్ సమయం ముగిసిన క్రమం ద్వారా నియంత్రించబడుతుంది.
సాఫ్ట్వేర్ BOD డిసేబుల్ అమలు చేయని పరికరాల్లో ఈ బిట్ ఉపయోగించబడదు మరియు ఆ పరికరాల్లో సున్నాగా చదవబడుతుంది.
పిఆర్ఆర్ - విద్యుత్ తగ్గింపు రిజిస్టర్
విద్యుత్ తగ్గింపు రిజిస్టర్ పరిధీయ గడియారపు సిగ్నల్లను నిలిపివేయడానికి అనుమతించడం ద్వారా విద్యుత్ వినియోగాన్ని తగ్గించడానికి ఒక పద్ధతిని అందిస్తుంది.
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x20 | – | – | – | – | PRTIM1 | PRTIM0 | ప్రుసి | PRADC | PRR |
చదవండి/వ్రాయండి | R | R | R | R | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్స్ 7: 4 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్ 3 - పిఆర్టిఐఎం 1: పవర్ రిడక్షన్ టైమర్ / కౌంటర్ 1
ఈ బిట్కు లాజిక్ ఒకటి రాయడం టైమర్ / కౌంటర్ 1 మాడ్యూల్ను మూసివేస్తుంది. టైమర్ / కౌంటర్ 1 ప్రారంభించబడినప్పుడు, షట్డౌన్కు ముందు మాదిరిగానే ఆపరేషన్ కొనసాగుతుంది.
బిట్ 2 - పిఆర్టిఐఎం 0: పవర్ రిడక్షన్ టైమర్ / కౌంటర్ 0
ఈ బిట్కు లాజిక్ ఒకటి రాయడం టైమర్ / కౌంటర్ 0 మాడ్యూల్ను మూసివేస్తుంది. టైమర్ / కౌంటర్ 0 ప్రారంభించబడినప్పుడు, షట్డౌన్కు ముందు మాదిరిగానే ఆపరేషన్ కొనసాగుతుంది.
బిట్ 1 - PRUSI: విద్యుత్ తగ్గింపు USI
ఈ బిట్కు లాజిక్ ఒకటి రాయడం మాడ్యూల్కు గడియారాన్ని ఆపడం ద్వారా యుఎస్ఐని మూసివేస్తుంది. యుఎస్ఐని మళ్లీ మేల్కొన్నప్పుడు, సరైన ఆపరేషన్ ఉండేలా యుఎస్ఐని తిరిగి ప్రారంభించాలి.
బిట్ 0 - పిఆర్డిసి: విద్యుత్ తగ్గింపు ఎడిసి
ఈ బిట్కు లాజిక్ ఒకటి రాయడం ADC ని మూసివేస్తుంది. మూసివేయడానికి ముందు ADC ని నిలిపివేయాలి. ADC గడియారాన్ని అనలాగ్ కంపారిటర్ యొక్క కొన్ని భాగాలు కూడా ఉపయోగిస్తాయని గమనించండి, అంటే ఈ బిట్ ఎక్కువగా ఉన్నప్పుడు అనలాగ్ కంపారిటర్ ఉపయోగించబడదు.
సిస్టమ్ నియంత్రణ మరియు రీసెట్
AVR ను రీసెట్ చేస్తోంది
రీసెట్ చేసేటప్పుడు, అన్ని I / O రిజిస్టర్లు వాటి ప్రారంభ విలువలకు సెట్ చేయబడతాయి మరియు ప్రోగ్రామ్ రీసెట్ వెక్ టోర్ నుండి అమలు ప్రారంభమవుతుంది. రీసెట్ వెక్టర్ వద్ద ఉంచిన సూచన తప్పనిసరిగా RJMP - సాపేక్ష జంప్ - రీసెట్ హ్యాండ్లింగ్ దినచర్యకు సూచన. ప్రోగ్రామ్ అంతరాయ మూలాన్ని ఎప్పటికీ ప్రారంభించకపోతే, అంతరాయ వెక్టర్స్ ఉపయోగించబడవు మరియు సాధారణ ప్రోగ్రామ్ కోడ్ను ఈ ప్రదేశాలలో ఉంచవచ్చు. లో సర్క్యూట్ రేఖాచిత్రం మూర్తి 8-1 రీసెట్ లాజిక్ చూపిస్తుంది. రీసెట్ సర్క్యూట్ యొక్క ఎలక్ట్రికల్ పారామితులు ఇవ్వబడ్డాయి 165 వ పేజీలోని “సిస్టమ్ మరియు రీసెట్ లక్షణాలు”.
మూర్తి 8-1 రీసెట్ లాజిక్
రీసెట్ మూలం సక్రియంగా ఉన్నప్పుడు AVR యొక్క I / O పోర్ట్లు వెంటనే వాటి ప్రారంభ స్థితికి రీసెట్ చేయబడతాయి. దీనికి క్లాక్ సోర్స్ అమలు కావడం అవసరం లేదు.
అన్ని రీసెట్ మూలాలు నిష్క్రియాత్మకంగా మారిన తరువాత, ఆలస్యం కౌంటర్ ప్రారంభించబడుతుంది, అంతర్గత రీసెట్ను విస్తరిస్తుంది. సాధారణ ఆపరేషన్ ప్రారంభమయ్యే ముందు శక్తి స్థిరమైన స్థాయికి చేరుకోవడానికి ఇది అనుమతిస్తుంది. ఆలస్యం కౌంటర్ యొక్క సమయం ముగిసే వ్యవధి వినియోగదారు SUT మరియు CKSEL ఫ్యూజ్ల ద్వారా నిర్వచించబడుతుంది. ఆలస్యం కాలానికి భిన్నమైన ఎంపికలు ప్రదర్శించబడతాయి "గడియారం 25 వ పేజీలో సోర్సెస్ ”.
మూలాలను రీసెట్ చేయండి
ATtiny25 / 45/85 రీసెట్ యొక్క నాలుగు వనరులను కలిగి ఉంది:
పవర్-ఆన్ రీసెట్. సరఫరా వాల్యూమ్ అయినప్పుడు MCU రీసెట్ చేయబడుతుందిtage పవర్-ఆన్ రీసెట్ థ్రెషోల్డ్ (VPOT) కంటే దిగువన ఉంది.
బాహ్య రీసెట్. కనీస పల్స్ పొడవు కంటే ఎక్కువసేపు రీసెట్ పిన్లో తక్కువ స్థాయి ఉన్నప్పుడు MCU రీసెట్ చేయబడుతుంది.
వాచ్డాగ్ రీసెట్. వాచ్డాగ్ టైమర్ కాలం ముగిసినప్పుడు మరియు వాచ్డాగ్ ప్రారంభించబడినప్పుడు MCU రీసెట్ చేయబడుతుంది.
బ్రౌన్ అవుట్ రీసెట్. సరఫరా వాల్యూమ్ అయినప్పుడు MCU రీసెట్ చేయబడుతుందిtage VCC బ్రౌన్-అవుట్ రీసెట్ థ్రెషోల్డ్ (VBOT) కంటే దిగువన ఉంది మరియు బ్రౌన్-అవుట్ డిటెక్టర్ ప్రారంభించబడింది.
పవర్-ఆన్ రీసెట్
ఆన్-చిప్ డిటెక్షన్ సర్క్యూట్ ద్వారా పవర్-ఆన్ రీసెట్ (POR) పల్స్ ఉత్పత్తి అవుతుంది. గుర్తించే స్థాయి నిర్వచించబడింది “సిస్- 165 వ పేజీలో లక్షణాలను మరియు రీసెట్ చేయండి ”. VCC గుర్తింపు స్థాయి కంటే తక్కువగా ఉన్నప్పుడు POR సక్రియం చేయబడుతుంది. స్టార్ట్-అప్ రీసెట్ను ట్రిగ్గర్ చేయడానికి, అలాగే సరఫరా వాల్యూమ్లో వైఫల్యాన్ని గుర్తించడానికి POR సర్క్యూట్ ఉపయోగించవచ్చు.tage.
పవర్-ఆన్ రీసెట్ (POR) సర్క్యూట్ పరికరం పవర్-ఆన్ నుండి రీసెట్ చేయబడిందని నిర్ధారిస్తుంది. పవర్-ఆన్ రీసెట్ థ్రెషోల్డ్ వాల్యూమ్ను చేరుకోవడంtage డిలే కౌంటర్ని ప్రేరేపిస్తుంది, ఇది VCC పెరిగిన తర్వాత పరికరం ఎంతకాలం రీసెట్లో ఉంచబడుతుందో నిర్ణయిస్తుంది. గుర్తించే స్థాయి కంటే VCC తగ్గినప్పుడు ఎటువంటి ఆలస్యం లేకుండా రీసెట్ సిగ్నల్ మళ్లీ సక్రియం చేయబడుతుంది.
మూర్తి 8-2. MCU స్టార్ట్-అప్, రీసెట్ VCCతో ముడిపడి ఉంది
అంతర్గత రీసెట్
మూర్తి 8-3. MCU స్టార్ట్-అప్, రీసెట్ బాహ్యంగా విస్తరించబడింది
బాహ్య రీసెట్
ప్రారంభించబడితే రీసెట్ పిన్పై తక్కువ స్థాయి ద్వారా బాహ్య రీసెట్ ఉత్పత్తి అవుతుంది. కనీస పల్స్ వెడల్పు కంటే ఎక్కువ కాలం పప్పులను రీసెట్ చేయండి (చూడండి 165 వ పేజీలోని “సిస్టమ్ మరియు రీసెట్ లక్షణాలు”) గడియారం అమలులో లేనప్పటికీ, రీసెట్ను రూపొందిస్తుంది. చిన్న పప్పులు రీసెట్ను ఉత్పత్తి చేయడానికి హామీ ఇవ్వబడవు. అనువర్తిత సిగ్నల్ రీసెట్ థ్రెషోల్డ్ వాల్యూమ్కు చేరుకున్నప్పుడుtage – VRST – దాని సానుకూల అంచున, సమయం ముగిసిన వ్యవధి ముగిసిన తర్వాత ఆలస్యం కౌంటర్ MCUని ప్రారంభిస్తుంది.
మూర్తి 8-4. ఆపరేషన్ సమయంలో బాహ్య రీసెట్
బ్రౌన్-అవుట్ డిటెక్షన్
ATtiny25/45/85 ఆపరేషన్ సమయంలో VCC స్థాయిని స్థిర ట్రిగ్గర్ స్థాయితో పోల్చడం ద్వారా పర్యవేక్షించడానికి ఆన్-చిప్ బ్రౌన్-అవుట్ డిటెక్షన్ (BOD) సర్క్యూట్ను కలిగి ఉంది. BOD కోసం ట్రిగ్గర్ స్థాయిని BODLEVEL ఫ్యూజ్ల ద్వారా ఎంచుకోవచ్చు. స్పైక్ ఫ్రీ బ్రౌన్-అవుట్ డిటెక్షన్ని నిర్ధారించడానికి ట్రిగ్గర్ స్థాయికి హిస్టెరిసిస్ ఉంది. గుర్తించే స్థాయిలో హిస్టెరిసిస్ను VBOT+ = VBOT + VHYST/2 మరియు VBOT- = VBOT – VHYST/2గా అర్థం చేసుకోవాలి.
BOD ప్రారంభించబడినప్పుడు మరియు VCC ట్రిగ్గర్ స్థాయి (VBOT-లో) కంటే తక్కువ విలువకు తగ్గుతుంది మూర్తి 8-5), బ్రౌన్ అవుట్ రీసెట్ వెంటనే యాక్టివేట్ చేయబడుతుంది. VCC ట్రిగ్గర్ స్థాయి కంటే పెరిగినప్పుడు (VBOT+ in మూర్తి 8-5), tTOUT గడువు ముగిసిన తర్వాత ఆలస్యం కౌంటర్ MCUని ప్రారంభిస్తుంది.
BOD సర్క్యూట్ VCCలో తగ్గుదలని మాత్రమే గుర్తిస్తుందిtage ఇచ్చిన tBOD కంటే ఎక్కువ కాలం ట్రిగ్గర్ స్థాయి కంటే దిగువన ఉంటుంది 165 వ పేజీలోని “సిస్టమ్ మరియు రీసెట్ లక్షణాలు”.
వాచ్డాగ్ రీసెట్
వాచ్డాగ్ సమయం ముగిసినప్పుడు, అది ఒక CK సైకిల్ వ్యవధి యొక్క చిన్న రీసెట్ పల్స్ను ఉత్పత్తి చేస్తుంది. ఈ పల్స్ దిగువన, ఆలస్యం టైమర్ సమయం ముగిసిన వ్యవధిని tTOUT లెక్కించడం ప్రారంభిస్తుంది. చూడండి 42 వ పేజీలోని “వాచ్డాగ్ టైమర్” వాచ్డాగ్ టైమర్ యొక్క ఆపరేషన్ వివరాల కోసం.
వాల్యూమ్tagఇ సూచన సిగ్నల్స్ మరియు ప్రారంభ సమయాన్ని ప్రారంభించండి
వాల్యూమ్tage సూచన ప్రారంభ సమయాన్ని కలిగి ఉంది, అది ఉపయోగించాల్సిన విధానాన్ని ప్రభావితం చేయవచ్చు. ప్రారంభ సమయం ఇవ్వబడింది 165 వ పేజీలోని “సిస్టమ్ మరియు రీసెట్ లక్షణాలు”. శక్తిని ఆదా చేయడానికి, సూచన ఎల్లప్పుడూ ఆన్ చేయబడదు. కింది పరిస్థితులలో రిఫరెన్స్ కొనసాగుతుంది:
BOD ప్రారంభించబడినప్పుడు (BODLEVEL ను ప్రోగ్రామింగ్ చేయడం ద్వారా [2: 0] ఫ్యూజ్ బిట్స్).
బ్యాండ్గ్యాప్ రిఫరెన్స్ అనలాగ్ కంపారిటర్కు కనెక్ట్ అయినప్పుడు (ACSG లో ACBG బిట్ను సెట్ చేయడం ద్వారా).
ADC ప్రారంభించబడినప్పుడు.
అందువల్ల, BOD ప్రారంభించబడనప్పుడు, ACBG బిట్ను సెట్ చేసిన తర్వాత లేదా ADC ని ప్రారంభించిన తర్వాత, అనలాగ్ కంపారిటర్ లేదా ADC నుండి అవుట్పుట్ ఉపయోగించబడటానికి ముందు వినియోగదారు ఎల్లప్పుడూ సూచనను ప్రారంభించడానికి అనుమతించాలి. పవర్-డౌన్ మోడ్లో శక్తిని తగ్గించడానికి, పవర్-డౌన్ మోడ్లోకి ప్రవేశించే ముందు రిఫరెన్స్ ఆపివేయబడిందని నిర్ధారించడానికి వినియోగదారు పైన పేర్కొన్న మూడు షరతులను నివారించవచ్చు.
వాచ్డాగ్ టైమర్
వాచ్డాగ్ టైమర్ 128 kHz వద్ద నడుస్తున్న ఆన్-చిప్ ఓసిలేటర్ నుండి క్లాక్ చేయబడింది. వాచ్డాగ్ టైమర్ ప్రెస్కాలర్ను నియంత్రించడం ద్వారా, వాచ్డాగ్ రీసెట్ విరామం చూపిన విధంగా సర్దుబాటు చేయవచ్చు 8 వ పేజీలో పట్టిక 3-46. WDR - వాచ్డాగ్ రీసెట్ - సూచన వాచ్డాగ్ టైమర్ను రీసెట్ చేస్తుంది. వాచ్డాగ్ టైమర్ నిలిపివేయబడినప్పుడు మరియు చిప్ రీసెట్ జరిగినప్పుడు కూడా రీసెట్ చేయబడుతుంది. రీసెట్ వ్యవధిని నిర్ణయించడానికి పది వేర్వేరు గడియార చక్ర కాలాలను ఎంచుకోవచ్చు. రీసెట్ వ్యవధి మరొక వాచ్డాగ్ రీసెట్ లేకుండా గడువు ముగిస్తే, ATtiny25 / 45/85 రీసెట్ చేసి, రీసెట్ వెక్టర్ నుండి అమలు చేస్తుంది. వాచ్డాగ్ రీసెట్లో సమయ వివరాల కోసం, చూడండి 8 వ పేజీలో పట్టిక 3-46.
రీసెట్కు బదులుగా అంతరాయాన్ని సృష్టించడానికి వాచ్డాగ్ టైమర్ను కూడా కాన్ఫిగర్ చేయవచ్చు. పవర్-డౌన్ నుండి మేల్కొలపడానికి వాచ్డాగ్ను ఉపయోగిస్తున్నప్పుడు ఇది చాలా సహాయపడుతుంది.
వాచ్డాగ్ యొక్క అనుకోకుండా నిలిపివేయడాన్ని నివారించడానికి లేదా సమయం ముగిసే కాలం యొక్క అనుకోకుండా మార్పును నివారించడానికి, రెండు వేర్వేరు భద్రతా స్థాయిలను ఫ్యూజ్ WDTON ద్వారా చూపిన విధంగా ఎంచుకుంటారు పట్టిక 8-1 సూచించండి "కాన్- మార్చడానికి టైమ్డ్ సీక్వెన్సెస్- 43 వ పేజీలో వాచ్డాగ్ టైమర్ యొక్క బొమ్మ ” వివరాల కోసం.
పట్టిక 8-1. WDTON యొక్క ఫ్యూజ్ సెట్టింగ్ల ఫంక్షన్గా WDT కాన్ఫిగరేషన్
WDTON తెలుగు in లో | భద్రతా స్థాయి | WDT ప్రారంభ రాష్ట్రం | WDT ని ఎలా డిసేబుల్ చేయాలి | సమయం ఎలా మార్చాలి |
ప్రోగ్రామ్ చేయబడలేదు | 1 | వికలాంగుడు | సమయం ముగిసిన క్రమం | పరిమితులు లేవు |
ప్రోగ్రామ్ చేయబడింది | 2 | ప్రారంభించబడింది | ఎల్లప్పుడూ ప్రారంభించబడింది | సమయం ముగిసిన క్రమం |
మూర్తి 8-7. వాచ్డాగ్ టైమర్
వాచ్డాగ్ టైమర్ యొక్క ఆకృతీకరణను మార్చడానికి సమయం ముగిసింది
ఆకృతీకరణను మార్చడానికి క్రమం రెండు భద్రతా స్థాయిల మధ్య కొద్దిగా భిన్నంగా ఉంటుంది. ప్రతి స్థాయికి ప్రత్యేక విధానాలు వివరించబడ్డాయి.
భద్రతా స్థాయి 1: ఈ మోడ్లో, వాచ్డాగ్ టైమర్ మొదట డిసేబుల్ చేయబడింది, అయితే ఎలాంటి పరిమితి లేకుండా WDE బిట్ను ఒకదానికి రాయడం ద్వారా ప్రారంభించవచ్చు. ఎనేబుల్ చేయబడిన వాచ్డాగ్ టైమర్ని డిసేబుల్ చేస్తున్నప్పుడు టైమ్డ్ సీక్వెన్స్ అవసరం. ప్రారంభించబడిన వాచ్డాగ్ టైమర్ను నిలిపివేయడానికి, కింది విధానాన్ని తప్పనిసరిగా అనుసరించాలి:
అదే ఆపరేషన్లో, WDCE మరియు WDE లకు ఒక లాజిక్ ఒకటి రాయండి. ఒక లాజిక్ WDE కి వ్రాయబడాలి- WDE బిట్ యొక్క మునుపటి విలువ కంటే తక్కువ.
తరువాతి నాలుగు గడియార చక్రాలలో, అదే ఆపరేషన్లో, WDE మరియు WDP బిట్లను కావలసిన విధంగా రాయండి, కాని WDCE బిట్తో క్లియర్ అవుతుంది.
భద్రతా స్థాయి 2: ఈ మోడ్లో, వాచ్డాగ్ టైమర్ ఎల్లప్పుడూ ప్రారంభించబడుతుంది మరియు WDE బిట్ ఎల్లప్పుడూ ఒకటిగా చదవబడుతుంది. వాచ్డాగ్ టైమ్-అవుట్ పీరియడ్ని మార్చేటప్పుడు టైమ్డ్ సీక్వెన్స్ అవసరం. వాచ్డాగ్ టైమ్-అవుట్ని మార్చడానికి, ఈ క్రింది విధానాన్ని తప్పనిసరిగా అనుసరించాలి:
అదే ఆపరేషన్లో, WDCE మరియు WDE లకు తార్కికదాన్ని వ్రాయండి. WDE ఎల్లప్పుడూ సెట్ చేయబడినప్పటికీ, సమయం ముగిసిన క్రమాన్ని ప్రారంభించడానికి WDE ఒకరికి వ్రాయబడాలి.
తరువాతి నాలుగు గడియార చక్రాలలో, అదే ఆపరేషన్లో, WDP బిట్లను కావలసిన విధంగా రాయండి, కాని WDCE బిట్ క్లియర్ చేయబడి ఉంటుంది. WDE బిట్కు వ్రాసిన విలువ అసంబద్ధం.
కోడ్ Example
కింది కోడ్ ఉదాample WDTని ఆఫ్ చేయడానికి ఒక అసెంబ్లీ మరియు ఒక C ఫంక్షన్ని చూపుతుంది. మాజీample అంతరాయాలు నియంత్రించబడతాయని ఊహిస్తుంది (ఉదా, ప్రపంచవ్యాప్తంగా అంతరాయాలను నిలిపివేయడం ద్వారా) ఈ ఫంక్షన్ల అమలు సమయంలో ఎటువంటి అంతరాయాలు ఏర్పడవు.
అసెంబ్లీ కోడ్ ఉదాample(1) |
WDT_off:
డబ్ల్యుడిఆర్ ; MCUSR లో WDRF ని క్లియర్ చేయండి ldi r16, (0< MCUSR, r16 నుండి ; WDCE మరియు WDE లకు తార్కికదాన్ని వ్రాయండి ; అనుకోకుండా వాచ్డాగ్ రీసెట్ను నిరోధించడానికి పాత ప్రీస్కాలర్ సెట్టింగ్ను ఉంచండి r16లో, WDTCR ori r16, (1< WDTCR, r16 ; WDT ని ఆపివేయండి ldi r16, (0< WDTCR, r16 రెట్ |
సి కోడ్ ఉదాample(1) |
శూన్యం WDT_off (శూన్యం)
{ _డబ్ల్యుడిఆర్ (); /* MCUSR */ MCUSR = 0x00లో WDRFని క్లియర్ చేయండి /* WDCE మరియు WDE */ WDTCRకి లాజికల్ ఒకటి వ్రాయండి |= (1< / * WDT ని ఆపివేయండి * / WDTCR = 0x00; } |
గమనిక: 1. చూడండి “కోడ్ Examples” పేజీ 6లో.
నమోదు వివరణ
MCUSR - MCU స్థితి రిజిస్టర్
MCU స్థితి రిజిస్టర్ MCU రీసెట్కు కారణమైన రీసెట్ మూలంపై సమాచారాన్ని అందిస్తుంది.
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x34 | – | – | – | – | WDRF | BORF | EXTRF | PORF | MCUSR |
చదవండి/వ్రాయండి | R | R | R | R | R/W | R/W | R/W | R/W |
ప్రారంభ విలువ 0 0 0 0 బిట్ వివరణ చూడండి
బిట్స్ 7: 4 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్ 3 - డబ్ల్యుడిఆర్ఎఫ్: వాచ్డాగ్ ఫ్లాట్ రీసెట్ చేయండి
వాచ్డాగ్ రీసెట్ జరిగితే ఈ బిట్ సెట్ చేయబడింది. పవర్-ఆన్ రీసెట్ ద్వారా లేదా ఫ్లాగ్కు లాజిక్ సున్నా రాయడం ద్వారా బిట్ రీసెట్ చేయబడుతుంది.
బిట్ 2 - BORF: బ్రౌన్-అవుట్ రీసెట్ ఫ్లాగ్
బ్రౌన్-అవుట్ రీసెట్ జరిగితే ఈ బిట్ సెట్ చేయబడింది. పవర్-ఆన్ రీసెట్ ద్వారా లేదా ఫ్లాగ్కు లాజిక్ సున్నా రాయడం ద్వారా బిట్ రీసెట్ చేయబడుతుంది.
బిట్ 1 - ఎక్స్టిఆర్ఎఫ్: బాహ్య రీసెట్ ఫ్లాగ్
బాహ్య రీసెట్ జరిగితే ఈ బిట్ సెట్ చేయబడింది. పవర్-ఆన్ రీసెట్ ద్వారా లేదా ఫ్లాగ్కు లాజిక్ సున్నా రాయడం ద్వారా బిట్ రీసెట్ చేయబడుతుంది.
బిట్ 0 - PORF: పవర్-ఆన్ రీసెట్ ఫ్లాగ్
పవర్-ఆన్ రీసెట్ జరిగితే ఈ బిట్ సెట్ చేయబడింది. జెండాకు లాజిక్ సున్నా రాయడం ద్వారా మాత్రమే బిట్ రీసెట్ చేయబడుతుంది.
రీసెట్ పరిస్థితిని గుర్తించడానికి రీసెట్ ఫ్లాగ్లను ఉపయోగించడానికి, వినియోగదారు ప్రోగ్రామ్లో MCUSR ను వీలైనంత త్వరగా చదివి రీసెట్ చేయాలి. మరొక రీసెట్ జరగడానికి ముందు రిజిస్టర్ క్లియర్ చేయబడితే, రీసెట్ ఫ్లాగ్లను పరిశీలించడం ద్వారా రీసెట్ యొక్క మూలాన్ని కనుగొనవచ్చు.
WDTCR - వాచ్డాగ్ టైమర్ కంట్రోల్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x21 | WDIF | WDIE | WDP3 | WDCE | WDE తెలుగు in లో | WDP2 | WDP1 | WDP0 | WDTCR |
చదవండి/వ్రాయండి | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | X | 0 | 0 | 0 |
బిట్ 7 - WDIF: వాచ్డాగ్ సమయం ముగిసిన అంతరాయ ఫ్లాగ్
వాచ్డాగ్ టైమర్లో సమయం ముగిసినప్పుడు మరియు వాచ్డాగ్ టైమర్ అంతరాయం కోసం కాన్ఫిగర్ చేయబడినప్పుడు ఈ బిట్ సెట్ చేయబడింది. సంబంధిత అంతరాయ నిర్వహణ వెక్టర్ను అమలు చేసేటప్పుడు WDIF హార్డ్వేర్ ద్వారా క్లియర్ చేయబడుతుంది. ప్రత్యామ్నాయంగా, జెండాకు లాజిక్ ఒకటి రాయడం ద్వారా WDIF క్లియర్ చేయబడుతుంది. SREG మరియు WDIE లోని I- బిట్ సెట్ చేయబడినప్పుడు, వాచ్డాగ్ టైమ్-అవుట్ ఇంటరప్ట్ అమలు అవుతుంది.
బిట్ 6 - WDIE: వాచ్డాగ్ సమయం ముగిసిన అంతరాయం ప్రారంభించండి
ఈ బిట్ ఒకదానికి వ్రాసినప్పుడు, WDE క్లియర్ చేయబడుతుంది మరియు స్థితి రిజిస్టర్లోని I- బిట్ సెట్ చేయబడినప్పుడు, వాచ్డాగ్ టైమ్-అవుట్ ఇంటరప్ట్ ప్రారంభించబడుతుంది. ఈ మోడ్లో వాచ్డాగ్ టైమర్లో సమయం ముగిసినట్లయితే రీసెట్కు బదులుగా సంబంధిత అంతరాయం అమలు అవుతుంది.
WDE సెట్ చేయబడితే, సమయం ముగిసినప్పుడు WDIE స్వయంచాలకంగా హార్డ్వేర్ ద్వారా క్లియర్ చేయబడుతుంది. అంతరాయాన్ని ఉపయోగిస్తున్నప్పుడు వాచ్డాగ్ రీసెట్ భద్రతను ఉంచడానికి ఇది ఉపయోగపడుతుంది. WDIE బిట్ క్లియర్ అయిన తర్వాత, తదుపరి సమయం-అవుట్ రీసెట్ను ఉత్పత్తి చేస్తుంది. వాచ్డాగ్ రీసెట్ను నివారించడానికి, ప్రతి అంతరాయం తర్వాత WDIE ని సెట్ చేయాలి.
పట్టిక 8-2. వాచ్డాగ్ టైమర్ కాన్ఫిగరేషన్
WDE తెలుగు in లో | WDIE | వాచ్డాగ్ టైమర్ స్టేట్ | సమయం ముగిసినప్పుడు చర్య |
0 | 0 | ఆగిపోయింది | ఏదీ లేదు |
0 | 1 | నడుస్తోంది | అంతరాయం కలిగించు |
1 | 0 | నడుస్తోంది | రీసెట్ చేయండి |
1 | 1 | నడుస్తోంది | అంతరాయం కలిగించు |
బిట్ 4 - డబ్ల్యుడిసిఇ: వాచ్డాగ్ చేంజ్ ఎనేబుల్
WDE బిట్ లాజిక్ సున్నాకి వ్రాసినప్పుడు ఈ బిట్ సెట్ చేయాలి. లేకపోతే, వాచ్డాగ్ నిలిపివేయబడదు. ఒకదానికి వ్రాసిన తర్వాత, హార్డ్వేర్ నాలుగు గడియార చక్రాల తర్వాత ఈ బిట్ను క్లియర్ చేస్తుంది. వాచ్డాగ్ డిసేబుల్ విధానం కోసం WDE బిట్ యొక్క వివరణను చూడండి. ప్రీస్కాలర్ బిట్లను మార్చేటప్పుడు ఈ బిట్ కూడా సెట్ చేయాలి. చూడండి “సమయం ముగిసిన సీక్వెన్సెస్ 43 వ పేజీలో వాచ్డాగ్ టైమర్ యొక్క ఆకృతీకరణను మార్చడం కోసం.
బిట్ 3 - WDE: వాచ్డాగ్ ఎనేబుల్
WDE లాజిక్ వన్కు వ్రాసినప్పుడు, వాచ్డాగ్ టైమర్ ప్రారంభించబడుతుంది మరియు WDE లాజిక్ సున్నాకి వ్రాయబడితే, వాచ్డాగ్ టైమర్ ఫంక్షన్ నిలిపివేయబడుతుంది. WDCE బిట్ లాజిక్ లెవల్ వన్ కలిగి ఉంటే మాత్రమే WDE క్లియర్ అవుతుంది. ప్రారంభించబడిన వాచ్డాగ్ టైమర్ను నిలిపివేయడానికి, ఈ క్రింది విధానాన్ని అనుసరించాలి:
అదే ఆపరేషన్లో, WDCE మరియు WDE లకు ఒక లాజిక్ ఒకటి రాయండి. డిసేబుల్ ఆపరేషన్ ప్రారంభించే ముందు ఒకదానికి ఒకటి సెట్ చేసినప్పటికీ లాజిక్ ఒకటి WDE కి వ్రాయబడాలి.
తదుపరి నాలుగు గడియార చక్రాలలో, WDE కి లాజిక్ 0 రాయండి. ఇది వాచ్డాగ్ను నిలిపివేస్తుంది.
భద్రతా స్థాయి 2 లో, పైన వివరించిన అల్గోరిథంతో కూడా వాచ్డాగ్ టైమర్ను నిలిపివేయడం సాధ్యం కాదు. చూడండి 43 వ పేజీలోని “వాచ్డాగ్ టైమర్ యొక్క ఆకృతీకరణను మార్చడానికి సమయం ముగిసింది”.
భద్రతా స్థాయి 1 లో, WUS ను MCUSR లో WDRF భర్తీ చేస్తుంది. చూడండి 44 వ పేజీలోని “MCUSR - MCU స్థితి రిజిస్టర్” WDRF యొక్క వివరణ కొరకు. WDRF సెట్ చేయబడినప్పుడు WDE ఎల్లప్పుడూ సెట్ చేయబడిందని దీని అర్థం. WDE ని క్లియర్ చేయడానికి, పైన వివరించిన విధానంతో వాచ్డాగ్ను నిలిపివేయడానికి ముందు WDRF ని క్లియర్ చేయాలి. ఈ లక్షణం వైఫల్యానికి కారణమయ్యే పరిస్థితులలో బహుళ రీసెట్లను మరియు వైఫల్యం తర్వాత సురక్షితమైన ప్రారంభాన్ని నిర్ధారిస్తుంది.
గమనిక: అప్లికేషన్లో వాచ్డాగ్ టైమర్ ఉపయోగించబడనట్లయితే, పరికరాన్ని ప్రారంభించేటప్పుడు వాచ్డాగ్ డిసేబుల్ విధానాన్ని అనుసరించడం చాలా ముఖ్యం. వాచ్డాగ్ అనుకోకుండా ప్రారంభించబడితే, ఉదాహరణకుampరన్అవే పాయింటర్ లేదా బ్రౌన్-అవుట్ కండిషన్ ద్వారా, పరికరం రీసెట్ చేయబడుతుంది, ఇది కొత్త వాచ్డాగ్ రీసెట్కు దారి తీస్తుంది. ఈ పరిస్థితిని నివారించడానికి, అప్లికేషన్ సాఫ్ట్వేర్ ఎల్లప్పుడూ ప్రారంభ ప్రక్రియలో WDRF ఫ్లాగ్ మరియు WDE కంట్రోల్ బిట్ను క్లియర్ చేయాలి.
బిట్స్ 5, 2: 0 - WDP [3: 0]: వాచ్డాగ్ టైమర్ ప్రెస్కాలర్ 3, 2, 1 మరియు 0
వాచ్డాగ్ టైమర్ ప్రారంభించబడినప్పుడు WDP [3: 0] బిట్స్ వాచ్డాగ్ టైమర్ ప్రిస్కేలింగ్ను నిర్ణయిస్తాయి. విభిన్న ప్రిస్కేలింగ్ విలువలు మరియు వాటికి సంబంధించిన సమయం ముగిసిన కాలాలు చూపించబడ్డాయి పట్టిక 8-3.
పట్టిక 8-3. వాచ్డాగ్ టైమర్ ప్రీస్కేల్ ఎంచుకోండి
WDP3 | WDP2 | WDP1 | WDP0 | WDT ఓసిలేటర్ సైకిళ్ల సంఖ్య | VCC = 5.0V వద్ద సాధారణ సమయం ముగిసింది |
0 | 0 | 0 | 0 | 2 కె (2048) చక్రాలు | 16 ms |
0 | 0 | 0 | 1 | 4 కె (4096) చక్రాలు | 32 ms |
0 | 0 | 1 | 0 | 8 కె (8192) చక్రాలు | 64 ms |
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. వాచ్డాగ్ టైమర్ ప్రీస్కేల్ ఎంపిక (కొనసాగింపు)
WDP3 | WDP2 | WDP1 | WDP0 | WDT ఓసిలేటర్ సైకిళ్ల సంఖ్య | VCC = 5.0V వద్ద సాధారణ సమయం ముగిసింది |
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. ఎంచుకున్నట్లయితే, 0b1010 క్రింద ఉన్న చెల్లుబాటు అయ్యే సెట్టింగ్లలో ఒకటి ఉపయోగించబడుతుంది.
ఇంటరప్ట్స్
ఈ విభాగం ATtiny25 / 45/85 లో ప్రదర్శించిన విధంగా అంతరాయ నిర్వహణ యొక్క ప్రత్యేకతలను వివరిస్తుంది. AVR అంతరాయ నిర్వహణ యొక్క సాధారణ వివరణ కోసం, చూడండి 12 వ పేజీలోని “రీసెట్ మరియు ఇంటరప్ట్ హ్యాండ్లింగ్”.
ATtiny25 / 45/85 లో వెక్టర్స్ అంతరాయం కలిగించండి
ATtiny25 / 45/85 యొక్క అంతరాయ వెక్టర్స్ వివరించబడ్డాయి పట్టిక 9-1క్రింద.
పట్టిక 9-1. వెక్టర్లను రీసెట్ చేయండి మరియు అంతరాయం కలిగించండి
వెక్టర్ నం. | ప్రోగ్రామ్ చిరునామా | మూలం | అంతరాయ నిర్వచనం |
1 | 0x0000 | రీసెట్ చేయండి | బాహ్య పిన్, పవర్-ఆన్ రీసెట్, బ్రౌన్-అవుట్ రీసెట్, వాచ్డాగ్ రీసెట్ |
2 | 0x0001 | INT0 | బాహ్య అంతరాయ అభ్యర్థన 0 |
3 | 0x0002 | PCINT0 | పిన్ మార్పు అంతరాయ అభ్యర్థన 0 |
4 | 0x0003 | TIMER1_COMPA | టైమర్ / కౌంటర్ 1 సరిపోలిక మ్యాచ్ A. |
5 | 0x0004 | TIMER1_OVF | టైమర్ / కౌంటర్ 1 ఓవర్ఫ్లో |
6 | 0x0005 | TIMER0_OVF | టైమర్ / కౌంటర్ 0 ఓవర్ఫ్లో |
7 | 0x0006 | EE_RDY | EEPROM రెడీ |
8 | 0x0007 | ANA_COMP | అనలాగ్ కంపారిటర్ |
9 | 0x0008 | ADC | ADC మార్పిడి పూర్తయింది |
10 | 0x0009 | TIMER1_COMPB | టైమర్ / కౌంటర్ 1 సరిపోలిక మ్యాచ్ B. |
11 | 0x000A | TIMER0_COMPA | టైమర్ / కౌంటర్ 0 సరిపోలిక మ్యాచ్ A. |
12 | 0x000B | TIMER0_COMPB | టైమర్ / కౌంటర్ 0 సరిపోలిక మ్యాచ్ B. |
13 | 0x000 సి | WDT | వాచ్డాగ్ సమయం ముగిసింది |
14 | 0x000D | USI_START | USI స్టార్ట్ |
15 | 0x000E | USI_OVF | USI ఓవర్ఫ్లో |
ప్రోగ్రామ్ అంతరాయ మూలాన్ని ఎప్పటికీ ప్రారంభించకపోతే, అంతరాయ వెక్టర్స్ ఉపయోగించబడవు మరియు సాధారణ ప్రోగ్రామ్ కోడ్ను ఈ ప్రదేశాలలో ఉంచవచ్చు.
ATtiny25/45/85లో అంతరాయ వెక్టార్ చిరునామాల కోసం ఒక సాధారణ మరియు సాధారణ సెటప్ ప్రోగ్రామ్ ఎక్స్లో చూపబడిందిampక్రింద.
అసెంబ్లీ కోడ్ ఉదాample | ||
.org 0x0000 | ; తదుపరి చిరునామాను సెట్ చేయండి | ప్రకటన |
rjmp రీసెట్ | ; చిరునామా 0x0000 | |
rjmp INT0_ISR | ; చిరునామా 0x0001 | |
rjmp PCINT0_ISR | ; చిరునామా 0x0002 | |
rjmp TIM1_COMPA_ISR | ; చిరునామా 0x0003 | |
rjmp TIM1_OVF_ISR | ; చిరునామా 0x0004 | |
rjmp TIM0_OVF_ISR | ; చిరునామా 0x0005 | |
rjmp EE_RDY_ISR | ; చిరునామా 0x0006 | |
rjmp ANA_COMP_ISR | ; చిరునామా 0x0007 | |
rjmp ADC_ISR | ; చిరునామా 0x0008 | |
rjmp TIM1_COMPB_ISR | ; చిరునామా 0x0009 | |
rjmp TIM0_COMPA_ISR | ; చిరునామా 0x000A | |
rjmp TIM0_COMPB_ISR | ; చిరునామా 0x000B | |
rjmp WDT_ISR | ; చిరునామా 0x000 సి | |
rjmp USI_START_ISR | ; చిరునామా 0x000D | |
rjmp USI_OVF_ISR | ; చిరునామా 0x000E | |
రీసె: | ; ప్రధాన ప్రోగ్రామ్ ప్రారంభం | |
; చిరునామా 0x000F | ||
… |
గమనిక: చూడండి “కోడ్ Examples” పేజీ 6లో.
బాహ్య అంతరాయాలు
బాహ్య అంతరాయాలు INT0 పిన్ లేదా ఏదైనా PCINT [5: 0] పిన్ల ద్వారా ప్రేరేపించబడతాయి. ప్రారంభించబడితే, INT0 లేదా PCINT [5: 0] పిన్లను అవుట్పుట్లుగా కాన్ఫిగర్ చేసినప్పటికీ, అంతరాయాలు ప్రేరేపిస్తాయని గమనించండి. ఈ లక్షణం సాఫ్ట్వేర్ అంతరాయాన్ని సృష్టించే మార్గాన్ని అందిస్తుంది. పిన్ మార్పు అంతరాయాలు ఏదైనా ప్రారంభించిన పిసిఎన్టి [5: 0] పిన్ టోగుల్ చేస్తే పిసిఐ ప్రేరేపిస్తుంది. పిన్ మార్పుకు ఏ పిన్స్ దోహదం చేస్తాయో పిసిఎంఎస్కె రిజిస్టర్ నియంత్రణ. PCINT [5: 0] పై పిన్ మార్పు అంతరాయాలు అసమకాలికంగా కనుగొనబడతాయి. ఈ అంతరాయాలు నిష్క్రియ మోడ్ కాకుండా ఇతర స్లీప్ మోడ్ల నుండి కూడా భాగాన్ని మేల్కొలపడానికి ఉపయోగించవచ్చని ఇది సూచిస్తుంది.
INT0 అంతరాయాలు పడిపోవడం లేదా పెరుగుతున్న అంచు లేదా తక్కువ స్థాయి ద్వారా ప్రేరేపించబడతాయి. MCU కంట్రోల్ రిజిస్టర్ - MCUCR కొరకు స్పెసిఫికేషన్లో సూచించిన విధంగా ఇది ఏర్పాటు చేయబడింది. INT0 అంతరాయం ప్రారంభించబడినప్పుడు మరియు స్థాయి ప్రేరేపించబడినట్లుగా కాన్ఫిగర్ చేయబడినప్పుడు, పిన్ తక్కువగా ఉన్నంత వరకు అంతరాయం ప్రేరేపిస్తుంది. INT0 లో పడిపోతున్న లేదా పెరుగుతున్న అంచు అంతరాయాల గుర్తింపుకు వివరించిన I / O గడియారం ఉనికిని గమనించండి “క్లాక్ సిస్టమ్స్ మరియు వాటి పంపిణీ” ఆన్ పేజీ 23.
తక్కువ స్థాయి అంతరాయం
INT0 లో తక్కువ స్థాయి అంతరాయం అసమకాలికంగా కనుగొనబడింది. ఈ అంతరాయం ఐడిల్ మోడ్ కాకుండా ఇతర స్లీప్ మోడ్ల నుండి కూడా భాగాన్ని మేల్కొలపడానికి ఉపయోగించవచ్చని ఇది సూచిస్తుంది. ఐడిల్ మోడ్ మినహా అన్ని స్లీప్ మోడ్లలో I / O గడియారం నిలిపివేయబడుతుంది.
పవర్-డౌన్ నుండి మేల్కొలపడానికి లెవల్ ట్రిగ్గర్ చేయబడిన అంతరాయాన్ని ఉపయోగించినట్లయితే, లెవెల్ అంతరాయాన్ని ట్రిగ్గర్ చేయడానికి MCU వేక్-అప్ను పూర్తి చేయడానికి అవసరమైన స్థాయిని తగినంత పొడవుగా ఉంచాలని గుర్తుంచుకోండి. ప్రారంభ సమయం ముగిసేలోపు స్థాయి అదృశ్యమైతే, MCU ఇప్పటికీ మేల్కొంటుంది, కానీ అంతరాయం ఏర్పడదు. లో వివరించిన విధంగా ప్రారంభ సమయం SUT మరియు CKSEL ఫ్యూజ్లచే నిర్వచించబడింది 23 వ పేజీలోని “సిస్టమ్ గడియారం మరియు గడియార ఎంపికలు”.
పరికరం మేల్కొనే ముందు అంతరాయ పిన్లో తక్కువ స్థాయిని తీసివేస్తే, ప్రోగ్రామ్ ఎగ్జిక్యూషన్ అంతరాయ సేవా దినచర్యకు మళ్లించబడదు కాని SLEEP ఆదేశాన్ని అనుసరించి సూచనల నుండి కొనసాగించండి.
పిన్ చేంజ్ ఇంటరప్ట్ టైమింగ్
ఒక మాజీampపిన్ మార్పు అంతరాయం యొక్క సమయం చూపబడింది మూర్తి 9-1.
నమోదు వివరణ
MCUCR - MCU కంట్రోల్ రిజిస్టర్
బాహ్య అంతరాయ నియంత్రణ రిజిస్టర్ A అంతరాయ భావన నియంత్రణ కోసం నియంత్రణ బిట్లను కలిగి ఉంటుంది.
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | బాడ్స్ | పుడ్ | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
చదవండి/వ్రాయండి | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్స్ 1: 0 - ISC0 [1: 0]: సెన్స్ కంట్రోల్ అంతరాయం 0 బిట్ 1 మరియు బిట్ 0
SREG I- ఫ్లాగ్ మరియు సంబంధిత అంతరాయ ముసుగు సెట్ చేయబడితే బాహ్య అంతరాయం 0 బాహ్య పిన్ INT0 చేత సక్రియం చేయబడుతుంది. అంతరాయాన్ని సక్రియం చేసే బాహ్య INT0 పిన్పై స్థాయి మరియు అంచులు నిర్వచించబడ్డాయి పట్టిక 9-2. INT0 పిన్పై విలువ sampఅంచులను గుర్తించే ముందు దారితీసింది. అంచు లేదా టోగుల్ అంతరాయాన్ని ఎంచుకున్నట్లయితే, ఒక గడియార వ్యవధి కంటే ఎక్కువ కాలం ఉండే పల్స్లు అంతరాయాన్ని సృష్టిస్తాయి. చిన్న పప్పులు అంతరాయాన్ని సృష్టిస్తాయని హామీ ఇవ్వబడదు. తక్కువ స్థాయి అంతరాయాన్ని ఎంచుకున్నట్లయితే, అంతరాయాన్ని సృష్టించడానికి ప్రస్తుతం అమలు చేస్తున్న సూచన పూర్తయ్యే వరకు తక్కువ స్థాయిని తప్పనిసరిగా ఉంచాలి.
పట్టిక 9-2. 0 సెన్స్ కంట్రోల్కి అంతరాయం కలిగించండి
ISC01 | ISC00 | వివరణ |
0 | 0 | INT0 యొక్క తక్కువ స్థాయి అంతరాయ అభ్యర్థనను సృష్టిస్తుంది. |
0 | 1 | INT0 లో ఏదైనా తార్కిక మార్పు అంతరాయ అభ్యర్థనను సృష్టిస్తుంది. |
1 | 0 | INT0 యొక్క పడిపోయే అంచు అంతరాయ అభ్యర్థనను సృష్టిస్తుంది. |
1 | 1 | INT0 యొక్క పెరుగుతున్న అంచు అంతరాయ అభ్యర్థనను సృష్టిస్తుంది. |
GIMSK - జనరల్ ఇంటరప్ట్ మాస్క్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3B | – | INT0 | పిసిఐఇ | – | – | – | – | – | GIMSK |
చదవండి/వ్రాయండి | R | R/W | R/W | R | R | R | R | R | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్స్ 7, 4: 0 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్ 6 - INT0: బాహ్య అంతరాయ అభ్యర్థన 0 ప్రారంభించండి
INT0 బిట్ సెట్ చేయబడినప్పుడు (ఒకటి) మరియు స్టేటస్ రిజిస్టర్ (SREG) లోని I- బిట్ (ఒకటి) సెట్ చేయబడినప్పుడు, బాహ్య పిన్ అంతరాయం ప్రారంభించబడుతుంది. MCU కంట్రోల్ రిజిస్టర్ (MCUCR) లోని ఇంటరప్ట్ సెన్స్ కంట్రోల్ 0 బిట్స్ 1/0 (ISC01 మరియు ISC00) INT0 పిన్ లేదా లెవల్ సెన్సెడ్ యొక్క పెరుగుతున్న మరియు / లేదా పడిపోయే అంచున బాహ్య అంతరాయం సక్రియం చేయబడిందా అని నిర్వచిస్తుంది. INT0 అవుట్పుట్గా కాన్ఫిగర్ చేయబడినా పిన్పై కార్యాచరణ అంతరాయం కలిగించే అభ్యర్థనకు కారణమవుతుంది. ఎక్స్టర్నల్ ఇంటరప్ట్ రిక్వెస్ట్ 0 యొక్క సంబంధిత అంతరాయం INT0 ఇంటరప్ట్ వెక్టర్ నుండి అమలు చేయబడుతుంది.
బిట్ 5 - పిసిఐఇ: పిన్ చేంజ్ ఇంటరప్ట్ ఎనేబుల్
PCIE బిట్ సెట్ చేయబడినప్పుడు (ఒకటి) మరియు స్టేటస్ రిజిస్టర్ (SREG) లోని I- బిట్ సెట్ చేయబడినప్పుడు (ఒకటి), పిన్ మార్పు అంతరాయం ప్రారంభించబడుతుంది. ప్రారంభించబడిన ఏదైనా PCINT [5: 0] పిన్లో ఏదైనా మార్పు అంతరాయానికి కారణమవుతుంది. పిన్ చేంజ్ ఇంటరప్ట్ రిక్వెస్ట్ యొక్క సంబంధిత అంతరాయం పిసిఐ ఇంటరప్ట్ వెక్టర్ నుండి అమలు చేయబడుతుంది. PCINT [5: 0] పిన్లు పిసిఎంఎస్కె 0 రిజిస్టర్ ద్వారా ఒక్కొక్కటిగా ప్రారంభించబడతాయి.
GIFR - జనరల్ ఇంటరప్ట్ ఫ్లాగ్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3A | – | INTF0 | పిసిఐఎఫ్ | – | – | – | – | – | GIFR |
చదవండి/వ్రాయండి | R | R/W | R/W | R | R | R | R | R | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్స్ 7, 4: 0 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్ 6 - INTF0: బాహ్య అంతరాయ ఫ్లాగ్ 0
INT0 పిన్పై అంచు లేదా తర్కం మార్పు అంతరాయ అభ్యర్థనను ప్రేరేపించినప్పుడు, INTF0 సెట్ అవుతుంది (ఒకటి). SREG లోని I- బిట్ మరియు GIMSK లోని INT0 బిట్ (ఒకటి) సెట్ చేయబడితే, MCU సంబంధిత ఇంటరప్ట్ వెక్టర్కు దూకుతుంది. అంతరాయ దినచర్యను అమలు చేసినప్పుడు జెండా క్లియర్ అవుతుంది. ప్రత్యామ్నాయంగా, జెండాను దానికి తార్కికంగా వ్రాయడం ద్వారా క్లియర్ చేయవచ్చు. INT0 స్థాయి అంతరాయంగా కాన్ఫిగర్ చేయబడినప్పుడు ఈ ఫ్లాగ్ ఎల్లప్పుడూ క్లియర్ చేయబడుతుంది.
బిట్ 5 - పిసిఐఎఫ్: పిన్ చేంజ్ ఇంటరప్ట్ ఫ్లాగ్
ఏదైనా PCINT [5: 0] పిన్లో లాజిక్ మార్పు అంతరాయ అభ్యర్థనను ప్రేరేపించినప్పుడు, PCIF సెట్ అవుతుంది (ఒకటి). SREG లోని I- బిట్ మరియు GIMSK లోని PCIE బిట్ (ఒకటి) సెట్ చేయబడితే, MCU సంబంధిత ఇంటరప్ట్ వెక్టర్కు దూకుతుంది. అంతరాయ దినచర్యను అమలు చేసినప్పుడు జెండా క్లియర్ అవుతుంది. ప్రత్యామ్నాయంగా, జెండాను దానికి తార్కికంగా వ్రాయడం ద్వారా క్లియర్ చేయవచ్చు.
PCMSK - పిన్ చేంజ్ మాస్క్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x15 | – | – | PCINT5 | PCINT4 | PCINT3 | PCINT2 | PCINT1 | PCINT0 | పిసిఎంఎస్కె |
చదవండి/వ్రాయండి | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్స్ 7: 6 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్స్ 5: 0 - పిసిఎన్టి [5: 0]: పిన్ చేంజ్ మాస్క్ 5: 0 ని ప్రారంభించండి
ప్రతి PCINT [5: 0] బిట్ సంబంధిత I / O పిన్పై పిన్ మార్పు అంతరాయం ప్రారంభించబడిందో లేదో ఎంచుకుంటుంది. PCINT [5: 0] సెట్ చేయబడి, GIMSK లోని PCIE బిట్ సెట్ చేయబడితే, సంబంధిత I / O పిన్పై పిన్ మార్పు అంతరాయం ప్రారంభించబడుతుంది. PCINT [5: 0] క్లియర్ చేయబడితే, సంబంధిత I / O పిన్పై పిన్ మార్పు అంతరాయం నిలిపివేయబడుతుంది.
I/O పోర్ట్లు
పరిచయం
సాధారణ డిజిటల్ I/O పోర్ట్లుగా ఉపయోగించినప్పుడు అన్ని AVR పోర్ట్లు నిజమైన రీడ్-మాడిఫై-రైట్ ఫంక్షనాలిటీని కలిగి ఉంటాయి. అంటే SBI మరియు CBI సూచనలతో ఏ ఇతర పిన్ యొక్క దిశను అనుకోకుండా మార్చకుండా ఒక పోర్ట్ పిన్ యొక్క దిశను మార్చవచ్చు. డ్రైవ్ విలువను మార్చేటప్పుడు (అవుట్పుట్గా కాన్ఫిగర్ చేయబడి ఉంటే) లేదా పుల్-అప్ రెసిస్టర్లను ప్రారంభించేటప్పుడు/డిసేబుల్ చేసినప్పుడు (ఇన్పుట్గా కాన్ఫిగర్ చేయబడి ఉంటే) అదే వర్తిస్తుంది. ప్రతి అవుట్పుట్ బఫర్ అధిక సింక్ మరియు సోర్స్ సామర్థ్యం రెండింటితో కూడిన సిమెట్రిక్ డ్రైవ్ లక్షణాలను కలిగి ఉంటుంది. పిన్ డ్రైవర్ LED డిస్ప్లేలను నేరుగా డ్రైవ్ చేయడానికి తగినంత బలంగా ఉంది. అన్ని పోర్ట్ పిన్లు సప్లై-వాల్యూమ్తో వ్యక్తిగతంగా ఎంచుకోదగిన పుల్-అప్ రెసిస్టర్లను కలిగి ఉంటాయిtagఇ మార్పులేని ప్రతిఘటన. అన్ని I/O పిన్లు సూచించిన విధంగా VCC మరియు గ్రౌండ్ రెండింటికీ రక్షణ డయోడ్లను కలిగి ఉంటాయి మూర్తి 10-1. సూచించండి 161 వ పేజీలోని “ఎలక్ట్రికల్ క్యారెక్టరిస్టిక్స్” పారామితుల పూర్తి జాబితా కోసం.
మూర్తి 10-1. I/O పిన్ సమానమైన స్కీమాటిక్
ఈ విభాగంలోని అన్ని రిజిస్టర్లు మరియు బిట్ సూచనలు సాధారణ రూపంలో వ్రాయబడ్డాయి. ఒక లోయర్ కేస్ “x” పోర్ట్ కోసం నంబరింగ్ లెటర్ని సూచిస్తుంది మరియు లోయర్ కేస్ “n” బిట్ నంబర్ను సూచిస్తుంది. అయినప్పటికీ, ప్రోగ్రామ్లో రిజిస్టర్ లేదా బిట్ నిర్వచించినప్పుడు, ఖచ్చితమైన ఫారమ్ను తప్పనిసరిగా ఉపయోగించాలి. ఉదాహరణకుampబిట్ నం కోసం le, PORTB3. పోర్ట్ Bలో 3, ఇక్కడ సాధారణంగా PORTxnగా డాక్యుమెంట్ చేయబడింది. భౌతిక I/O రిజిస్టర్లు మరియు బిట్ స్థానాలు జాబితా చేయబడ్డాయి “రిజిస్టర్ వివరణ” ఆన్ పేజీ 64.
ప్రతి పోర్టుకు మూడు I / O మెమరీ చిరునామా స్థానాలు కేటాయించబడ్డాయి, డేటా రిజిస్టర్ - PORTx, డేటా డైరెక్షన్ రిజిస్టర్ - DDRx మరియు పోర్ట్ ఇన్పుట్ పిన్స్ - PINx. పోర్ట్ ఇన్పుట్ పిన్స్ I / O స్థానం చదవడానికి మాత్రమే, డేటా రిజిస్టర్ మరియు డేటా డైరెక్షన్ రిజిస్టర్ చదవడానికి / వ్రాయడానికి మాత్రమే. ఏదేమైనా, పిన్క్స్ రిజిస్టర్లో ఒక లాజిక్ను ఒక బిట్కు వ్రాస్తే, డేటా రిజిస్టర్లోని సంబంధిత బిట్లో టోగుల్ అవుతుంది. అదనంగా, MCUCR లోని పుల్-అప్ డిసేబుల్ - PUD బిట్ సెట్ చేసినప్పుడు అన్ని పోర్టులలోని అన్ని పిన్ల కోసం పుల్-అప్ ఫంక్షన్ను నిలిపివేస్తుంది.
I / O పోర్టును జనరల్ డిజిటల్ I / O గా ఉపయోగించడం వివరించబడింది 53 వ పేజీలోని “పోర్ట్స్ జనరల్ జనరల్ I / O”. చాలా పోర్ట్ పిన్స్ పరికరంలోని పరిధీయ లక్షణాల కోసం ప్రత్యామ్నాయ ఫంక్షన్లతో మల్టీప్లెక్స్ చేయబడతాయి. పోర్ట్ పిన్తో ప్రతి ప్రత్యామ్నాయ ఫంక్షన్ ఎలా ఉంటుందో వివరించబడింది 57 వ పేజీలోని “ప్రత్యామ్నాయ పోర్ట్ విధులు”. ప్రత్యామ్నాయ ఫంక్షన్ల యొక్క పూర్తి వివరణ కోసం వ్యక్తిగత మాడ్యూల్ విభాగాలను చూడండి.
కొన్ని పోర్ట్ పిన్ల యొక్క ప్రత్యామ్నాయ పనితీరును ప్రారంభించడం పోర్టులోని ఇతర పిన్లను సాధారణ డిజిటల్ I / O గా ఉపయోగించడాన్ని ప్రభావితం చేయదని గమనించండి.
పోర్ట్స్ జనరల్ డిజిటల్ I / O గా
పోర్టులు ఐచ్ఛిక అంతర్గత పుల్-అప్లతో ద్వి-దిశాత్మక I / O పోర్ట్లు. మూర్తి 10-2 ఒక I / O- పోర్ట్ పిన్ యొక్క క్రియాత్మక వివరణను చూపిస్తుంది, ఇక్కడ దీనిని సాధారణంగా Pxn అని పిలుస్తారు.
మూర్తి 10-2. సాధారణ డిజిటల్ I/O(1)
పిన్ను కాన్ఫిగర్ చేస్తోంది
ప్రతి పోర్ట్ పిన్ మూడు రిజిస్టర్ బిట్లను కలిగి ఉంటుంది: DDxn, PORTxn మరియు PINxn. లో చూపిన విధంగా “రిజిస్టర్ వివరణ” ఆన్ పేజీ 64, DDxn బిట్స్ DDRx I / O చిరునామా వద్ద, PORTxn I / O చిరునామా వద్ద PORTxn బిట్స్ మరియు PINx I / O చిరునామా వద్ద PINxn బిట్స్ యాక్సెస్ చేయబడతాయి.
DDRx రిజిస్టర్లోని DDxn బిట్ ఈ పిన్ దిశను ఎంచుకుంటుంది. DDxn లాజిక్ ఒకటి వ్రాస్తే, Pxn అవుట్పుట్ పిన్గా కాన్ఫిగర్ చేయబడింది. DDxn లాజిక్ సున్నా అని వ్రాయబడితే, Pxn ఇన్పుట్ పిన్గా కాన్ఫిగర్ చేయబడింది.
పిన్ ఇన్పుట్ పిన్గా కాన్ఫిగర్ చేయబడినప్పుడు PORTxn లాజిక్ ఒకటి వ్రాస్తే, పుల్-అప్ రెసిస్టర్ సక్రియం అవుతుంది. పుల్-అప్ రెసిస్టర్ను స్విచ్ ఆఫ్ చేయడానికి, PORTxn లాజిక్ సున్నా అని వ్రాయాలి లేదా పిన్ను అవుట్పుట్ పిన్గా కాన్ఫిగర్ చేయాలి. గడియారాలు ఏవీ అమలు చేయకపోయినా, రీసెట్ కండిషన్ యాక్టివ్ అయినప్పుడు పోర్ట్ పిన్స్ ట్రై-స్టేట్ చేయబడతాయి.
పిన్ అవుట్పుట్ పిన్గా కాన్ఫిగర్ చేయబడినప్పుడు PORTxn లాజిక్ ఒకటి వ్రాస్తే, పోర్ట్ పిన్ అధికంగా (ఒకటి) నడపబడుతుంది. పిన్ అవుట్పుట్ పిన్గా కాన్ఫిగర్ చేయబడినప్పుడు PORTxn లాజిక్ సున్నా అని వ్రాస్తే, పోర్ట్ పిన్ తక్కువ (సున్నా) నడపబడుతుంది.
పిన్ను టోగుల్ చేస్తోంది
PINxn కు లాజిక్ ఒకటి రాయడం PORTxn విలువను టోగుల్ చేస్తుంది, ఇది DDRxn విలువపై స్వతంత్రంగా ఉంటుంది. పోర్టులో ఒకే బిట్ను టోగుల్ చేయడానికి ఎస్బిఐ సూచన ఉపయోగపడుతుందని గమనించండి.
ఇన్పుట్ మరియు అవుట్పుట్ మధ్య మారడం
ట్రై-స్టేట్ ({DDxn, PORTxn} = 0b00) మరియు అవుట్పుట్ హై ({DDxn, PORTxn} = 0b11) మధ్య మారుతున్నప్పుడు, పుల్-అప్ ఎనేబుల్ {DDxn, PORTxn} = 0b01) లేదా అవుట్పుట్ తక్కువగా ఉండే ఇంటర్-మీడియట్ స్టేట్ ({DDxn, PORTxn} = 0b10) తప్పనిసరిగా జరగాలి. సాధారణంగా, పుల్-అప్ ప్రారంభించబడిన స్థితి పూర్తిగా ఆమోదయోగ్యమైనది, ఎందుకంటే అధిక-ఇంపెడెంట్ వాతావరణం బలమైన హై డ్రైవర్ మరియు పుల్-అప్ మధ్య వ్యత్యాసాన్ని గమనించదు. ఇది కాకపోతే, MCUCR రిజిస్టర్లోని PUD బిట్ను అన్ని పోర్ట్లలోని అన్ని పుల్-అప్లను నిలిపివేయడానికి సెట్ చేయవచ్చు.
పుల్-అప్ మరియు అవుట్పుట్ తక్కువతో ఇన్పుట్ మధ్య మారడం అదే సమస్యను సృష్టిస్తుంది. వినియోగదారు తప్పనిసరిగా త్రి-స్థితి ({DDxn, PORTxn} = 0b00) లేదా అవుట్పుట్ హై స్టేట్ ({DDxn, PORTxn} = 0b10) ను ఇంటర్మీడియట్ దశగా ఉపయోగించాలి.
పట్టిక 10-1 పిన్ విలువ కోసం నియంత్రణ సంకేతాలను సంగ్రహిస్తుంది.
పట్టిక 10-1. పోర్ట్ పిన్ కాన్ఫిగరేషన్లు
DDxn | PORTxn | పుడ్
(MCUCR లో) |
I/O | పుల్-అప్ | వ్యాఖ్యానించండి |
0 | 0 | X | ఇన్పుట్ | నం | ట్రై-స్టేట్ (హాయ్-జెడ్) |
0 | 1 | 0 | ఇన్పుట్ | అవును | ఒకవేళ Pxn ప్రస్తుతమైతే మూలం. తక్కువ లాగారు. |
0 | 1 | 1 | ఇన్పుట్ | నం | ట్రై-స్టేట్ (హాయ్-జెడ్) |
1 | 0 | X | అవుట్పుట్ | నం | అవుట్పుట్ తక్కువ (సింక్) |
1 | 1 | X | అవుట్పుట్ | నం | అవుట్పుట్ హై (మూలం) |
పిన్ విలువను చదవడం
డేటా డైరెక్షన్ బిట్ DDxn యొక్క సెట్టింగ్ నుండి స్వతంత్రంగా, పోర్ట్ పిన్ను PINxn రిజిస్టర్ బిట్ ద్వారా చదవవచ్చు. లో చూపిన విధంగా మూర్తి 10-2, PINxn రిజిస్టర్ బిట్ మరియు మునుపటి గొళ్ళెం సమకాలీకరణను కలిగి ఉంటాయి. అంతర్గత గడియారం యొక్క అంచు దగ్గర భౌతిక పిన్ విలువను మార్చుకుంటే మెటాస్టబిలిటీని నివారించడానికి ఇది అవసరం, కానీ ఇది ఆలస్యాన్ని కూడా పరిచయం చేస్తుంది. మూర్తి 10-3 బాహ్యంగా వర్తించే పిన్ విలువను చదివేటప్పుడు సమకాలీకరణ యొక్క సమయ రేఖాచిత్రాన్ని చూపుతుంది. గరిష్ట మరియు కనిష్ట ప్రచారం ఆలస్యం వరుసగా tpd,max మరియు tpd,min గా సూచించబడుతుంది.
సిస్టమ్ గడియారం యొక్క మొదటి పడిపోయిన అంచు తర్వాత ప్రారంభమయ్యే గడియార వ్యవధిని పరిగణించండి. గడియారం తక్కువగా ఉన్నప్పుడు గొళ్ళెం మూసివేయబడుతుంది మరియు గడియారం ఎక్కువగా ఉన్నప్పుడు పారదర్శకంగా వెళుతుంది, ఇది “SYNC LATCH” సిగ్నల్ యొక్క షేడెడ్ ప్రాంతం ద్వారా సూచించబడుతుంది. సిస్టమ్ గడియారం తక్కువగా ఉన్నప్పుడు సిగ్నల్ విలువ లాచ్ చేయబడుతుంది. ఇది సానుకూల గడియారపు అంచు వద్ద PINxn రిజిస్టర్లో క్లాక్ చేయబడింది. Tpd, max మరియు tpd, min అనే రెండు బాణాలు సూచించినట్లుగా, పిన్పై ఒకే సిగ్నల్ పరివర్తనం నొక్కిచెప్పే సమయాన్ని బట్టి ½ మరియు 1½ సిస్టమ్ గడియార కాలం మధ్య ఆలస్యం అవుతుంది.
సాఫ్ట్వేర్ కేటాయించిన పిన్ విలువను తిరిగి చదివేటప్పుడు, సూచించిన విధంగా ఒక నోప్ సూచనను చేర్చాలి మూర్తి 10-4. ఇన్స్ట్రక్షన్ గడియారం యొక్క సానుకూల అంచు వద్ద “SYNC LATCH” సిగ్నల్ను సెట్ చేస్తుంది. ఈ సందర్భంలో, సింక్రొనైజర్ ద్వారా ఆలస్యం tpd ఒక సిస్టమ్ గడియార కాలం.
కింది కోడ్ ఉదాample పోర్ట్ B పిన్లను 0 మరియు 1 ఎక్కువ, 2 మరియు 3 తక్కువగా ఎలా సెట్ చేయాలో చూపిస్తుంది మరియు పోర్ట్ పిన్ 4కి కేటాయించిన పుల్-అప్తో 5 నుండి 4 వరకు పోర్ట్ పిన్లను ఇన్పుట్గా నిర్వచిస్తుంది. ఫలితంగా వచ్చే పిన్ విలువలు మళ్లీ రీడ్ చేయబడతాయి, కానీ గతంలో చర్చించినట్లుగా, ఇటీవల కొన్ని పిన్లకు కేటాయించిన విలువను తిరిగి చదవగలిగేలా ఒక nop సూచన చేర్చబడింది.
అసెంబ్లీ కోడ్ ఉదాample(1) |
…
; పుల్-అప్లను నిర్వచించండి మరియు అవుట్పుట్లను ఎక్కువగా సెట్ చేయండి ; పోర్ట్ పిన్ల కోసం దిశలను నిర్వచించండి ldi r16,(1<<PB4)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) PORTB,r16 DDRB,r17 అవుట్ ; సమకాలీకరణ కోసం nopని చొప్పించండి కాదు ; పోర్ట్ పిన్లను చదవండి r16,PINBలో … |
గమనిక: అసెంబ్లీ ప్రోగ్రామ్ కోసం, పుల్-అప్ల నుండి సమయాన్ని తగ్గించడానికి రెండు తాత్కాలిక రిజిస్టర్లు ఉపయోగించబడతాయి, దిశ బిట్లు సరిగ్గా సెట్ చేయబడే వరకు, బిట్ 0 మరియు 1ని తక్కువగా నిర్వచించడం మరియు బిట్లు 4ని పునర్నిర్వచించడం వరకు పిన్స్ 2, 3 మరియు 0లో సెట్ చేయబడతాయి. 1 బలమైన అధిక డ్రైవర్లుగా.
సి కోడ్ ఉదాample |
సంతకం చేయని చార్ i;
… /* పుల్-అప్లను నిర్వచించండి మరియు అవుట్పుట్లను ఎక్కువగా సెట్ చేయండి */ /* పోర్ట్ పిన్స్ కోసం దిశలను నిర్వచించండి */ PORTB = (1< DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0); /* సమకాలీకరణ కోసం nop చొప్పించండి*/ _నోప్ (); /* పోర్ట్ పిన్స్ చదవండి */ i = PINB; … |
డిజిటల్ ఇన్పుట్ ఎనేబుల్ మరియు స్లీప్ మోడ్లు
లో చూపిన విధంగా మూర్తి 10-2, డిజిటల్ ఇన్పుట్ సిగ్నల్ cl కావచ్చుampschmitt-ట్రిగ్గర్ యొక్క ఇన్పుట్ వద్ద భూమికి ed. చిత్రంలో స్లీప్ని సూచించే సిగ్నల్, కొన్ని ఇన్పుట్ సిగ్నల్లు తేలుతూ ఉంటే లేదా VCC/2కి దగ్గరగా అనలాగ్ సిగ్నల్ స్థాయిని కలిగి ఉంటే అధిక విద్యుత్ వినియోగాన్ని నివారించడానికి పవర్-డౌన్ మోడ్లో MCU స్లీప్ కంట్రోలర్ ద్వారా సెట్ చేయబడింది.
బాహ్య అంతరాయ పిన్లుగా ప్రారంభించబడిన పోర్ట్ పిన్ల కోసం SLEEP భర్తీ చేయబడింది. బాహ్య అంతరాయ అభ్యర్థన ప్రారంభించబడకపోతే, ఈ పిన్ల కోసం కూడా SLEEP చురుకుగా ఉంటుంది. SLEEP కూడా వివరించిన విధంగా వివిధ ఇతర ప్రత్యామ్నాయ ఫంక్షన్ల ద్వారా భర్తీ చేయబడుతుంది 57 వ పేజీలోని “ప్రత్యామ్నాయ పోర్ట్ విధులు”.
"ఇంటరప్ట్ ఆన్ రైజింగ్ ఎడ్జ్, ఫాలింగ్ ఎడ్జ్ లేదా ఏదైనా లాజిక్ చేంజ్ ఆన్ పిన్"గా కాన్ఫిగర్ చేయబడిన అసమకాలిక బాహ్య అంతరాయ పిన్లో లాజిక్ హై లెవల్ ("ఒకటి") ఉంటే, బాహ్య అంతరాయాన్ని ప్రారంభించనప్పుడు, సంబంధిత బాహ్య అంతరాయ ఫ్లాగ్ ఉంటుంది పైన పేర్కొన్న స్లీప్ మోడ్ నుండి పునఃప్రారంభించేటప్పుడు సెట్ చేయబడుతుంది, clampఈ స్లీప్ మోడ్లో ing అభ్యర్థించిన లాజిక్ మార్పును ఉత్పత్తి చేస్తుంది.
అనుసంధానించబడని పిన్స్
కొన్ని పిన్స్ ఉపయోగించకపోతే, ఈ పిన్స్ నిర్వచించిన స్థాయిని కలిగి ఉన్నాయని నిర్ధారించుకోవాలి. పైన వివరించిన విధంగా చాలా డిజిటల్ ఇన్పుట్లు డీప్ స్లీప్ మోడ్లలో నిలిపివేయబడినప్పటికీ, డిజిటల్ ఇన్పుట్లు ప్రారంభించబడిన అన్ని ఇతర మోడ్లలో ప్రస్తుత వినియోగాన్ని తగ్గించడానికి ఫ్లోటింగ్ ఇన్పుట్లను నివారించాలి (రీసెట్, యాక్టివ్ మోడ్ మరియు ఐడిల్ మోడ్).
ఉపయోగించని పిన్ యొక్క నిర్వచించిన స్థాయిని నిర్ధారించడానికి సరళమైన పద్ధతి, అంతర్గత పుల్-అప్ను ప్రారంభించడం. ఈ సందర్భంలో, రీసెట్ సమయంలో పుల్-అప్ నిలిపివేయబడుతుంది. రీసెట్ సమయంలో తక్కువ విద్యుత్ వినియోగం ముఖ్యమైనది అయితే, బాహ్య పుల్-అప్ లేదా పుల్డౌన్ను ఉపయోగించమని సిఫార్సు చేయబడింది. ఉపయోగించని పిన్లను నేరుగా VCC లేదా GNDకి కనెక్ట్ చేయడం సిఫారసు చేయబడలేదు, ఎందుకంటే పిన్ అనుకోకుండా అవుట్పుట్గా కాన్ఫిగర్ చేయబడితే ఇది అధిక ప్రవాహాలకు కారణం కావచ్చు.
ప్రత్యామ్నాయ పోర్ట్ విధులు
చాలా పోర్ట్ పిన్స్ సాధారణ డిజిటల్ I / Os తో పాటు ప్రత్యామ్నాయ విధులను కలిగి ఉంటాయి. మూర్తి 10-5 పోర్ట్ పిన్ సరళీకృత నుండి సంకేతాలను ఎలా నియంత్రిస్తుందో చూపిస్తుంది మూర్తి 10-2 ప్రత్యామ్నాయ ఫంక్షన్ల ద్వారా భర్తీ చేయవచ్చు. ఓవర్రైడింగ్ సిగ్నల్స్ అన్ని పోర్ట్ పిన్లలో ఉండకపోవచ్చు, కాని ఈ సంఖ్య AVR మైక్రోకంట్రోలర్ కుటుంబంలోని అన్ని పోర్ట్ పిన్లకు వర్తించే సాధారణ వివరణగా పనిచేస్తుంది.
పట్టిక 10-2. ప్రత్యామ్నాయ ఫంక్షన్ల కోసం ఓవర్రైడింగ్ సిగ్నల్స్ యొక్క సాధారణ వివరణ
సిగ్నల్ పేరు | పూర్తి పేరు | వివరణ |
PUOE | పుల్-అప్ ఓవర్రైడ్ ఎనేబుల్ | ఈ సిగ్నల్ సెట్ చేయబడితే, పుల్-అప్ ఎనేబుల్ PUOV సిగ్నల్ ద్వారా నియంత్రించబడుతుంది. ఈ సిగ్నల్ క్లియర్ చేయబడితే, ఎప్పుడు పుల్-అప్ ప్రారంభించబడుతుంది
{DDxn, PORTxn, PUD} = 0b010. |
PUOV | పుల్-అప్ ఓవర్రైడ్ విలువ | PUOE సెట్ చేయబడితే, DDxn, PORTxn మరియు PUD రిజిస్టర్ బిట్ల అమరికతో సంబంధం లేకుండా, PUOV సెట్ చేయబడినప్పుడు / క్లియర్ చేయబడినప్పుడు పుల్-అప్ ప్రారంభించబడుతుంది / నిలిపివేయబడుతుంది. |
DDOE | డేటా డైరెక్షన్ ఓవర్రైడ్ ఎనేబుల్ | ఈ సిగ్నల్ సెట్ చేయబడితే, అవుట్పుట్ డ్రైవర్ ఎనేబుల్ DDOV సిగ్నల్ ద్వారా నియంత్రించబడుతుంది. ఈ సిగ్నల్ క్లియర్ చేయబడితే, అవుట్పుట్ డ్రైవర్ DDxn రిజిస్టర్ బిట్ ద్వారా ప్రారంభించబడుతుంది. |
DDOV | డేటా డైరెక్షన్ విలువను భర్తీ చేస్తుంది | DDOE సెట్ చేయబడితే, DDxn రిజిస్టర్ బిట్ యొక్క సెట్టింగ్తో సంబంధం లేకుండా DDOV సెట్ చేయబడినప్పుడు / క్లియర్ చేయబడినప్పుడు అవుట్పుట్ డ్రైవర్ ప్రారంభించబడుతుంది / నిలిపివేయబడుతుంది. |
PVOE | పోర్ట్ విలువ ఓవర్రైడ్ ప్రారంభించండి | ఈ సిగ్నల్ సెట్ చేయబడి, అవుట్పుట్ డ్రైవర్ ప్రారంభించబడితే, పోర్ట్ విలువ PVOV సిగ్నల్ ద్వారా నియంత్రించబడుతుంది. PVOE క్లియర్ చేయబడితే మరియు అవుట్పుట్ డ్రైవర్ ప్రారంభించబడితే, పోర్ట్ విలువ PORTxn రిజిస్టర్ బిట్ ద్వారా నియంత్రించబడుతుంది. |
PVOV | పోర్ట్ విలువ ఓవర్రైడ్ విలువ | PVOE సెట్ చేయబడితే, PORTxn రిజిస్టర్ బిట్ యొక్క సెట్టింగ్తో సంబంధం లేకుండా పోర్ట్ విలువ PVOV కి సెట్ చేయబడుతుంది. |
PTOE | పోర్ట్ టోగుల్ ఓవర్రైడ్ ఎనేబుల్ | PTOE సెట్ చేయబడితే, PORTxn రిజిస్టర్ బిట్ విలోమం అవుతుంది. |
DIEOE | డిజిటల్ ఇన్పుట్ ఓవర్రైడ్ ఎనేబుల్ ఎనేబుల్ | ఈ బిట్ సెట్ చేయబడితే, డిజిటల్ ఇన్పుట్ ఎనేబుల్ DIEOV సిగ్నల్ ద్వారా నియంత్రించబడుతుంది. ఈ సిగ్నల్ క్లియర్ చేయబడితే, డిజిటల్ ఇన్పుట్ ఎనేబుల్ MCU స్టేట్ (సాధారణ మోడ్, స్లీప్ మోడ్) ద్వారా నిర్ణయించబడుతుంది. |
DIEOV | డిజిటల్ ఇన్పుట్ ఓవర్రైడ్ విలువను ప్రారంభించండి | DIEOE సెట్ చేయబడితే, MCU స్థితి (సాధారణ మోడ్, స్లీప్ మోడ్) తో సంబంధం లేకుండా DIEOV సెట్ చేయబడినప్పుడు / క్లియర్ చేసినప్పుడు డిజిటల్ ఇన్పుట్ ప్రారంభించబడుతుంది / నిలిపివేయబడుతుంది. |
DI | డిజిటల్ ఇన్పుట్ | ప్రత్యామ్నాయ ఫంక్షన్లకు ఇది డిజిటల్ ఇన్పుట్. చిత్రంలో, సిగ్నల్ ష్మిట్-ట్రిగ్గర్ యొక్క అవుట్పుట్కు అనుసంధానించబడి ఉంటుంది, కానీ సింక్రొనైజర్ ముందు. డిజిటల్ ఇన్పుట్ను క్లాక్ సోర్స్గా ఉపయోగించకపోతే, ప్రత్యామ్నాయ ఫంక్షన్తో కూడిన మాడ్యూల్ దాని స్వంత సింక్రోనైజర్ను ఉపయోగిస్తుంది. |
AIO | అనలాగ్ ఇన్పుట్ / అవుట్పుట్ | ఇది ప్రత్యామ్నాయ ఫంక్షన్లకు / నుండి అనలాగ్ ఇన్పుట్ / అవుట్పుట్. సిగ్నల్ నేరుగా ప్యాడ్కు అనుసంధానించబడి ఉంది మరియు దీనిని ద్వి-దిశగా ఉపయోగించవచ్చు. |
కింది ఉపవిభాగాలు ప్రతి పోర్టుకు ప్రత్యామ్నాయ విధులను త్వరలో వివరిస్తాయి మరియు ఓవర్రైడింగ్ సిగ్నల్లను ప్రత్యామ్నాయ ఫంక్షన్కు వివరిస్తాయి. మరిన్ని వివరాల కోసం ప్రత్యామ్నాయ ఫంక్షన్ వివరణ చూడండి.
పోర్ట్ B యొక్క ప్రత్యామ్నాయ విధులు
ప్రత్యామ్నాయ ఫంక్షన్తో పోర్ట్ బి పిన్లు చూపించబడ్డాయి పట్టిక 10-3.
పట్టిక 10-3. పోర్ట్ B పిన్స్ ప్రత్యామ్నాయ విధులు
పోర్ట్ పిన్ | ప్రత్యామ్నాయ ఫంక్షన్ |
PB5 | ![]() రీసెట్: పిన్ రీసెట్ చేయండి dW: డీబగ్వైర్ I / O ADC0: ADC ఇన్పుట్ ఛానల్ 0 PCINT5: పిన్ చేంజ్ ఇంటరప్ట్, మూలం 5 |
PB4 | XTAL2: క్రిస్టల్ ఆసిలేటర్ అవుట్పుట్ CLKO: సిస్టమ్ క్లాక్ అవుట్పుట్ ADC2: ADC ఇన్పుట్ ఛానల్ 2
OC1B: టైమర్ / కౌంటర్ 1 మ్యాచ్ B అవుట్పుట్ను పోల్చండి PCINT4: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 4 |
PB3 | XTAL1: క్రిస్టల్ ఓసిలేటర్ ఇన్పుట్ CLKI: బాహ్య క్లాక్ ఇన్పుట్ ADC3: ADC ఇన్పుట్ ఛానెల్ 3
OC1B: కాంప్లిమెంటరీ టైమర్ / కౌంటర్ 1 మ్యాచ్ B అవుట్పుట్ను పోల్చండి PCINT3: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 3 |
PB2 | SCK: సీరియల్ క్లాక్ ఇన్పుట్ ADC1: ADC ఇన్పుట్ ఛానల్ 1
T0: టైమర్ / కౌంటర్ 0 క్లాక్ సోర్స్ USCK: USI క్లాక్ (మూడు వైర్ మోడ్) SCL: USI క్లాక్ (రెండు వైర్ మోడ్) INT0: బాహ్య అంతరాయం 0 ఇన్పుట్ PCINT2: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 2 |
PB1 | MISO: SPI మాస్టర్ డేటా ఇన్పుట్ / స్లేవ్ డేటా అవుట్పుట్ AIN1: అనలాగ్ కంపారిటర్, నెగటివ్ ఇన్పుట్ OC0B: టైమర్ / కౌంటర్ 0 మ్యాచ్ B అవుట్పుట్ OC1A ను పోల్చండి: టైమర్ / కౌంటర్ 1 మ్యాచ్ అవుట్పుట్ను పోల్చండి DO: USI డేటా అవుట్పుట్ (మూడు వైర్ మోడ్) PCINT1: పిన్ చేంజ్ ఇంటరప్ట్ 0, మూలం 1 |
PB0 | MOSI :: SPI మాస్టర్ డేటా అవుట్పుట్ / స్లేవ్ డేటా ఇన్పుట్ AIN0: అనలాగ్ కంపారిటర్, పాజిటివ్ ఇన్పుట్
OC0A: టైమర్/కౌంటర్0 మ్యాచ్ A అవుట్పుట్ను సరిపోల్చండి OC1A: కాంప్లిమెంటరీ టైమర్ / కౌంటర్ 1 మ్యాచ్ను సరిపోల్చండి DI: USI డేటా ఇన్పుట్ (మూడు వైర్ మోడ్) SDA: USI డేటా ఇన్పుట్ (రెండు వైర్ మోడ్) AREF: బాహ్య అనలాగ్ సూచన PCINT0: పిన్ మార్పు అంతరాయం 0, మూలం 0 |
పోర్ట్ బి, బిట్ 5 - రీసెట్ / డిడబ్ల్యు / ఎడిసి 0 / పిసిఎన్టి 5
రీసెట్: బాహ్య రీసెట్ ఇన్పుట్ చురుకుగా తక్కువగా ఉంది మరియు ప్రోగ్రామింగ్ (“1”) ద్వారా ప్రారంభించబడింది RSTDISBL ఫ్యూజ్. పుల్లప్ సక్రియం చేయబడింది మరియు పిన్ను రీసెట్ పిన్గా ఉపయోగించినప్పుడు అవుట్పుట్ డ్రైవర్ మరియు డిజిటల్ ఇన్పుట్ క్రియారహితం చేయబడతాయి.
dW: డీబగ్వైర్ ఎనేబుల్ (DWEN) ఫ్యూజ్ ప్రోగ్రామ్ చేయబడినప్పుడు మరియు లాక్ బిట్స్ ప్రోగ్రామ్ చేయనప్పుడు, లక్ష్య పరికరంలోని డీబగ్వైర్ సిస్టమ్ సక్రియం అవుతుంది. రీసెట్ పోర్ట్ పిన్ పుల్-అప్ ఎనేబుల్ చేయబడిన వైర్- AND (ఓపెన్-డ్రెయిన్) ద్వి-దిశాత్మక I / O పిన్గా కాన్ఫిగర్ చేయబడింది మరియు లక్ష్యం మరియు ఎమ్యులేటర్ మధ్య కమ్యూనికేషన్ గేట్వే అవుతుంది.
ADC0: అనలాగ్ టు డిజిటల్ కన్వర్టర్, ఛానల్ 0.
PCINT5: పిన్ చేంజ్ ఇంటరప్ట్ సోర్స్ 5.
పోర్ట్ B, బిట్ 4 - XTAL2 / CLKO / ADC2 / OC1B / PCINT4
XTAL2: చిప్ క్లాక్ ఆసిలేటర్ పిన్ 2. అంతర్గత కాలిబ్రేటబుల్ RC ఆసిలేటర్ మరియు బాహ్య గడియారం మినహా అన్ని చిప్ గడియార వనరులకు క్లాక్ పిన్గా ఉపయోగించబడుతుంది. క్లాక్ పిన్గా ఉపయోగించినప్పుడు, పిన్ను I / O పిన్గా ఉపయోగించలేరు. అంతర్గత కాలిబ్రేటబుల్ RC ఓసిలేటర్ లేదా బాహ్య గడియారాన్ని చిప్ గడియార వనరులుగా ఉపయోగిస్తున్నప్పుడు, PB4 సాధారణ I / O పిన్గా పనిచేస్తుంది.
CLKO: డివైడెడ్ సిస్టమ్ గడియారం పిన్ PB4 పై అవుట్పుట్ కావచ్చు. PORTB4 మరియు DDB4 సెట్టింగులతో సంబంధం లేకుండా CKOUT ఫ్యూజ్ ప్రోగ్రామ్ చేయబడితే విభజించబడిన సిస్టమ్ గడియారం అవుట్పుట్ అవుతుంది. ఇది రీసెట్ సమయంలో కూడా అవుట్పుట్ అవుతుంది.
ADC2: అనలాగ్ టు డిజిటల్ కన్వర్టర్, ఛానల్ 2.
OC1B: అవుట్పుట్ సరిపోలిక మ్యాచ్ అవుట్పుట్: అవుట్పుట్ (DDB4 సెట్) గా కాన్ఫిగర్ చేయబడినప్పుడు PB1 పిన్ టైమర్ / కౌంటర్ 4 పోల్చండి మ్యాచ్ B కి బాహ్య అవుట్పుట్గా ఉపయోగపడుతుంది. OC1B పిన్ కూడా PWM మోడ్ టైమర్ ఫంక్షన్ కోసం అవుట్పుట్ పిన్.
PCINT4: పిన్ చేంజ్ ఇంటరప్ట్ సోర్స్ 4.
పోర్ట్ B, బిట్ 3 - XTAL1 / CLKI / ADC3 / OC1B / PCINT3
XTAL1: చిప్ క్లాక్ ఆసిలేటర్ పిన్ 1. అంతర్గత కాలిబ్రేటబుల్ RC ఓసిలేటర్ మినహా అన్ని చిప్ గడియార వనరులకు ఉపయోగిస్తారు. క్లాక్ పిన్గా ఉపయోగించినప్పుడు, పిన్ను I / O పిన్గా ఉపయోగించలేరు.
CLKI: బాహ్య గడియార మూలం నుండి గడియారపు ఇన్పుట్, చూడండి 26 వ పేజీలోని “బాహ్య గడియారం”.
ADC3: అనలాగ్ టు డిజిటల్ కన్వర్టర్, ఛానల్ 3.
OC1B: విలోమ అవుట్పుట్ మ్యాచ్ అవుట్పుట్ పోల్చండి: అవుట్పుట్ (DDB3 సెట్) గా కాన్ఫిగర్ చేయబడినప్పుడు PB1 పిన్ టైమర్ / కౌంటర్ 3 పోల్చండి మ్యాచ్ B కి బాహ్య అవుట్పుట్గా ఉపయోగపడుతుంది. OC1B పిన్ కూడా PWM మోడ్ టైమర్ ఫంక్షన్ కోసం విలోమ అవుట్పుట్ పిన్.
PCINT3: పిన్ చేంజ్ ఇంటరప్ట్ సోర్స్ 3.
పోర్ట్ B, బిట్ 2 - SCK / ADC1 / T0 / USCK / SCL / INT0 / PCINT2
SCK: మాస్టర్ క్లాక్ అవుట్పుట్, SPI ఛానెల్ కోసం స్లేవ్ క్లాక్ ఇన్పుట్ పిన్. SPI ను స్లేవ్గా ప్రారంభించినప్పుడు, ఈ పిన్ DDB2 యొక్క సెట్టింగ్తో సంబంధం లేకుండా ఇన్పుట్గా కాన్ఫిగర్ చేయబడుతుంది. SPI మాస్టర్గా ప్రారంభించబడినప్పుడు, ఈ పిన్ యొక్క డేటా దిశ DDPB2 చే నియంత్రించబడుతుంది. పిన్ను ఇన్పుట్గా SPI బలవంతం చేసినప్పుడు, పుల్-అప్ను ఇప్పటికీ PORTB2 బిట్ ద్వారా నియంత్రించవచ్చు.
ADC1: అనలాగ్ టు డిజిటల్ కన్వర్టర్, ఛానల్ 1.
T0: టైమర్ / కౌంటర్ 0 కౌంటర్ సోర్స్.
USCK: త్రీ-వైర్ మోడ్ యూనివర్సల్ సీరియల్ ఇంటర్ఫేస్ క్లాక్.
SCL: రెండు-వైర్ మోడ్ USI టూ-వైర్ మోడ్ కోసం సీరియల్ క్లాక్.
INT0: బాహ్య అంతరాయ మూలం 0.
PCINT2: పిన్ చేంజ్ ఇంటరప్ట్ సోర్స్ 2.
పోర్ట్ B, బిట్ 1 - MISO / AIN1 / OC0B / OC1A / DO / PCINT1
MISO: మాస్టర్ డేటా ఇన్పుట్, SPI ఛానెల్ కోసం స్లేవ్ డేటా అవుట్పుట్ పిన్. SPI మాస్టర్గా ప్రారంభించబడినప్పుడు, DDB1 యొక్క సెట్టింగ్తో సంబంధం లేకుండా ఈ పిన్ ఇన్పుట్గా కాన్ఫిగర్ చేయబడుతుంది. SPI ను బానిసగా ప్రారంభించినప్పుడు, ఈ పిన్ యొక్క డేటా దిశ DDB1 చే నియంత్రించబడుతుంది. పిన్ను ఇన్పుట్ చేయమని SPI బలవంతం చేసినప్పుడు, పుల్-అప్ను ఇప్పటికీ PORTB1 బిట్ ద్వారా నియంత్రించవచ్చు.
AIN1: అనలాగ్ కంపారిటర్ నెగటివ్ ఇన్పుట్. డిజిటల్ పోర్ట్ ఫంక్షన్ అనలాగ్ కంపారిటర్ యొక్క పనితీరుతో జోక్యం చేసుకోకుండా ఉండటానికి పోర్ట్ పిన్ను అంతర్గత పుల్-అప్తో ఇన్పుట్గా కాన్ఫిగర్ చేయండి.
OC0B: అవుట్పుట్ మ్యాచ్ అవుట్పుట్ను పోల్చండి. పిబి 1 పిన్ టైమర్ / కౌంటర్ 0 పోలిక మ్యాచ్ బి కోసం బాహ్య అవుట్పుట్గా ఉపయోగపడుతుంది. ఈ ఫంక్షన్ను అందించడానికి పిబి 1 పిన్ను అవుట్పుట్గా (డిడిబి 1 సెట్ (ఒకటి)) కాన్ఫిగర్ చేయాలి. OC0B పిన్ కూడా PWM మోడ్ టైమర్ ఫంక్షన్ కోసం అవుట్పుట్ పిన్.
OC1A: అవుట్పుట్ సరిపోలిక మ్యాచ్ అవుట్పుట్: అవుట్పుట్ (DDB1 సెట్) గా కాన్ఫిగర్ చేయబడినప్పుడు PB1 పిన్ టైమర్ / కౌంటర్ 1 పోల్చండి మ్యాచ్ B కి బాహ్య అవుట్పుట్గా ఉపయోగపడుతుంది. OC1A పిన్ కూడా PWM మోడ్ టైమర్ ఫంక్షన్ కోసం అవుట్పుట్ పిన్.
DO: త్రీ-వైర్ మోడ్ యూనివర్సల్ సీరియల్ ఇంటర్ఫేస్ డేటా అవుట్పుట్. త్రీ-వైర్ మోడ్ డేటా అవుట్పుట్ PORTB1 విలువను భర్తీ చేస్తుంది మరియు డేటా దిశ బిట్ DDB1 సెట్ చేయబడినప్పుడు అది పోర్టుకు నడపబడుతుంది (ఒకటి). దిశ ఇన్పుట్ మరియు PORTB1 సెట్ చేయబడితే (ఒకటి) PORTB1 ఇప్పటికీ పుల్-అప్ను ప్రారంభిస్తుంది.
PCINT1: పిన్ చేంజ్ ఇంటరప్ట్ సోర్స్ 1.
పోర్ట్ B, బిట్ 0 - MOSI / AIN0 / OC0A / OC1A / DI / SDA / AREF / PCINT0
మోసి: ఎస్పిఐ మాస్టర్ డేటా అవుట్పుట్, ఎస్పిఐ ఛానల్ కోసం స్లేవ్ డేటా ఇన్పుట్. SPI ను స్లేవ్గా ప్రారంభించినప్పుడు, ఈ పిన్ DDB0 యొక్క సెట్టింగ్తో సంబంధం లేకుండా ఇన్పుట్గా కాన్ఫిగర్ చేయబడుతుంది. SPI మాస్టర్గా ప్రారంభించబడినప్పుడు, ఈ పిన్ యొక్క డేటా దిశ DDB0 చే నియంత్రించబడుతుంది. పిన్ను ఇన్పుట్ చేయమని SPI బలవంతం చేసినప్పుడు, పుల్-అప్ను ఇప్పటికీ PORTB0 బిట్ ద్వారా నియంత్రించవచ్చు.
AIN0: అనలాగ్ కంపారిటర్ పాజిటివ్ ఇన్పుట్. డిజిటల్ పోర్ట్ ఫంక్షన్ అనలాగ్ కంపారిటర్ యొక్క పనితీరుతో జోక్యం చేసుకోకుండా ఉండటానికి పోర్ట్ పిన్ను అంతర్గత పుల్-అప్తో ఇన్పుట్గా కాన్ఫిగర్ చేయండి.
OC0A: అవుట్పుట్ మ్యాచ్ అవుట్పుట్ను పోల్చండి. అవుట్పుట్ (DDB0 సెట్ (ఒకటి)) గా కాన్ఫిగర్ చేయబడినప్పుడు PB0 పిన్ టైమర్ / కౌంటర్ 0 పోలిక మ్యాచ్ A కోసం బాహ్య అవుట్పుట్గా ఉపయోగపడుతుంది. OC0A పిన్ PWM మోడ్ టైమర్ ఫంక్షన్ కోసం అవుట్పుట్ పిన్.
OC1A: విలోమ అవుట్పుట్ మ్యాచ్ అవుట్పుట్ను పోల్చండి: అవుట్పుట్ (DDB0 సెట్) గా కాన్ఫిగర్ చేయబడినప్పుడు PB1 పిన్ టైమర్ / కౌంటర్ 0 పోల్చండి మ్యాచ్ B కి బాహ్య అవుట్పుట్గా ఉపయోగపడుతుంది. OC1A పిన్ PWM మోడ్ టైమర్ ఫంక్షన్ కోసం విలోమ అవుట్పుట్ పిన్.
SDA: రెండు-వైర్ మోడ్ సీరియల్ ఇంటర్ఫేస్ డేటా.
AREF: ADC కోసం బాహ్య అనలాగ్ సూచన. పిన్ను బాహ్య సూచనగా లేదా అంతర్గత వాల్యూమ్గా ఉపయోగించినప్పుడు PB0లో పుల్లప్ మరియు అవుట్పుట్ డ్రైవర్ నిలిపివేయబడతాయిtage AREF పిన్ వద్ద బాహ్య కెపాసిటర్తో సూచన.
DI: USI త్రీ-వైర్ మోడ్లో డేటా ఇన్పుట్. యుఎస్ఐ త్రీ-వైర్ మోడ్ సాధారణ పోర్ట్ ఫంక్షన్లను భర్తీ చేయదు, కాబట్టి పిన్ DI ఫంక్షన్ కోసం ఇన్పుట్గా కాన్ఫిగర్ చేయాలి.
PCINT0: పిన్ చేంజ్ ఇంటరప్ట్ సోర్స్ 0.
పట్టిక 10-4 మరియు పట్టిక 10-5 పోర్ట్ B యొక్క ప్రత్యామ్నాయ విధులను చూపిన అతివ్యాప్తి సంకేతాలకు వివరించండి మూర్తి 10-5 న పేజీ 58.
పట్టిక 10-4. PBలో ఆల్టర్నేట్ ఫంక్షన్ల కోసం ఓవర్రైడింగ్ సిగ్నల్స్[5:3]
సిగ్నల్ పేరు | PB5 / RESET / ADC0 / PCINT5 | PB4/ADC2/XTAL2/ OC1B/PCINT4 | PB3/ADC3/XTAL1/ OC1B/PCINT3 |
PUOE | ![]() |
0 | 0 |
PUOV | 1 | 0 | 0 |
DDOE | ఆర్ఎస్టిడిఐఎస్బిఎల్(1) W డ్వెన్(1) | 0 | 0 |
DDOV | డీబగ్వైర్ ట్రాన్స్మిట్ | 0 | 0 |
PVOE | 0 | OC1B ప్రారంభించు | ![]() OC1B ప్రారంభించు |
PVOV | 0 | OC1B | OC1B |
PTOE | 0 | 0 | 0 |
DIEOE | ![]() ఆర్ఎస్టిడిఐఎస్బిఎల్(1) + (PCINT5 • PCIE + ADC0D) |
PCINT4 • PCIE + ADC2D | PCINT3 • PCIE + ADC3D |
DIEOV | ADC0D | ADC2D | ADC3D |
DI | PCINT5 ఇన్పుట్ | PCINT4 ఇన్పుట్ | PCINT3 ఇన్పుట్ |
AIO | రీసెట్ ఇన్పుట్, ADC0 ఇన్పుట్ | ADC2 ఇన్పుట్ | ADC3 ఇన్పుట్ |
గమనిక: ఫ్యూజ్ “0” అయినప్పుడు (ప్రోగ్రామ్ చేయబడింది).
పట్టిక 10-5. PBలో ఆల్టర్నేట్ ఫంక్షన్ల కోసం ఓవర్రైడింగ్ సిగ్నల్స్[2:0]
సిగ్నల్ పేరు | PB2/SCK/ADC1/T0/ USCK/SCL/INT0/PCINT2 | PB1/MISO/DO/AIN1/ OC1A/OC0B/PCINT1 | PB0/MOSI/DI/SDA/AIN0/AR EF/OC1A/OC0A/
PCINT0 |
PUOE | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
PUOV | 0 | 0 | 0 |
DDOE | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
DDOV | (USI_SCL_HOLD + PORTB2) • DDB2 | 0 | ![]() ![]() (SDA + PORTB0) • DDB0 |
PVOE | USI_TWO_WIRE • DDB2 | OC0B + OC1A ని ప్రారంభించండి + USI_THREE_WIRE | ![]() OC0A + OC1A ప్రారంభించు + (USI_TWO_WIRE DDB0) |
PVOV | 0 | OC0B + OC1A + DO | ![]() OC0A + OC1A |
PTOE | యుఎస్ఐటిసి | 0 | 0 |
DIEOE | PCINT2 • PCIE + ADC1D + USISIE | PCINT1 • PCIE + AIN1D | PCINT0 • PCIE + AIN0D + USISIE |
DIEOV | ADC1D | AIN1D | AIN0D |
DI | T0 / USCK / SCL / INT0 /
PCINT2 ఇన్పుట్ |
PCINT1 ఇన్పుట్ | DI / SDA / PCINT0 ఇన్పుట్ |
AIO | ADC1 ఇన్పుట్ | అనలాగ్ కంపారిటర్ నెగటివ్ ఇన్పుట్ | అనలాగ్ కంపారిటర్ పాజిటివ్ ఇన్పుట్ |
నమోదు వివరణ
MCUCR - MCU కంట్రోల్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | బాడ్స్ | పుడ్ | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
చదవండి/వ్రాయండి | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
బిట్ 6 - పియుడి: పుల్-అప్ డిసేబుల్
ఈ బిట్ ఒకదానికి వ్రాసినప్పుడు, పుల్-అప్లను ({DDxn, PORTxn} = 0b01) ప్రారంభించడానికి DDxn మరియు PORTxn రిజిస్టర్లు కాన్ఫిగర్ చేయబడినా I / O పోర్ట్లలోని పుల్-అప్లు నిలిపివేయబడతాయి. చూడండి 54 వ పేజీలోని “పిన్ను కాన్ఫిగర్ చేస్తోంది” ఈ లక్షణం గురించి మరిన్ని వివరాల కోసం.
PORTB - పోర్ట్ B డేటా రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x18 | – | – | PORTB5 | PORTB4 | PORTB3 | PORTB2 | PORTB1 | PORTB0 | పోర్ట్బి |
చదవండి/వ్రాయండి | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DDRB - పోర్ట్ B డేటా డైరెక్షన్ రిజిస్టర్
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x17 | – | – | డిడిబి 5 | డిడిబి 4 | డిడిబి 3 | డిడిబి 2 | డిడిబి 1 | డిడిబి 0 | డిడిఆర్బి |
చదవండి/వ్రాయండి | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
పిన్బి - పోర్ట్ బి ఇన్పుట్ పిన్స్ చిరునామా
బిట్ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x16 | – | – | PINB5 | PINB4 | PINB3 | PINB2 | PINB1 | PINB0 | పిన్బి |
చదవండి/వ్రాయండి | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
ప్రారంభ విలువ | 0 | 0 | N/A | N/A | N/A | N/A | N/A | N/A |
PWM తో 8-బిట్ టైమర్ / కౌంటర్ 0
ఫీచర్లు
రెండు స్వతంత్ర అవుట్పుట్ యూనిట్లను పోల్చండి
డబుల్ బఫర్డ్ అవుట్పుట్ రిజిస్టర్లను సరిపోల్చండి
పోలిక మ్యాచ్ (ఆటో రీలోడ్) పై టైమర్ క్లియర్ చేయండి
గ్లిచ్ ఫ్రీ, ఫేజ్ కరెక్ట్ పల్స్ వెడల్పు మాడ్యులేటర్ (పిడబ్ల్యుఎం)
వేరియబుల్ PWM కాలం
ఫ్రీక్వెన్సీ జనరేటర్
మూడు స్వతంత్ర అంతరాయ వనరులు (TOV0, OCF0A మరియు OCF0B)
పైగాview
టైమర్ / కౌంటర్ 0 అనేది ఒక సాధారణ ప్రయోజనం 8-బిట్ టైమర్ / కౌంటర్ మాడ్యూల్, రెండు స్వతంత్ర అవుట్పుట్ కంపేర్ యూనిట్లతో మరియు PWM మద్దతుతో. ఇది ఖచ్చితమైన ప్రోగ్రామ్ ఎగ్జిక్యూషన్ టైమింగ్ (ఈవెంట్ మేనేజ్మెంట్) మరియు వేవ్ జనరేషన్ను అనుమతిస్తుంది.
8-బిట్ టైమర్ / కౌంటర్ యొక్క సరళీకృత బ్లాక్ రేఖాచిత్రం చూపబడింది మూర్తి 11-1. I / O పిన్స్ యొక్క వాస్తవ స్థానం కోసం, చూడండి 25 వ పేజీలోని “పిన్అవుట్ ATtiny45 / 85/2”. I / O బిట్స్ మరియు I / O పిన్లతో సహా CPU యాక్సెస్ చేయగల I / O రిజిస్టర్లు బోల్డ్లో చూపించబడ్డాయి. పరికర-నిర్దిష్ట I / O రిజిస్టర్ మరియు బిట్ స్థానాలు 77 వ పేజీలోని “రిజిస్టర్ వివరణ”.
టైమర్/కౌంటర్ (TCNT0) మరియు అవుట్పుట్ కంపేర్ రిజిస్టర్లు (OCR0A మరియు OCR0B) 8-బిట్ రిజిస్టర్లు. అంతరాయ అభ్యర్థన (చిత్రంలో Int.Req. అని సంక్షిప్తీకరించబడింది) సిగ్నల్స్ అన్నీ టైమర్ అంతరాయ ఫ్లాగ్ రిజిస్టర్ (TIFR)లో కనిపిస్తాయి. టైమర్ ఇంటరప్ట్ మాస్క్ రిజిస్టర్ (TIMSK)తో అన్ని అంతరాయాలు ఒక్కొక్కటిగా కప్పబడి ఉంటాయి. TIFR మరియు TIMSK చిత్రంలో చూపబడలేదు.
టైమర్/కౌంటర్ను ప్రీస్కేలర్ ద్వారా లేదా T0 పిన్లో బాహ్య క్లాక్ సోర్స్ ద్వారా అంతర్గతంగా క్లాక్ చేయవచ్చు. క్లాక్ సెలెక్ట్ లాజిక్ బ్లాక్ టైమర్/కౌంటర్ దాని విలువను పెంచడానికి (లేదా తగ్గించడానికి) ఉపయోగించే క్లాక్ సోర్స్ మరియు ఎడ్జ్ని నియంత్రిస్తుంది. క్లాక్ సోర్స్ ఎంచుకోనప్పుడు టైమర్/కౌంటర్ నిష్క్రియంగా ఉంటుంది. క్లాక్ సెలెక్ట్ లాజిక్ నుండి అవుట్పుట్ టైమర్ క్లాక్ (clkT0)గా సూచించబడుతుంది.
డబుల్ బఫర్డ్ అవుట్పుట్ కంపేర్ రిజిస్టర్స్ (OCR0A మరియు OCR0B) ను టైమర్ / కౌంటర్ విలువతో అన్ని సమయాల్లో పోల్చారు. అవుట్పుట్ కంపేర్ పిన్స్ (OC0A మరియు OC0B) పై PWM లేదా వేరియబుల్ ఫ్రీ-క్వెన్సీ అవుట్పుట్ను ఉత్పత్తి చేయడానికి వేవ్ఫార్మ్ జనరేటర్ ద్వారా పోలిక ఫలితం ఉపయోగించబడుతుంది. 69 వ పేజీలోని “అవుట్పుట్ కంపేర్ యూనిట్” చూడండి. వివరాల కోసం. పోలిక మ్యాచ్ ఈవెంట్ పోలిక ఫ్లాగ్ (OCF0A లేదా OCF0B) ను కూడా సెట్ చేస్తుంది, ఇది అవుట్పుట్ను పోల్చడానికి అంతరాయ అభ్యర్థనను పోల్చడానికి ఉపయోగపడుతుంది.
నిర్వచనాలు
ఈ విభాగంలో చాలా రిజిస్టర్ మరియు బిట్ సూచనలు సాధారణ రూపంలో వ్రాయబడ్డాయి. ఒక చిన్న కేసు “n” టైమర్ / కౌంటర్ సంఖ్యను భర్తీ చేస్తుంది, ఈ సందర్భంలో 0. తక్కువ కేసు “x” అవుట్పుట్ పోలిక యూనిట్ను భర్తీ చేస్తుంది, ఈ సందర్భంలో యూనిట్ A ని పోల్చండి లేదా యూనిట్ B ని పోల్చండి. అయితే, రిజిస్టర్ లేదా బిట్ నిర్వచనాలను ఉపయోగిస్తున్నప్పుడు ఒక ప్రోగ్రామ్లో, టైమర్ / కౌంటర్ 0 కౌంటర్ విలువను యాక్సెస్ చేయడానికి ఖచ్చితమైన రూపం అంటే TCNT0 ఉపయోగించాలి.
లో నిర్వచనాలు పట్టిక 11-1 పత్రం అంతటా విస్తృతంగా ఉపయోగించబడతాయి.
పట్టిక 11-1. నిర్వచనాలు
స్థిరమైన | వివరణ |
దిగువ | కౌంటర్ 0x00 అయినప్పుడు BOTTOM కి చేరుకుంటుంది |
గరిష్టంగా | కౌంటర్ 0xFF (దశాంశ 255) అయినప్పుడు దాని గరిష్ట స్థాయికి చేరుకుంటుంది |
టాప్ | కౌంట్ సీక్వెన్స్లో అత్యధిక విలువకు సమానమైనప్పుడు కౌంటర్ TOP కి చేరుకుంటుంది. TOP విలువను స్థిర విలువ 0xFF (MAX) లేదా OCR0A రిజిస్టర్లో నిల్వ చేసిన విలువగా కేటాయించవచ్చు. అసైన్మెంట్ ఆపరేషన్ మోడ్ మీద ఆధారపడి ఉంటుంది |
టైమర్ / కౌంటర్ ప్రెస్కాలర్ మరియు క్లాక్ సోర్సెస్
టైమర్ / కౌంటర్ అంతర్గత లేదా బాహ్య గడియార మూలం ద్వారా క్లాక్ చేయవచ్చు. గడియారం మూలాన్ని క్లాక్ సెలెక్ట్ లాజిక్ ద్వారా ఎంపిక చేస్తారు, ఇది టైమర్ / కౌంటర్ 0 కంట్రోల్ రిజిస్టర్ (టిసిసిఆర్ 0 బి) లో ఉన్న క్లాక్ సెలెక్ట్ (సి) బిట్స్ ద్వారా నియంత్రించబడుతుంది.
ప్రెస్కాలర్తో అంతర్గత గడియార మూలం
టైమర్/కౌంటర్0ని సిస్టమ్ క్లాక్ ద్వారా నేరుగా క్లాక్ చేయవచ్చు (CS0[2:0] = 1 సెట్ చేయడం ద్వారా). సిస్టమ్ క్లాక్ ఫ్రీక్వెన్సీ (fCLK_I/O)కి సమానమైన గరిష్ట టైమర్/కౌంటర్ క్లాక్ ఫ్రీక్వెన్సీతో ఇది వేగవంతమైన ఆపరేషన్ను అందిస్తుంది. ప్రత్యామ్నాయంగా, ప్రీస్కేలర్ నుండి నాలుగు ట్యాప్లలో ఒకదాన్ని క్లాక్ సోర్స్గా ఉపయోగించవచ్చు. ప్రీస్కేల్ చేయబడిన గడియారంలో ఏదైనా ఒక ఫ్రీక్వెన్సీ ఉంటుంది
ప్రెస్కాలర్ రీసెట్
ప్రీస్కేలర్ ఉచితంగా నడుస్తుంది, అనగా ఇది టైమర్/కౌంటర్0 యొక్క క్లాక్ సెలెక్ట్ లాజిక్ నుండి స్వతంత్రంగా పనిచేస్తుంది. టైమర్/కౌంటర్ యొక్క గడియారం ఎంపిక ద్వారా ప్రీస్కేలర్ ప్రభావితం కానందున, ప్రీస్కేల్ చేయబడిన గడియారాన్ని ఉపయోగించే పరిస్థితులకు ప్రీస్కేలర్ యొక్క స్థితి చిక్కులను కలిగి ఉంటుంది. ఒక మాజీampప్రీస్కేలింగ్ ఆర్టిఫ్యాక్ట్ యొక్క le టైమర్/కౌంటర్ ప్రీస్కేలర్ ద్వారా ప్రారంభించబడి మరియు క్లాక్ చేయబడినప్పుడు (6 > CS0[2:0] > 1). టైమర్ ప్రారంభించబడినప్పటి నుండి మొదటి గణన వరకు సిస్టమ్ క్లాక్ సైకిల్ల సంఖ్య 1 నుండి N+1 సిస్టమ్ క్లాక్ సైకిల్స్ వరకు ఉంటుంది, ఇక్కడ N ప్రీస్కేలర్ డివైజర్ (8, 64, 256, లేదా 1024)కి సమానం.
ప్రోగ్రామ్ అమలుకు టైమర్ / కౌంటర్ను సమకాలీకరించడానికి ప్రెస్కాలర్ రీసెట్ను ఉపయోగించడం సాధ్యపడుతుంది.
బాహ్య గడియార మూలం
T0 పిన్కు వర్తించే బాహ్య గడియార మూలాన్ని టైమర్/కౌంటర్ క్లాక్ (clkT0)గా ఉపయోగించవచ్చు. T0 పిన్ sampపిన్ సింక్రొనైజేషన్ లాజిక్ ద్వారా ప్రతి సిస్టమ్ క్లాక్ సైకిల్కు ఒకసారి దారితీసింది. సమకాలీకరించబడిన (లుampled) సిగ్నల్ పాస్ చేయబడుతుంది
అంచు డిటెక్టర్ ద్వారా. మూర్తి 11-2 T0 సింక్రొనైజేషన్ మరియు ఎడ్జ్ డిటెక్టర్ లాజిక్ యొక్క ఫంక్షనల్ సమానమైన బ్లాక్ రేఖాచిత్రాన్ని చూపుతుంది. రిజిస్టర్లు అంతర్గత సిస్టమ్ గడియారం (clkI/O) యొక్క సానుకూల అంచు వద్ద క్లాక్ చేయబడతాయి. అంతర్గత సిస్టమ్ గడియారం యొక్క అధిక వ్యవధిలో గొళ్ళెం పారదర్శకంగా ఉంటుంది.
ఎడ్జ్ డిటెక్టర్ అది గుర్తించే ప్రతి పాజిటివ్ (CS0[0:2] = 0) లేదా నెగటివ్ (CS7[0:2] = 0) ఎడ్జ్కి ఒక clkT6 పల్స్ని ఉత్పత్తి చేస్తుంది.
పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం) మోడ్లను ఉపయోగించినప్పుడు OCR0x రిజిస్టర్లు డబుల్ బఫర్ చేయబడతాయి. సాధారణ మరియు క్లియర్ టైమర్ ఆన్ కంపేర్ (సిటిసి) ఆపరేషన్ మోడ్ల కోసం, డబుల్ బఫరింగ్ నిలిపివేయబడింది. డబుల్ బఫ్-ఓరింగ్ OCR0x యొక్క నవీకరణను కౌంటింగ్ సీక్వెన్స్ యొక్క ఎగువ లేదా దిగువకు సమకాలీకరిస్తుంది. సింక్రొనైజేషన్ బేసి-పొడవు, నాన్-సిమెట్రిక్ పిడబ్ల్యుఎం పప్పులు సంభవించడాన్ని నిరోధిస్తుంది, తద్వారా అవుట్పుట్ లోపం లేకుండా చేస్తుంది.
OCR0x రిజిస్టర్ యాక్సెస్ సంక్లిష్టంగా అనిపించవచ్చు, కానీ ఇది అలా కాదు. డబుల్ బఫరింగ్ ప్రారంభించబడినప్పుడు, CPU కి OCR0x బఫర్ రిజిస్టర్కు ప్రాప్యత ఉంటుంది మరియు డబుల్ బఫరింగ్ నిలిపివేయబడితే CPU నేరుగా OCR0x ని యాక్సెస్ చేస్తుంది.
ఫోర్స్ అవుట్పుట్ పోల్చండి
నాన్-పిడబ్ల్యుఎమ్ వేవ్ఫార్మ్ జనరేషన్ మోడ్లలో, ఫోర్స్ అవుట్పుట్ కంపేర్ (ఎఫ్ఓసి 0 ఎక్స్) బిట్కు ఒకదాన్ని రాయడం ద్వారా కంపారిటర్ యొక్క మ్యాచ్ అవుట్పుట్ను బలవంతం చేయవచ్చు. పోలిక మ్యాచ్ను బలవంతం చేయడం OCF0x ఫ్లాగ్ను సెట్ చేయదు లేదా టైమర్ను మళ్లీ లోడ్ చేస్తుంది / క్లియర్ చేయదు, కానీ OC0x పిన్ నిజమైన పోలిక మ్యాచ్ జరిగినట్లుగా నవీకరించబడుతుంది (COM0x [1: 0] బిట్స్ సెట్టింగులు OC0x పిన్ సెట్ చేయబడిందా, క్లియర్ చేయబడిందో నిర్వచించాయి లేదా టోగుల్ చేయబడింది).
TCNT0 వ్రాయడం ద్వారా మ్యాచ్ నిరోధించడాన్ని సరిపోల్చండి
TCNT0 రిజిస్టర్కు అన్ని CPU వ్రాసే కార్యకలాపాలు టైమర్ ఆపివేయబడినప్పటికీ, తదుపరి టైమర్ గడియార చక్రంలో సంభవించే ఏదైనా సరిపోలిక మ్యాచ్ను బ్లాక్ చేస్తుంది. టైమర్ / కౌంటర్ గడియారం ప్రారంభించబడినప్పుడు అంతరాయాన్ని ప్రేరేపించకుండా OCR0x ను TCNT0 వలె అదే విలువకు ప్రారంభించడానికి ఈ లక్షణం అనుమతిస్తుంది.
అవుట్పుట్ పోలిక యూనిట్ ఉపయోగించి
ఏదైనా ఆపరేషన్ మోడ్లో TCNT0 రాయడం అన్ని టైమర్ క్లాక్ సైకిల్ కోసం సరిపోల్చండి మ్యాచ్లను బ్లాక్ చేస్తుంది కాబట్టి, టైమర్ / కౌంటర్ నడుస్తుందా లేదా అనేదానికి భిన్నంగా, అవుట్పుట్ కంపేర్ యూనిట్ను ఉపయోగిస్తున్నప్పుడు TCNT0 ని మార్చేటప్పుడు ప్రమాదాలు ఉన్నాయి. TCNT0 కు వ్రాసిన విలువ OCR0x విలువకు సమానం అయితే, సరిపోల్చండి మ్యాచ్ తప్పిపోతుంది, దీని ఫలితంగా తప్పు తరంగ రూప ఉత్పత్తి అవుతుంది. అదేవిధంగా, కౌంటర్ డౌన్-కౌంటింగ్ ఉన్నప్పుడు TCNT0 విలువను BOTTOM కు సమానంగా వ్రాయవద్దు.
పోర్ట్ పిన్ అవుట్పుట్కు డేటా డైరెక్షన్ రిజిస్టర్ను సెట్ చేయడానికి ముందు OC0x యొక్క సెటప్ చేయాలి. OC0x విలువను సెట్ చేయడానికి సులభమైన మార్గం ఫోర్స్ అవుట్పుట్ కంపేర్ (FOC0x) స్ట్రోబ్ బిట్లను సాధారణ మోడ్లో ఉపయోగించడం. వేవ్ఫార్మ్ జనరేషన్ మోడ్ల మధ్య మారుతున్నప్పుడు కూడా OC0x రిజిస్టర్లు వాటి విలువలను ఉంచుతాయి.
COM0x [1: 0] బిట్స్ పోలిక విలువతో కలిసి డబుల్ బఫర్ చేయబడవని తెలుసుకోండి. COM0x [1: 0] బిట్లను మార్చడం వెంటనే అమలులోకి వస్తుంది.
మ్యాచ్ అవుట్పుట్ యూనిట్ను సరిపోల్చండి
అవుట్పుట్ మోడ్ను పోల్చండి (COM0x [1: 0]) బిట్లకు రెండు విధులు ఉన్నాయి. వేవ్ఫార్మ్ జనరేటర్ తదుపరి పోలిక మ్యాచ్లో అవుట్పుట్ కంపేర్ (OC0x) స్థితిని నిర్వచించడానికి COM1x [0: 0] బిట్లను ఉపయోగిస్తుంది. అలాగే, COM0x [1: 0] బిట్స్ OC0x పిన్ అవుట్పుట్ మూలాన్ని నియంత్రిస్తాయి. మూర్తి 11-6 COM0x [1: 0] బిట్ సెట్టింగ్ ద్వారా ప్రభావితమైన తర్కం యొక్క సరళీకృత స్కీమాటిక్ చూపిస్తుంది. చిత్రంలోని I / O రిజిస్టర్లు, I / O బిట్స్ మరియు I / O పిన్స్ బోల్డ్లో చూపించబడ్డాయి. COM0x [1: 0] బిట్ల ద్వారా ప్రభావితమయ్యే సాధారణ I / O పోర్ట్ కంట్రోల్ రిజిస్టర్ల (DDR మరియు PORT) భాగాలు మాత్రమే చూపించబడతాయి. OC0x స్థితిని సూచించేటప్పుడు, సూచన OC0x పిన్ కోసం కాకుండా అంతర్గత OC0x రిజిస్టర్ కోసం. సిస్టమ్ రీసెట్ జరిగితే, OC0x రిజిస్టర్ “0” కు రీసెట్ చేయబడుతుంది.
OC0A / OC0B I / O పిన్తో అనుసంధానించబడినప్పుడు, COM0A [1: 0] / COM0B [1: 0] బిట్ల పనితీరు WGM0 [2: 0] బిట్ సెట్టింగ్పై ఆధారపడి ఉంటుంది. పట్టిక 11-2 WGM0 [1: 0] బిట్స్ సాధారణ లేదా CTC మోడ్కు (PWM కానివి) సెట్ చేయబడినప్పుడు COM0x [2: 0] బిట్ కార్యాచరణను చూపుతుంది.
పట్టిక 11-2. అవుట్పుట్ మోడ్, నాన్-పిడబ్ల్యుఎం మోడ్ని సరిపోల్చండి
COM0A1 COM0B1 | COM0A0 COM0B0 | వివరణ |
0 | 0 | సాధారణ పోర్ట్ ఆపరేషన్, OC0A / OC0B డిస్కనెక్ట్ చేయబడింది. |
0 | 1 | సరిపోలిక మ్యాచ్లో OC0A / OC0B ని టోగుల్ చేయండి |
1 | 0 | పోలిక మ్యాచ్లో OC0A / OC0B ని క్లియర్ చేయండి |
1 | 1 | పోలిక మ్యాచ్లో OC0A / OC0B ని సెట్ చేయండి |
పట్టిక 11-3 WGM0 [1: 0] బిట్స్ వేగంగా PWM మోడ్కు సెట్ చేయబడినప్పుడు COM0x [2: 0] బిట్ కార్యాచరణను చూపుతుంది.
పట్టిక 11-3. అవుట్పుట్ మోడ్, ఫాస్ట్ PWM మోడ్ను సరిపోల్చండి(1)
COM0A1 COM0B1 | COM0A0 COM0B0 | వివరణ |
0 | 0 | సాధారణ పోర్ట్ ఆపరేషన్, OC0A / OC0B డిస్కనెక్ట్ చేయబడింది. |
0 | 1 | రిజర్వ్ చేయబడింది |
1 | 0 | పోలిక మ్యాచ్లో OC0A / OC0B ని క్లియర్ చేయండి, BOTTOM వద్ద OC0A / OC0B ని సెట్ చేయండి (ఇన్వర్టింగ్ కాని మోడ్) |
1 | 1 | పోలిక మ్యాచ్లో OC0A / OC0B ని సెట్ చేయండి, BOTTOM వద్ద OC0A / OC0B ని క్లియర్ చేయండి (విలోమ మోడ్) |
గమనిక: OCR0A లేదా OCR0B TOPకి సమానం అయినప్పుడు మరియు COM0A1/COM0B1 సెట్ చేయబడినప్పుడు ఒక ప్రత్యేక సందర్భం ఏర్పడుతుంది. ఈ సందర్భంలో, సరిపోలిక విస్మరించబడుతుంది, కానీ సెట్ లేదా క్లియర్ బాటమ్లో చేయబడుతుంది. చూడండి 73 వ పేజీలోని “ఫాస్ట్ పిడబ్ల్యుఎం మోడ్” మరిన్ని వివరాల కోసం.
పట్టిక 11-4 WGM0 [1: 0] బిట్స్ దశ సరైన PWM మోడ్కు సెట్ చేయబడినప్పుడు COM0x [2: 0] బిట్ కార్యాచరణను చూపుతుంది.
పట్టిక 11-4. అవుట్పుట్ మోడ్, ఫేజ్ కరెక్ట్ PWM మోడ్ సరిపోల్చండి(1)
COM0A1 COM0B1 | COM0A0 COM0B0 | వివరణ |
0 | 0 | సాధారణ పోర్ట్ ఆపరేషన్, OC0A / OC0B డిస్కనెక్ట్ చేయబడింది. |
0 | 1 | రిజర్వ్ చేయబడింది |
1 | 0 | అప్-కౌంటింగ్ చేసేటప్పుడు పోలిక మ్యాచ్లో OC0A / OC0B ని క్లియర్ చేయండి. డౌన్-కౌంటింగ్ చేసేటప్పుడు సరిపోల్చండి మ్యాచ్లో OC0A / OC0B ని సెట్ చేయండి. |
1 | 1 | అప్-కౌంటింగ్ చేసేటప్పుడు సరిపోల్చండి మ్యాచ్లో OC0A / OC0B ని సెట్ చేయండి. డౌన్-కౌంటింగ్ చేసేటప్పుడు పోలిక మ్యాచ్లో OC0A / OC0B ని క్లియర్ చేయండి. |
గమనిక: 1. OCR0A లేదా OCR0B TOPకి సమానం అయినప్పుడు మరియు COM0A1/COM0B1 సెట్ చేయబడినప్పుడు ఒక ప్రత్యేక సందర్భం ఏర్పడుతుంది. ఈ సందర్భంలో, సరిపోలిక విస్మరించబడుతుంది, కానీ సెట్ లేదా క్లియర్ TOPలో చేయబడుతుంది. చూడండి 74 వ పేజీలోని “దశ సరైన PWM మోడ్” మరిన్ని వివరాల కోసం.
బిట్స్ 3: 2 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్స్ 1: 0 - WGM0 [1: 0]: వేవ్ఫార్మ్ జనరేషన్ మోడ్
TCCR02B రిజిస్టర్లో కనిపించే WGM0 బిట్తో కలిపి, ఈ బిట్లు కౌంటర్ యొక్క లెక్కింపు క్రమాన్ని, గరిష్ట (TOP) కౌంటర్ విలువకు మూలం మరియు ఏ రకమైన తరంగ రూప తరం ఉపయోగించాలో నియంత్రిస్తాయి, చూడండి పట్టిక 11-5. టైమర్ / కౌంటర్ యూనిట్ చేత మద్దతిచ్చే ఆపరేషన్ మోడ్లు: సాధారణ మోడ్ (కౌంటర్), పోలిక మ్యాచ్ (సిటిసి) మోడ్లో క్లియర్ టైమర్ మరియు రెండు రకాల పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం) మోడ్లు (చూడండి “ఆపరేషన్ రీతులు” 71వ పేజీలో).
పట్టిక 11-5. వేవ్ఫార్మ్ జనరేషన్ మోడ్ బిట్ వివరణ
మోడ్ | WGM 02 | WGM 01 | WGM 00 | టైమర్ / కౌంటర్ మోడ్ ఆఫ్ ఆపరేషన్ | టాప్ | వద్ద OCRx యొక్క నవీకరణ | TOV ఫ్లాగ్ సెట్ చేయబడింది |
0 | 0 | 0 | 0 | సాధారణ | 0xFF | వెంటనే | గరిష్టంగా(1) |
1 | 0 | 0 | 1 | పిడబ్ల్యుఎం, ఫేజ్ కరెక్ట్ | 0xFF | టాప్ | దిగువ(2) |
2 | 0 | 1 | 0 | CTC | ఓసీఆర్ఏ | వెంటనే | గరిష్టంగా(1) |
3 | 0 | 1 | 1 | వేగవంతమైన PWM | 0xFF | దిగువ(2) | గరిష్టంగా(1) |
4 | 1 | 0 | 0 | రిజర్వ్ చేయబడింది | – | – | – |
5 | 1 | 0 | 1 | పిడబ్ల్యుఎం, ఫేజ్ కరెక్ట్ | ఓసీఆర్ఏ | టాప్ | దిగువ(2) |
6 | 1 | 1 | 0 | రిజర్వ్ చేయబడింది | – | – | – |
7 | 1 | 1 | 1 | వేగవంతమైన PWM | ఓసీఆర్ఏ | దిగువ(2) | టాప్ |
బిట్ 7 - FOC0A: ఫోర్స్ అవుట్పుట్ పోల్చండి A.
WGM బిట్స్ PWM కాని మోడ్ను పేర్కొన్నప్పుడు మాత్రమే FOC0A బిట్ సక్రియంగా ఉంటుంది.
అయినప్పటికీ, భవిష్యత్ పరికరాలతో అనుకూలతను నిర్ధారించడానికి, PWM మోడ్లో పనిచేసేటప్పుడు TCCR0B వ్రాయబడినప్పుడు ఈ బిట్ను సున్నాకి సెట్ చేయాలి. FOC0A బిట్కు తార్కికదాన్ని వ్రాసేటప్పుడు, వేవ్ఫార్మ్ జనరేషన్ యూనిట్లో తక్షణ పోలిక మ్యాచ్ బలవంతంగా వస్తుంది. OC0A అవుట్పుట్ దాని COM0A [1: 0] బిట్స్ సెట్టింగ్ ప్రకారం మార్చబడుతుంది. FOC0A బిట్ స్ట్రోబ్గా అమలు చేయబడుతుందని గమనించండి. అందువల్ల ఇది COM0A [1: 0] బిట్స్లో ఉన్న విలువ, బలవంతంగా పోల్చడం యొక్క ప్రభావాన్ని నిర్ణయిస్తుంది.
FOC0A స్ట్రోబ్ ఎటువంటి అంతరాయాన్ని సృష్టించదు, లేదా CTR మోడ్లో OCR0A ను TOP గా ఉపయోగించి టైమర్ను క్లియర్ చేయదు. FOC0A బిట్ ఎల్లప్పుడూ సున్నాగా చదవబడుతుంది.
బిట్ 6 - FOC0B: ఫోర్స్ అవుట్పుట్ పోల్చండి B.
WGM బిట్స్ PWM కాని మోడ్ను పేర్కొన్నప్పుడు మాత్రమే FOC0B బిట్ సక్రియంగా ఉంటుంది.
అయినప్పటికీ, భవిష్యత్ పరికరాలతో అనుకూలతను నిర్ధారించడానికి, PWM మోడ్లో పనిచేసేటప్పుడు TCCR0B వ్రాయబడినప్పుడు ఈ బిట్ను సున్నాకి సెట్ చేయాలి. FOC0B బిట్కు తార్కికదాన్ని వ్రాసేటప్పుడు, వేవ్ఫార్మ్ జనరేషన్ యూనిట్లో తక్షణ పోలిక మ్యాచ్ బలవంతంగా వస్తుంది. OC0B అవుట్పుట్ దాని COM0B [1: 0] బిట్స్ సెట్టింగ్ ప్రకారం మార్చబడుతుంది. FOC0B బిట్ స్ట్రోబ్గా అమలు చేయబడుతుందని గమనించండి. అందువల్ల ఇది COM0B [1: 0] బిట్స్లో ఉన్న విలువ, బలవంతంగా పోల్చడం యొక్క ప్రభావాన్ని నిర్ణయిస్తుంది.
FOC0B స్ట్రోబ్ ఎటువంటి అంతరాయాన్ని సృష్టించదు, లేదా CTR మోడ్లో OCR0B ని TOP గా ఉపయోగించి టైమర్ను క్లియర్ చేయదు.
FOC0B బిట్ ఎల్లప్పుడూ సున్నాగా చదవబడుతుంది.
బిట్స్ 5: 4 - రెస్: రిజర్వు చేసిన బిట్స్
ఈ బిట్స్ ATtiny25 / 45/85 లో రిజర్వు చేయబడిన బిట్స్ మరియు ఎల్లప్పుడూ సున్నాగా చదవబడతాయి.
బిట్ 3 - WGM02: వేవ్ఫార్మ్ జనరేషన్ మోడ్
లో వివరణ చూడండి 0 వ పేజీలోని “TCCR77A - టైమర్ / కౌంటర్ కంట్రోల్ రిజిస్టర్ A”.
బిట్స్ 2: 0 - CS0 [2: 0]: క్లాక్ సెలెక్ట్
మూడు క్లాక్ సెలెక్ట్ బిట్స్ టైమర్ / కౌంటర్ ఉపయోగించాల్సిన గడియార మూలాన్ని ఎంచుకుంటాయి.
పట్టిక 11-6. గడియారం బిట్ వివరణను ఎంచుకోండి
CS02 | CS01 | CS00 | వివరణ |
0 | 0 | 0 | గడియార మూలం లేదు (టైమర్ / కౌంటర్ ఆగిపోయింది) |
0 | 0 | 1 | clkI/O/(ప్రీస్కేలింగ్ లేదు) |
0 | 1 | 0 | clkI/O/8 (ప్రీస్కేలర్ నుండి) |
0 | 1 | 1 | clkI/O/64 (ప్రీస్కేలర్ నుండి) |
1 | 0 | 0 | clkI/O/256 (ప్రీస్కేలర్ నుండి) |
1 | 0 | 1 | clkI/O/1024 (ప్రీస్కేలర్ నుండి) |
1 | 1 | 0 | T0 పిన్లో బాహ్య గడియార మూలం. పడిపోయే అంచున గడియారం. |
1 | 1 | 1 | T0 పిన్లో బాహ్య గడియార మూలం. పెరుగుతున్న అంచున గడియారం. |
టైమర్ / కౌంటర్ 0 కోసం బాహ్య పిన్ మోడ్లు ఉపయోగించినట్లయితే, పిన్ అవుట్పుట్గా కాన్ఫిగర్ చేయబడినా T0 పిన్పై పరివర్తనాలు కౌంటర్ను క్లాక్ చేస్తాయి. ఈ లక్షణం లెక్కింపు యొక్క సాఫ్ట్వేర్ నియంత్రణను అనుమతిస్తుంది.
కౌంటర్ మరియు యూనిట్లను పోల్చండి
టైమర్ / కౌంటర్ 1 సాధారణ ఆపరేషన్ అసమకాలిక మోడ్లో వివరించబడింది మరియు ఈ రెండు మోడ్ల మధ్య తేడాలు ఉంటేనే సింక్రోనస్ మోడ్లోని ఆపరేషన్ ప్రస్తావించబడుతుంది. మూర్తి 12-2 టైమర్ / కౌంటర్ 1 సింక్రొనైజేషన్ రిజిస్టర్ బ్లాక్ రేఖాచిత్రం మరియు రిజిస్టర్ల మధ్య సమకాలీకరణ ఆలస్యాన్ని చూపుతుంది. అన్ని గడియారాల వివరాలు చిత్రంలో చూపబడవని గమనించండి. టైమర్ / కౌంటర్ 1 రిజిస్టర్ విలువలు అంతర్గత సమకాలీకరణ రిజిస్టర్ల ద్వారా వెళతాయి, ఇవి కౌంటర్ ఆపరేషన్ను ప్రభావితం చేసే ముందు ఇన్పుట్ సింక్రొనైజేషన్ ఆలస్యాన్ని కలిగిస్తాయి. రిజిస్టర్లు TCCR1, GTCCR, OCR1A, OCR1B, మరియు OCR1C లను రిజిస్టర్ వ్రాసిన వెంటనే తిరిగి చదవవచ్చు. ఇన్పుట్ మరియు అవుట్పుట్ సింక్రొనైజేషన్ కారణంగా టైమర్ / కౌంటర్ 1 (టిసిఎన్టి 1) రిజిస్టర్ మరియు ఫ్లాగ్స్ (ఓసిఎఫ్ 1 ఎ, ఓసిఎఫ్ 1 బి, మరియు TOV1) కోసం రీడ్ బ్యాక్ విలువలు ఆలస్యం అవుతాయి.
టైమర్ / కౌంటర్ 1 అధిక రిజల్యూషన్ మరియు తక్కువ ప్రీస్కేలింగ్ అవకాశాలతో అధిక ఖచ్చితత్వ వినియోగాన్ని కలిగి ఉంది. ఇది 8 MHz (లేదా తక్కువ స్పీడ్ మోడ్లో 64 MHz) వరకు గడియార వేగాన్ని ఉపయోగించి రెండు ఖచ్చితమైన, అధిక వేగం, 32-బిట్ పల్స్ వెడల్పు మాడ్యులేటర్లకు మద్దతు ఇవ్వగలదు. ఈ మోడ్లో, టైమర్ / కౌంటర్ 1 మరియు అవుట్పుట్ పోలిక రిజిస్టర్లు ద్వంద్వ స్టాండ్-ఒంటరిగా పిడబ్ల్యుఎమ్లుగా పనిచేస్తాయి, అవి అతివ్యాప్తి చెందని విలోమ మరియు విలోమ అవుట్పుట్లతో ఉంటాయి. చూడండి పేజీ 86 ఈ ఫంక్షన్ పై వివరణాత్మక వివరణ కోసం. అదేవిధంగా, అధిక ప్రీస్కేలింగ్ అవకాశాలు ఈ యూనిట్ తక్కువ వేగం ఫంక్షన్లకు లేదా అరుదైన చర్యలతో ఖచ్చితమైన టైమింగ్ ఫంక్షన్లకు ఉపయోగపడతాయి.
మూర్తి 12-2. టైమర్/కౌంటర్ 1 సింక్రొనైజేషన్ రిజిస్టర్ బ్లాక్ రేఖాచిత్రం.
టైమర్ / కౌంటర్ 1 మరియు ప్రీస్కాలర్ ఏ క్లాక్ సోర్స్ నుండి అయినా సిపియుని నడపడానికి అనుమతిస్తాయి, అయితే ప్రీస్కాలర్ అసమకాలిక మోడ్లో వేగంగా 64 MHz (లేదా తక్కువ స్పీడ్ మోడ్లో 32 MHz) PCK గడియారంలో పనిచేస్తోంది.
సిస్టమ్ క్లాక్ ఫ్రీక్వెన్సీ పిసికె ఫ్రీక్వెన్సీలో మూడింట ఒక వంతు కంటే తక్కువగా ఉండాలి. సిస్టమ్ గడియారం ఎక్కువగా ఉన్నప్పుడు అసమకాలిక టైమర్ / కౌంటర్ 1 యొక్క సమకాలీకరణ యంత్రాంగానికి పిసికె యొక్క కనీసం రెండు అంచులు అవసరం. సిస్టమ్ గడియారం యొక్క ఫ్రీక్వెన్సీ చాలా ఎక్కువగా ఉంటే, అది డేటా లేదా నియంత్రణ విలువలు కోల్పోయే ప్రమాదం ఉంది.
క్రింది మూర్తి 12-3 టైమర్ / కౌంటర్ 1 కోసం బ్లాక్ రేఖాచిత్రాన్ని చూపిస్తుంది.
పట్టిక 12-1. PWM మోడ్లో మోడ్ ఎంపికను సరిపోల్చండి
COM1x1 | COM1x0 | అవుట్పుట్పై ప్రభావం పిన్లను పోల్చండి |
0 | 0 | OC1x కనెక్ట్ కాలేదు. OC1x కనెక్ట్ కాలేదు. |
0 | 1 | పోలిక మ్యాచ్లో OC1x క్లియర్ చేయబడింది. TCNT1 = $ 00 ఉన్నప్పుడు సెట్ చేయండి. పోలిక మ్యాచ్లో OC1x సెట్ చేయబడింది. TCNT1 = $ 00 ఉన్నప్పుడు క్లియర్ చేయబడింది. |
1 | 0 | పోలిక మ్యాచ్లో OC1x క్లియర్ చేయబడింది. TCNT1 = $ 00 ఉన్నప్పుడు సెట్ చేయండి. OC1x కనెక్ట్ కాలేదు. |
1 | 1 | పోలిక మ్యాచ్లో OC1x సెట్. TCNT1 = $ 00 ఉన్నప్పుడు క్లియర్ చేయబడింది. OC1x కనెక్ట్ కాలేదు. |
ADC లక్షణాలు
పట్టిక 21-8. ADC లక్షణాలు, సింగిల్ ఎండెడ్ ఛానెల్లు. TA = -40°C నుండి +85°C
చిహ్నం | పరామితి | పరిస్థితి | కనిష్ట | టైప్ చేయండి | గరిష్టంగా | యూనిట్లు |
రిజల్యూషన్ | 10 | బిట్స్ | ||||
సంపూర్ణ ఖచ్చితత్వం (INL, DNL, మరియు పరిమాణీకరణ, లాభం మరియు ఆఫ్సెట్ లోపాలతో సహా) | VREF = 4V, VCC = 4V,
ADC గడియారం = 200 kHz |
2 | LSB | |||
VREF = 4V, VCC = 4V,
ADC గడియారం = 1 MHz |
3 | LSB | ||||
VREF = 4V, VCC = 4V,
ADC గడియారం = 200 kHz శబ్దం తగ్గింపు మోడ్ |
1.5 | LSB | ||||
VREF = 4V, VCC = 4V,
ADC గడియారం = 1 MHz శబ్దం తగ్గింపు మోడ్ |
2.5 | LSB | ||||
ఇంటిగ్రల్ నాన్-లీనియారిటీ (ఐఎన్ఎల్) (ఆఫ్సెట్ తర్వాత ఖచ్చితత్వం మరియు అమరికను పొందడం) | VREF = 4V, VCC = 4V,
ADC గడియారం = 200 kHz |
1 | LSB | |||
డిఫరెన్షియల్ నాన్-లీనియారిటీ (DNL) | VREF = 4V, VCC = 4V,
ADC గడియారం = 200 kHz |
0.5 | LSB | |||
లాభం పొందండి | VREF = 4V, VCC = 4V,
ADC గడియారం = 200 kHz |
2.5 | LSB | |||
ఆఫ్సెట్ లోపం | VREF = 4V, VCC = 4V,
ADC గడియారం = 200 kHz |
1.5 | LSB | |||
మార్పిడి సమయం | ఉచిత రన్నింగ్ మార్పిడి | 14 | 280 | .S | ||
క్లాక్ ఫ్రీక్వెన్సీ | 50 | 1000 | kHz | |||
VIN | ఇన్పుట్ వాల్యూమ్tage | GND | VREF | V | ||
ఇన్పుట్ బ్యాండ్విడ్త్ | 38.4 | kHz | ||||
AREF | బాహ్య సూచన వాల్యూమ్tage | 2.0 | VCC | V | ||
VINT | అంతర్గత వాల్యూమ్tagఇ సూచన | 1.0 | 1.1 | 1.2 | V | |
అంతర్గత 2.56 వి సూచన (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | 32 | kΩ | ||||
వర్షం | అనలాగ్ ఇన్పుట్ రెసిస్టెన్స్ | 100 | MΩ | |||
ADC అవుట్పుట్ | 0 | 1023 | LSB |
గమనిక: 1. విలువలు మార్గదర్శకాలు మాత్రమే.
పట్టిక 21-9. ADC లక్షణాలు, డిఫరెన్షియల్ ఛానెల్లు (యూనిపోలార్ మోడ్). TA = -40°C నుండి +85°C
చిహ్నం | పరామితి | పరిస్థితి | కనిష్ట | టైప్ చేయండి | గరిష్టంగా | యూనిట్లు |
రిజల్యూషన్ | లాభం = 1x | 10 | బిట్స్ | |||
లాభం = 20x | 10 | బిట్స్ | ||||
సంపూర్ణ ఖచ్చితత్వం (INL, DNL మరియు సహా
పరిమాణీకరణ, లాభం మరియు ఆఫ్సెట్ లోపాలు) |
లాభం = 1x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
10.0 | LSB | |||
లాభం = 20x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
20.0 | LSB | ||||
ఇంటిగ్రల్ నాన్-లీనియారిటీ (ఐఎన్ఎల్) (ఆఫ్సెట్ మరియు క్యాలిబ్రేషన్ తర్వాత ఖచ్చితత్వం) | లాభం = 1x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
4.0 | LSB | |||
లాభం = 20x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
10.0 | LSB | ||||
లాభం పొందండి | లాభం = 1x | 10.0 | LSB | |||
లాభం = 20x | 15.0 | LSB | ||||
ఆఫ్సెట్ లోపం | లాభం = 1x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
3.0 | LSB | |||
లాభం = 20x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
4.0 | LSB | ||||
మార్పిడి సమయం | ఉచిత రన్నింగ్ మార్పిడి | 70 | 280 | .S | ||
క్లాక్ ఫ్రీక్వెన్సీ | 50 | 200 | kHz | |||
VIN | ఇన్పుట్ వాల్యూమ్tage | GND | VCC | V | ||
VDIFF | ఇన్పుట్ డిఫరెన్షియల్ వాల్యూమ్tage | VREF/లాభం | V | |||
ఇన్పుట్ బ్యాండ్విడ్త్ | 4 | kHz | ||||
AREF | బాహ్య సూచన వాల్యూమ్tage | 2.0 | VCC - 1.0 | V | ||
VINT | అంతర్గత వాల్యూమ్tagఇ సూచన | 1.0 | 1.1 | 1.2 | V | |
అంతర్గత 2.56 వి సూచన (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | రిఫరెన్స్ ఇన్పుట్ నిరోధకత | 32 | kΩ | |||
వర్షం | అనలాగ్ ఇన్పుట్ రెసిస్టెన్స్ | 100 | MΩ | |||
ADC మార్పిడి అవుట్పుట్ | 0 | 1023 | LSB |
గమనిక: విలువలు మార్గదర్శకాలు మాత్రమే.
పట్టిక 21-10. ADC లక్షణాలు, అవకలన ఛానెల్లు (బైపోలార్ మోడ్). TA = -40°C నుండి +85°C
చిహ్నం | పరామితి | పరిస్థితి | కనిష్ట | టైప్ చేయండి | గరిష్టంగా | యూనిట్లు |
రిజల్యూషన్ | లాభం = 1x | 10 | బిట్స్ | |||
లాభం = 20x | 10 | బిట్స్ | ||||
సంపూర్ణ ఖచ్చితత్వం (INL, DNL మరియు సహా
పరిమాణీకరణ, లాభం మరియు ఆఫ్సెట్ లోపాలు) |
లాభం = 1x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
8.0 | LSB | |||
లాభం = 20x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
8.0 | LSB | ||||
ఇంటిగ్రల్ నాన్-లీనియారిటీ (ఐఎన్ఎల్) (ఆఫ్సెట్ మరియు క్యాలిబ్రేషన్ తర్వాత ఖచ్చితత్వం) | లాభం = 1x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
4.0 | LSB | |||
లాభం = 20x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
5.0 | LSB | ||||
లాభం పొందండి | లాభం = 1x | 4.0 | LSB | |||
లాభం = 20x | 5.0 | LSB | ||||
ఆఫ్సెట్ లోపం | లాభం = 1x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
3.0 | LSB | |||
లాభం = 20x
VREF = 4V, VCC = 5V ADC గడియారం = 50 - 200 kHz |
4.0 | LSB | ||||
మార్పిడి సమయం | ఉచిత రన్నింగ్ మార్పిడి | 70 | 280 | .S | ||
క్లాక్ ఫ్రీక్వెన్సీ | 50 | 200 | kHz | |||
VIN | ఇన్పుట్ వాల్యూమ్tage | GND | VCC | V | ||
VDIFF | ఇన్పుట్ డిఫరెన్షియల్ వాల్యూమ్tage | VREF/లాభం | V | |||
ఇన్పుట్ బ్యాండ్విడ్త్ | 4 | kHz | ||||
AREF | బాహ్య సూచన వాల్యూమ్tage | 2.0 | VCC - 1.0 | V | ||
VINT | అంతర్గత వాల్యూమ్tagఇ సూచన | 1.0 | 1.1 | 1.2 | V | |
అంతర్గత 2.56 వి సూచన (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | రిఫరెన్స్ ఇన్పుట్ నిరోధకత | 32 | kΩ | |||
వర్షం | అనలాగ్ ఇన్పుట్ రెసిస్టెన్స్ | 100 | MΩ | |||
ADC మార్పిడి అవుట్పుట్ | -512 | 511 | LSB |
ఇన్స్ట్రక్షన్ సెట్ సారాంశం
జ్ఞాపకాలు | ఆపరాండ్లను | వివరణ | ఆపరేషన్ | జెండాలు | # గడియారాలు |
అరిథ్మెటిక్ మరియు లాజిక్ సూచనలు | |||||
జోడించు | Rd, Rr | రెండు రిజిస్టర్లను జోడించండి | Rd ← Rd + Rr | Z, C, N, V, H. | 1 |
ADC | Rd, Rr | రెండు రిజిస్టర్లను తీసుకెళ్లండి | Rd ← Rd + Rr + C | Z, C, N, V, H. | 1 |
ADIW | Rdl, K. | పదానికి తక్షణం జోడించండి | Rdh:Rdl ← Rdh:Rdl + K | Z, C, N, V, S. | 2 |
SUB | Rd, Rr | రెండు రిజిస్టర్లను తీసివేయండి | Rd ← Rd – Rr | Z, C, N, V, H. | 1 |
సుబి | Rd, K. | రిజిస్టర్ నుండి స్థిరంగా తీసివేయండి | Rd ← Rd – K | Z, C, N, V, H. | 1 |
SBC | Rd, Rr | రెండు రిజిస్టర్లను తీసుకెళ్లండి | Rd ← Rd – Rr – C | Z, C, N, V, H. | 1 |
ఎస్.బి.సి.ఐ. | Rd, K. | రెగ్ నుండి క్యారీ కాన్స్టాంట్తో తీసివేయండి. | Rd ← Rd – K – C | Z, C, N, V, H. | 1 |
SBIW | Rdl, K. | పదం నుండి వెంటనే తీసివేయండి | Rdh:Rdl ← Rdh:Rdl – K | Z, C, N, V, S. | 2 |
మరియు | Rd, Rr | లాజికల్ మరియు రిజిస్టర్లు | Rd ← Rd ∙ Rr | Z, N, V. | 1 |
అండీ | Rd, K. | లాజికల్ మరియు రిజిస్టర్ మరియు స్థిరమైన | Rd ← Rd ∙ K | Z, N, V. | 1 |
OR | Rd, Rr | లాజికల్ లేదా రిజిస్టర్లు | Rd ← Rd v Rr | Z, N, V. | 1 |
ఓఆర్ఐ | Rd, K. | లాజికల్ OR రిజిస్టర్ మరియు స్థిరమైన | Rd ← Rd v K | Z, N, V. | 1 |
EOR | Rd, Rr | ప్రత్యేకమైన లేదా రిజిస్టర్లు | Rd ← Rd ⊕ Rr | Z, N, V. | 1 |
COM | Rd | ఒకరి కాంప్లిమెంట్ | Rd ← 0xFF − Rd | Z, C, N, V. | 1 |
NEG | Rd | ఇద్దరి అనుబంధం | Rd ← 0x00 − Rd | Z, C, N, V, H. | 1 |
SBR | Rd, K. | రిజిస్టర్లో బిట్ (ల) ను సెట్ చేయండి | Rd ← Rd v K | Z, N, V. | 1 |
CBR | Rd, K. | రిజిస్టర్లో బిట్ (ల) ను క్లియర్ చేయండి | Rd ← Rd ∙ (0xFF – K) | Z, N, V. | 1 |
INC | Rd | ఇంక్రిమెంట్ | Rd ← Rd + 1 | Z, N, V. | 1 |
DEC | Rd | తగ్గుదల | Rd ← Rd − 1 | Z, N, V. | 1 |
TST | Rd | జీరో లేదా మైనస్ కోసం పరీక్ష | Rd ← Rd ∙ Rd | Z, N, V. | 1 |
CLR | Rd | రిజిస్టర్ క్లియర్ | Rd ← Rd ⊕ Rd | Z, N, V. | 1 |
SER | Rd | రిజిస్టర్ సెట్ చేయండి | Rd ← 0xFF | ఏదీ లేదు | 1 |
బ్రాంచ్ సూచనలు | |||||
ఆర్జేఎంపీ | k | సాపేక్ష జంప్ | PC ← PC + k + 1 | ఏదీ లేదు | 2 |
IJMP | (Z) కు పరోక్ష జంప్ | PC ← Z | ఏదీ లేదు | 2 | |
RCALL | k | సాపేక్ష సబ్ట్రౌటిన్ కాల్ | PC ← PC + k + 1 | ఏదీ లేదు | 3 |
ICALL | (Z) కు పరోక్ష కాల్ | PC ← Z | ఏదీ లేదు | 3 | |
RET | సబ్ట్రౌటిన్ రిటర్న్ | PC ← స్టాక్ | ఏదీ లేదు | 4 | |
RETI | అంతరాయం తిరిగి | PC ← స్టాక్ | I | 4 | |
సి.పి.ఎస్.ఇ. | Rd, Rr | పోల్చండి, సమానంగా ఉంటే దాటవేయి | ఒకవేళ (Rd = Rr) PC ← PC + 2 లేదా 3 | ఏదీ లేదు | 1/2/3 |
CP | Rd, Rr | సరిపోల్చండి | Rd - Rr | Z, N, V, C, H. | 1 |
CPC | Rd, Rr | క్యారీతో పోల్చండి | Rd - Rr - C | Z, N, V, C, H. | 1 |
సి.పి.ఐ | Rd, K. | రిజిస్టర్ను తక్షణంతో పోల్చండి | Rd - K | Z, N, V, C, H. | 1 |
SBRC | ఆర్ఆర్, బి | బిట్ ఇన్ రిజిస్టర్ క్లియర్ అయితే దాటవేయి | ఒకవేళ (Rr(b)=0) PC ← PC + 2 లేదా 3 | ఏదీ లేదు | 1/2/3 |
ఎస్బిఆర్ఎస్ | ఆర్ఆర్, బి | బిట్ ఇన్ రిజిస్టర్ సెట్ చేయబడితే దాటవేయి | ఒకవేళ (Rr(b)=1) PC ← PC + 2 లేదా 3 | ఏదీ లేదు | 1/2/3 |
ఎస్బిఐసి | పి, బి | I / O రిజిస్టర్లో బిట్ క్లియర్ అయితే దాటవేయి | ఒకవేళ (P(b)=0) PC ← PC + 2 లేదా 3 | ఏదీ లేదు | 1/2/3 |
SBIS | పి, బి | I / O రిజిస్టర్లో బిట్ సెట్ చేయబడితే దాటవేయి | ఒకవేళ (P(b)=1) PC ← PC + 2 లేదా 3 | ఏదీ లేదు | 1/2/3 |
BRBS | s, క | స్థితి ఫ్లాగ్ సెట్ చేస్తే బ్రాంచ్ | (SREG(లు) = 1) అయితే PC←PC+k + 1 | ఏదీ లేదు | 1/2 |
BRBC | s, క | స్థితి ఫ్లాగ్ క్లియర్ చేయబడితే బ్రాంచ్ | (SREG(లు) = 0) అయితే PC←PC+k + 1 | ఏదీ లేదు | 1/2 |
BREQ | k | సమానంగా ఉంటే బ్రాంచ్ | (Z = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRNE | k | సమానంగా లేకపోతే బ్రాంచ్ | (Z = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బి.ఆర్.సి.ఎస్. | k | క్యారీ సెట్ చేస్తే బ్రాంచ్ | (C = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బి.ఆర్.సి.సి. | k | క్యారీ క్లియర్ చేస్తే బ్రాంచ్ | (C = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRSH | k | అదే లేదా అంతకంటే ఎక్కువ ఉంటే బ్రాంచ్ | (C = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRLO | k | దిగువ ఉంటే బ్రాంచ్ | (C = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRMI | k | మైనస్ అయితే బ్రాంచ్ | (N = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRPL | k | ప్లస్ ఉంటే బ్రాంచ్ | (N = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బ్రిజ్ | k | గ్రేటర్ లేదా ఈక్వల్ అయితే బ్రాంచ్, సంతకం | (N ⊕ V= 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRLT | k | బ్రాంచ్ కంటే తక్కువ ఉంటే, సంతకం | (N ⊕ V= 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRHS | k | హాఫ్ క్యారీ ఫ్లాగ్ సెట్ చేస్తే బ్రాంచ్ | (H = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRHC | k | హాఫ్ క్యారీ ఫ్లాగ్ క్లియర్ చేస్తే బ్రాంచ్ | (H = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRTS | k | టి ఫ్లాగ్ సెట్ చేస్తే బ్రాంచ్ | (T = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బిఆర్టిసి | k | టి ఫ్లాగ్ క్లియర్ అయితే బ్రాంచ్ | (T = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRVS | k | ఓవర్ఫ్లో ఫ్లాగ్ సెట్ చేయబడితే బ్రాంచ్ | (V = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బీఆర్వీసీ | k | ఓవర్ఫ్లో ఫ్లాగ్ క్లియర్ చేయబడితే బ్రాంచ్ | (V = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
BRIE | k | అంతరాయం ప్రారంభించబడితే బ్రాంచ్ | (I = 1) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బ్రిడ్ | k | అంతరాయం నిలిపివేయబడితే బ్రాంచ్ | (I = 0) అయితే PC ← PC + k + 1 | ఏదీ లేదు | 1/2 |
బిట్ మరియు బిట్-టెస్ట్ సూచనలు | |||||
SBI | పి, బి | I / O రిజిస్టర్లో బిట్ను సెట్ చేయండి | I/O(P,b) ← 1 | ఏదీ లేదు | 2 |
సిబిఐ | పి, బి | I / O రిజిస్టర్లో బిట్ను క్లియర్ చేయండి | I/O(P,b) ← 0 | ఏదీ లేదు | 2 |
LSL | Rd | లాజికల్ ఎడమవైపుకు మార్చు | Rd(n+1) ← Rd(n), Rd(0) ← 0 | Z, C, N, V. | 1 |
LSR | Rd | లాజికల్ కుడివైపుకు మార్చు | Rd(n) ← Rd(n+1), Rd(7) ← 0 | Z, C, N, V. | 1 |
రోల్ | Rd | క్యారీ ద్వారా ఎడమవైపు తిప్పండి | Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) | Z, C, N, V. | 1 |
ROR | Rd | క్యారీ ద్వారా కుడివైపు తిప్పండి | Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) | Z, C, N, V. | 1 |
ASR | Rd | అంకగణిత షిఫ్ట్ కుడి | Rd(n) ← Rd(n+1), n=0..6 | Z, C, N, V. | 1 |
జ్ఞాపకాలు | ఆపరాండ్లను | వివరణ | ఆపరేషన్ | జెండాలు | # గడియారాలు |
స్వాప్ | Rd | స్వాబ్ నిబ్బల్స్ | Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) | ఏదీ లేదు | 1 |
బిఎస్ఇటి | s | ఫ్లాగ్ సెట్ | SREG(లు) ← 1 | SREG (లు) | 1 |
బిసిఎల్ఆర్ | s | ఫ్లాగ్ క్లియర్ | SREG(లు) ← 0 | SREG (లు) | 1 |
BST | ఆర్ఆర్, బి | రిజిస్టర్ నుండి టి వరకు బిట్ స్టోర్ | T ← Rr(b) | T | 1 |
బిఎల్డి | Rd, బి | టి నుండి రిజిస్టర్ వరకు బిట్ లోడ్ | Rd(b) ← T | ఏదీ లేదు | 1 |
SEC | క్యారీ సెట్ చేయండి | సి ← 1 | C | 1 | |
CLC | క్యారీ క్లియర్ | సి ← 0 | C | 1 | |
SEN | ప్రతికూల జెండాను సెట్ చేయండి | N ← 1 | N | 1 | |
CLN | ప్రతికూల జెండాను క్లియర్ చేయండి | N ← 0 | N | 1 | |
సెజ్ | జీరో ఫ్లాగ్ను సెట్ చేయండి | Z ← 1 | Z | 1 | |
CLZ | జీరో ఫ్లాగ్ క్లియర్ చేయండి | Z ← 0 | Z | 1 | |
SEI | గ్లోబల్ అంతరాయాన్ని ప్రారంభించండి | I ← 1 | I | 1 | |
CLI | గ్లోబల్ ఇంటరప్ట్ డిసేబుల్ | I ← 0 | I | 1 | |
SES | సంతకం చేసిన పరీక్ష ఫ్లాగ్ను సెట్ చేయండి | S ← 1 | S | 1 | |
CLS | సంతకం చేసిన పరీక్ష ఫ్లాగ్ను క్లియర్ చేయండి | S ← 0 | S | 1 | |
SEV | సెట్ ట్వోస్ కాంప్లిమెంట్ ఓవర్ఫ్లో. | V ← 1 | V | 1 | |
CLV | క్లియర్ ట్వోస్ కాంప్లిమెంట్ ఓవర్ఫ్లో | V ← 0 | V | 1 | |
సెట్ | SREG లో T ని సెట్ చేయండి | T ← 1 | T | 1 | |
CLT | SREG లో T ని క్లియర్ చేయండి | T ← 0 | T | 1 | |
SEH | SREG లో హాఫ్ క్యారీ ఫ్లాగ్ను సెట్ చేయండి | H ← 1 | H | 1 | |
CLH | SREG లో హాఫ్ క్యారీ ఫ్లాగ్ను క్లియర్ చేయండి | H ← 0 | H | 1 | |
డేటా ట్రాన్స్ఫర్ సూచనలు | |||||
MOV | Rd, Rr | రిజిస్టర్ల మధ్య తరలించండి | Rd ← Rr | ఏదీ లేదు | 1 |
MOVW | Rd, Rr | రిజిస్టర్ పదాన్ని కాపీ చేయండి | Rd+1:Rd ← Rr+1:Rr | ఏదీ లేదు | 1 |
LDI | Rd, K. | వెంటనే లోడ్ చేయండి | Rd ← కె | ఏదీ లేదు | 1 |
LD | Rd, X. | పరోక్షంగా లోడ్ చేయండి | Rd ← (X) | ఏదీ లేదు | 2 |
LD | Rd, X + | పరోక్ష మరియు పోస్ట్-ఇంక్ లోడ్ చేయండి. | Rd ← (X), X ← X + 1 | ఏదీ లేదు | 2 |
LD | Rd, - X. | పరోక్ష మరియు ప్రీ-డిసెంబర్ లోడ్. | X ← X – 1, Rd ← (X) | ఏదీ లేదు | 2 |
LD | Rd, Y. | పరోక్షంగా లోడ్ చేయండి | Rd ← (Y) | ఏదీ లేదు | 2 |
LD | Rd, Y + | పరోక్ష మరియు పోస్ట్-ఇంక్ లోడ్ చేయండి. | Rd ← (Y), Y ← Y + 1 | ఏదీ లేదు | 2 |
LD | Rd, - Y. | పరోక్ష మరియు ప్రీ-డిసెంబర్ లోడ్. | Y ← Y – 1, Rd ← (Y) | ఏదీ లేదు | 2 |
LDD | Rd, Y + q | స్థానభ్రంశంతో పరోక్షంగా లోడ్ చేయండి | Rd ← (Y + q) | ఏదీ లేదు | 2 |
LD | Rd, Z. | పరోక్షంగా లోడ్ చేయండి | Rd ← (Z) | ఏదీ లేదు | 2 |
LD | Rd, Z + | పరోక్ష మరియు పోస్ట్-ఇంక్ లోడ్ చేయండి. | Rd ← (Z), Z ← Z+1 | ఏదీ లేదు | 2 |
LD | Rd, -Z | పరోక్ష మరియు ప్రీ-డిసెంబర్ లోడ్. | Z ← Z – 1, Rd ← (Z) | ఏదీ లేదు | 2 |
LDD | Rd, Z + q | స్థానభ్రంశంతో పరోక్షంగా లోడ్ చేయండి | Rd ← (Z + q) | ఏదీ లేదు | 2 |
LDS | రోడ్, కె | SRAM నుండి నేరుగా లోడ్ చేయండి | Rd ← (k) | ఏదీ లేదు | 2 |
ST | X, Rr | పరోక్షంగా స్టోర్ చేయండి | (X) ← Rr | ఏదీ లేదు | 2 |
ST | X +, Rr | పరోక్ష మరియు పోస్ట్-ఇంక్ నిల్వ చేయండి. | (X) ← Rr, X ← X + 1 | ఏదీ లేదు | 2 |
ST | - X, Rr | పరోక్ష మరియు ప్రీ-డిసెంబర్ స్టోర్ చేయండి. | X ← X – 1, (X) ← Rr | ఏదీ లేదు | 2 |
ST | Y, Rr | పరోక్షంగా స్టోర్ చేయండి | (Y) ← Rr | ఏదీ లేదు | 2 |
ST | Y +, Rr | పరోక్ష మరియు పోస్ట్-ఇంక్ నిల్వ చేయండి. | (Y) ← Rr, Y ← Y + 1 | ఏదీ లేదు | 2 |
ST | - వై, ఆర్ | పరోక్ష మరియు ప్రీ-డిసెంబర్ స్టోర్ చేయండి. | Y ← Y – 1, (Y) ← Rr | ఏదీ లేదు | 2 |
STD | Y + q, Rr | స్థానభ్రంశంతో పరోక్షంగా నిల్వ చేయండి | (Y + q) ← Rr | ఏదీ లేదు | 2 |
ST | Z, Rr | పరోక్షంగా స్టోర్ చేయండి | (Z) ← Rr | ఏదీ లేదు | 2 |
ST | Z +, Rr | పరోక్ష మరియు పోస్ట్-ఇంక్ నిల్వ చేయండి. | (Z) ← Rr, Z ← Z + 1 | ఏదీ లేదు | 2 |
ST | -జెడ్, ఆర్.ఆర్ | పరోక్ష మరియు ప్రీ-డిసెంబర్ స్టోర్ చేయండి. | Z ← Z – 1, (Z) ← Rr | ఏదీ లేదు | 2 |
STD | Z + q, Rr | స్థానభ్రంశంతో పరోక్షంగా నిల్వ చేయండి | (Z + q) ← Rr | ఏదీ లేదు | 2 |
STS | k, Rr | SRAM కు నేరుగా స్టోర్ చేయండి | (k) ← Rr | ఏదీ లేదు | 2 |
LPM | ప్రోగ్రామ్ మెమరీని లోడ్ చేయండి | R0 ← (Z) | ఏదీ లేదు | 3 | |
LPM | Rd, Z. | ప్రోగ్రామ్ మెమరీని లోడ్ చేయండి | Rd ← (Z) | ఏదీ లేదు | 3 |
LPM | Rd, Z + | ప్రోగ్రామ్ మెమరీ మరియు పోస్ట్-ఇంక్ లోడ్ చేయండి | Rd ← (Z), Z ← Z+1 | ఏదీ లేదు | 3 |
SPM | ప్రోగ్రామ్ ప్రోగ్రామ్ మెమరీని నిల్వ చేయండి | (z) ← R1:R0 | ఏదీ లేదు | ||
IN | Rd, పి | పోర్టులో | Rd ← పి | ఏదీ లేదు | 1 |
బయటకు | పి, ఆర్ | అవుట్ పోర్ట్ | పి ← Rr | ఏదీ లేదు | 1 |
పుష్ | Rr | స్టాక్లో రిజిస్టర్ను పుష్ చేయండి | స్టాక్ ← Rr | ఏదీ లేదు | 2 |
POP | Rd | స్టాక్ నుండి పాప్ రిజిస్టర్ | Rd ← స్టాక్ | ఏదీ లేదు | 2 |
MCU నియంత్రణ సూచనలు | |||||
NOP | ఆపరేషన్ లేదు | ఏదీ లేదు | 1 | ||
నిద్రించు | నిద్రించు | (స్లీప్ ఫంక్షన్ కోసం నిర్దిష్ట డెస్క్ఆర్ చూడండి) | ఏదీ లేదు | 1 | |
WDR | వాచ్డాగ్ రీసెట్ | (WDR / టైమర్ కోసం నిర్దిష్ట descr చూడండి) | ఏదీ లేదు | 1 | |
BREAK | బ్రేక్ |
వేగం (MHz) (1) | సరఫరా వాల్యూమ్tagఇ (వి) | ఉష్ణోగ్రత పరిధి | ప్యాకేజీ (2) | ఆర్డర్ కోడ్ (3) |
10 | 1.8 – 5.5 | పారిశ్రామిక
(-40 ° C నుండి +85 ° C) (4) |
8P3 | ATtiny45V-10PU |
8S2 | ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR | |||
8X | ATtiny45V-10XU ATtiny45V-10XUR | |||
20M1 | ATtiny45V-10MU ATtiny45V-10MUR | |||
20 | 2.7 – 5.5 | పారిశ్రామిక
(-40 ° C నుండి +85 ° C) (4) |
8P3 | అట్టిని45-20PU |
8S2 | ATtiny45-20SU ATtiny45-20SUR
ATtiny45-20SH ATtiny45-20SHR |
|||
8X | ATtiny45-20XU ATtiny45-20XUR | |||
20M1 | ATtiny45-20MU ATtiny45-20MUR |
గమనికలు: 1. వేగం వర్సెస్ సరఫరా వాల్యూమ్ కోసంtagఇ, విభాగం చూడండి 21.3 పేజీ 163 లోని “వేగం”.
అన్ని ప్యాకేజీలు పిబి-రహితమైనవి, హాలైడ్ లేనివి మరియు పూర్తిగా ఆకుపచ్చగా ఉంటాయి మరియు అవి ప్రమాదకర పదార్ధాల పరిమితి (రోహెచ్ఎస్) కోసం యూరోపియన్ ఆదేశానికి లోబడి ఉంటాయి.
కోడ్ సూచికలు
H: NiPdAu లీడ్ ఫినిషింగ్
యు: మాట్టే టిన్
R: టేప్ & రీల్
ఈ పరికరాలను పొర రూపంలో కూడా సరఫరా చేయవచ్చు. వివరణాత్మక ఆర్డరింగ్ సమాచారం మరియు కనీస పరిమాణాల కోసం దయచేసి మీ స్థానిక అట్మెల్ అమ్మకపు కార్యాలయాన్ని సంప్రదించండి.
ఎర్రటా
ఎర్రటా ATtiny25
ఈ విభాగంలోని పునర్విమర్శ లేఖ ATtiny25 పరికరం యొక్క పునర్విమర్శను సూచిస్తుంది.
రెవ్ డి - ఎఫ్
తెలియని ఎర్రటా లేదు.
రెవ్ బి - సి
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
తక్కువ క్లాక్ ఫ్రీక్వెన్సీలు మరియు/లేదా తక్కువ సరఫరా వాల్యూమ్లో EEPROMని చదవడానికి ప్రయత్నిస్తున్నారుtagఇ చెల్లని డేటాకు దారితీయవచ్చు.
సమస్య పరిష్కారము / వర్కరౌండ్
క్లాక్ ఫ్రీక్వెన్సీ 1MHz కంటే తక్కువగా ఉన్నప్పుడు మరియు సరఫరా వాల్యూమ్లో ఉన్నప్పుడు EEPROMని ఉపయోగించవద్దుtage 2V కంటే తక్కువ. ఆపరేటింగ్ ఫ్రీక్వెన్సీని 1MHz కంటే ఎక్కువ పెంచలేకపోతే, సరఫరా వాల్యూమ్tage 2V కంటే ఎక్కువ ఉండాలి. అదేవిధంగా, సరఫరా వాల్యూమ్ అయితేtage 2V పైన పెంచడం సాధ్యం కాదు అప్పుడు ఆపరేటింగ్ ఫ్రీక్వెన్సీ 1MHz కంటే ఎక్కువగా ఉండాలి.
ఈ లక్షణం ఉష్ణోగ్రతపై ఆధారపడి ఉంటుంది, కానీ ఇది వర్గీకరించబడలేదు. గది ఉష్ణోగ్రత కోసం మార్గదర్శకాలు ఇవ్వబడ్డాయి, మాత్రమే.
రెవ్ ఎ
లు కాదుampదారితీసింది.
ఎర్రటా ATtiny45
ఈ విభాగంలోని పునర్విమర్శ లేఖ ATtiny45 పరికరం యొక్క పునర్విమర్శను సూచిస్తుంది.
రెవ్ ఎఫ్ - జి
తెలియని ఎర్రటా లేదు
రెవ్ డి - ఇ
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
తక్కువ క్లాక్ ఫ్రీక్వెన్సీలు మరియు/లేదా తక్కువ సరఫరా వాల్యూమ్లో EEPROMని చదవడానికి ప్రయత్నిస్తున్నారుtagఇ చెల్లని డేటాకు దారితీయవచ్చు.
సమస్య పరిష్కారము / వర్కరౌండ్
క్లాక్ ఫ్రీక్వెన్సీ 1MHz కంటే తక్కువగా ఉన్నప్పుడు మరియు సరఫరా వాల్యూమ్లో ఉన్నప్పుడు EEPROMని ఉపయోగించవద్దుtage 2V కంటే తక్కువ. ఆపరేటింగ్ ఫ్రీక్వెన్సీని 1MHz కంటే ఎక్కువ పెంచలేకపోతే, సరఫరా వాల్యూమ్tage 2V కంటే ఎక్కువ ఉండాలి. అదేవిధంగా, సరఫరా వాల్యూమ్ అయితేtage 2V పైన పెంచడం సాధ్యం కాదు అప్పుడు ఆపరేటింగ్ ఫ్రీక్వెన్సీ 1MHz కంటే ఎక్కువగా ఉండాలి.
ఈ లక్షణం ఉష్ణోగ్రతపై ఆధారపడి ఉంటుంది, కానీ ఇది వర్గీకరించబడలేదు. గది ఉష్ణోగ్రత కోసం మార్గదర్శకాలు ఇవ్వబడ్డాయి, మాత్రమే.
రెవ్ బి - సి
PLL లాకింగ్ లేదు
అప్లికేషన్ కోడ్ నుండి చదివిన EEPROM లాక్ బిట్ మోడ్ 3 లో పనిచేయదు
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
OC1B- XOC1B పై టైమర్ కౌంటర్ 1 PWM అవుట్పుట్ జనరేషన్ సరిగ్గా పనిచేయదు
PLL లాకింగ్ లేదు
6.0 MHz కంటే తక్కువ పౌన encies పున్యాల వద్ద ఉన్నప్పుడు, PLL లాక్ చేయబడదు
సమస్య పరిష్కారం / వర్కరౌండ్
PLL ను ఉపయోగిస్తున్నప్పుడు, 6.0 MHz లేదా అంతకంటే ఎక్కువ వద్ద అమలు చేయండి.
అప్లికేషన్ కోడ్ నుండి చదివిన EEPROM లాక్ బిట్ మోడ్ 3 లో పనిచేయదు
మెమరీ లాక్ బిట్స్ LB2 మరియు LB1 మోడ్ 3 కి ప్రోగ్రామ్ చేయబడినప్పుడు, EEPROM రీడ్ అప్లికేషన్ కోడ్ నుండి పనిచేయదు.
సమస్య పరిష్కరించండి / చుట్టూ పని చేయండి
అప్లికేషన్ కోడ్ EEPROM నుండి చదవవలసి వచ్చినప్పుడు లాక్ బిట్ ప్రొటెక్షన్ మోడ్ 3 ని సెట్ చేయవద్దు.
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
తక్కువ క్లాక్ ఫ్రీక్వెన్సీలు మరియు/లేదా తక్కువ సరఫరా వాల్యూమ్లో EEPROMని చదవడానికి ప్రయత్నిస్తున్నారుtagఇ చెల్లని డేటాకు దారితీయవచ్చు.
సమస్య పరిష్కారము / వర్కరౌండ్
క్లాక్ ఫ్రీక్వెన్సీ 1MHz కంటే తక్కువగా ఉన్నప్పుడు మరియు సరఫరా వాల్యూమ్లో ఉన్నప్పుడు EEPROMని ఉపయోగించవద్దుtage 2V కంటే తక్కువ. ఆపరేటింగ్ ఫ్రీక్వెన్సీని 1MHz కంటే ఎక్కువ పెంచలేకపోతే, సరఫరా వాల్యూమ్tage 2V కంటే ఎక్కువ ఉండాలి. అదేవిధంగా, సరఫరా వాల్యూమ్ అయితేtage 2V పైన పెంచడం సాధ్యం కాదు అప్పుడు ఆపరేటింగ్ ఫ్రీక్వెన్సీ 1MHz కంటే ఎక్కువగా ఉండాలి.
ఈ లక్షణం ఉష్ణోగ్రతపై ఆధారపడి ఉంటుంది, కానీ ఇది వర్గీకరించబడలేదు. గది ఉష్ణోగ్రత కోసం మార్గదర్శకాలు ఇవ్వబడ్డాయి, మాత్రమే.
OC1B - XOC1B పై టైమర్ కౌంటర్ 1 PWM అవుట్పుట్ ఉత్పత్తి సరిగ్గా పనిచేయదు
టైమర్ కౌంటర్ 1 పిడబ్ల్యుఎం అవుట్పుట్ OC1B-XOC1B సరిగ్గా పనిచేయదు. కంట్రోల్ బిట్స్, COM1B1 మరియు COM1B0 వరుసగా COM1A1 మరియు COM1A0 మాదిరిగానే ఉన్నప్పుడు, OC1B-XOC1B అవుట్-పుట్ సరిగ్గా పనిచేస్తుంది.
సమస్య పరిష్కరించండి / చుట్టూ పని చేయండి
COM1A [1: 0] మరియు COM1B [1: 0] కంట్రోల్ బిట్స్లో ఒకే నియంత్రణ సెట్టింగ్ను ఉపయోగించడం మాత్రమే పరిష్కార మార్గం, డేటా షీట్లోని టేబుల్ 14- 4 చూడండి. Tiny45 rev D కోసం సమస్య పరిష్కరించబడింది.
రెవ్ ఎ
విద్యుత్ వినియోగం చాలా ఎక్కువ
ఒకే అంతరాయాలలో అడుగుపెట్టినప్పుడు డీబగ్వైర్ కమ్యూనికేషన్ను కోల్పోతుంది
PLL లాకింగ్ లేదు
అప్లికేషన్ కోడ్ నుండి చదివిన EEPROM లాక్ బిట్ మోడ్ 3 లో పనిచేయదు
EEPROM రీడ్ తక్కువ సరఫరా వాల్యూమ్లో విఫలం కావచ్చుtagఇ / తక్కువ గడియారం ఫ్రీక్వెన్సీ
విద్యుత్ వినియోగం చాలా ఎక్కువ
మూడు పరిస్థితులు విద్యుత్ వినియోగాన్ని తగ్గించే అధిక శక్తికి దారి తీస్తాయి. ఇవి:
ఫ్యూజ్ల ద్వారా బాహ్య గడియారం ఎంపిక చేయబడింది, అయితే I / O PORT ఇప్పటికీ అవుట్పుట్గా ప్రారంభించబడింది.
శక్తిని తగ్గించే ముందు EEPROM చదవబడుతుంది.
VCC 4.5 వోల్ట్లు లేదా అంతకంటే ఎక్కువ.
నిరాకరణ: ఈ పత్రంలోని సమాచారం Atmel ఉత్పత్తులకు సంబంధించి అందించబడింది. ఈ పత్రం ద్వారా లేదా Atmel ఉత్పత్తుల విక్రయానికి సంబంధించి ఏ మేధో సంపత్తి హక్కుకు ఎస్టోపెల్ ద్వారా లేదా ఇతరత్రా ఎలాంటి లైసెన్స్, ఎక్స్ప్రెస్ లేదా సూచించబడదు. ATMELలో ఉన్న అమ్మకాల నిబంధనలు మరియు షరతులలో నిర్దేశించినవి తప్ప WEBSITE, ATMEL ఏ విధమైన బాధ్యతను కలిగి ఉండదు మరియు దాని ఉత్పత్తులకు సంబంధించి సూచించబడిన లేదా చట్టబద్ధమైన వారెంటీకి సంబంధించి ఏదైనా ఎక్స్క్లైమ్ చేస్తుంది. ఏ సందర్భంలోనైనా అట్మెల్ ఏదైనా ప్రత్యక్ష, పరోక్ష, పర్యవసానంగా, శిక్షార్హమైన, ప్రత్యేక లేదా యాదృచ్ఛిక నష్టాలకు (పరిమితి లేకుండా, నష్టం మరియు లాభాలకు నష్టాలు, వ్యాపార అంతరాయం లేదా సమాచారం కోల్పోవడం) ఉపయోగం లేదా ఉపయోగించలేకపోవడం ఈ పత్రం, అటువంటి నష్టాల సంభావ్యత గురించి ATMELకి సూచించబడినప్పటికీ.
Atmel ఈ పత్రం యొక్క కంటెంట్ల యొక్క ఖచ్చితత్వం లేదా సంపూర్ణతకు సంబంధించి ఎటువంటి ప్రాతినిధ్యాలు లేదా వారెంటీలు ఇవ్వదు మరియు నోటీసు లేకుండా ఏ సమయంలోనైనా స్పెసిఫికేషన్లు మరియు ఉత్పత్తుల వివరణలలో మార్పులు చేసే హక్కును కలిగి ఉంది. ఇక్కడ ఉన్న సమాచారాన్ని అప్డేట్ చేయడానికి Atmel ఎటువంటి నిబద్ధత చేయలేదు. ప్రత్యేకంగా అందించకపోతే, Atmel ఉత్పత్తులు ఆటోమోటివ్ అప్లికేషన్లకు తగినవి కావు మరియు ఉపయోగించబడవు. Atmel ఉత్పత్తులు జీవితానికి మద్దతు ఇవ్వడానికి లేదా కొనసాగించడానికి ఉద్దేశించిన అప్లికేషన్లలో భాగాలుగా ఉపయోగించడానికి ఉద్దేశించినవి, అధికారం ఇవ్వబడవు లేదా హామీ ఇవ్వబడవు.