أتميل

متحكم Atmel 8 بت AVR مع فلاش قابل للبرمجة داخل النظام 2/4/8K بايترقاقة

 

سمات

  • أداء عالي، وحدة تحكم AVR® منخفضة الطاقة 8 بت
  • بنية RISC المتقدمة
  • 120 تعليمات قوية - تنفيذ معظم دورة الساعة الواحدة
  • 32 × 8 سجلات عمل للأغراض العامة
  • عملية ثابتة بالكامل
  • ذاكرات البرامج والبيانات غير المتطايرة
  • 2/4/8K بايت من فلاش ذاكرة البرنامج القابل للبرمجة داخل النظام
  • تَحمُّل: 10,000 دورة كتابة/مسح
  • 128/256/512 بايت إيبروم قابل للبرمجة داخل النظام
  • تَحمُّل: 100,000 دورة كتابة/مسح
  • 128/256/512 بايت SRAM داخلي
  • قفل البرمجة لبرنامج فلاش البرمجة الذاتية وأمن البيانات EEPROM

الميزات الطرفية

  • مؤقت/عداد 8 بت مع مقياس مسبق وقناتين PWM
  • مؤقت/عداد عالي السرعة 8 بت مع مقياس مسبق منفصل
  • 2 مخرجات PWM عالية التردد مع سجلات مقارنة مخرجات منفصلة
  • مولد الوقت الميت القابل للبرمجة
  • USI – واجهة تسلسلية عالمية مع كاشف حالة البدء
  • محول تناظري رقمي 10 بت

4 قنوات ذات نهاية واحدة

زوجان من قنوات ADC التفاضلية مع كسب قابل للبرمجة (2x، 1x)

قياس درجة الحرارة

مؤقت مراقبة قابل للبرمجة مع مذبذب منفصل على الرقاقة

المقارنة التناظرية على الرقاقة

ميزات خاصة للمتحكم الدقيق

نظام تصحيح الأخطاء على الرقاقة debugWIRE

قابل للبرمجة داخل النظام عبر منفذ SPI

مصادر المقاطعة الخارجية والداخلية

وضع الخمول المنخفض للطاقة، وتقليل ضوضاء ADC، وأوضاع خفض الطاقة

دائرة إعادة ضبط التشغيل المحسنة

دائرة الكشف عن براون أوت القابلة للبرمجة

مذبذب داخلي معاير

الإدخال/الإخراج والحزم

ستة خطوط إدخال/إخراج قابلة للبرمجة

8-pin PDIP، 8-pin SOIC، 20-pad QFN/MLF، و8-pin TSSOP (ATtiny45/V فقط)

حجم التشغيلtage
– 1.8 – 5.5 فولت لـ ATtiny25V/45V/85V
- 2.7 - 5.5 فولت لـ ATtiny25/45/85

مستوى السرعة
-ATtiny25V/45V/85V: 0 - 4 ميجا هرتز عند 1.8 - 5.5 فولت، 0 - 10 ميجا هرتز عند 2.7 - 5.5 فولت
-ATtiny25/45/85: 0 - 10 ميجا هرتز عند 2.7 - 5.5 فولت، 0 - 20 ميجا هرتز عند 4.5 - 5.5 فولت

نطاق درجة الحرارة الصناعية

استهلاك منخفض للطاقة

الوضع النشط:

1 ميجا هرتز، 1.8 فولت: 300 ميكرو أمبير

وضع خفض الطاقة:

تكوينات الدبوس

بينوت ATtiny25/45/85 إعدادات

أوصاف الدبوس

VCC: مجلد العرضtage.
GND: الأرض.
المنفذ B (PB5:PB0): المنفذ B عبارة عن منفذ إدخال/إخراج ثنائي الاتجاه 6 بت مع مقاومات سحب داخلية (يتم تحديدها لكل بت). تتميز مخازن إخراج المنفذ B بخصائص محرك متناظرة مع كل من قدرة الحوض والمصدر العالية. كمدخلات، فإن أطراف المنفذ B التي يتم سحبها خارجيًا إلى مستوى منخفض ستصدر تيارًا إذا تم تنشيط مقاومات السحب. يتم تحديد منافذ المنفذ B بشكل ثلاثي عندما تصبح حالة إعادة التعيين نشطة، حتى لو لم تكن الساعة قيد التشغيل.

يخدم المنفذ B أيضًا وظائف الميزات الخاصة المتنوعة لـ ATtiny25/45/85 كما هو مدرج
في ATtiny25، يتم تبادل منافذ الإدخال/الإخراج القابلة للبرمجة PB3 وPB4 (الدبابيس 2 و3) في وضع التوافق ATtiny15 لدعم التوافق مع الإصدارات السابقة مع ATtiny15.

إعادة الضبط: إعادة ضبط الإدخال. سيؤدي المستوى المنخفض في هذا الدبوس لفترة أطول من الحد الأدنى لطول النبضة إلى إعادة ضبط، حتى لو لم تكن الساعة قيد التشغيل وبشرط عدم تعطيل دبوس إعادة الضبط. يتم إعطاء الحد الأدنى لطول النبض في الجدول 21-4 في الصفحة 165. لا نضمن أن تؤدي النبضات الأقصر إلى إعادة التعيين.

يمكن أيضًا استخدام دبوس إعادة الضبط كدبوس إدخال / إخراج (ضعيف).

زيادةview

ATtiny25/45/85 عبارة عن وحدة تحكم دقيقة CMOS 8 بت منخفضة الطاقة تعتمد على بنية RISC المحسنة AVR. من خلال تنفيذ تعليمات قوية في دورة ساعة واحدة، يحقق ATtiny25/45/85 إنتاجية تقترب من 1 MIPS لكل ميجاهرتز مما يسمح لمصمم النظام بتحسين استهلاك الطاقة مقابل سرعة المعالجة.

مخطط كتلة مخطط كتلي

يجمع قلب AVR بين مجموعة تعليمات غنية و32 سجل عمل للأغراض العامة. جميع السجلات الـ 32 متصلة مباشرة بوحدة المنطق الحسابي (ALU)، مما يسمح بالوصول إلى سجلين مستقلين في تعليمات واحدة يتم تنفيذها في دورة ساعة واحدة. تعتبر البنية الناتجة أكثر كفاءة في التعليمات البرمجية مع تحقيق معدلات إنتاجية أسرع بما يصل إلى عشر مرات من وحدات التحكم الدقيقة التقليدية CISC.

يوفر ATtiny25/45/85 الميزات التالية: 2/4/8K بايت من الفلاش القابل للبرمجة داخل النظام، 128/256/512 بايت EEPROM، 128/256/256 بايت SRAM، 6 خطوط إدخال/إخراج للأغراض العامة، 32 عام سجلات عمل الأغراض، مؤقت/عداد 8 بت مع أوضاع المقارنة، مؤقت/عداد عالي السرعة 8 بت، واجهة تسلسلية عالمية، مقاطعات داخلية وخارجية، 4 قنوات، 10 بت ADC، مؤقت مراقبة قابل للبرمجة مع داخلي مذبذب وثلاثة أوضاع لتوفير الطاقة يمكن اختيارها من خلال البرامج. يقوم وضع الخمول بإيقاف وحدة المعالجة المركزية مع السماح لنظام SRAM وTimer/Counter وADC وAnalog Comparator ونظام المقاطعة بمواصلة العمل. يقوم وضع خفض الطاقة بحفظ محتويات السجل، مما يؤدي إلى تعطيل جميع وظائف الشريحة حتى المقاطعة التالية أو إعادة ضبط الأجهزة. يعمل وضع تقليل ضوضاء ADC على إيقاف وحدة المعالجة المركزية وجميع وحدات الإدخال/الإخراج باستثناء ADC، لتقليل ضوضاء التبديل أثناء تحويلات ADC.

تم تصنيع الجهاز باستخدام تقنية الذاكرة غير المتطايرة عالية الكثافة من Atmel. يسمح فلاش ISP الموجود على الرقاقة بإعادة برمجة ذاكرة البرنامج داخل النظام من خلال واجهة تسلسلية SPI، أو بواسطة مبرمج ذاكرة تقليدي غير متطاير أو بواسطة رمز تمهيد على الرقاقة يعمل على قلب AVR.

يتم دعم ATtiny25/45/85 AVR بمجموعة كاملة من أدوات تطوير البرامج والأنظمة بما في ذلك: مترجمات لغة C، ومجمعات الماكرو، ومصحح أخطاء البرامج/محاكيات البرامج، ومجموعات التقييم.

حول الموارد

تتوفر مجموعة شاملة من أدوات التطوير وملاحظات التطبيق وأوراق البيانات للتنزيل على http://www.atmel.com/avr.

كود Exampليه

تحتوي هذه الوثائق على رمز بسيط على سبيل المثالampالملفات التي توضح بإيجاز كيفية استخدام أجزاء مختلفة من الجهاز. هذه التعليمات البرمجية السابقينampنفترض أن رأس الجزء محدد file يتم تضمينه قبل التجميع. انتبه إلى أنه ليس كل بائعي برامج التحويل البرمجي C يقومون بتضمين تعريفات البت في الرأس fileمعالجة المقاطعة والمقاطعة في لغة C تعتمد على المترجم. يرجى التأكيد مع وثائق مترجم C لمزيد من التفاصيل.

بالنسبة لسجلات الإدخال/الإخراج الموجودة في خريطة الإدخال/الإخراج الموسعة، يجب استبدال تعليمات "IN" و"OUT" و"SBIS" و"SBIC" و"CBI" و"SBI" بتعليمات تسمح بالوصول إلى تسجيلات الإدخال/الإخراج الموسعة /س. عادةً ما يعني هذا "LDS" و"STS" مدمجين مع "SBRS" و"SBRC" و"SBR" و"CBR". لاحظ أنه ليست كل أجهزة AVR تشتمل على خريطة إدخال/إخراج موسعة.

الاستشعار باللمس بالسعة

توفر مكتبة Atmel QTouch حلاً سهل الاستخدام للواجهات الحساسة للمس على وحدات التحكم الدقيقة Atmel AVR. تتضمن مكتبة QTouch دعمًا لطرق الحصول على QTouch® وQMatrix®.

تتم إضافة استشعار اللمس بسهولة إلى أي تطبيق عن طريق ربط مكتبة QTouch واستخدام واجهة برمجة التطبيقات (API) الخاصة بالمكتبة لتحديد قنوات اللمس وأجهزة الاستشعار. يقوم التطبيق بعد ذلك باستدعاء واجهة برمجة التطبيقات (API) لاسترداد معلومات القناة وتحديد حالة مستشعر اللمس.

مكتبة QTouch مجانية ويمكن تنزيلها من Atmel webموقع. لمزيد من المعلومات وتفاصيل التنفيذ، راجع دليل مستخدم مكتبة QTouch - المتوفر أيضًا على Atmel webموقع.

الاحتفاظ بالبيانات

تظهر نتائج تأهيل الموثوقية أن معدل فشل الاحتفاظ بالبيانات المتوقع أقل بكثير من 1 جزء في المليون على مدار 20 عامًا عند 85 درجة مئوية أو 100 عام عند 25 درجة مئوية.

AVR وحدة المعالجة المركزية الأساسية

مقدمة

يناقش هذا القسم البنية الأساسية لـ AVR بشكل عام. وتتمثل المهمة الرئيسية لنواة وحدة المعالجة المركزية في ضمان التنفيذ الصحيح للبرنامج. لذلك يجب أن تكون وحدة المعالجة المركزية قادرة على الوصول إلى الذكريات وإجراء العمليات الحسابية والتحكم في الأجهزة الطرفية والتعامل مع المقاطعات.

انتهى المعماريview بنيان

من أجل تحقيق أقصى قدر من الأداء والتوازي، يستخدم AVR بنية هارفارد - مع ذاكرات وناقلات منفصلة للبرنامج والبيانات. يتم تنفيذ التعليمات الموجودة في ذاكرة البرنامج باستخدام خطوط أنابيب ذات مستوى واحد. أثناء تنفيذ إحدى التعليمات، يتم جلب التعليمات التالية مسبقًا من ذاكرة البرنامج. يتيح هذا المفهوم تنفيذ التعليمات في كل دورة على مدار الساعة. ذاكرة البرنامج هي ذاكرة فلاش قابلة لإعادة البرمجة داخل النظام.

سجل الوصول السريع File يحتوي على سجلات عمل للأغراض العامة 32 × 8 بت مع وقت وصول لدورة ساعة واحدة. وهذا يسمح بتشغيل وحدة المنطق الحسابي (ALU) ذات الدورة الواحدة. في عملية ALU النموذجية، يتم إخراج معاملين من السجل Fileيتم تنفيذ العملية، ويتم تخزين النتيجة مرة أخرى في السجل File- في دورة ساعة واحدة.

يمكن استخدام ستة من السجلات الـ 32 كثلاثة مؤشرات لتسجيل عناوين غير مباشرة ذات 16 بت لمعالجة مساحة البيانات - مما يتيح حسابات العناوين الفعالة. يمكن أيضًا استخدام أحد مؤشرات العناوين هذه كمؤشر عنوان لجداول البحث في ذاكرة برنامج Flash. سجلات الوظائف المضافة هذه هي تسجيلات X وY وZ ذات 16 بت، والتي سيتم وصفها لاحقًا في هذا القسم.

تدعم وحدة ALU العمليات الحسابية والمنطقية بين السجلات أو بين الثابت والسجل. يمكن أيضًا تنفيذ عمليات التسجيل الفردية في ALU. بعد إجراء عملية حسابية، يتم تحديث سجل الحالة ليعكس المعلومات حول نتيجة العملية.

يتم توفير تدفق البرنامج من خلال تعليمات القفز والاتصال المشروطة وغير المشروطة، القادرة على معالجة مساحة العنوان بالكامل مباشرةً. تحتوي معظم تعليمات AVR على تنسيق كلمة واحد بطول 16 بت، ولكن هناك أيضًا تعليمات بطول 32 بت.

أثناء المقاطعات والمكالمات الروتينية، يتم تخزين عنوان المرسل Program Counter (PC) على المكدس. يتم تخصيص المكدس بشكل فعال في SRAM للبيانات العامة، وبالتالي يقتصر حجم المكدس فقط على إجمالي حجم SRAM واستخدام SRAM. يجب على كافة برامج المستخدم تهيئة SP في روتين إعادة الضبط (قبل تنفيذ الإجراءات الفرعية أو المقاطعات). يمكن الوصول إلى Stack Pointer (SP) للقراءة/الكتابة في مساحة الإدخال/الإخراج. يمكن الوصول بسهولة إلى ذاكرة SRAM للبيانات من خلال أوضاع العنونة الخمسة المختلفة المدعومة في بنية AVR.

مساحات الذاكرة في بنية AVR كلها عبارة عن خرائط ذاكرة خطية ومنتظمة.

تحتوي وحدة المقاطعة المرنة على سجلات التحكم الخاصة بها في مساحة الإدخال/الإخراج مع بتة تمكين المقاطعة الشاملة الإضافية في سجل الحالة. تحتوي كافة المقاطعات على ناقل مقاطعة منفصل في جدول Interrupt Vector. المقاطعات لها الأولوية وفقًا لموضع متجه المقاطعة الخاص بها. كلما انخفض عنوان متجه المقاطعة، زادت الأولوية.

تحتوي مساحة ذاكرة الإدخال/الإخراج على 64 عنوانًا لوظائف وحدة المعالجة المركزية الطرفية مثل سجلات التحكم وSPI ووظائف الإدخال/الإخراج الأخرى. يمكن الوصول إلى ذاكرة الإدخال/الإخراج مباشرة، أو كمواقع لمساحة البيانات تتبع تلك الموجودة في السجل 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 سريج
قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

البت 7 - أنا: تمكين المقاطعة العالمية

يجب تعيين بت تمكين المقاطعة العامة حتى يتم تمكين المقاطعات. ويتم بعد ذلك تنفيذ التحكم في تمكين المقاطعة الفردية في سجلات تحكم منفصلة. إذا تم مسح سجل تمكين المقاطعة العامة، فلن يتم تمكين أي من المقاطعات بشكل مستقل عن إعدادات تمكين المقاطعة الفردية. يتم مسح I-bit بواسطة الأجهزة بعد حدوث المقاطعة، ويتم تعيينه بواسطة تعليمات RETI لتمكين المقاطعات اللاحقة. يمكن أيضًا ضبط I-bit ومسحه بواسطة التطبيق باستخدام تعليمات SEI وCLI، كما هو موضح في مرجع مجموعة التعليمات.

البت 6 - T: تخزين نسخ البتات

تستخدم تعليمات نسخ البت BLD (Bit LoaD) وBST (Bit STore) بت T كمصدر أو وجهة للبت الذي يتم تشغيله. قليلا من التسجيل في السجل File يمكن نسخها إلى T من خلال تعليمات BST، ويمكن نسخ البتة الموجودة في T إلى البتة الموجودة في السجل File من خلال تعليمات BLD.

البتة 5 – H: نصف حامل العلم

تشير علامة Half Carry H إلى Half Carry في بعض العمليات الحسابية. يعتبر Half Carry مفيدًا في العمليات الحسابية BCD. راجع "وصف مجموعة التعليمات" للحصول على معلومات مفصلة.

البتة 4 - S: بتة الإشارة، S = N ⊕ V

تكون البتة S دائمًا حصرية أو بين العلامة السلبية N وعلامة تجاوز السعة التكميلية V. راجع "وصف مجموعة التعليمات" للحصول على معلومات مفصلة.

البتة 3 - الخامس: علامة تجاوز السعة التكميلية

يدعم علم تجاوز سعة تكملة الثنائي الحساب الخامس لحساب تكملة اثنين. راجع "وصف مجموعة التعليمات" للحصول على معلومات مفصلة.

البت 2 - N: العلم السلبي

تشير العلامة السلبية N إلى نتيجة سلبية في عملية حسابية أو منطقية. راجع "وصف مجموعة التعليمات" للحصول على معلومات مفصلة.

البتة 1 - Z: العلم صفر

يشير Zero Flag Z إلى نتيجة صفرية في عملية حسابية أو منطقية. راجع "وصف مجموعة التعليمات" للحصول على معلومات مفصلة.

البت 0 - C: احمل العلم

تشير علامة Carry Flag C إلى إجراء عملية حسابية أو منطقية. راجع "وصف مجموعة التعليمات" للحصول على معلومات مفصلة.

سجل الأغراض العامة File

السجل File تم تحسينه لمجموعة تعليمات AVR Enhanced RISC. ومن أجل تحقيق الأداء والمرونة المطلوبين، يتم دعم أنظمة الإدخال/الإخراج التالية بواسطة السجل File:

معامل إخراج واحد 8 بت وإدخال نتيجة 8 بت واحد

معاملا إخراج 8 بت وإدخال نتيجة 8 بت

معاملا إخراج 8 بت وإدخال نتيجة 16 بت

معامل إخراج واحد 16 بت وإدخال نتيجة 16 بت واحد

الشكل 4-2 يُظهر هيكل 32 سجل عمل للأغراض العامة في وحدة المعالجة المركزية. غرض عام

كما هو موضح في الشكل 4-2، يتم أيضًا تعيين عنوان ذاكرة بيانات لكل سجل، مما يؤدي إلى تعيينها مباشرةً في أول 32 موقعًا لمساحة بيانات المستخدم. على الرغم من عدم تنفيذه فعليًا كمواقع SRAM، إلا أن تنظيم الذاكرة هذا يوفر مرونة كبيرة في الوصول إلى السجلات، حيث يمكن ضبط سجلات المؤشر X وY وZ لفهرسة أي سجل في file.معظم التعليمات تعمل على السجل File لديهم إمكانية الوصول المباشر إلى كافة السجلات، ومعظمها عبارة عن تعليمات دورة واحدة.

سجل X، وسجل Y، وسجل Z

تحتوي السجلات R26..R31 على بعض الوظائف المضافة لاستخدامها للأغراض العامة. هذه السجلات عبارة عن مؤشرات عنوان 16 بت للعنونة غير المباشرة لمساحة البيانات. يتم تعريف سجلات العناوين غير المباشرة الثلاثة X وY وZ كما هو موضح في الشكل 4-3.

يسجل

في أوضاع العنونة المختلفة، يكون لسجلات العناوين هذه وظائف مثل الإزاحة الثابتة، والزيادة التلقائية، والتناقص التلقائي (راجع مرجع مجموعة التعليمات للحصول على التفاصيل).

مؤشر المكدس

يتم استخدام المكدس بشكل أساسي لتخزين البيانات المؤقتة، ولتخزين المتغيرات المحلية ولتخزين عناوين الإرجاع بعد المقاطعات والمكالمات الروتينية. يشير سجل مؤشر المكدس دائمًا إلى أعلى المكدس. لاحظ أنه يتم تنفيذ المكدس على أنه ينمو من مواقع الذاكرة الأعلى إلى مواقع الذاكرة الأقل. وهذا يعني أن أمر Stack PUSH يقلل من مؤشر Stack.

يشير مؤشر المكدس إلى منطقة مكدس SRAM للبيانات حيث يوجد الروتين الفرعي ومكدسات المقاطعة. يجب أن يحدد البرنامج مساحة المكدس هذه في ذاكرة SRAM للبيانات قبل تنفيذ أي مكالمات روتين فرعي أو تمكين المقاطعات. يجب ضبط مؤشر المكدس ليشير إلى أعلى من 0x60. يتم تقليل مؤشر المكدس بمقدار واحد عندما يتم دفع البيانات إلى المكدس باستخدام تعليمات PUSH، ويتم تقليله بمقدار اثنين عندما يتم دفع عنوان المرسل إلى المكدس باستخدام استدعاء روتين فرعي أو مقاطعة. تتم زيادة مؤشر المكدس بمقدار واحد عند ظهور البيانات من المكدس باستخدام تعليمات POP، ويتم زيادته بمقدار اثنين عندما يتم ظهور البيانات من المكدس مع العودة من الروتين الفرعي RET أو العودة من مقاطعة RETI.

يتم تنفيذ AVR Stack Pointer كمسجلين 8 بت في مساحة الإدخال / الإخراج. يعتمد عدد البتات المستخدمة فعليًا على التنفيذ. لاحظ أن مساحة البيانات في بعض تطبيقات بنية AVR صغيرة جدًا بحيث لا يلزم سوى SPL. في هذه الحالة، لن يكون سجل SPH موجودًا.

SPH وSPL — سجل مؤشر المكدس

قليل 15 14 13 12 11 10 9 8
0x3E إس بي 15 إس بي 14 إس بي 13 إس بي 12 إس بي 11 إس بي 10 إس بي 9 إس بي 8 س ف ع
0x3د إس بي 7 إس بي 6 إس بي 5 إس بي 4 إس بي 3 إس بي 2 إس بي 1 إس بي 0 اللغة الإنجليزية:SPL
7 6 5 4 3 2 1 0
قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية راميند راميند راميند راميند راميند راميند راميند راميند
القيمة الأولية راميند راميند راميند راميند راميند راميند راميند راميند

توقيت تنفيذ التعليمات

يصف هذا القسم مفاهيم توقيت الوصول العامة لتنفيذ التعليمات. يتم تشغيل وحدة المعالجة المركزية AVR بواسطة clkCPU لساعة وحدة المعالجة المركزية، والتي يتم إنشاؤها مباشرة من مصدر الساعة المحدد للرقاقة. لا يتم استخدام تقسيم الساعة الداخلية.

الشكل 4.4

الشكل 4-4 يعرض عمليات جلب التعليمات المتوازية وتنفيذ التعليمات التي تم تمكينها بواسطة بنية جامعة هارفارد وسجل الوصول السريع File مفهوم. هذا هو المفهوم الأساسي لخطوط الأنابيب للحصول على ما يصل إلى 1 MIPS لكل ميجاهرتز مع النتائج الفريدة المقابلة للوظائف لكل تكلفة، والوظائف لكل ساعات، والوظائف لكل وحدة طاقة.

الشكل 4-5. تشغيل ALU بدورة واحدة

الشكل 4.5

إعادة تعيين ومعالجة المقاطعة

يوفر AVR عدة مصادر مقاطعة مختلفة. تحتوي كل من هذه المقاطعات وناقل إعادة التعيين المنفصل على ناقل برنامج منفصل في مساحة ذاكرة البرنامج. يتم تعيين بتات تمكين فردية لجميع المقاطعات والتي يجب كتابتها بشكل منطقي مع بتة تمكين المقاطعة العامة في سجل الحالة لتمكين المقاطعة.

يتم تعريف العناوين الأدنى في مساحة ذاكرة البرنامج بشكل افتراضي على أنها موجهات إعادة التعيين والمقاطعة. تظهر القائمة الكاملة للمتجهات في "المقاطعات" في الصفحة 48. تحدد القائمة أيضًا مستويات الأولوية للمقاطعات المختلفة. كلما انخفض العنوان، ارتفع مستوى الأولوية. RESET له الأولوية القصوى، يليه INT0 - طلب المقاطعة الخارجية 0.

عند حدوث مقاطعة، يتم مسح تمكين المقاطعة العالمية I-bit ويتم تعطيل كافة المقاطعات. يمكن لبرنامج المستخدم كتابة منطق واحد إلى I-bit لتمكين المقاطعات المتداخلة. يمكن لجميع المقاطعات الممكّنة بعد ذلك مقاطعة روتين المقاطعة الحالي. يتم ضبط I-bit تلقائيًا عند تنفيذ تعليمات الرجوع من المقاطعة - RETI.

هناك أساسا نوعان من المقاطعات. يتم تشغيل النوع الأول بواسطة حدث يقوم بتعيين علامة المقاطعة. بالنسبة لهذه المقاطعات، يتم توجيه عداد البرنامج إلى ناقل المقاطعة الفعلي لتنفيذ روتين معالجة المقاطعة، ويقوم الجهاز بمسح علامة المقاطعة المقابلة. يمكن أيضًا مسح إشارات المقاطعة عن طريق كتابة علامة منطقية على موضع (مواضع) بت العلم المراد مسحها. إذا حدثت حالة مقاطعة أثناء مسح بت تمكين المقاطعة المقابلة، فسيتم تعيين علامة المقاطعة وتذكرها حتى يتم تمكين المقاطعة، أو يتم مسح العلامة بواسطة البرنامج. وبالمثل، إذا حدثت حالة مقاطعة واحدة أو أكثر أثناء مسح بت تمكين المقاطعة العالمية، فسيتم تعيين علامة (علامات) المقاطعة المقابلة وتذكرها حتى يتم تعيين بت تمكين المقاطعة العالمية، وسيتم تنفيذها بعد ذلك حسب ترتيب الأولوية.

سيتم تشغيل النوع الثاني من المقاطعات طالما أن شرط المقاطعة موجود. لا تحتوي هذه المقاطعات بالضرورة على أعلام المقاطعة. إذا اختفت حالة المقاطعة قبل تمكين المقاطعة، فلن يتم تشغيل المقاطعة.

عندما يخرج AVR من المقاطعة، فإنه سيعود دائمًا إلى البرنامج الرئيسي وينفذ تعليمات أخرى قبل تقديم أي مقاطعة معلقة.

لاحظ أن سجل الحالة لا يتم تخزينه تلقائيًا عند الدخول إلى روتين المقاطعة، ولا يتم استعادته عند العودة من روتين المقاطعة. يجب التعامل مع هذا بواسطة البرنامج.

عند استخدام تعليمات CLI لتعطيل المقاطعات، سيتم تعطيل المقاطعات على الفور. لن يتم تنفيذ أي مقاطعة بعد تعليمات CLI، حتى لو حدثت في وقت واحد مع تعليمات CLI. السابق التاليampيوضح le كيف يمكن استخدام ذلك لتجنب المقاطعات أثناء تسلسل كتابة EEPROM المحدد بوقت.

رمز التجميع السابقample
في r16، سرج ; تخزين قيمة SREG

كلي؛ تعطيل المقاطعات أثناء التسلسل الزمني

الهيئة الفرعية للتنفيذ إيكر، إيمب؛ بدء الكتابة EEPROM

الهيئة الفرعية للتنفيذ EECR، EEPE

خارج سريج، ص 16؛ استعادة قيمة SREG (I-bit)

رمز C السابقample
شار cSREG؛

سريج = سريج؛ /* تخزين قيمة SREG */

/* تعطيل المقاطعات أثناء التسلسل الزمني */

_CLI();

إيكر |= (1<

إيكر |= (1<

سريج = كسريج؛ /* استعادة قيمة SREG (I-bit) */

عند استخدام تعليمات SEI لتمكين المقاطعات، سيتم تنفيذ التعليمات التالية لـ SEI قبل أي مقاطعات معلقة، كما هو موضح في هذا المثالampليه.

رمز التجميع السابقample
ساي ; قم بتعيين تمكين المقاطعة العالمية

ينام؛ أدخل في وضع السكون، في انتظار المقاطعة

; ملاحظة: سوف يدخل في وضع السكون قبل أي تعليق

; المقاطعة (المقاطعات)

رمز C السابقample
_SEI(); /* ضبط تمكين المقاطعة العالمية */

_ينام()؛ /* الدخول في وضع السكون، في انتظار المقاطعة */

/* ملاحظة: سوف يدخل في وضع السكون قبل أي مقاطعة (مقاطعات) معلقة */

وقت الاستجابة للمقاطعة

استجابة تنفيذ المقاطعة لجميع مقاطعات AVR الممكنة هي أربع دورات على مدار الساعة كحد أدنى. بعد أربع دورات على مدار الساعة، يتم تنفيذ عنوان موجه البرنامج لروتين معالجة المقاطعة الفعلي. خلال فترة دورة الساعات الأربع هذه، يتم دفع عداد البرامج إلى المكدس. عادةً ما يكون المتجه بمثابة قفزة إلى روتين المقاطعة، وتستغرق هذه القفزة ثلاث دورات على مدار الساعة. إذا حدثت مقاطعة أثناء تنفيذ تعليمات متعددة الدورات، فسيتم إكمال هذه التعليمات قبل تقديم المقاطعة. في حالة حدوث مقاطعة عندما تكون وحدة MCU في وضع السكون، يتم زيادة وقت استجابة تنفيذ المقاطعة بمقدار أربع دورات على مدار الساعة. وتأتي هذه الزيادة بالإضافة إلى وقت البدء من وضع السكون المحدد.

تستغرق العودة من روتين معالجة المقاطعة أربع دورات على مدار الساعة. خلال دورات الساعة الأربع هذه، يتم إرجاع عداد البرنامج (بايتتين) من المكدس، ويتم زيادة مؤشر المكدس بمقدار اثنين، ويتم تعيين I-bit في SREG.

ذكريات AVR

يصف هذا القسم الذكريات المختلفة في ATtiny25/45/85. تحتوي بنية AVR على مساحتين رئيسيتين للذاكرة، ذاكرة البيانات ومساحة ذاكرة البرنامج. بالإضافة إلى ذلك، يتميز ATtiny25/45/85 بذاكرة EEPROM لتخزين البيانات. جميع مساحات الذاكرة الثلاثة خطية ومنتظمة.

ذاكرة برنامج فلاش قابلة لإعادة البرمجة داخل النظام

يحتوي ATtiny25/45/85 على ذاكرة فلاش قابلة لإعادة البرمجة داخل النظام بسعة 2/4/8 كيلو بايت لتخزين البرنامج. نظرًا لأن جميع تعليمات AVR يبلغ عرضها 16 أو 32 بت، يتم تنظيم الفلاش على النحو 1024/2048/4096 × 16.

تتمتع ذاكرة الفلاش بقدرة تحمل لا تقل عن 10,000 دورة كتابة/مسح. يبلغ عرض عداد البرامج ATtiny25/45/85 (الكمبيوتر الشخصي) 10/11/12 بت، وبالتالي يعالج مواقع ذاكرة البرنامج 1024/2048/4096. "برنامج الذاكرة- مينغ" في الصفحة ١٤٧ يحتوي على وصف تفصيلي للتنزيل التسلسلي لبيانات الفلاش باستخدام دبابيس SPI.

يمكن تخصيص الجداول الثابتة ضمن مساحة عنوان ذاكرة البرنامج بالكامل (راجع وصف تعليمات LPM – تحميل ذاكرة البرنامج).

الشكل 5-1. خريطة ذاكرة البرنامج خريطة الذاكرة

ذاكرة بيانات SRAM

الشكل 5-2 يوضح كيفية تنظيم ذاكرة ATtiny25/45/85 SRAM.

تتناول مواقع ذاكرة البيانات 224/352/607 السفلية كلاً من السجل Fileوذاكرة الإدخال / الإخراج والبيانات الداخلية SRAM. أول 32 موقعًا تتناول السجل File، والمواقع الـ 64 التالية لذاكرة الإدخال / الإخراج القياسية، وآخر 128/256/512 موقعًا تتناول البيانات الداخلية SRAM.

أوضاع العنونة الخمسة المختلفة لغلاف ذاكرة البيانات: المباشر، وغير المباشر مع الإزاحة، وغير المباشر، وغير المباشر مع النقصان المسبق، وغير المباشر مع التزايد اللاحق. في السجل File، تتميز السجلات من R26 إلى R31 بسجلات مؤشر العنونة غير المباشرة.

يصل العنوان المباشر إلى مساحة البيانات بأكملها.

يصل الوضع غير المباشر مع الإزاحة إلى 63 موقع عنوان من العنوان الأساسي المقدم بواسطة السجل Y أو Z.

عند استخدام أوضاع التسجيل غير المباشرة مع التخفيض المسبق والزيادة اللاحقة التلقائي، يتم تقليل أو زيادة سجلات العناوين X وY وZ.

يمكن الوصول إلى 32 سجل عمل للأغراض العامة، و64 سجل إدخال/إخراج، و128/256/512 بايت من البيانات الداخلية SRAM في ATtiny25/45/85 من خلال جميع أوضاع العنونة هذه. السجل File موصوف في "الجنرال- سجل الأغراض eral File"في الصفحة 10.

الشكل 5-2. خريطة ذاكرة البيانات خريطة الذاكرة 2

الوصول إلى ذاكرة البيانات الأوقات

يصف هذا القسم مفاهيم توقيت الوصول العامة للوصول إلى الذاكرة الداخلية. يتم تنفيذ الوصول إلى البيانات الداخلية SRAM في دورتين لوحدة المعالجة المركزية clkCPU كما هو موضح في الشكل 5-3.

الشكل 5-3. دورات الوصول إلى البيانات SRAM على الرقاقة على بيانات الشريحة ذاكرة بيانات إيبروم

يحتوي ATtiny25/45/85 على 128/256/512 بايت من ذاكرة EEPROM للبيانات. يتم تنظيمها كمساحة بيانات منفصلة، ​​حيث يمكن قراءة وكتابة وحدات البايت المفردة. يتمتع EEPROM بقدرة تحمل لا تقل عن 100,000 دورة كتابة/مسح. يتم وصف الوصول بين EEPROM ووحدة المعالجة المركزية فيما يلي، مع تحديد سجلات عنوان EEPROM، وسجل بيانات EEPROM، وسجل التحكم EEPROM. لمزيد من التفاصيل انظر "تنزيل المسلسل" في الصفحة 151.

إيبروم الوصول للقراءة/الكتابة

يمكن الوصول إلى سجلات الوصول إلى EEPROM في مساحة الإدخال/الإخراج.

أوقات الوصول للكتابة لـ EEPROM موضحة في الجدول 5-1 في الصفحة 21. ومع ذلك، تتيح وظيفة التوقيت الذاتي لبرنامج المستخدم اكتشاف متى يمكن كتابة البايت التالي. إذا كان رمز المستخدم يحتوي على تعليمات تكتب EEPROM، فيجب اتخاذ بعض الاحتياطات. في مصادر الطاقة التي تمت تصفيتها بشكل كبير، من المرجح أن يرتفع VCC أو ينخفض ​​ببطء

السلطة لأعلى/لأسفل. يؤدي هذا إلى تشغيل الجهاز لفترة من الوقت بمعدل مجلدtage أقل من الحد الأدنى المحدد لتردد الساعة المستخدم. يرى "منع تلف EEPROM" في الصفحة 19 للحصول على تفاصيل حول كيفية تجنب المشاكل في هذه المواقف.

من أجل منع الكتابة غير المقصودة لـ EEPROM، يجب اتباع إجراء كتابة محدد. تشير إلى "الذري برمجة البايت" في الصفحة 17 و "برمجة تقسيم البايت" في الصفحة 17 للحصول على تفاصيل حول هذا.

عند قراءة EEPROM، يتم إيقاف وحدة المعالجة المركزية لمدة أربع دورات على مدار الساعة قبل تنفيذ التعليمات التالية. عند كتابة EEPROM، يتم إيقاف وحدة المعالجة المركزية لمدة دورتين على مدار الساعة قبل تنفيذ التعليمات التالية.

برمجة البايت الذري

يعد استخدام برمجة Atomic Byte هو أبسط طريقة. عند كتابة بايت إلى 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. تأكد من أن تردد المذبذب ضمن المتطلبات الموضحة في "OSCCAL - سجل معايرة المذبذب" في الصفحة 31.

الكود التالي على سبيل المثالampتُظهر الملفات تجميعًا واحدًا ووظيفة C واحدة للمسح أو الكتابة أو الكتابة الذرية لـ EEPROM. السابقampتفترض أنه يتم التحكم في المقاطعات (على سبيل المثال، عن طريق تعطيل المقاطعات عالميًا) بحيث لا تحدث أي مقاطعات أثناء تنفيذ هذه الوظائف.

رمز التجميع السابقample
إيبروم_كتابة:

; انتظر الانتهاء من الكتابة السابقة

sbic EECR، EEPE

rjmp EEPROM_write

; ضبط وضع البرمجة

ldi        r16, (0<<EEPM1)|(0<<EEPM0)

خارج EECR، r16

; قم بإعداد العنوان (r18:r17) في سجل العناوين

خارج إيره، ص18

خارج إيرل، ص17

; كتابة البيانات (r19) إلى سجل البيانات

خارج إيدر، ص19

; اكتب واحدة منطقية لEEMPE

الهيئة الفرعية للتنفيذ EECR، EEMPE

; ابدأ كتابة eeprom عن طريق ضبط EEPE

الهيئة الفرعية للتنفيذ EECR، EEPE

رجع

رمز C السابقample
EEPROM_write باطلة (حرف ucAddress غير موقع، حرف ucData غير موقع)

{

/* انتظر إكمال الكتابة السابقة */ while(EECR & (1<

;

/* ضبط وضع البرمجة */

إيكر = (0<

/* إعداد سجلات العناوين والبيانات */ EEAR = ucAddress;

EEDR = ucData;

/* اكتب كلمة منطقية إلى EEMPE */

إيكر |= (1<

/* ابدأ كتابة eeprom عن طريق ضبط EEPE */

إيكر |= (1<

}

الكود التالي السابقampتظهر ليه التجميع ووظائف C لقراءة EEPROM. السابقampتفترض أنه يتم التحكم في المقاطعات بحيث لا تحدث أي مقاطعات أثناء تنفيذ هذه الوظائف.

رمز التجميع السابقample
إيبروم_قراءة:

; انتظر الانتهاء من الكتابة السابقة

sbic EECR، EEPE

rjmp EEPROM_read

; قم بإعداد العنوان (r18:r17) في سجل العناوين

خارج إيره، ص18

خارج إيرل، ص17

; ابدأ قراءة eeprom بكتابة EERE

الهيئة الفرعية للتنفيذ EECR، EERE

; قراءة البيانات من سجل البيانات

في r16، إيدر

رجع

رمز C السابقample
حرف غير موقع EEPROM_read (حرف غير موقع ucAddress)

{

/* انتظر الانتهاء من الكتابة السابقة */

بينما (EECR & (1<

;

/* إعداد تسجيل العناوين */ EEAR = ucAddress;

/* ابدأ قراءة eeprom بكتابة EERE */

إيكر |= (1<

/* إرجاع البيانات من سجل البيانات */

عودة إيدر؛

}

منع الفساد EEPROM

خلال فترات انخفاض VCC، يمكن أن تتلف بيانات EEPROM بسبب حجم العرضtage منخفض جدًا بحيث لا تعمل وحدة المعالجة المركزية وEEPROM بشكل صحيح. هذه المشكلات هي نفسها بالنسبة للأنظمة على مستوى اللوحة التي تستخدم EEPROM، ويجب تطبيق نفس حلول التصميم.

يمكن أن يحدث تلف بيانات EEPROM بسبب حالتين عندما يكون المجلدtage منخفض جدًا. أولاً، يتطلب تسلسل الكتابة المنتظم إلى EEPROM حدًا أدنى للحجمtagه للعمل بشكل صحيح. ثانيًا، يمكن لوحدة المعالجة المركزية نفسها تنفيذ التعليمات بشكل غير صحيح، إذا كان حجم العرضtagهـ منخفض جدًا.

يمكن بسهولة تجنب تلف بيانات EEPROM باتباع توصية التصميم التالية:

احتفظ بـ AVR RESET نشطًا (منخفضًا) أثناء فترات عدم كفاية حجم مصدر الطاقةtagه. ويمكن القيام بذلك عن طريق تمكين كاشف براون أوت الداخلي (BOD). إذا كان مستوى الكشف عن BOD الداخلي لا يتطابق مع

مستوى الكشف المطلوب، يمكن استخدام دائرة حماية خارجية لإعادة ضبط VCC منخفضة. إذا حدثت إعادة تعيين أثناء تقدم عملية الكتابة، فسيتم إكمال عملية الكتابة بشرط أن يكون حجم مصدر الطاقةtagه يكفي.

ذاكرة الإدخال/الإخراج

يظهر تعريف مساحة الإدخال/الإخراج لـ ATtiny25/45/85 في "ملخص التسجيل" في الصفحة 200.

يتم وضع كافة أجهزة الإدخال/الإخراج والأجهزة الطرفية ATtiny25/45/85 في مساحة الإدخال/الإخراج. يمكن الوصول إلى جميع مواقع الإدخال/الإخراج من خلال تعليمات LD/LDS/LDD وST/STS/STD، ونقل البيانات بين 32 سجل عمل للأغراض العامة ومساحة الإدخال/الإخراج. يمكن الوصول مباشرة إلى سجلات الإدخال/الإخراج ضمن نطاق العناوين 0x00 – 0x1F باستخدام تعليمات SBI وCBI. في هذه السجلات، يمكن التحقق من قيمة البتات المفردة باستخدام تعليمات SBIS وSBIC. راجع قسم مجموعة التعليمات لمزيد من التفاصيل. عند استخدام أوامر الإدخال/الإخراج المحددة IN وOUT، يجب استخدام عناوين الإدخال/الإخراج 0x00 – 0x3F. عند معالجة سجلات الإدخال/الإخراج كمساحة بيانات باستخدام تعليمات LD وST، يجب إضافة 0x20 إلى هذه العناوين.

من أجل التوافق مع الأجهزة المستقبلية، يجب كتابة البتات المحجوزة إلى الصفر في حالة الوصول إليها. لا ينبغي أبدًا كتابة عناوين ذاكرة الإدخال/الإخراج المحجوزة.

يتم مسح بعض علامات الحالة عن طريق كتابة علامة منطقية لها. لاحظ أن تعليمات CBI وSBI ستعمل فقط على البت المحدد، وبالتالي يمكن استخدامها في السجلات التي تحتوي على علامات الحالة هذه. تعمل تعليمات CBI وSBI مع السجلات من 0x00 إلى 0x1F فقط.

يتم شرح سجلات التحكم في الإدخال/الإخراج والأجهزة الطرفية في الأقسام اللاحقة.

تسجيل الوصف

EEARH - تسجيل عنوان EEPROM

قليل 7 6 5 4 3 2 1 0
0x1F EEAR8 إيره
قراءة/كتابة R R R R R R R قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 إكس/0

البتات 7:1 - الدقة: البتات المحجوزة

هذه البتات محجوزة للاستخدام المستقبلي وستُقرأ دائمًا على أنها صفر.

البتات 0 - EEAR8: عنوان EEPROM

هذا هو بت عنوان EEPROM الأكثر أهمية في ATtiny85. في الأجهزة ذات EEPROM الأقل، مثل ATtiny25/ATtiny45، يتم حجز هذا البت وسيقرأ دائمًا صفرًا. القيمة الأولية لسجل عنوان EEPROM (EEAR) غير محددة ولذلك يجب كتابة القيمة المناسبة قبل الوصول إلى EEPROM.

إيرل - سجل عنوان إيبروم

قليل

0x1E EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0 إيرل
خلفي/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية X X X X X X X X

البت 7 - EEAR7: عنوان EEPROM

هذا هو بت عنوان EEPROM الأكثر أهمية في ATtiny45. في الأجهزة ذات 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
0x1د إيدر7 إيدر6 إيدر5 إيدر4 إيدر3 إيدر2 إيدر1 إيدر0 إيدر
قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

بالنسبة لعملية كتابة EEPROM، يحتوي سجل EEDR على البيانات المطلوب كتابتها إلى EEPROM في العنوان المقدم بواسطة سجل EEAR. بالنسبة لعملية قراءة EEPROM، يحتوي EEDR على البيانات المقروءة من

EEPROM على العنوان الذي قدمته EEAR.

 

5.5.4 EECR – سجل التحكم EEPROM

بت 7 6 5 4 3 2 1 0
0x1C        – إيبم1 إيبم0 غريب إيمبي إيبي إيري EECR
قراءة/كتابة R R R/W قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 X X 0 0 X 0

البت 7 - الدقة: البت المحجوز

هذا البت محجوز للاستخدام المستقبلي وسيتم قراءته دائمًا كـ 0 في ATtiny25/45/85. للتوافق مع أجهزة AVR المستقبلية، اكتب دائمًا هذا البت إلى صفر. بعد القراءة، قم بإخفاء هذا الجزء.

البت 6 - الدقة: البت المحجوز

هذا البت محجوز في ATtiny25/45/85 وسيتم قراءته دائمًا كصفر.

البتات 5:4 - EEPM[1:0]: بتات وضع برمجة EEPROM

يحدد إعداد بتات وضع برمجة EEPROM إجراء البرمجة الذي سيتم تشغيله عند كتابة EEPE. من الممكن برمجة البيانات في عملية ذرية واحدة (مسح القيمة القديمة وبرمجة القيمة الجديدة) أو تقسيم عمليتي المسح والكتابة إلى عمليتين مختلفتين. يتم عرض أوقات البرمجة للأوضاع المختلفة في الجدول 5-1. أثناء تعيين EEPE، سيتم تجاهل أي كتابة إلى EEPMn. أثناء إعادة التعيين، سيتم إعادة تعيين بتات EEPMn إلى 0b00 ما لم يكن EEPROM مشغولاً بالبرمجة.

الجدول 5-1. بتات وضع EEPROM

إيبم1 إيبم0 وقت البرمجة عملية
0 0 3.4 مللي ثانية المسح والكتابة في عملية واحدة (العملية الذرية)
0 1 1.8 مللي ثانية محو فقط
1 0 1.8 مللي ثانية اكتب فقط
1 1 محجوزة للاستخدام في المستقبل

البت 3 - EERIE: تمكين مقاطعة EEPROM الجاهزة

تؤدي كتابة EERIE إلى تمكين مقاطعة EEPROM Ready Interrupt إذا تم ضبط I-bit في SREG. تؤدي كتابة EERIE إلى الصفر إلى تعطيل المقاطعة. تقوم مقاطعة EEPROM الجاهزة بإنشاء مقاطعة ثابتة عندما تكون الذاكرة غير المتطايرة جاهزة للبرمجة.

البت 2 - EEMPE: تمكين برنامج EEPROM الرئيسي

تحدد بتة EEMPE ما إذا كانت كتابة EEPE لأحدها سيكون لها تأثير أم لا.

عند ضبط EEMPE، سيؤدي ضبط EEPE خلال أربع دورات على مدار الساعة إلى برمجة EEPROM على العنوان المحدد. إذا كانت قيمة EEMPE صفرًا، فلن يكون لإعداد EEPE أي تأثير. عندما تتم كتابة EEMPE إلى واحد بواسطة البرنامج، تقوم الأجهزة بمسح البت إلى الصفر بعد أربع دورات على مدار الساعة.

البت 1 - EEPE: تمكين برنامج EEPROM

إشارة تمكين برنامج EEPROM EEPE هي إشارة تمكين البرمجة إلى EEPROM. عند كتابة EEPE، ستتم برمجة EEPROM وفقًا لإعداد بتات EEPMn. يجب كتابة بت EEMPE إلى واحد قبل كتابة البت المنطقي إلى EEPE، وإلا فلن تتم كتابة EEPROM. عند انقضاء وقت الوصول للكتابة، يتم مسح بت EEPE بواسطة الجهاز. عند ضبط EEPE، يتم إيقاف وحدة المعالجة المركزية (CPU) لدورتين قبل تنفيذ التعليمات التالية.

البت 0 - EERE: تمكين قراءة EEPROM

إشارة تمكين قراءة EEPROM - EERE - هي إشارة القراءة إلى EEPROM. عندما يتم إعداد العنوان الصحيح في سجل EEAR، يجب كتابة بت EERE إلى واحد لتشغيل قراءة EEPROM. يستغرق الوصول إلى قراءة EEPROM تعليمات واحدة، وتكون البيانات المطلوبة متاحة على الفور. عند قراءة EEPROM، يتم إيقاف وحدة المعالجة المركزية لمدة أربع دورات قبل تنفيذ التعليمات التالية. يجب على المستخدم استقصاء بت EEPE قبل بدء عملية القراءة. إذا كانت عملية الكتابة جارية، فلن يكون من الممكن قراءة EEPROM ولا تغيير سجل EEAR.

ساعة النظام وخيارات الساعة

أنظمة الساعة وتوزيعها

توزيع الساعة

وحدة المعالجة المركزية على مدار الساعة

يتم توجيه ساعة وحدة المعالجة المركزية إلى أجزاء النظام المعنية بتشغيل نواة AVR. السابقampومن أمثلة هذه الوحدات سجل الأغراض العامة Fileوسجل الحالة وذاكرة البيانات التي تحمل مؤشر المكدس. يؤدي إيقاف ساعة وحدة المعالجة المركزية إلى منع النواة من إجراء العمليات والحسابات العامة.

ساعة الإدخال/الإخراج – clkI/O

يتم استخدام ساعة الإدخال/الإخراج بواسطة غالبية وحدات الإدخال/الإخراج، مثل المؤقت/العداد. يتم استخدام ساعة الإدخال/الإخراج أيضًا بواسطة وحدة المقاطعة الخارجية، ولكن لاحظ أنه يتم اكتشاف بعض المقاطعات الخارجية عن طريق المنطق غير المتزامن، مما يسمح باكتشاف هذه المقاطعات حتى إذا تم إيقاف ساعة الإدخال/الإخراج.

ساعة فلاش – clkFLASH

تتحكم ساعة الفلاش في تشغيل واجهة الفلاش. عادة ما تكون ساعة الفلاش نشطة في وقت واحد مع ساعة وحدة المعالجة المركزية.

ساعة ADC – clkADC

يتم تزويد ADC بمجال ساعة مخصص. يسمح ذلك بإيقاف ساعات وحدة المعالجة المركزية ووحدات الإدخال/الإخراج لتقليل الضوضاء الناتجة عن الدوائر الرقمية. وهذا يعطي نتائج تحويل ADC أكثر دقة.

PLL داخلي لإنشاء الساعة المحيطية السريعة - clkPCK

يقوم PLL الداخلي في ATtiny25/45/85 بإنشاء تردد ساعة مضاعف 8x من مدخل المصدر. افتراضيًا، يستخدم PLL مخرج مذبذب RC الداخلي بتردد 8.0 ميجاهرتز كمصدر. وبدلاً من ذلك، إذا تم ضبط البت LSM الخاص بـ PLLCSR، فسوف يستخدم PLL خرج مذبذب RC مقسومًا على اثنين. وبالتالي فإن خرج PLL، الساعة المحيطية السريعة هو 64 ميجا هرتز. يمكن تحديد الساعة الطرفية السريعة، أو الساعة التي تم قياسها مسبقًا من ذلك، كمصدر الساعة لـ Timer/Counter1 أو كساعة نظام. يرى الشكل 6-2. يتم تقسيم تردد الساعة المحيطية السريعة على اثنين عند ضبط LSM لـ PLLCSR، مما يؤدي إلى تردد ساعة يبلغ 32 ميجاهرتز. لاحظ أنه لا يمكن ضبط LSM إذا تم استخدام PLLCLK كساعة النظام.

الشكل 6-2. نظام تسجيل الوقت PCK. توقيت PCK

يتم قفل PLL على مذبذب RC وسيؤدي ضبط مذبذب RC عبر سجل OSCCAL إلى ضبط الساعة الطرفية السريعة في نفس الوقت. ومع ذلك، حتى لو تم نقل مذبذب RC إلى تردد أعلى من 8 ميجا هرتز، فإن تردد الساعة المحيطية السريعة يتشبع عند 85 ميجا هرتز (أسوأ حالة) ويظل يتأرجح عند أقصى تردد. تجدر الإشارة إلى أن PLL في هذه الحالة لم يعد مقفلاً بساعة مذبذب RC. لذلك، يوصى بعدم إجراء تعديلات OSCCAL على تردد أعلى من 8 ميجا هرتز من أجل الحفاظ على PLL في نطاق التشغيل الصحيح.

يتم تمكين PLL الداخلي عندما:

يتم تعيين بت PLLE في السجل PLLCSR.

تمت برمجة فتيل CKSEL على "0001".

تمت برمجة فتيل CKSEL على "0011".

يتم تعيين بت PLLCSR PLOCK عندما يكون PLL مقفلاً. يتم إيقاف تشغيل كل من مذبذب RC الداخلي وPLL في وضعي إيقاف التشغيل ووضع الاستعداد.

PLL الداخلي في وضع التوافق ATtiny15

نظرًا لأن ATtiny25/45/85 هو جهاز ترحيل لمستخدمي ATtiny15، يوجد وضع توافق ATtiny15 للتوافق مع الإصدارات السابقة. يتم تحديد وضع التوافق ATtiny15 عن طريق برمجة صمامات CKSEL إلى "0011".

في وضع التوافق ATtiny15، تتم معايرة تردد مذبذب RC الداخلي وصولاً إلى 6.4 ميجاهرتز ويتم ضبط عامل الضرب لـ PLL على 4x. يرى الشكل 6-3. مع هذه التعديلات، يكون نظام تسجيل الوقت متوافقًا مع ATtiny15 والساعة الطرفية السريعة الناتجة لها تردد 25.6 ميجاهرتز (كما هو الحال في ATtiny15).

الشكل 6-3. نظام تسجيل الوقت PCK في وضع التوافق ATtiny15. نظام تسجيل الوقت

مصادر الساعة

يحتوي الجهاز على خيارات مصدر الساعة التالية، والتي يمكن تحديدها بواسطة وحدات Flash Fuse كما هو موضح أدناه. يتم إدخال الساعة من المصدر المحدد إلى مولد ساعة AVR، ويتم توجيهها إلى الوحدات المناسبة.

الجدول 6-1. خيارات تسجيل وقت الجهاز حدد

خيار تسجيل الوقت للجهاز سي كي اس اي ال[3:0](1)
ساعة خارجية (يرى الصفحة 26) 0000
ساعة PLL عالية التردد (يرى الصفحة 26) 0001
مذبذب داخلي مُعاير (يرى الصفحة 27) 0010(2)
مذبذب داخلي مُعاير (يرى الصفحة 27) 0011(3)
مذبذب داخلي 128 كيلو هرتز (يرى الصفحة 28) 0100
مذبذب كريستالي منخفض التردد (يرى الصفحة 29) 0110
مذبذب كريستالي / مرنان سيراميكي (يرى الصفحة 29) 1000 – 1111
محجوز 0101، 0111

بالنسبة لجميع الصمامات، يعني "1" غير مبرمج بينما يعني "0" مبرمجًا.

يتم شحن الجهاز مع تحديد هذا الخيار.

سيؤدي هذا إلى تحديد وضع التوافق ATtiny15، حيث يتم تقسيم ساعة النظام على أربعة، مما يؤدي إلى تردد ساعة يبلغ 1.6 ميجاهرتز. لمزيد من المعلومات، انظر "المذبذب الداخلي المعاير" في الصفحة 27.

يتم عرض الخيارات المختلفة لكل خيار تسجيل الوقت في الأقسام التالية. عندما تستيقظ وحدة المعالجة المركزية من إيقاف التشغيل، يتم استخدام مصدر الساعة المحدد لتوقيت بدء التشغيل، مما يضمن تشغيل المذبذب بشكل مستقر قبل بدء تنفيذ التعليمات. عندما تبدأ وحدة المعالجة المركزية من إعادة التعيين، يكون هناك تأخير إضافي يسمح للطاقة بالوصول إلى مستوى مستقر قبل بدء التشغيل العادي. يتم استخدام مذبذب الوكالة الدولية للطاقة لتوقيت هذا الجزء في الوقت الحقيقي من وقت البدء. يظهر في الشكل عدد دورات مذبذب WDT المستخدمة لكل مهلة الجدول 6-2.

الجدول 6-2. عدد دورات مذبذب الوكالة الدولية للطاقة

اكتب المهلة عدد الدورات
4 مللي ثانية 512
64 مللي ثانية 8 ألف (8,192)

ساعة خارجية

لتشغيل الجهاز من مصدر ساعة خارجي، يجب تشغيل CLKI كما هو موضح في الشكل 6-4. لتشغيل الجهاز على ساعة خارجية، يجب برمجة صمامات CKSEL على "00".

الشكل 6-4. تكوين محرك الساعة الخارجي

الشكل 6.4

عند تحديد مصدر الساعة هذا، يتم تحديد أوقات بدء التشغيل بواسطة صمامات SUT كما هو موضح في الجدول 6-3.

الجدول 6-3. أوقات البدء لاختيار الساعة الخارجية

سوت[1:0] وقت بدء التشغيل من انقطاع التيار الكهربائي تأخير إضافي من إعادة التعيين الاستخدام الموصى به
00 6 CK 14CK تمكين مجلس الإدارة
01 6 CK 14CK + 4 مللي ثانية قوة سريعة الارتفاع
10 6 CK 14CK + 64 مللي ثانية ارتفاع القوة ببطء
11 محجوز

عند تطبيق ساعة خارجية، يجب تجنب التغييرات المفاجئة في تردد الساعة المطبقة لضمان التشغيل المستقر لوحدة MCU. يمكن أن يؤدي الاختلاف في التردد بأكثر من 2% من دورة ساعة إلى أخرى إلى سلوك غير متوقع. من الضروري التأكد من الاحتفاظ بوحدة MCU في حالة إعادة الضبط أثناء هذه التغييرات في تردد الساعة.

لاحظ أنه يمكن استخدام البيع المسبق لساعة النظام لتنفيذ تغييرات وقت التشغيل لتردد الساعة الداخلية مع ضمان التشغيل المستقر. تشير إلى "المقياس المسبق لساعة النظام" في الصفحة 31 للتفاصيل.

ساعة PLL عالية التردد

يوجد PLL داخلي يوفر معدل ساعة اسميًا قدره 64 ميجاهرتز مقفلاً على مذبذب RC لاستخدام المؤقت/العداد المحيطي 1 ولمصدر ساعة النظام. عند اختياره كمصدر لساعة النظام، عن طريق برمجة صمامات CKSEL إلى "0001"، يتم تقسيمه إلى أربعة كما هو موضح في الجدول 6-4.

الجدول 6-4. أوضاع تشغيل الساعة PLL عالية التردد

سي كي اس اي ال[3:0] التردد الاسمي
0001 16 ميجا هرتز

عند تحديد مصدر الساعة هذا، يتم تحديد أوقات بدء التشغيل بواسطة صمامات SUT كما هو موضح في الجدول 6-5.

الجدول 6-5. أوقات بدء التشغيل لساعة PLL عالية التردد

سوت[1:0] وقت بدء التشغيل من Power Down تأخير إضافي من إعادة ضبط التشغيل (VCC = 5.0 فولت) الاستخدام الموصى به
00 14CK + 1K (1024) CK + 4 مللي ثانية 4 مللي ثانية تمكين مجلس الإدارة

الجدول 6-5. أوقات بدء التشغيل لساعة PLL عالية التردد

سوت[1:0] وقت بدء التشغيل من Power Down تأخير إضافي من إعادة ضبط التشغيل (VCC = 5.0 فولت) الاستخدام الموصى به
01 14CK + 16K (16384) CK + 4 مللي ثانية 4 مللي ثانية قوة سريعة الارتفاع
10 14CK + 1K (1024) CK + 64 مللي ثانية 4 مللي ثانية ارتفاع القوة ببطء
11 14CK + 16K (16384) CK + 64 مللي ثانية 4 مللي ثانية ارتفاع القوة ببطء

مذبذب داخلي مُعاير

بشكل افتراضي، يوفر مذبذب RC الداخلي ساعة تقريبية تبلغ 8.0 ميجاهرتز. على الرغم من المجلدtagاعتمادًا على درجة الحرارة ودرجة الحرارة، يمكن للمستخدم معايرة هذه الساعة بدقة شديدة. يرى "مذبذب RC الداخلي المُعاير - شجاع" في الصفحة 164 و "سرعة المذبذب الداخلي" في الصفحة 192 لمزيد من التفاصيل. يتم شحن الجهاز مع برمجة CKDIV8 Fuse. يرى "المقياس المسبق لساعة النظام" في الصفحة 31 لمزيد من التفاصيل.

يمكن اختيار هذه الساعة كساعة النظام عن طريق برمجة صمامات CKSEL كما هو موضح في الجدول 6-6 في الصفحة

27. إذا تم تحديده، فسوف يعمل بدون مكونات خارجية. أثناء إعادة التعيين، يقوم الجهاز بتحميل قيمة المعايرة المبرمجة مسبقًا في سجل OSCCAL وبالتالي يقوم تلقائيًا بمعايرة مذبذب RC. تظهر دقة هذه المعايرة في صورة معايرة المصنع الجدول 21-2 في الصفحة 164.

عن طريق تغيير سجل OSCCAL من SW، راجع "OSCCAL - سجل معايرة المذبذب" في الصفحة 31، فمن الممكن الحصول على دقة معايرة أعلى من استخدام معايرة المصنع. تظهر دقة هذه المعايرة في صورة معايرة المستخدم الجدول 21-2 في الصفحة 164.

عند استخدام هذا المذبذب كساعة الشريحة، سيظل مذبذب الوكالة الدولية للطاقة مستخدمًا لمؤقت المراقبة ومهلة إعادة الضبط. لمزيد من المعلومات حول قيمة المعايرة المبرمجة مسبقًا، راجع القسم "كالي- البايتات" في الصفحة 150.

يمكن أيضًا ضبط المذبذب الداخلي لتوفير ساعة بتردد 6.4 ميجاهرتز عن طريق كتابة صمامات CKSEL على "0011"، كما هو موضح في الجدول 6-6 أقل. يُشار إلى هذا الإعداد باسم وضع التوافق ATtiny15 ويهدف إلى توفير مصدر ساعة تمت معايرته بسرعة 6.4 ميجاهرتز، كما هو الحال في ATtiny15. في وضع التوافق ATtiny15، يستخدم PLL المذبذب الداخلي الذي يعمل بسرعة 6.4 ميجاهرتز لإنشاء إشارة ساعة محيطية بتردد 25.6 ميجاهرتز للمؤقت/العداد1 (انظر "مؤقت / عداد 8 بت 1 بوصة "وضع ATtiny15" في الصفحة 95). لاحظ أنه في وضع التشغيل هذا، يتم دائمًا تقسيم إشارة الساعة 6.4 ميجا هرتز على أربعة، مما يوفر ساعة نظام 1.6 ميجا هرتز.

الجدول 6-6. أوضاع تشغيل مذبذب RC الداخلي المُعاير

سي كي اس اي ال[3:0] التردد الاسمي
0010(1) 8.0 ميجا هرتز
0011(2) 6.4 ميجا هرتز

يتم شحن الجهاز مع تحديد هذا الخيار.

سيحدد هذا الإعداد وضع التوافق ATtiny15، حيث يتم تقسيم ساعة النظام على أربعة، مما يؤدي إلى تردد ساعة يبلغ 1.6 ميجاهرتز.

عند اختيار المذبذب الداخلي الذي تمت معايرته بتردد 8 ميجاهرتز كمصدر للساعة، يتم تحديد أوقات بدء التشغيل بواسطة صمامات SUT كما هو موضح في الجدول 6-7 أقل.

الجدول 6-7. أوقات بدء التشغيل لساعة مذبذب RC الداخلية المعايرة

سوت[1:0] وقت بدء التشغيل من انقطاع التيار الكهربائي تأخير إضافي من إعادة الضبط (VCC = 5.0 فولت) الاستخدام الموصى به
00 6 CK 14CK(1) تمكين مجلس الإدارة
01 6 CK 14CK + 4 مللي ثانية قوة سريعة الارتفاع
10(2) 6 CK 14CK + 64 مللي ثانية ارتفاع القوة ببطء
11 محجوز

1. إذا تمت برمجة منصهر RSTDISBL، فسيتم زيادة وقت بدء التشغيل هذا إلى 14CK + 4 مللي ثانية لضمان إمكانية الدخول في وضع البرمجة.
2. يتم شحن الجهاز مع تحديد هذا الخيار.

في وضع التوافق ATtiny15، يتم تحديد أوقات بدء التشغيل بواسطة صمامات SUT كما هو موضح في الجدول 6-8 أقل.

الجدول 6-8. أوقات بدء التشغيل لساعة مذبذب RC الداخلية المعايرة (في وضع ATtiny15)

سوت[1:0] وقت بدء التشغيل من انقطاع التيار الكهربائي تأخير إضافي من إعادة الضبط (VCC = 5.0 فولت) الاستخدام الموصى به
00 6 CK 14CK + 64 مللي ثانية
01 6 CK 14CK + 64 مللي ثانية
10 6 CK 14CK + 4 مللي ثانية
11 1 CK 14CK(1)

ملحوظة: إذا تمت برمجة منصهر RSTDISBL، فسيتم زيادة وقت بدء التشغيل هذا إلى 14CK + 4 مللي ثانية لضمان إمكانية الدخول في وضع البرمجة.

باختصار، يمكن العثور على مزيد من المعلومات حول وضع التوافق ATtiny15 في الأقسام تشغيل "المنفذ B (PB5:PB0)". الصفحة 2"PLL الداخلي في وضع التوافق ATtiny15" في الصفحة 24تشغيل "مؤقت/عداد 8 بت 1 في وضع ATtiny15" الصفحة 95"قيود debugWIRE" في الصفحة 140""وحدات بايت المعايرة"" في الصفحة 150 وفي الجدول “مقياس الساعة المسبق اختر" في الصفحة 33.

مذبذب داخلي 128 كيلو هرتز

المذبذب الداخلي 128 كيلو هرتز هو مذبذب منخفض الطاقة يوفر ساعة تبلغ 128 كيلو هرتز. التردد الاسمي عند 3V و 25 درجة مئوية. يمكن اختيار هذه الساعة كساعة النظام عن طريق برمجة صمامات CKSEL على "0100".

عند تحديد مصدر الساعة هذا، يتم تحديد أوقات بدء التشغيل بواسطة صمامات SUT كما هو موضح في الجدول 6-9.

الجدول 6-9. أوقات بدء التشغيل للمذبذب الداخلي 128 كيلو هرتز

سوت[1:0] وقت بدء التشغيل من انقطاع التيار الكهربائي تأخير إضافي من إعادة التعيين الاستخدام الموصى به
00 6 CK 14CK(1) تمكين مجلس الإدارة
01 6 CK 14CK + 4 مللي ثانية قوة سريعة الارتفاع
10 6 CK 14CK + 64 مللي ثانية ارتفاع القوة ببطء
11 محجوز

ملحوظة: إذا تمت برمجة منصهر RSTDISBL، فسيتم زيادة وقت بدء التشغيل هذا إلى 14CK + 4 مللي ثانية لضمان إمكانية الدخول في وضع البرمجة.

مذبذب كريستالي منخفض التردد

لاستخدام بلورة ساعة بتردد 32.768 كيلو هرتز كمصدر للساعة للجهاز، يجب تحديد مذبذب كريستال منخفض التردد عن طريق ضبط منصهرات CKSEL على "0110". يجب أن تكون متصلا الكريستال كما هو موضح في الشكل 6-5. للعثور على سعة تحميل مناسبة لكريستال 32.768 كيلو هرتز، يرجى الرجوع إلى ورقة بيانات الشركة المصنعة.

عند اختيار هذا المذبذب، يتم تحديد أوقات بدء التشغيل بواسطة صمامات SUT كما هو موضح في الجدول 6-10.

الجدول 6-10. أوقات بدء التشغيل لاختيار ساعة المذبذب البلوري منخفض التردد

سوت[1:0] وقت بدء التشغيل من Power Down تأخير إضافي من إعادة الضبط (VCC = 5.0 فولت) الاستخدام الموصى به
00 1 ك (1024) سي كيه(1) 4 مللي ثانية قوة الارتفاع السريع أو تمكين BOD
01 1 ك (1024) سي كيه(1) 64 مللي ثانية ارتفاع القوة ببطء
10 32 ك (32768) سي كيه 64 مللي ثانية تردد مستقر عند بدء التشغيل
11 محجوز

ملحوظة: يجب استخدام هذه الخيارات فقط إذا كان استقرار التردد عند بدء التشغيل غير مهم.

يوفر المذبذب البلوري منخفض التردد سعة تحميل داخلية، انظر الجدول 6-11 في كل دبوس TOSC.

الجدول 6-11. سعة المذبذب البلوري منخفض التردد

جهاز 32 كيلو هرتز أوسك. يكتب كاب (Xtal1/Tosc1) كاب (Xtal2/Tosc2)
أتيني25/45/85 نظام أوسك. 16 بيكو فاراد 6 بيكو فاراد

مذبذب كريستالي / مرنان سيراميكي

XTAL1 وXTAL2 هما مدخلات ومخرجات، على التوالي، للانعكاس amplifier الذي يمكن تهيئته لاستخدامه كمذبذب على الرقاقة، كما هو موضح في الشكل 6-5. ويمكن استخدام إما كريستال الكوارتز أو مرنان السيراميك.

يجب أن يكون C1 وC2 متساويين دائمًا لكل من البلورات والرنانات. تعتمد القيمة المثلى للمكثفات على البلورة أو الرنان المستخدم، وكمية السعة الشاردة، والضوضاء الكهرومغناطيسية للبيئة. وترد في بعض المبادئ التوجيهية الأولية لاختيار المكثفات للاستخدام مع البلورات الجدول 6-12 أقل. بالنسبة للرنانات الخزفية، يجب استخدام قيم المكثف المقدمة من قبل الشركة المصنعة.

الجدول 6-12. أوضاع تشغيل المذبذب البلوري

سي كي اس اي ال[3:1] نطاق التردد (MHz) النطاق الموصى به للمكثفات C1 وC2 للاستخدام مع البلورات (pF)
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

ملاحظات: لا ينبغي استخدام هذا الخيار مع البلورات، بل مع الرنانات الخزفية فقط.

يمكن أن يعمل المذبذب في ثلاثة أوضاع مختلفة، كل منها مُحسّن لنطاق ترددي محدد. يتم تحديد وضع التشغيل بواسطة الصمامات CKSEL[3:1] كما هو موضح في الجدول 6-12.

يحدد منصهر CKSEL0 مع منصهرات SUT[1:0] أوقات بدء التشغيل كما هو موضح في الجدول 6-13.

الجدول 6-13. أوقات بدء التشغيل لاختيار ساعة المذبذب الكريستالي

سي كي اس اي ال 0 سوت[1:0] وقت بدء التشغيل من انقطاع التيار الكهربائي تأخير إضافي من إعادة التعيين الاستخدام الموصى به
0 00 258 CK(1) 14CK + 4 مللي ثانية مرنان سيراميكي، قوة سريعة الارتفاع
0 01 258 CK(1) 14CK + 64 مللي ثانية مرنان سيراميكي، قوة ترتفع ببطء
0 10 1 ك (1024) سي كيه(2) 14CK مرنان السيراميك، تمكين BOD
0 11 1 ك (1024) سي كيه(2) 14CK + 4 مللي ثانية مرنان سيراميكي، قوة سريعة الارتفاع
1 00 1 ك (1024) سي كيه(2) 14CK + 64 مللي ثانية مرنان سيراميكي، قوة ترتفع ببطء
1 01 16 ك (16384) سي كيه 14CK مذبذب كريستالي، تمكين BOD
1 10 16 ك (16384) سي كيه 14CK + 4 مللي ثانية مذبذب كريستالي، قوة سريعة الارتفاع
1 11 16 ك (16384) سي كيه 14CK + 64 مللي ثانية مذبذب كريستالي، قوة ترتفع ببطء

ملحوظات

يجب استخدام هذه الخيارات فقط عند عدم التشغيل بالقرب من الحد الأقصى لتردد الجهاز، وفقط إذا لم يكن استقرار التردد عند بدء التشغيل مهمًا للتطبيق. هذه الخيارات ليست مناسبة للبلورات.

هذه الخيارات مخصصة للاستخدام مع الرنانات الخزفية وستضمن استقرار التردد عند بدء التشغيل. ويمكن استخدامها أيضًا مع البلورات عندما لا تعمل بالقرب من الحد الأقصى لتردد الجهاز، وإذا كان استقرار التردد عند بدء التشغيل ليس مهمًا للتطبيق.

مصدر الساعة الافتراضي

يتم شحن الجهاز مع CKSEL = "0010"، وSUT = "10"، وCKDIV8 مبرمجة. وبالتالي فإن إعداد مصدر الساعة الافتراضي هو مذبذب RC الداخلي الذي يعمل بسرعة 8 ميجاهرتز مع أطول وقت بدء تشغيل وضبط أولي لساعة النظام يبلغ 8، مما يؤدي إلى ساعة نظام تبلغ 1.0 ميجاهرتز. يضمن هذا الإعداد الافتراضي أن جميع المستخدمين يمكنهم ضبط إعدادات مصدر الساعة المطلوبة باستخدام In-System أو High-voltagه مبرمج.

مقياس ساعة النظام

يمكن تقسيم ساعة النظام ATtiny25/45/85 عن طريق ضبط "CLKPR - تسجيل مقياس الساعة المسبق" في الصفحة 32. يمكن استخدام هذه الميزة لتقليل استهلاك الطاقة عندما تكون متطلبات طاقة المعالجة منخفضة. يمكن استخدام هذا مع جميع خيارات مصدر الساعة، وسيؤثر على تردد ساعة وحدة المعالجة المركزية وجميع الأجهزة الطرفية المتزامنة. يتم تقسيم clkI/O وclkADC وclkCPU وclkFLASH بعامل كما هو موضح في الجدول 6-15 في الصفحة 33.

وقت التبديل

عند التبديل بين إعدادات المقياس المسبق، يضمن المقياس المسبق لساعة النظام عدم حدوث أي خلل في نظام الساعة وعدم وجود تردد متوسط ​​أعلى من تردد الساعة المطابق للإعداد السابق، ولا تردد الساعة المطابق للإعداد الجديد.

يعمل عداد التموج الذي ينفذ المقياس المسبق على تردد الساعة غير المقسمة، والذي قد يكون أسرع من تردد ساعة وحدة المعالجة المركزية. ومن ثم، لا يمكن تحديد حالة المقياس الأولي - حتى لو كان قابلاً للقراءة، ولا يمكن التنبؤ بالضبط بالوقت الدقيق الذي يستغرقه التحول من تقسيم ساعة إلى آخر.

من وقت كتابة قيم CLKPS، يستغرق الأمر ما بين T1 + T2 وT1 + 2*T2 قبل أن يصبح تردد الساعة الجديد نشطًا. في هذه الفترة، يتم إنتاج حافتين نشطتين للساعة. هنا، T2 هي فترة الساعة السابقة، وT1 هي الفترة المقابلة لإعداد المقياس المسبق الجديد.

المخزن المؤقت لإخراج الساعة

يمكن للجهاز إخراج ساعة النظام على طرف CLKO (عند عدم استخدامه كدبوس XTAL2). لتمكين الإخراج، يجب برمجة CKOUT Fuse. يعد هذا الوضع مناسبًا عند استخدام ساعة الشريحة لتشغيل دوائر أخرى على النظام. لاحظ أنه لن يتم إخراج الساعة أثناء إعادة الضبط وأن التشغيل العادي لطرف الإدخال/الإخراج سيتم تجاوزه عند برمجة المصهر. يمكن اختيار مذبذب RC الداخلي ومذبذب WDT وPLL والساعة الخارجية (CLKI) عند إخراج الساعة على CLKO. لا يمكن استخدام المذبذبات الكريستالية (XTAL1، XTAL2) لإخراج الساعة على CLKO. إذا تم استخدام System Clock Prescaler، فسيتم إخراج ساعة النظام المقسمة.

تسجيل الوصف

OSCCAL – سجل معايرة المذبذب

قليل 7 6 5 4 3 2 1 0
0×31 كال 7 كال 6 كال 5 كال 4 كال 3 كال 2 كال 1 كال 0 OSCCAL
قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة

البتات 7:0 - CAL[7:0]: قيمة معايرة المذبذب

يتم استخدام سجل معايرة المذبذب لقص مذبذب RC الداخلي المعاير لإزالة اختلافات العملية من تردد المذبذب. تتم كتابة قيمة معايرة مبرمجة مسبقًا تلقائيًا إلى هذا السجل أثناء إعادة ضبط الشريحة، مما يوفر تردد معايرة المصنع كما هو محدد في الجدول 21-2 في الصفحة 164. يمكن للبرنامج التطبيقي كتابة هذا السجل لتغيير تردد المذبذب. يمكن معايرة المذبذب للترددات كما هو محدد في الجدول 21-2 في الصفحة 164. المعايرة خارج هذا النطاق غير مضمونة.

لاحظ أن هذا المذبذب يُستخدم لتحديد وقت الوصول إلى الكتابة لـ EEPROM وFlash، وسوف تتأثر أوقات الكتابة هذه وفقًا لذلك. إذا تمت كتابة EEPROM أو Flash، فلا تقم بالمعايرة لأكثر من 8.8 ميجاهرتز. وإلا، فقد تفشل عملية الكتابة بـ EEPROM أو Flash.

تحدد بتة CAL7 نطاق تشغيل المذبذب. يؤدي تعيين هذا البت إلى 0 إلى الحصول على أقل نطاق تردد، بينما يؤدي تعيين هذا البت إلى 1 إلى الحصول على أعلى نطاق تردد. يتداخل نطاقا التردد، وبعبارة أخرى، فإن إعداد OSCCAL = 0x7F يعطي ترددًا أعلى من OSCCAL = 0x80.

يتم استخدام بتات CAL[6:0] لضبط التردد ضمن النطاق المحدد. الإعداد 0x00 يعطي أقل تردد في هذا النطاق، والإعداد 0x7F يعطي أعلى تردد في النطاق.

لضمان التشغيل المستقر لوحدة MCU، يجب تغيير قيمة المعايرة بشكل صغير. يمكن أن يؤدي الاختلاف في التردد بنسبة تزيد عن 2% من دورة إلى أخرى إلى سلوك غير متوقع. يجب ألا تتجاوز التغييرات في OSCCAL 0x20 لكل معايرة. من الضروري التأكد من الاحتفاظ بوحدة MCU في حالة إعادة الضبط أثناء هذه التغييرات في تردد الساعة

الجدول 6-14. نطاق تردد مذبذب RC الداخلي

قيمة أوسككال أدنى تردد نموذجي فيما يتعلق بالتردد الاسمي أعلى تردد نموذجي فيما يتعلق بالتردد الاسمي
0×00 50% 100%
0x3F 75% 150%
0x7F 100% 200%

CLKPR - سجل مقياس الساعة المسبق

قليل 7 6 5 4 3 2 1 0
0×26 CLKPCE CLKPS3 CLKPS2 CLKPS1 CLKPS0 CLKPR
قراءة/كتابة قراءة/كتابة R R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة

القيمة الأولية 0 0 0 0 انظر وصف البت

البت 7 - CLKPCE: تمكين تغيير مقياس الساعة

يجب كتابة بت CLKPCE إلى المنطق الأول لتمكين تغيير بتات CLKPS. يتم تحديث بت CLKPCE فقط عندما تتم كتابة البتات الأخرى في CLKPR في نفس الوقت إلى الصفر. يتم مسح CLKPCE بواسطة الأجهزة أربع دورات بعد كتابتها أو عند كتابة بتات CLKPS. إعادة كتابة بت CLKPCE خلال فترة المهلة هذه لا يؤدي إلى تمديد فترة المهلة، ولا مسح بت CLKPCE.

البتات 6:4 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البتات 3:0 – CLKPS[3:0]: محدد مقياس الساعة لتحديد البتات 3 – 0

تحدد هذه البتات عامل التقسيم بين مصدر الساعة المحدد وساعة النظام الداخلية. يمكن كتابة هذه البتات في وقت التشغيل لتغيير تردد الساعة ليناسب متطلبات التطبيق. عندما يقوم المقسم بتقسيم مدخلات الساعة الرئيسية إلى وحدة MCU، يتم تقليل سرعة جميع الأجهزة الطرفية المتزامنة عند استخدام عامل التقسيم. وترد عوامل القسمة في الجدول 6-15.

لتجنب التغييرات غير المقصودة في تردد الساعة، يجب اتباع إجراء كتابة خاص لتغيير بتات CLKPS:

اكتب بت تمكين تغيير مقياس الساعة (CLKPCE) إلى واحد وجميع البتات الأخرى في CLKPR إلى الصفر.

خلال أربع دورات، اكتب القيمة المطلوبة إلى CLKPS أثناء كتابة صفر إلى CLKPCE.

يجب تعطيل المقاطعات عند تغيير إعداد المقياس المسبق للتأكد من عدم مقاطعة إجراء الكتابة.

يحدد صمام CKDIV8 القيمة الأولية لبتات CLKPS. إذا كان CKDIV8 غير مبرمج، فسيتم إعادة تعيين بتات CLKPS إلى "0000". إذا تمت برمجة CKDIV8، تتم إعادة تعيين بتات CLKPS إلى "0011"، مما يعطي عامل القسمة ثمانية عند بدء التشغيل. يجب استخدام هذه الميزة إذا كان مصدر الساعة المحدد يحتوي على تردد أعلى من الحد الأقصى لتردد الجهاز في ظروف التشغيل الحالية. لاحظ أنه يمكن كتابة أي قيمة إلى بتات CLKPS بغض النظر عن إعداد CKDIV8 Fuse. يجب أن يضمن برنامج التطبيق وجود عامل تقسيم كافٍ

يتم اختياره إذا كان مصدر الساعة المحدد يحتوي على تردد أعلى من الحد الأقصى لتردد الجهاز في ظروف التشغيل الحالية. يتم شحن الجهاز مع برمجة CKDIV8 Fuse.

الجدول 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 ميجاهرتز).

إدارة الطاقة وأوضاع السكون

الأداء العالي وكفاءة التعليمات البرمجية الرائدة في الصناعة تجعل من وحدات التحكم الدقيقة AVR خيارًا مثاليًا لتطبيقات الطاقة المنخفضة. بالإضافة إلى ذلك، تتيح أوضاع السكون للتطبيق إيقاف تشغيل الوحدات غير المستخدمة في وحدة MCU، وبالتالي توفير الطاقة. يوفر AVR أوضاع نوم مختلفة تسمح للمستخدم بتخصيص استهلاك الطاقة وفقًا لمتطلبات التطبيق.

أوضاع النوم

الشكل 6-1 في الصفحة 23 يعرض أنظمة الساعة المختلفة وتوزيعها في ATtiny25/45/85. وهذا الرقم مفيد في اختيار وضع النوم المناسب. الجدول 7-1 يعرض أوضاع النوم المختلفة ومصادر الاستيقاظ الخاصة بها.

الجدول 7-1. مجالات الساعة النشطة ومصادر الاستيقاظ في أوضاع النوم المختلفة

مجالات الساعة النشطة المذبذبات مصادر الاستيقاظ
وضع السكون clkCPU clkFLASH clkIO clkADC clkPCK تم تمكين مصدر الساعة الرئيسي INT0 وتغيير الدبوس سبم/إيبروم

مستعد

 

حالة بدء USI

محول تناظري رقمي إدخال وإخراج أخرى كلب حراسة مقاطعة
عاطل X X X X X X X X X X
الحد من الضوضاء ADC X X X(1) X X X X
الطاقة انخفضت X(1) X X

ملاحظة: بالنسبة لـ INT0، يتم مقاطعة المستوى فقط.

للدخول إلى أي من أوضاع السكون الثلاثة، يجب كتابة بت SE في MCUCR إلى المنطق الأول ويجب تنفيذ تعليمات SLEEP. تحدد بتات SM[1:0] الموجودة في سجل MCUCR وضع السكون (الخمول أو تقليل الضوضاء ADC أو خفض الطاقة) الذي سيتم تنشيطه بواسطة تعليمات SLEEP. يرى الجدول 7-2 للحصول على ملخص.

في حالة حدوث مقاطعة ممكّنة أثناء وجود وحدة MCU في وضع السكون، تنشط وحدة MCU. يتم بعد ذلك إيقاف وحدة MCU لمدة أربع دورات بالإضافة إلى وقت بدء التشغيل، وتنفيذ روتين المقاطعة، واستئناف التنفيذ من التعليمات التالية لـ SLEEP. محتويات السجل File وSRAM لا تتغير عندما يستيقظ الجهاز من وضع السكون. في حالة حدوث إعادة تعيين أثناء وضع السكون، تنشط وحدة MCU وتنفذ من ناقل إعادة التعيين.

ملاحظة: إذا تم استخدام مقاطعة تم تشغيلها للتنبيه، فيجب الاحتفاظ بالمستوى المتغير لبعض الوقت لتنبيه وحدة MCU (ولكي تدخل MCU إلى روتين خدمة المقاطعة). يرى "المقاطعات الخارجية" في الصفحة 49 للتفاصيل.

وضع الخمول

عندما تتم كتابة بتات SM[1:0] إلى 00، فإن تعليمات SLEEP تجعل وحدة MCU تدخل في وضع الخمول، مما يؤدي إلى إيقاف وحدة المعالجة المركزية ولكن يسمح للمقارنة التناظرية، وADC، وUSI، وTimer/Counter، وWatchdog، ونظام المقاطعة بمواصلة العمل. أكل. يقوم وضع السكون هذا بشكل أساسي بإيقاف clkCPU وclkFLASH، مع السماح بتشغيل الساعات الأخرى.

يمكّن وضع الخمول وحدة MCU من الاستيقاظ من المقاطعات الخارجية بالإضافة إلى المقاطعات الداخلية مثل Timer Overflow. إذا لم تكن هناك حاجة إلى التنبيه من مقاطعة Analog Comparator، فيمكن إيقاف تشغيل Analog Comparator عن طريق ضبط بت ACD في "ACSR - التحكم في المقارنة التناظرية وتسجيل الحالة" في الصفحة 120. سيؤدي هذا إلى تقليل استهلاك الطاقة في وضع الخمول. إذا تم تمكين ADC، يبدأ التحويل تلقائيًا عند الدخول في هذا الوضع.

وضع تقليل الضوضاء ADC

عندما تتم كتابة بتات SM[1:0] إلى 01، فإن تعليمات SLEEP تجعل وحدة MCU تدخل في وضع ADC Noise Reduction، مما يؤدي إلى إيقاف وحدة المعالجة المركزية ولكن يسمح لـ ADC والمقاطعات الخارجية وWatchdog بمواصلة العمل (إذا تم تمكينه). يقوم وضع السكون هذا بإيقاف clkI/O وclkCPU وclkFLASH، مع السماح بتشغيل الساعات الأخرى.

يؤدي ذلك إلى تحسين بيئة الضوضاء لـ ADC، مما يتيح قياسات بدقة أعلى. إذا تم تمكين ADC، يبدأ التحويل تلقائيًا عند الدخول في هذا الوضع. بصرف النظر عن مقاطعة اكتمال تحويل ADC، فقط إعادة التعيين الخارجي، أو إعادة تعيين الوكالة الدولية للطاقة، أو إعادة تعيين براون أوت، أو مقاطعة جاهزة لـ SPM/EEPROM، أو مقاطعة مستوى خارجي على INT0 أو مقاطعة تغيير الدبوس، يمكنها إيقاظ MCU من تقليل ضوضاء ADC وضع.

وضع خفض الطاقة

عندما تتم كتابة البتات SM[1:0] إلى 10، فإن تعليمات SLEEP تجعل وحدة MCU تدخل في وضع خفض الطاقة. في هذا الوضع، يتم إيقاف المذبذب، بينما تستمر المقاطعات الخارجية وUSI في اكتشاف الحالة وتستمر الوكالة الدولية للطاقة في العمل (إذا تم تمكينها). فقط إعادة الضبط الخارجي، أو إعادة تعيين الوكالة الدولية للطاقة، أو إعادة الضبط البني، أو مقاطعة حالة بدء USI، أو مقاطعة المستوى الخارجي على INT0 أو مقاطعة تغيير الدبوس، يمكنها إيقاظ وحدة MCU. يقوم وضع السكون هذا بإيقاف جميع الساعات التي تم إنشاؤها، مما يسمح بتشغيل الوحدات غير المتزامنة فقط.

تعطيل برنامج BOD

عندما يتم تمكين كاشف براون أوت (BOD) بواسطة صمامات BODLEVEL (انظر الجدول 20-4 في الصفحة 148)، يقوم مجلس الإدارة بمراقبة حجم العرض بشكل نشطtagه أثناء فترة النوم. في بعض الأجهزة، من الممكن توفير الطاقة عن طريق تعطيل BOD بواسطة برنامج في وضع السكون الخاص بإيقاف الطاقة. سيكون استهلاك الطاقة في وضع السكون عند نفس المستوى عندما يتم تعطيل BOD عالميًا بواسطة الصمامات.

إذا تم تعطيل BOD بواسطة البرنامج، فسيتم إيقاف تشغيل وظيفة BOD فورًا بعد الدخول في وضع السكون. عند الاستيقاظ من النوم، يتم تمكين BOD تلقائيًا مرة أخرى. وهذا يضمن التشغيل الآمن في حالة انخفاض مستوى VCC أثناء فترة النوم.

عند تعطيل BOD، سيكون وقت الاستيقاظ من وضع السكون هو نفس وقت الاستيقاظ من RESET. يجب على المستخدم تكوين أوقات التنبيه يدويًا بحيث يتوفر لمرجع فجوة النطاق الوقت الكافي للبدء ويعمل BOD بشكل صحيح قبل أن تستمر MCU في تنفيذ التعليمات البرمجية. راجع بتات الصمامات SUT[1:0] وCKSEL[3:0] في الجدول "Fuse Low Byte" في الصفحة 149

يتم التحكم في تعطيل BOD بواسطة بت BODS (نوم BOD) في سجل التحكم MCU، انظر "MCUCR - التحكم في MCU التسجيل" في الصفحة 37. تؤدي كتابة هذا البت إلى واحد إلى إيقاف تشغيل BOD في Power-Down، بينما تؤدي كتابة صفر إلى إبقاء BOD نشطًا. الإعداد الافتراضي هو صفر، أي BOD نشط.

يتم التحكم في الكتابة إلى بتة BODS من خلال تسلسل زمني وبتة تمكين، انظر "MCUCR - سجل التحكم MCU- ثالثا" في الصفحة 37.

القيود

تم تنفيذ وظيفة تعطيل BOD في الأجهزة التالية فقط:

ATtiny25، المراجعة E، والأحدث

ATtiny45، المراجعة D، والأحدث

ATtiny85، المراجعة C، والأحدث

يتم وضع علامة على المراجعات على حزمة الجهاز ويمكن العثور عليها على النحو التالي:

الجانب السفلي من الحزمتين 8P3 و8S2

الجانب العلوي من الحزمة 20M1

سجل تخفيض الطاقة

سجل تخفيض الطاقة (PRR)، انظر "PRR - سجل تخفيض الطاقة" في الصفحة 38، يوفر طريقة لتقليل استهلاك الطاقة عن طريق إيقاف الساعة للأجهزة الطرفية الفردية. الحالة الحالية للجهاز الطرفي متجمدة ولا يمكن قراءة أو كتابة سجلات الإدخال/الإخراج. ستظل الموارد التي يستخدمها الجهاز الطرفي عند إيقاف الساعة مشغولة، وبالتالي يجب تعطيل الجهاز الطرفي في معظم الحالات قبل إيقاف الساعة. إن تنشيط الوحدة، والذي يتم عن طريق مسح البت في PRR، يضع الوحدة في نفس الحالة التي كانت عليها قبل إيقاف التشغيل.

يمكن استخدام إيقاف تشغيل الوحدة في وضع الخمول والوضع النشط لتقليل استهلاك الطاقة الإجمالي بشكل كبير. في جميع أوضاع السكون الأخرى، تكون الساعة متوقفة بالفعل. يرى "تيار إمداد وحدات الإدخال/الإخراج" في الصفحة 177 على سبيل المثالampليز.

تقليل استهلاك الطاقة

هناك العديد من المشكلات التي يجب مراعاتها عند محاولة تقليل استهلاك الطاقة في نظام يتم التحكم فيه بواسطة AVR. بشكل عام، يجب استخدام أوضاع السكون قدر الإمكان، ويجب اختيار وضع السكون بحيث يعمل أقل عدد ممكن من وظائف الجهاز. يجب تعطيل جميع الوظائف غير المطلوبة. وعلى وجه الخصوص، قد تحتاج الوحدات التالية إلى اهتمام خاص عند محاولة تحقيق أقل استهلاك ممكن للطاقة.

محول من تناظري إلى رقمي

في حالة تمكينه، سيتم تمكين ADC في جميع أوضاع السكون. لتوفير الطاقة، يجب تعطيل ADC قبل الدخول في أي وضع سكون. عند إيقاف تشغيل ADC وتشغيله مرة أخرى، سيكون التحويل التالي عبارة عن تحويل موسع. تشير إلى "المحول التناظري إلى الرقمي" في الصفحة 122 للحصول على تفاصيل حول عملية ADC.

المقارنة التناظرية

عند الدخول في وضع الخمول، يجب تعطيل المقارنة التناظرية إذا لم يتم استخدامها. عند الدخول في وضع تقليل الضوضاء ADC، يجب تعطيل المقارنة التناظرية. في أوضاع السكون الأخرى، يتم تعطيل المقارنة التناظرية تلقائيًا. ومع ذلك، إذا تم إعداد المقارنة التناظرية لاستخدام المجلد الداخليtage مرجع كمدخل، يجب تعطيل المقارنة التناظرية في جميع أوضاع السكون. خلاف ذلك، المجلد الداخليtagسيتم تمكين المرجع، بغض النظر عن وضع السكون. تشير إلى "المقارن التناظري" في الصفحة 119 للحصول على تفاصيل حول كيفية تكوين المقارنة التناظرية.

كاشف اللون البني

إذا لم تكن هناك حاجة إلى كاشف براون أوت في التطبيق، فيجب إيقاف تشغيل هذه الوحدة. إذا تم تمكين كاشف براون أوت بواسطة صمامات BODLEVEL، فسيتم تمكينه في جميع أوضاع السكون، وبالتالي، يستهلك الطاقة دائمًا. وفي أوضاع النوم الأعمق، سيساهم ذلك بشكل كبير في إجمالي الاستهلاك الحالي. يرى "كشف براون-أوت- "" في الصفحة 41 و "تعطيل برنامج BOD" في الصفحة 35 للحصول على تفاصيل حول كيفية تكوين كاشف براون آوت.

المجلد الداخليtagمرجع هـ

المجلد الداخليtagسيتم تمكين المرجع عند الحاجة عن طريق اكتشاف براون أو المقارنة التناظرية أو ADC. إذا تم تعطيل هذه الوحدات كما هو موضح في الأقسام أعلاه، فسيتم حذف المجلد الداخليtagسيتم تعطيل المرجع الإلكتروني ولن يستهلك الطاقة. عند التشغيل مرة أخرى، يجب على المستخدم السماح للمرجع بالبدء قبل استخدام الإخراج. إذا تم الاحتفاظ بالمرجع في وضع السكون، فيمكن استخدام الإخراج على الفور. تشير إلى "المجلد الداخليtag"المرجع الإلكتروني" في الصفحة 42 للحصول على تفاصيل حول وقت البدء.

مؤقت مراقبة

إذا لم تكن هناك حاجة إلى Watchdog Timer في التطبيق، فيجب إيقاف تشغيل هذه الوحدة. إذا تم تمكين Watchdog Timer، فسيتم تمكينه في جميع أوضاع السكون، وبالتالي يستهلك الطاقة دائمًا. وفي أوضاع النوم الأعمق، سيساهم ذلك بشكل كبير في إجمالي الاستهلاك الحالي. تشير إلى "مؤقت المراقبة" في الصفحة 42 للحصول على تفاصيل حول كيفية تكوين Watchdog Timer.

دبابيس المنفذ

عند الدخول في وضع السكون، يجب تكوين جميع منافذ المنفذ لاستخدام الحد الأدنى من الطاقة. الشيء الأكثر أهمية هو التأكد من عدم وجود أي دبابيس تؤدي إلى أحمال مقاومة. في أوضاع السكون حيث يتم إيقاف كل من ساعة الإدخال/الإخراج (clkI/O) وساعة ADC (clkADC)، سيتم تعطيل المخازن المؤقتة للإدخال بالجهاز. وهذا يضمن عدم استهلاك أي طاقة

بواسطة منطق الإدخال عند عدم الحاجة إليها. في بعض الحالات، يكون منطق الإدخال ضروريًا لاكتشاف ظروف الاستيقاظ و

سيتم بعد ذلك تمكينه. الرجوع إلى القسم "تمكين الإدخال الرقمي وأوضاع السكون" في الصفحة 57 للحصول على تفاصيل حول الدبابيس التي تم تمكينها. إذا تم تمكين المخزن المؤقت للإدخال وتركت إشارة الإدخال عائمة أو كان مستوى الإشارة التناظرية قريبًا من VCC/2، فسيستخدم المخزن المؤقت للإدخال طاقة زائدة.

بالنسبة لمنافذ الإدخال التناظرية، يجب تعطيل المخزن المؤقت للإدخال الرقمي في جميع الأوقات. يمكن أن يؤدي مستوى الإشارة التناظرية القريب من VCC/2 على طرف الإدخال إلى حدوث تيار كبير حتى في الوضع النشط. يمكن تعطيل المخازن المؤقتة للإدخال الرقمي عن طريق الكتابة إلى سجل تعطيل الإدخال الرقمي (DIDR0). تشير إلى "DIDR0 - تسجيل تعطيل الإدخال الرقمي 0" في الصفحة 121 للتفاصيل.

تسجيل الوصف

MCUCR - سجل التحكم MCU

يحتوي سجل التحكم MCU على بتات تحكم لإدارة الطاقة.

قليل 7 6 5 4 3 2 1 0
0×35 أجسام بُود SE إس إم 1 إس إم 0 بودسي ISC01 ISC00 MCUCR
قراءة/كتابة R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة R قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

البتة 7 – BODS: نوم BOD

تتوفر وظيفة تعطيل BOD في بعض الأجهزة فقط. يرى "القيود" في الصفحة 36.

من أجل تعطيل BOD أثناء النوم (انظر الجدول 7-1 في الصفحة 34) يجب كتابة بت BODS إلى المنطق الأول. يتم التحكم في ذلك من خلال تسلسل زمني وبت التمكين BODSE في MCUCR. أولاً، يجب ضبط كل من BODS وBODSE على واحد. ثانيًا، خلال أربع دورات على مدار الساعة، يجب ضبط BODS على واحد ويجب ضبط BODSE على الصفر. تكون بتة BODS نشطة لمدة ثلاث دورات على مدار الساعة بعد ضبطها. يجب تنفيذ تعليمات السكون أثناء نشاط BODS من أجل إيقاف تشغيل BOD لوضع السكون الفعلي. ويتم مسح بتة BODS تلقائيًا بعد ثلاث دورات على مدار الساعة.

في الأجهزة التي لم يتم فيها تنفيذ Sleeping BOD، لا يتم استخدام هذا البت وسيقرأ دائمًا صفرًا.

البت 5 – SE: تمكين النوم

يجب كتابة بت SE إلى المنطق الأول لجعل وحدة MCU تدخل في وضع السكون عند تنفيذ تعليمات SLEEP. لتجنب دخول MCU في وضع السكون ما لم يكن هذا هو غرض المبرمج، فمن المستحسن كتابة بت تمكين السكون (SE) إلى واحد قبل تنفيذ تعليمات SLEEP مباشرة ومسحه مباشرة بعد الاستيقاظ.

البتات 4:3 ​​- SM[1:0]: وضع السكون حدد البتات 1 و0

تختار هذه البتات بين أوضاع السكون الثلاثة المتاحة كما هو موضح في الجدول 7-2.

الجدول 7-2. تحديد وضع السكون

إس إم 1 إس إم 0 وضع السكون
0 0 عاطل
0 1 الحد من الضوضاء ADC
1 0 الطاقة انخفضت
1 1 محجوز

البت 2 - BODSE: تمكين نوم BOD

تتوفر وظيفة تعطيل BOD في بعض الأجهزة فقط. يرى "القيود" في الصفحة 36.

وتتيح بتة BODSE ضبط بتة التحكم في BODS، كما هو موضح في وصف بتة BODS. يتم التحكم في تعطيل BOD من خلال تسلسل زمني.

هذا البت غير مستخدم في الأجهزة التي لم يتم فيها تنفيذ برنامج تعطيل BOD وسيتم قراءته كصفر في تلك الأجهزة.

PRR – سجل تخفيض الطاقة

يوفر سجل تخفيض الطاقة طريقة لتقليل استهلاك الطاقة عن طريق السماح بتعطيل إشارات الساعة الطرفية.

قليل 7 6 5 4 3 2 1 0
0×20 برتم1 برتم0 بروسي برادك بي آر آر
قراءة/كتابة R R R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

البتات 7:4 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البت 3 - PRTIM1: مؤقت/عداد تخفيض الطاقة 1

تؤدي كتابة منطقية إلى هذا البت إلى إيقاف تشغيل وحدة Timer/Counter1. عند تمكين المؤقت/العداد 1، ستستمر العملية كما كانت قبل إيقاف التشغيل.

البت 2 - PRTIM0: مؤقت/عداد تخفيض الطاقة 0

تؤدي كتابة منطقية إلى هذا البت إلى إيقاف تشغيل وحدة Timer/Counter0. عند تمكين المؤقت/العداد 0، ستستمر العملية كما كانت قبل إيقاف التشغيل.

البت 1 - PRUSI: USI لتقليل الطاقة

تؤدي كتابة منطق منطقي إلى هذا البت إلى إيقاف تشغيل USI عن طريق إيقاف الساعة إلى الوحدة. عند تنشيط USI مرة أخرى، يجب إعادة تهيئة USI لضمان التشغيل السليم.

البت 0 - PRADC: خفض الطاقة ADC

تؤدي كتابة المنطق إلى هذا البت إلى إيقاف تشغيل ADC. يجب تعطيل ADC قبل إيقاف التشغيل. لاحظ أن ساعة ADC تستخدم أيضًا من قبل بعض أجزاء المقارنة التناظرية، مما يعني أنه لا يمكن استخدام المقارنة التناظرية عندما تكون هذه البتة عالية.

التحكم في النظام وإعادة ضبطه

إعادة ضبط AVR

أثناء إعادة التعيين، يتم ضبط كافة سجلات الإدخال/الإخراج على قيمها الأولية، ويبدأ البرنامج في التنفيذ من ناقل إعادة التعيين. يجب أن تكون التعليمات الموضوعة في Reset Vector عبارة عن تعليمات RJMP – الانتقال النسبي – إلى روتين معالجة إعادة التعيين. إذا لم يمكّن البرنامج مطلقًا مصدر المقاطعة، فلن يتم استخدام متجهات المقاطعة، ويمكن وضع رمز البرنامج العادي في هذه المواقع. مخطط الدائرة في الشكل 8-1 يظهر منطق إعادة التعيين. ترد المعلمات الكهربائية لدوائر إعادة الضبط في "خصائص النظام وإعادة الضبط" في الصفحة 165.

الشكل 8-1 إعادة ضبط المنطق إعادة تعيين المنطق

تتم إعادة ضبط منافذ الإدخال/الإخراج الخاصة بـ AVR على الفور إلى حالتها الأولية عندما يصبح مصدر إعادة التعيين نشطًا. وهذا لا يتطلب تشغيل أي مصدر للساعة.

بعد أن تصبح جميع مصادر إعادة التعيين غير نشطة، يتم استدعاء عداد التأخير، مما يؤدي إلى تمديد عملية إعادة التعيين الداخلية. وهذا يسمح للطاقة بالوصول إلى مستوى مستقر قبل بدء التشغيل العادي. يتم تحديد فترة المهلة لعداد التأخير من قبل المستخدم من خلال صمامات SUT وCKSEL. يتم عرض الاختيارات المختلفة لفترة التأخير في "ساعة المصادر" في الصفحة 25.

إعادة تعيين المصادر

يحتوي ATtiny25/45/85 على أربعة مصادر لإعادة التعيين:

الطاقة على إعادة تعيين. تتم إعادة ضبط MCU عندما يكون حجم العرضtage أقل من عتبة إعادة ضبط التشغيل (VPOT).

إعادة تعيين خارجي. تتم إعادة ضبط وحدة MCU عند وجود مستوى منخفض على طرف RESET لفترة أطول من الحد الأدنى لطول النبضة.

إعادة تعيين الوكالة الدولية للطاقة. تتم إعادة تعيين وحدة MCU عند انتهاء فترة Watchdog Timer ويتم تمكين Watchdog.

إعادة ضبط اللون البني. تتم إعادة ضبط MCU عندما يكون حجم العرضtage VCC أقل من حد إعادة تعيين براون أوت (VBOT) وتم تمكين كاشف براون أوه.

الطاقة على إعادة تعيين

يتم إنشاء نبضة إعادة ضبط التشغيل (POR) بواسطة دائرة كشف على الرقاقة. يتم تعريف مستوى الكشف في "النظام- "الخصائص وإعادة ضبطها" في الصفحة 165. يتم تنشيط POR عندما يكون VCC أقل من مستوى الكشف. يمكن استخدام دائرة POR لتشغيل عملية إعادة ضبط بدء التشغيل، وكذلك لاكتشاف الفشل في حجم الإمدادtage.

تضمن دائرة إعادة ضبط التشغيل (POR) إعادة ضبط الجهاز من التشغيل. الوصول إلى عتبة إعادة ضبط التشغيلtagيقوم e باستدعاء عداد التأخير، الذي يحدد مدة بقاء الجهاز في وضع RESET بعد ارتفاع VCC. يتم تنشيط إشارة RESET مرة أخرى، دون أي تأخير، عندما ينخفض ​​VCC إلى ما دون مستوى الكشف.

الشكل 8-2. بدء تشغيل MCU، وإعادة الضبط مرتبط بـ VCC

إعادة الضبط الداخلي

الشكل 8-3. بدء تشغيل MCU، وإعادة الضبط ممتد خارجيًا

إعادة تعيين الخارجية

يتم إنشاء إعادة الضبط الخارجي بمستوى منخفض على دبوس RESET إذا تم تمكينه. إعادة ضبط النبضات الأطول من الحد الأدنى لعرض النبض (انظر "خصائص النظام وإعادة الضبط" في الصفحة 165) سيؤدي إلى إعادة ضبط، حتى لو لم تكن الساعة قيد التشغيل. لا نضمن أن تؤدي النبضات الأقصر إلى إعادة التعيين. عندما تصل الإشارة المطبقة إلى حجم عتبة إعادة الضبطtagهـ - VRST - على حافته الإيجابية، يبدأ عداد التأخير وحدة MCU بعد انتهاء فترة المهلة.

الشكل 8-4. إعادة الضبط الخارجي أثناء التشغيل الشكل 8.4

كشف براون خارج

يحتوي ATtiny25/45/85 على دائرة كشف براون-أوت (BOD) على الرقاقة لمراقبة مستوى VCC أثناء التشغيل من خلال مقارنته بمستوى تشغيل ثابت. يمكن تحديد مستوى التشغيل لـ BOD بواسطة صمامات BODLEVEL. يحتوي مستوى الزناد على تباطؤ لضمان اكتشاف اللون البني الخالي من الارتفاع. وينبغي تفسير التباطؤ على مستوى الكشف على النحو التالي: VBOT+ = VBOT + VHYST/2 وVBOT- = VBOT – VHYST/2.

عندما يتم تمكين BOD، وتنخفض VCC إلى قيمة أقل من مستوى المشغل (VBOT-in الشكل 8-5)، يتم تنشيط إعادة ضبط براون أوت على الفور. عندما يزيد VCC فوق مستوى الزناد (VBOT+ in الشكل 8-5)، يقوم عداد التأخير ببدء تشغيل وحدة MCU بعد انتهاء فترة المهلة tTOUT.

سوف تكتشف دائرة BOD فقط انخفاضًا في VCC إذا كان المجلدtagيبقى e تحت مستوى الزناد لفترة أطول من tBOD الموضح "خصائص النظام وإعادة الضبط" في الصفحة 165. الشكل 8.5

إعادة تعيين الوكالة الدولية للطاقة

عندما تنتهي مهلة الوكالة الدولية للطاقة، فإنها ستولد نبضة إعادة ضبط قصيرة مدتها دورة CK واحدة. على الحافة السفلية لهذه النبضة، يبدأ مؤقت التأخير في حساب فترة المهلة tTOUT. تشير إلى "مؤقت المراقبة" في الصفحة 42 للحصول على تفاصيل حول تشغيل Watchdog Timer.

المجلدtage مرجع إشارات التمكين ووقت البدء

المجلدtagيحتوي المرجع الإلكتروني على وقت بدء قد يؤثر على الطريقة التي ينبغي استخدامه بها. يتم إعطاء وقت البدء في "خصائص النظام وإعادة الضبط" في الصفحة 165. لتوفير الطاقة، لا يتم تشغيل المرجع دائمًا. يكون المرجع قيد التشغيل خلال الحالات التالية:

عند تمكين BOD (عن طريق برمجة BODLEVEL[2:0] Fuse Bits).

عندما يتم توصيل مرجع فجوة النطاق بالمقارن التناظري (عن طريق ضبط بت ACBG في ACSR).

عندما يتم تمكين ADC.

وبالتالي، عندما لا يتم تمكين BOD، بعد ضبط بت ACBG أو تمكين ADC، يجب على المستخدم دائمًا السماح للمرجع بالبدء قبل استخدام الإخراج من Analog Comparator أو ADC. لتقليل استهلاك الطاقة في وضع خفض الطاقة، يمكن للمستخدم تجنب الشروط الثلاثة المذكورة أعلاه للتأكد من إيقاف تشغيل المرجع قبل الدخول في وضع خفض الطاقة.

مؤقت مراقبة

يتم تسجيل مؤقت Watchdog من مذبذب على الرقاقة يعمل بسرعة 128 كيلو هرتز. من خلال التحكم في المقياس المسبق لـ Watchdog Timer، يمكن تعديل الفاصل الزمني لإعادة ضبط Watchdog كما هو موضح في الجدول 8-3 في الصفحة 46. تعمل تعليمات WDR – إعادة تعيين الوكالة الدولية للطاقة – على إعادة تعيين مؤقت الوكالة الدولية للطاقة. تتم أيضًا إعادة ضبط Watchdog Timer عند تعطيله وعند حدوث إعادة ضبط الشريحة. يمكن اختيار عشر فترات مختلفة لدورة الساعة لتحديد فترة إعادة الضبط. إذا انتهت فترة إعادة التعيين دون إعادة تعيين الوكالة الدولية للطاقة مرة أخرى، تتم إعادة تعيين ATtiny25/45/85 وتنفيذها من ناقل إعادة التعيين. للحصول على تفاصيل التوقيت حول إعادة تعيين الوكالة الدولية للطاقة، راجع الجدول 8-3 في الصفحة 46.

يمكن أيضًا تكوين Watchdog Timer لإنشاء مقاطعة بدلاً من إعادة التعيين. يمكن أن يكون هذا مفيدًا جدًا عند استخدام Watchdog للاستيقاظ من انقطاع التيار الكهربائي.

لمنع التعطيل غير المقصود لـ Watchdog أو التغيير غير المقصود لفترة المهلة، يتم تحديد مستويين مختلفين للسلامة بواسطة المصهر WDTON كما هو موضح في الجدول 8-1 ارجع إلى "تسلسلات زمنية لتغيير المفاهيم" شكل مؤقت الوكالة الدولية للطاقة" في الصفحة 43 للتفاصيل.

الجدول 8-1. تكوين WDT كوظيفة لإعدادات الصمامات في WDTON

دبليو دي تي أو تي مستوى السلامة الحالة الأولية لـ WDT كيفية تعطيل WDT كيفية تغيير المهلة
غير مبرمج 1 عاجز تسلسل زمني لا توجد قيود
مبرمج 2 مُمَكَّن ممكّن دائمًا تسلسل زمني

الشكل 8-7. مؤقت جهاز المراقبة كلب حراسة

التسلسلات الموقوتة لتغيير تكوين مؤقت الوكالة الدولية للطاقة

يختلف تسلسل تغيير التكوين قليلاً بين مستويي الأمان. يتم وصف إجراءات منفصلة لكل مستوى.

مستوى الأمان 1: في هذا الوضع، يتم تعطيل مؤقت Watchdog في البداية، ولكن يمكن تمكينه عن طريق كتابة بت WDE إلى أحد البتات دون أي قيود. هناك حاجة إلى تسلسل زمني عند تعطيل Watchdog Timer الممكّن. لتعطيل مؤقت المراقبة الممكّن، يجب اتباع الإجراء التالي:

في نفس العملية، اكتب منطقيًا إلى WDCE وWDE. يجب كتابة المنطق إلى WDE بغض النظر عن القيمة السابقة لبت WDE.

خلال دورات الساعة الأربع التالية، وفي نفس العملية، اكتب بتات WDE وWDP حسب الرغبة، ولكن مع مسح بت WDCE.

مستوى الأمان 2: في هذا الوضع، يتم دائمًا تمكين Watchdog Timer، وستتم قراءة بت WDE دائمًا كوحدة واحدة. هناك حاجة إلى تسلسل زمني عند تغيير فترة مهلة الوكالة الدولية للطاقة. لتغيير مهلة المراقبة، يجب اتباع الإجراء التالي:

في نفس العملية، اكتب رسالة منطقية إلى WDCE وWDE. على الرغم من تعيين WDE دائمًا، يجب كتابة WDE إلى واحد لبدء التسلسل الزمني.

خلال دورات الساعة الأربع التالية، وفي نفس العملية، اكتب بتات WDP حسب الرغبة، ولكن مع مسح بت WDCE. القيمة المكتوبة إلى بت WDE غير ذات صلة.

كود Example

الكود التالي على سبيل المثالampيعرض le مجموعة واحدة ووظيفة C واحدة لإيقاف تشغيل WDT. السابقampيفترض le أنه يتم التحكم في المقاطعات (على سبيل المثال، عن طريق تعطيل المقاطعات عالميًا) بحيث لا تحدث أي مقاطعات أثناء تنفيذ هذه الوظائف.

رمز التجميع السابقample(1)
WDT_off:

ودر

; مسح WDRF في MCUSR

إل دي آر 16، (0<

خارج MCUSR، r16

; إرسال واحدة منطقية إلى WDCE وWDE

; احتفظ بالإعداد المسبق القديم لمنع إعادة ضبط الوكالة الدولية للطاقة بشكل غير مقصود

في r16، WDTCR

أوري r16, (1<

خارج WDTCR، r16

; قم بإيقاف تشغيل WDT

إل دي آر 16، (0<

خارج WDTCR، r16

رجع

رمز C السابقample(1)
باطلة WDT_off (باطلة)

{

_WDR();

/* مسح WDRF في MCUSR */ MCUSR = 0x00

/* اكتب واحدًا منطقيًا إلى WDCE وWDE */ WDTCR |= (1<

/* إيقاف تشغيل WDT */ WDTCR = 0x00;

}

ملاحظة: 1. انظر "الكود السابقamples "في الصفحة 6.

تسجيل الوصف

MCUSR – سجل حالة MCU

يوفر سجل حالة MCU معلومات حول مصدر إعادة التعيين الذي تسبب في إعادة تعيين MCU.

قليل 7 6 5 4 3 2 1 0
0×34 WDRF بورف EXTRF بورف MCUSR
قراءة/كتابة R R R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة

القيمة الأولية 0 0 0 0 انظر وصف البت

البتات 7:4 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البت 3 - WDRF: علامة إعادة تعيين الوكالة الدولية للطاقة

يتم تعيين هذا البت في حالة حدوث إعادة تعيين الوكالة الدولية للطاقة. يتم إعادة ضبط البت عن طريق إعادة ضبط التشغيل، أو عن طريق كتابة صفر منطقي على العلامة.

البت 2 - BORF: علامة إعادة تعيين اللون البني

يتم تعيين هذا البت في حالة حدوث إعادة تعيين براون-أوت. يتم إعادة ضبط البت عن طريق إعادة ضبط التشغيل، أو عن طريق كتابة صفر منطقي على العلامة.

البت 1 - EXTRF: علامة إعادة الضبط الخارجية

يتم تعيين هذا البت في حالة حدوث إعادة تعيين خارجي. يتم إعادة ضبط البت عن طريق إعادة ضبط التشغيل، أو عن طريق كتابة صفر منطقي على العلامة.

البت 0 - PORF: علامة إعادة ضبط التشغيل

يتم تعيين هذا البت في حالة حدوث إعادة ضبط التشغيل. تتم إعادة تعيين البت فقط عن طريق كتابة صفر منطقي على العلامة.

للاستفادة من علامات إعادة التعيين لتحديد حالة إعادة التعيين، يجب على المستخدم قراءة MCUSR ثم إعادة تعيينه في أقرب وقت ممكن في البرنامج. إذا تم مسح السجل قبل حدوث إعادة تعيين أخرى، فيمكن العثور على مصدر إعادة التعيين عن طريق فحص علامات إعادة التعيين.

WDTCR – سجل التحكم في مؤقت الوكالة الدولية للطاقة

قليل 7 6 5 4 3 2 1 0
0×21 WDIF WDI دبليو دي بي 3 دبليو دي سي إي دبليو دي إي دبليو دي بي 2 دبليو دي بي 1 دبليو دي بي 0 WDTCR
قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 X 0 0 0

البت 7 - WDIF: إشارة مقاطعة مهلة الوكالة الدولية للطاقة

يتم تعيين هذا البت عند انتهاء المهلة في Watchdog Timer ويتم تكوين Watchdog Timer للمقاطعة. يتم مسح WDIF بواسطة الأجهزة عند تنفيذ ناقل معالجة المقاطعة المقابل. وبدلاً من ذلك، يتم مسح WDIF عن طريق كتابة رمز منطقي على العلامة. عند ضبط I-bit في SREG وWDIE، يتم تنفيذ مقاطعة Watchdog Time-out Interrupt.

البت 6 - WDIE: تمكين مقاطعة مهلة المراقبة

عند كتابة هذا البت إلى واحد، يتم مسح WDE، ويتم تعيين I-bit في سجل الحالة، ويتم تمكين مقاطعة Watchdog Time-out Interrupt. في هذا الوضع، يتم تنفيذ المقاطعة المقابلة بدلاً من إعادة التعيين في حالة انتهاء المهلة في Watchdog Timer.

إذا تم تعيين WDE، فسيتم مسح WDIE تلقائيًا بواسطة الأجهزة عند انتهاء المهلة. يعد هذا مفيدًا للحفاظ على أمان Watchdog Reset أثناء استخدام المقاطعة. بعد مسح بت WDIE، ستؤدي المهلة التالية إلى إعادة التعيين. لتجنب إعادة تعيين الوكالة الدولية للطاقة، يجب تعيين WDIE بعد كل مقاطعة.

الجدول 8-2. تكوين مؤقت الوكالة الدولية للطاقة

دبليو دي إي WDI حالة مؤقت الوكالة الدولية للطاقة العمل على المهلة
0 0 متوقف لا أحد
0 1 جري مقاطعة
1 0 جري إعادة ضبط
1 1 جري مقاطعة

البت 4 – WDCE: تمكين تغيير الوكالة الدولية للطاقة

يجب تعيين هذا البت عند كتابة بت WDE إلى الصفر المنطقي. وإلا فلن يتم تعطيل الوكالة الدولية للطاقة. بمجرد كتابته إلى أحد الأجهزة، سيقوم الجهاز بمسح هذا الجزء بعد أربع دورات على مدار الساعة. راجع وصف بت WDE للتعرف على إجراء تعطيل Watchdog. يجب أيضًا ضبط هذه البتة عند تغيير بتات المقياس المسبق. يرى "تسلسلات زمنية لتغيير تكوين مؤقت المراقبة" في الصفحة 43.

البت 3 - WDE: تمكين الوكالة الدولية للطاقة

عند كتابة WDE إلى المنطق الأول، يتم تمكين Watchdog Timer، وإذا تمت كتابة WDE إلى المنطق صفر، فسيتم تعطيل وظيفة Watchdog Timer. لا يمكن مسح WDE إلا إذا كان لبت WDCE مستوى منطقي واحد. لتعطيل مؤقت المراقبة الممكّن، يجب اتباع الإجراء التالي:

في نفس العملية، اكتب منطقيًا إلى WDCE وWDE. يجب كتابة المنطق إلى WDE على الرغم من تعيينه على واحد قبل بدء عملية التعطيل.

خلال دورات الساعة الأربع التالية، اكتب المنطق 0 إلى WDE. يؤدي هذا إلى تعطيل الوكالة الدولية للطاقة.

في مستوى الأمان 2، ليس من الممكن تعطيل Watchdog Timer، حتى باستخدام الخوارزمية الموضحة أعلاه. يرى "التسلسلات الموقوتة لتغيير تكوين مؤقت المراقبة" في الصفحة 43.

في مستوى الأمان 1، يتم تجاوز WDE بواسطة WDRF في MCUSR. يرى "MCUSR - تسجيل حالة MCU" في الصفحة 44 لوصف WDRF. وهذا يعني أنه يتم ضبط WDE دائمًا عند ضبط WDRF. لمسح WDE، يجب مسح WDRF قبل تعطيل Watchdog باستخدام الإجراء الموضح أعلاه. تضمن هذه الميزة عمليات إعادة تعيين متعددة أثناء الظروف التي تسبب الفشل، وبدء التشغيل الآمن بعد الفشل.

ملاحظة: إذا لم يتم استخدام مؤقت الوكالة الدولية للطاقة في التطبيق، فمن المهم اتباع إجراء تعطيل الوكالة الدولية للطاقة في تهيئة الجهاز. إذا تم تمكين الوكالة الدولية للطاقة عن طريق الخطأ، على سبيل المثالampإذا كان المؤشر هاربًا أو حالة انقطاع التيار الكهربائي، فسيتم إعادة ضبط الجهاز، الأمر الذي سيؤدي بدوره إلى إعادة ضبط جديدة للمراقبة. لتجنب هذا الموقف، يجب أن يقوم البرنامج التطبيقي دائمًا بمسح علامة WDRF وبت التحكم WDE في روتين التهيئة.

البتات 5، 2:0 - WDP[3:0]: أداة ضبط مؤقت مؤقت للمراقبة 3 و2 و1 و0

تحدد بتات WDP[3:0] القياس المسبق لـ Watchdog Timer عند تمكين Watchdog Timer. يتم عرض قيم القياس المسبق المختلفة وفترات المهلة المقابلة لها الجدول 8-3.

الجدول 8-3. مؤقت الوكالة الدولية للطاقة حدد Prescale

دبليو دي بي 3 دبليو دي بي 2 دبليو دي بي 1 دبليو دي بي 0 عدد دورات مذبذب WDT المهلة النموذجية عند VCC = 5.0V
0 0 0 0 2K (2048) دورة 16 مللي ثانية
0 0 0 1 4K (4096) دورة 32 مللي ثانية
0 0 1 0 8K (8192) دورة 64 مللي ثانية
0 0 1 1 16K (16384) دورة 0.125 ثانية
0 1 0 0 32K (32764) دورة 0.25 ثانية
0 1 0 1 64K (65536) دورة 0.5 ثانية
0 1 1 0 128K (131072) دورة 1.0 ثانية
0 1 1 1 256K (262144) دورة 2.0 ثانية
1 0 0 0 512K (524288) دورة 4.0 ثانية
1 0 0 1 1024K (1048576) دورة 8.0 ثانية

الجدول 8-3. التحديد المسبق لمؤقت المراقبة (تابع)

دبليو دي بي 3 دبليو دي بي 2 دبليو دي بي 1 دبليو دي بي 0 عدد دورات مذبذب 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 0×0000 إعادة ضبط الدبوس الخارجي، إعادة ضبط التشغيل، إعادة ضبط براون أوت، إعادة ضبط الوكالة الدولية للطاقة
2 0×0001 ان تي 0 طلب المقاطعة الخارجية 0
3 0×0002 PCINT0 طلب مقاطعة تغيير الدبوس 0
4 0×0003 TIMER1_COMPA المؤقت/العداد1 قارن المطابقة أ
5 0×0004 TIMER1_OVF الموقت/عداد 1 تجاوز
6 0×0005 TIMER0_OVF الموقت/عداد 0 تجاوز
7 0×0006 EE_RDY إيبروم جاهز
8 0×0007 ANA_COMP المقارنة التناظرية
9 0×0008 محول تناظري رقمي اكتمل تحويل ADC
10 0×0009 TIMER1_COMPB المؤقت/العداد1 قارن المطابقة ب
11 0 × 000 أمبير TIMER0_COMPA المؤقت/العداد0 قارن المطابقة أ
12 0x000B TIMER0_COMPB المؤقت/العداد0 قارن المطابقة ب
13 0x000C دبليو دي تي مهلة المراقبة
14 0x000د 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 ; العنوان 0x000C
rjmp USI_START_ISR ; العنوان 0x000D
rjmp USI_OVF_ISR ; العنوان 0x000E
إعادة: ; بداية البرنامج الرئيسي
; العنوان 0x000F

ملحوظة: انظر "الكود السابقamples "في الصفحة 6.

المقاطعات الخارجية

يتم تشغيل المقاطعات الخارجية بواسطة طرف INT0 أو أي من أطراف PCINT[5:0]. لاحظ أنه، في حالة تمكينها، سيتم تشغيل المقاطعات حتى إذا تم تكوين أطراف INT0 أو PCINT[5:0] كمخرجات. توفر هذه الميزة طريقة لإنشاء مقاطعة البرنامج. مقاطعات تغيير الدبوس سيتم تشغيل PCI في حالة تمكين تبديل دبوس PCINT[5:0]. يتحكم سجل PCMSK في الأطراف التي تساهم في مقاطعات تغيير الدبوس. تم اكتشاف مقاطعات تغيير الدبوس على PCINT[5:0] بشكل غير متزامن. وهذا يعني أنه يمكن استخدام هذه المقاطعات لتنبيه الجزء أيضًا من أوضاع السكون بخلاف وضع الخمول.

يمكن تشغيل المقاطعات INT0 بواسطة حافة هابطة أو مرتفعة أو مستوى منخفض. تم إعداد هذا كما هو موضح في مواصفات سجل التحكم MCU - MCUCR. عندما يتم تمكين مقاطعة INT0 وتكوينها كمستوى يتم تشغيله، سيتم تشغيل المقاطعة طالما ظل الدبوس منخفضًا. لاحظ أن التعرف على مقاطعات الحافة المتساقطة أو الصاعدة على INT0 يتطلب وجود ساعة الإدخال/الإخراج الموضحة في "أنظمة الساعة وتوزيعها". الصفحة 23.

مقاطعة منخفضة المستوى

تم اكتشاف مقاطعة منخفضة المستوى على INT0 بشكل غير متزامن. وهذا يعني أنه يمكن استخدام هذه المقاطعة لتنبيه الجزء أيضًا من أوضاع السكون بخلاف وضع الخمول. يتم إيقاف ساعة الإدخال/الإخراج في جميع أوضاع السكون باستثناء وضع الخمول.

لاحظ أنه إذا تم استخدام مقاطعة تم تشغيلها للتنبيه من انقطاع التيار الكهربائي، فيجب الاحتفاظ بالمستوى المطلوب لفترة كافية حتى تكمل وحدة MCU عملية التنبيه لتشغيل مقاطعة المستوى. إذا اختفى المستوى قبل نهاية وقت بدء التشغيل، فستستمر وحدة MCU في التنشيط، ولكن لن يتم إنشاء أي مقاطعة. يتم تحديد وقت بدء التشغيل بواسطة صمامات SUT وCKSEL كما هو موضح في "ساعة النظام وخيارات الساعة" في الصفحة 23.

إذا تمت إزالة المستوى المنخفض على دبوس المقاطعة قبل تنشيط الجهاز، فلن يتم تحويل تنفيذ البرنامج إلى روتين خدمة المقاطعة ولكن سيستمر من التعليمات التالية لأمر SLEEP.

دبوس تغيير توقيت المقاطعة

على سبيل المثالampيظهر توقيت مقاطعة تغيير الدبوس في الشكل 9-1.

تسجيل الوصف

MCUCR - سجل التحكم MCU

يحتوي سجل التحكم في المقاطعة الخارجية A على بتات تحكم للتحكم في معنى المقاطعة.

قليل 7 6 5 4 3 2 1 0
0×35 أجسام بُود SE إس إم 1 إس إم 0 بودسي ISC01 ISC00 MCUCR
قراءة/كتابة R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة R قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

البتات 1:0 - ISC0[1:0]: التحكم في تحسس المقاطعة 0 البت 1 والبت 0

يتم تنشيط المقاطعة الخارجية 0 بواسطة الدبوس الخارجي INT0 إذا تم تعيين علامة SREG I وقناع المقاطعة المقابل. يتم تعريف المستوى والحواف الموجودة على طرف 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 ان تي 0 PCIE جيمسك
قراءة/كتابة R قراءة/كتابة قراءة/كتابة R R R R R
القيمة الأولية 0 0 0 0 0 0 0 0

البتات 7، 4:0 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البت 6 - INT0: تمكين طلب المقاطعة الخارجية 0

عندما يتم تعيين بت INT0 (واحد) ويتم تعيين بت I في سجل الحالة (SREG) (واحد)، يتم تمكين مقاطعة الدبوس الخارجي. تحدد بتات التحكم في تحسس المقاطعة 0 1/0 (ISC01 وISC00) في سجل التحكم MCU (MCUCR) ما إذا كانت المقاطعة الخارجية قد تم تنشيطها عند الحافة الصاعدة و/أو الهابطة من دبوس INT0 أو المستوى المستشعر. سيؤدي النشاط على الدبوس إلى طلب مقاطعة حتى إذا تم تكوين INT0 كمخرج. يتم تنفيذ المقاطعة المقابلة لطلب المقاطعة الخارجية 0 من ناقل المقاطعة INT0.

البت 5 - PCIE: تمكين مقاطعة تغيير الدبوس

عند تعيين بت PCIE (واحد) وتعيين بت I في سجل الحالة (SREG) (واحد)، يتم تمكين مقاطعة تغيير الدبوس. سيؤدي أي تغيير في أي طرف PCINT[5:0] ممكّن إلى حدوث مقاطعة. يتم تنفيذ المقاطعة المقابلة لطلب مقاطعة تغيير الدبوس من PCI Interrupt Vector. يتم تمكين منافذ PCINT[5:0] بشكل فردي بواسطة سجل PCMSK0.

GIFR - سجل إشارة المقاطعة العامة

قليل 7 6 5 4 3 2 1 0
0 × 3 أمبير INTF0 PCIF GIFR
قراءة/كتابة R قراءة/كتابة قراءة/كتابة R R R R R
القيمة الأولية 0 0 0 0 0 0 0 0

البتات 7، 4:0 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البت 6 - INTF0: علامة المقاطعة الخارجية 0

عندما يؤدي تغيير الحافة أو المنطق في طرف INT0 إلى تشغيل طلب مقاطعة، يصبح INTF0 مضبوطًا (واحد). إذا تم ضبط بتة I-bit في SREG وبت INT0 في GIMSK (واحد)، فسوف تنتقل وحدة MCU إلى متجه المقاطعة المقابل. يتم مسح العلامة عند تنفيذ روتين المقاطعة. وبدلاً من ذلك، يمكن مسح العلم عن طريق كتابة علامة منطقية عليه. يتم مسح هذه العلامة دائمًا عند تكوين INT0 كمقاطعة مستوى.

البت 5 - PCIF: إشارة مقاطعة تغيير الدبوس

عندما يؤدي تغيير منطقي على أي طرف PCINT[5:0] إلى تشغيل طلب مقاطعة، يصبح PCIF مضبوطًا (واحد). إذا تم تعيين بت I-بت في SREG وبت PCIE في GIMSK (واحد)، فسوف تنتقل وحدة MCU إلى متجه المقاطعة المقابل. يتم مسح العلامة عند تنفيذ روتين المقاطعة. وبدلاً من ذلك، يمكن مسح العلم عن طريق كتابة علامة منطقية عليه.

PCMSK – تسجيل قناع تغيير الدبوس

قليل 7 6 5 4 3 2 1 0
0×15 PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT0 بي إم إس كيه
قراءة/كتابة R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

البتات 7:6 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البتات 5:0 - PCINT[5:0]: قناع تمكين تغيير الدبوس 5:0

تحدد كل بتة PCINT[5:0] ما إذا كانت مقاطعة تغيير الدبوس ممكنة على طرف الإدخال/الإخراج المقابل. إذا تم تعيين PCINT[5:0] وتم تعيين بت PCIE في GIMSK، فسيتم تمكين مقاطعة تغيير الدبوس على طرف الإدخال/الإخراج المقابل. إذا تم مسح PCINT[5:0]، فسيتم تعطيل مقاطعة تغيير الدبوس على طرف الإدخال/الإخراج المقابل.

منافذ الإدخال والإخراج

مقدمة

تتمتع جميع منافذ AVR بوظيفة القراءة والتعديل والكتابة الحقيقية عند استخدامها كمنافذ إدخال/إخراج رقمية عامة. وهذا يعني أنه يمكن تغيير اتجاه أحد أطراف المنفذ دون تغيير اتجاه أي طرف آخر عن غير قصد باستخدام تعليمات SBI وCBI. وينطبق الشيء نفسه عند تغيير قيمة محرك الأقراص (إذا تم تكوينها كمخرج) أو تمكين/تعطيل مقاومات السحب (إذا تم تكوينها كمدخل). يتميز كل مخزن مؤقت للإخراج بخصائص محرك متناظرة مع قدرة عالية على الحوض والمصدر. إن برنامج التشغيل الدبوس قوي بما يكفي لتشغيل شاشات LED مباشرة. تحتوي جميع منافذ المنفذ على مقاومات سحب يمكن اختيارها بشكل فردي مع حجم العرضtagه المقاومة الثابتة. تحتوي جميع منافذ الإدخال/الإخراج على ثنائيات حماية لكل من VCC والأرضي كما هو موضح في الشكل 10-1. راجع "الخصائص الكهربائية" في الصفحة 161 للحصول على قائمة كاملة من المعلمات.

الشكل 10-1. I/O دبوس ما يعادل التخطيطي

الشكل 10

جميع السجلات ومراجع البت في هذا القسم مكتوبة بشكل عام. تمثل الحالة الصغيرة "x" حرف الترقيم للمنفذ، وتمثل الحالة الصغيرة "n" رقم البت. ومع ذلك، عند استخدام السجل أو تعريف البت في البرنامج، يجب استخدام النموذج الدقيق. على سبيل المثالampلو، PORTB3 للبت لا. 3 في المنفذ B، هنا موثق بشكل عام باسم PORTxn. يتم إدراج سجلات الإدخال/الإخراج الفعلية ومواقع البت في تشغيل "تسجيل الوصف". الصفحة 64.

يتم تخصيص ثلاثة مواقع لعناوين ذاكرة الإدخال/الإخراج لكل منفذ، واحد لكل من سجل البيانات - PORTx، وسجل اتجاه البيانات - DDRx، ودبابيس إدخال المنفذ - PINx. تتم قراءة موقع الإدخال/الإخراج لدبابيس إدخال المنفذ فقط، بينما تتم قراءة/كتابة سجل البيانات وسجل اتجاه البيانات. ومع ذلك، فإن كتابة واحد إلى بت منطقي في سجل PINx، سيؤدي إلى تبديل في البت المقابل في سجل البيانات. بالإضافة إلى ذلك، تعمل ميزة Pull-up Disable – بت PUD في MCUCR على تعطيل وظيفة السحب لجميع الأطراف في جميع المنافذ عند ضبطها.

استخدام منفذ الإدخال/الإخراج كما هو موضح في الإدخال/الإخراج الرقمي العام "المنافذ كإدخال/إخراج رقمي عام" في الصفحة 53. يتم مضاعفة معظم دبابيس المنافذ بوظائف بديلة للميزات الطرفية على الجهاز. يتم شرح كيفية تداخل كل وظيفة بديلة مع طرف المنفذ "وظائف المنفذ البديل" في الصفحة 57. راجع أقسام الوحدة الفردية للحصول على وصف كامل للوظائف البديلة.

لاحظ أن تمكين الوظيفة البديلة لبعض منافذ المنفذ لا يؤثر على استخدام المنافذ الأخرى في المنفذ كإدخال/إخراج رقمي عام.

المنافذ كإدخال/إخراج رقمي عام

المنافذ عبارة عن منافذ إدخال/إخراج ثنائية الاتجاه مع عمليات سحب داخلية اختيارية. الشكل 10-2 يعرض وصفًا وظيفيًا لدبوس منفذ إدخال/إخراج واحد، يُسمى هنا بشكل عام Pxn.

الشكل 10-2. الإدخال/الإخراج الرقمي العام(1)

الشكل 10

تكوين الدبوس

يتكون كل طرف منفذ من ثلاث بتات تسجيل: DDxn، وPORTxn، وPINxn. كما هو مبين في تشغيل "تسجيل الوصف". الصفحة 64، يتم الوصول إلى بتات DDxn عند عنوان الإدخال/الإخراج DDRx، وبتات PORTxn عند عنوان الإدخال/الإخراج PORTx، وبتات PINxn عند عنوان الإدخال/الإخراج PINx.

تقوم بتة DDxn الموجودة في سجل DDRx بتحديد اتجاه هذا الدبوس. إذا كان DDxn مكتوبًا بالمنطق الأول، فسيتم تكوين Pxn كدبوس إخراج. إذا تم كتابة DDxn بالمنطق صفر، فسيتم تكوين Pxn كدبوس إدخال.

إذا كان PORTxn مكتوبًا بالمنطق الأول عندما يتم تكوين الطرف كطرف إدخال، فسيتم تنشيط مقاومة السحب. لإيقاف تشغيل مقاومة السحب، يجب كتابة PORTxn بالمنطق صفر أو يجب تكوين الطرف كطرف إخراج. يتم تحديد منافذ المنفذ بشكل ثلاثي عندما تصبح حالة إعادة التعيين نشطة، حتى في حالة عدم تشغيل أي ساعات.

إذا كان PORTxn مكتوبًا بالمنطق الأول عندما يتم تكوين المنفذ كطرف إخراج، فسيتم دفع منفذ المنفذ عاليًا (واحد). إذا كان PORTxn مكتوبًا بالمنطق صفرًا عندما يتم تكوين الطرف كطرف إخراج، فسيتم دفع منفذ المنفذ إلى مستوى منخفض (صفر).

تبديل الدبوس

تؤدي كتابة قيمة منطقية إلى PINxn إلى تبديل قيمة PORTxn، بشكل مستقل عن قيمة DDRxn. لاحظ أنه يمكن استخدام تعليمات SBI لتبديل بت واحد في المنفذ.

التبديل بين الإدخال والإخراج

عند التبديل بين الحالة الثلاثية ({DDxn, PORTxn} = 0b00) والإخراج العالي ({DDxn, PORTxn} = 0b11)، والحالة المتوسطة مع تمكين السحب لأعلى {DDxn, PORTxn} = 0b01) أو الإخراج المنخفض ({DDxn, PORTxn} = 0b10) يجب أن يحدث. عادةً ما تكون حالة تمكين السحب مقبولة تمامًا، حيث أن البيئة ذات المعاوقة العالية لن تلاحظ الفرق بين المحرك العالي القوي والسحب. إذا لم يكن الأمر كذلك، فيمكن ضبط بت PUD في سجل MCUCR لتعطيل جميع عمليات السحب في جميع المنافذ.

التبديل بين الإدخال مع السحب لأعلى والإخراج المنخفض يولد نفس المشكلة. يجب على المستخدم استخدام إما الحالة الثلاثية ({DDxn, PORTxn} = 0b00) أو الحالة العالية للإخراج ({DDxn, PORTxn} = 0b10) كخطوة وسيطة.

الجدول 10-1 يلخص إشارات التحكم لقيمة الدبوس.

الجدول 10-1. تكوينات دبوس المنفذ

DDxn بورتxn بُود

(في MCUCR)

إدخال/إخراج سحب لأعلى تعليق
0 0 X مدخل لا الحالة الثلاثية (Hi-Z)
0 1 0 مدخل نعم سوف Pxn مصدر التيار إذا تحويلة. سحبت منخفضة.
0 1 1 مدخل لا الحالة الثلاثية (Hi-Z)
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½ اعتمادًا على وقت التأكيد.

عند إعادة قراءة قيمة الدبوس المخصصة للبرنامج، يجب إدراج تعليمات nop كما هو موضح في الشكل 10-4. تقوم التعليمات الخارجية بتعيين إشارة "SYNC LATCH" على الحافة الإيجابية للساعة. في هذه الحالة، يكون التأخير tpd عبر المزامن عبارة عن فترة ساعة نظام واحدة.

الكود التالي على سبيل المثالampيوضح كيفية ضبط منافذ المنفذ 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)

خارج بورتب، r16

خارج DDRB، r17

; أدخل nop للمزامنة

لا لا

; قراءة دبابيس المنفذ

في r16، بينب

ملحوظة: بالنسبة لبرنامج التجميع، يتم استخدام مسجلين مؤقتين لتقليل الوقت المنقضي من عمليات السحب ويتم ضبطهما على الأطراف 0 و1 و4، حتى يتم ضبط بتات الاتجاه بشكل صحيح، مع تحديد البتتين 2 و3 على أنهما منخفضتان وإعادة تعريف البتتين 0 و 1 كمحركات عالية قوية.

رمز C السابقample
شار غير موقعة أنا؛

/* تحديد عمليات السحب وتعيين مخرجات عالية */

/* تحديد الاتجاهات لدبابيس المنفذ */ PORTB = (1<

DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);

/* أدخل nop للمزامنة*/

_NOP();

/* قراءة دبابيس المنفذ */ i = PINB;

تمكين الإدخال الرقمي وأوضاع السكون

كما هو موضح في الشكل 10-2، يمكن أن تكون إشارة الإدخال الرقمي clampتم وضعه على الأرض عند مدخل مشغل شميت. يتم تعيين الإشارة التي تشير إلى SLEEP في الشكل، بواسطة وحدة التحكم في النوم MCU في وضع خفض الطاقة لتجنب استهلاك الطاقة العالي إذا تركت بعض إشارات الإدخال عائمة، أو كان مستوى الإشارة التناظرية قريبًا من VCC/2.

يتم تجاوز SLEEP لدبابيس المنفذ التي تم تمكينها كدبابيس مقاطعة خارجية. إذا لم يتم تمكين طلب المقاطعة الخارجية، فسيكون SLEEP نشطًا أيضًا لهذه الأطراف. يتم أيضًا تجاوز وضع SLEEP بواسطة العديد من الوظائف البديلة الأخرى كما هو موضح في "وظائف المنفذ البديل" في الصفحة 57.

في حالة وجود مستوى منطقي عالي ("واحد") على طرف مقاطعة خارجي غير متزامن تم تكوينه كـ "مقاطعة على حافة صاعدة أو حافة ساقطة أو أي تغيير منطقي على طرف" بينما لم يتم تمكين المقاطعة الخارجية، سيتم ظهور علامة المقاطعة الخارجية المقابلة يمكن ضبطها عند الاستئناف من وضع السكون المذكور أعلاه، كما هو الحال في clampيؤدي التواجد في وضع السكون هذا إلى التغيير المنطقي المطلوب.

دبابيس غير متصلة

إذا كانت بعض المنافذ غير مستخدمة، فمن المستحسن التأكد من أن هذه المنافذ لها مستوى محدد. على الرغم من تعطيل معظم المدخلات الرقمية في أوضاع السكون العميق كما هو موضح أعلاه، يجب تجنب المدخلات العائمة لتقليل الاستهلاك الحالي في جميع الأوضاع الأخرى التي يتم فيها تمكين المدخلات الرقمية (إعادة الضبط، والوضع النشط، ووضع الخمول).

إن أبسط طريقة لضمان مستوى محدد من الدبوس غير المستخدم هو تمكين السحب الداخلي. في هذه الحالة، سيتم تعطيل السحب أثناء إعادة التعيين. إذا كان انخفاض استهلاك الطاقة أثناء إعادة التعيين مهمًا، فمن المستحسن استخدام سحب لأعلى أو لأسفل. لا يوصى بتوصيل الأطراف غير المستخدمة مباشرة بـ VCC أو GND، لأن هذا قد يسبب تيارات زائدة إذا تم تكوين الطرف عن طريق الخطأ كمخرج.

وظائف المنفذ البديل

تحتوي معظم منافذ المنافذ على وظائف بديلة بالإضافة إلى كونها عمليات إدخال/إخراج رقمية عامة. الشكل 10-5 يوضح كيفية التحكم في إشارات منفذ المنفذ بشكل مبسط الشكل 10-2 يمكن تجاوزها عن طريق وظائف بديلة. قد لا تكون الإشارات المهيمنة موجودة في جميع أطراف المنافذ، ولكن هذا الشكل بمثابة وصف عام ينطبق على جميع أطراف المنافذ في عائلة متحكم AVR.

الجدول 10-2. وصف عام للإشارات المهيمنة للوظائف البديلة

اسم الإشارة الاسم الكامل وصف
PUOE تمكين تجاوز السحب إذا تم ضبط هذه الإشارة، فسيتم التحكم في تمكين السحب بواسطة إشارة PUOV. إذا تم مسح هذه الإشارة، يتم تمكين السحب عندما

{DDxn، PORTxn، PUD} = 0b010.

بوف قيمة تجاوز السحب إذا تم تعيين PUOE، فسيتم تمكين/تعطيل السحب لأعلى عند تعيين/مسح PUOV، بغض النظر عن إعداد بتات تسجيل DDxn وPORTxn وPUD.
دو تمكين تجاوز اتجاه البيانات إذا تم ضبط هذه الإشارة، فسيتم التحكم في تمكين برنامج تشغيل الإخراج بواسطة إشارة DDOV. إذا تم مسح هذه الإشارة، فسيتم تمكين برنامج تشغيل الإخراج بواسطة بت تسجيل DDxn.
دادوف قيمة تجاوز اتجاه البيانات إذا تم تعيين DDOE، فسيتم تمكين/تعطيل برنامج تشغيل الإخراج عند تعيين/مسح DDOV، بغض النظر عن إعداد بت تسجيل DDxn.
PVOE تمكين تجاوز قيمة المنفذ إذا تم ضبط هذه الإشارة وتم تمكين برنامج تشغيل الإخراج، فسيتم التحكم في قيمة المنفذ بواسطة إشارة PVOV. إذا تم مسح PVOE، وتم تمكين برنامج تشغيل الإخراج، فسيتم التحكم في قيمة المنفذ بواسطة بت تسجيل PORTxn.
بفوف قيمة تجاوز قيمة المنفذ إذا تم تعيين PVOE، فسيتم تعيين قيمة المنفذ على PVOV، بغض النظر عن إعداد بت تسجيل PORTxn.
بتو تمكين تجاوز تبديل المنفذ إذا تم ضبط PTOE، فسيتم عكس بت تسجيل PORTxn.
ديوي تمكين الإدخال الرقمي تمكين التجاوز إذا تم تعيين هذا البت، فسيتم التحكم في تمكين الإدخال الرقمي بواسطة إشارة DIEOV. إذا تم مسح هذه الإشارة، فسيتم تحديد تمكين الإدخال الرقمي بواسطة حالة MCU (الوضع العادي، وضع السكون).
ديوف يتيح الإدخال الرقمي قيمة التجاوز إذا تم تعيين DIEOE، فسيتم تمكين/تعطيل الإدخال الرقمي عند ضبط/مسح DIEOV، بغض النظر عن حالة MCU (الوضع العادي، وضع السكون).
DI المدخلات الرقمية هذا هو الإدخال الرقمي للوظائف البديلة. في الشكل، يتم توصيل الإشارة بمخرج مشغل schmitt ولكن قبل المزامن. ما لم يتم استخدام الإدخال الرقمي كمصدر للساعة، فإن الوحدة ذات الوظيفة البديلة ستستخدم المزامن الخاص بها.
كليهما الإدخال / الإخراج التناظري هذا هو الإدخال/الإخراج التناظري من/إلى الوظائف البديلة. يتم توصيل الإشارة مباشرة إلى اللوحة، ويمكن استخدامها في الاتجاهين.

تصف الأقسام الفرعية التالية باختصار الوظائف البديلة لكل منفذ، وتربط الإشارات المهيمنة بالوظيفة البديلة. راجع وصف الوظيفة البديلة لمزيد من التفاصيل.

الوظائف البديلة للمنفذ B

يتم عرض دبابيس المنفذ B ذات الوظيفة البديلة في الجدول 10-3.

الجدول 10-3. وظائف بديلة لدبابيس المنفذ B

دبوس المنفذ وظيفة بديلة
بي بي 5

إعادة الضبط: إعادة تعيين الدبوس

dW: debugWIRE I/O ADC0: قناة إدخال ADC 0

PCINT5: مقاطعة تغيير الدبوس، المصدر 5

بي بي 4 XTAL2: مخرج مذبذب كريستال CLKO: مخرج ساعة النظام ADC2: قناة إدخال ADC 2

OC1B: المؤقت/العداد 1 مقارنة مخرجات التطابق B PCINT4: مقاطعة تغيير الدبوس 0، المصدر 4

بي بي 3 XTAL1: دخل مذبذب كريستال CLKI: دخل الساعة الخارجية ADC3: قناة دخل ADC 3

OC1B: المؤقت التكميلي/العداد 1 مقارنة إخراج التطابق B PCINT3: مقاطعة تغيير الدبوس 0، المصدر 3

بي بي 2 SCK: إدخال الساعة التسلسلية ADC1: قناة إدخال ADC 1

T0: مؤقت/عداد 0 مصدر الساعة USCK: ساعة USI (وضع ثلاثة أسلاك) SCL: ساعة USI (وضع سلكين) INT0: مقاطعة خارجية 0 إدخال PCINT2: مقاطعة تغيير الدبوس 0، المصدر 2

بي بي 1 MISO: إدخال البيانات الرئيسية SPI / إخراج البيانات التابعة AIN1: المقارنة التناظرية، الإدخال السلبي OC0B: المؤقت/العداد0 مقارنة مخرجات المطابقة B OC1A: المؤقت/العداد1 مقارنة المطابقة A الإخراج DO: إخراج بيانات USI (وضع ثلاثة أسلاك) PCINT1: مقاطعة تغيير الدبوس 0، المصدر 1
بي بي 0 MOSI:: إخراج البيانات الرئيسية SPI / إدخال البيانات التابعة AIN0: مقارنة تناظرية، إدخال إيجابي

OC0A: المؤقت/العداد0 قارن مطابقة الإخراج

OC1A: مؤقت تكميلي/عداد 1 مقارنة مطابقة الإخراج DI: إدخال بيانات USI (وضع ثلاثة أسلاك)

SDA: إدخال بيانات USI (وضع سلكين) AREF: المرجع التناظري الخارجي PCINT0: مقاطعة تغيير الدبوس 0، المصدر 0

المنفذ ب، البت 5 - RESET/dW/ADC0/PCINT5

إعادة الضبط: يكون إدخال إعادة الضبط الخارجي نشطًا بدرجة منخفضة ويتم تمكينه عن طريق إلغاء برمجة ("1") مصهر RSTDISBL. يتم تنشيط السحب ويتم إلغاء تنشيط برنامج تشغيل الإخراج والإدخال الرقمي عند استخدام الدبوس كدبوس RESET.

dW: عندما تتم برمجة مصهر debugWIRE Enable (DWEN) وتكون بتات القفل غير مبرمجة، يتم تنشيط نظام debugWIRE داخل الجهاز المستهدف. يتم تكوين دبوس منفذ RESET باعتباره دبوس إدخال/إخراج ثنائي الاتجاه سلكي و(مصرف مفتوح) مع تمكين السحب ويصبح بوابة الاتصال بين الهدف والمضاهاة.

ADC0: محول تناظري إلى رقمي، القناة 0.

PCINT5: دبوس تغيير مصدر المقاطعة 5.

المنفذ ب، البت 4 – XTAL2/CLKO/ADC2/OC1B/PCINT4

XTAL2: دبوس مذبذب ساعة الشريحة 2. يستخدم كدبوس ساعة لجميع مصادر ساعة الشريحة باستثناء مذبذب RC الداخلي والساعة الخارجية. عند استخدامه كدبوس ساعة، لا يمكن استخدام الدبوس كدبوس إدخال/إخراج. عند استخدام مذبذب RC الداخلي القابل للمعايرة أو الساعة الخارجية كمصادر لساعة الشريحة، يعمل PB4 كطرف إدخال/إخراج عادي.

CLKO: يمكن إخراج ساعة النظام المقسمة على الدبوس PB4. سيتم إخراج ساعة النظام المقسمة إذا تمت برمجة CKOUT Fuse، بغض النظر عن إعدادات PORTB4 وDDB4. سيتم إخراجه أيضًا أثناء إعادة التعيين.

ADC2: محول تناظري إلى رقمي، القناة 2.

OC1B: إخراج مطابقة مقارنة الإخراج: يمكن أن يعمل طرف PB4 كمخرج خارجي لـ Timer/Counter1 Compar Match B عند تكوينه كمخرج (مجموعة DDB4). يعتبر طرف OC1B أيضًا طرف الإخراج لوظيفة مؤقت وضع PWM.

PCINT4: دبوس تغيير مصدر المقاطعة 4.

المنفذ ب، البت 3 – XTAL1/CLKI/ADC3/OC1B/PCINT3

XTAL1: دبوس مذبذب ساعة الشريحة 1. يستخدم لجميع مصادر ساعة الشريحة باستثناء مذبذب RC الداخلي للمعايرة. عند استخدامه كدبوس ساعة، لا يمكن استخدام الدبوس كدبوس إدخال/إخراج.

CLKI: إدخال الساعة من مصدر ساعة خارجي، انظر "الساعة الخارجية" في الصفحة 26.

ADC3: محول تناظري إلى رقمي، القناة 3.

OC1B: إخراج مطابقة مقارنة الإخراج المقلوب: يمكن أن يعمل طرف PB3 كمخرج خارجي لـ Timer/Counter1 Compar Match B عند تكوينه كمخرج (مجموعة DDB3). إن طرف OC1B هو أيضًا طرف الإخراج المقلوب لوظيفة مؤقت وضع PWM.

PCINT3: دبوس تغيير مصدر المقاطعة 3.

المنفذ ب، البت 2 - SCK/ADC1/T0/USCK/SCL/INT0/PCINT2

SCK: مخرج الساعة الرئيسية، دبوس إدخال الساعة التابعة لقناة SPI. عندما يتم تمكين SPI كتابع، يتم تكوين هذا الطرف كمدخل بغض النظر عن إعداد DDB2. عندما يتم تمكين SPI باعتباره Master، يتم التحكم في اتجاه البيانات لهذا الطرف بواسطة DDPB2. عندما يتم إجبار الدبوس بواسطة SPI على أن يكون مدخلاً، لا يزال من الممكن التحكم في السحب بواسطة بت PORTB2.

ADC1: محول تناظري إلى رقمي، القناة 1.

T0: مصدر عداد المؤقت/العداد0.

USCK: ساعة واجهة تسلسلية عالمية ذات وضع ثلاثة أسلاك.

SCL: الساعة التسلسلية ذات السلكين لوضع USI ذو السلكين.

INT0: مصدر المقاطعة الخارجية 0.

PCINT2: دبوس تغيير مصدر المقاطعة 2.

المنفذ ب، البت 1 - MISO/AIN1/OC0B/OC1A/DO/PCINT1

MISO: إدخال البيانات الرئيسية، دبوس إخراج البيانات التابعة لقناة SPI. عندما يتم تمكين SPI باعتباره رئيسيًا، يتم تكوين هذا الطرف كمدخل بغض النظر عن إعداد DDB1. عندما يتم تمكين SPI كتابع، يتم التحكم في اتجاه البيانات لهذا الطرف بواسطة DDB1. عندما يتم إجبار الدبوس بواسطة SPI على أن يكون مدخلاً، لا يزال من الممكن التحكم في السحب بواسطة بت PORTB1.

AIN1: الإدخال السلبي للمقارنة التناظرية. قم بتكوين منفذ المنفذ كمدخل مع إيقاف تشغيل السحب الداخلي لتجنب تداخل وظيفة المنفذ الرقمي مع وظيفة المقارنة التناظرية.

OC0B: مقارنة الإخراج مطابقة الإخراج. يمكن أن يعمل طرف PB1 كمخرج خارجي لـ Timer/Counter0 مقارنة التطابق B. ويجب تكوين طرف PB1 كمخرج (مجموعة DDB1 (واحد)) لخدمة هذه الوظيفة. إن طرف OC0B هو أيضًا طرف الإخراج لوظيفة مؤقت وضع PWM.

OC1A: إخراج مطابقة مقارنة الإخراج: يمكن أن يعمل طرف PB1 كمخرج خارجي لمطابقة مقارنة Timer/Counter1 B عند تكوينه كمخرج (مجموعة DDB1). يعتبر طرف OC1A أيضًا طرف الإخراج لوظيفة مؤقت وضع PWM.

افعل: وضع ثلاثة أسلاك لإخراج بيانات الواجهة التسلسلية العالمية. يتجاوز إخراج البيانات في الوضع ثلاثي الأسلاك قيمة PORTB1 ويتم توجيهه إلى المنفذ عند ضبط بت اتجاه البيانات DDB1 (واحد). لا يزال PORTB1 يمكّن السحب لأعلى، إذا تم إدخال الاتجاه وتم ضبط PORTB1 (واحد).

PCINT1: دبوس تغيير مصدر المقاطعة 1.

المنفذ ب، البت 0 – MOSI/AIN0/OC0A/OC1A/DI/SDA/AREF/PCINT0

MOSI: إخراج البيانات الرئيسية SPI، وإدخال البيانات التابعة لقناة SPI. عندما يتم تمكين SPI كتابع، يتم تكوين هذا الطرف كمدخل بغض النظر عن إعداد DDB0. عندما يتم تمكين SPI باعتباره Master، يتم التحكم في اتجاه البيانات لهذا الطرف بواسطة DDB0. عندما يتم إجبار الدبوس بواسطة SPI على أن يكون مدخلاً، لا يزال من الممكن التحكم في السحب بواسطة بت PORTB0.

AIN0: مدخل إيجابي للمقارنة التناظرية. قم بتكوين منفذ المنفذ كمدخل مع إيقاف تشغيل السحب الداخلي لتجنب تداخل وظيفة المنفذ الرقمي مع وظيفة المقارنة التناظرية.

OC0A: مقارنة الإخراج مطابقة الإخراج. يمكن أن يعمل طرف PB0 كمخرج خارجي لـ Timer/Counter0 Compar Match A عند تكوينه كمخرج (مجموعة DDB0 (واحد)). يعتبر طرف OC0A أيضًا طرف الإخراج لوظيفة مؤقت وضع PWM.

OC1A: إخراج مطابقة مقارنة الإخراج المقلوب: يمكن أن يعمل طرف PB0 كمخرج خارجي لـ Timer/Counter1 Compar Match B عند تكوينه كمخرج (مجموعة DDB0). إن طرف OC1A هو أيضًا طرف الإخراج المقلوب لوظيفة مؤقت وضع PWM.

SDA: بيانات الواجهة التسلسلية لوضع سلكين.

عارف: مرجع تناظري خارجي لـ ADC. يتم تعطيل برنامج السحب والإخراج على PB0 عند استخدام الدبوس كمرجع خارجي أو مجلد داخليtage مرجع مع مكثف خارجي في دبوس AREF.

DI: إدخال البيانات في وضع USI بثلاثة أسلاك. لا يتجاوز وضع USI ثلاثي الأسلاك وظائف المنفذ العادية، لذا يجب تكوين الدبوس كمدخل لوظيفة DI.

PCINT0: دبوس تغيير مصدر المقاطعة 0.

الجدول 10-4 و الجدول 10-5 اربط الوظائف البديلة للمنفذ B بالإشارات المهيمنة الموضحة في الشكل 10-5 وما فوق الصفحة 58.

الجدول 10-4. تجاوز الإشارات للوظائف البديلة في PB[5:3]

اسم الإشارة PB5/إعادة تعيين/ADC0/PCINT5 PB4/ADC2/XTAL2/ OC1B/PCINT4 PB3/ADC3/XTAL1/ OC1B/PCINT3
PUOE

RSTDISBL(1) • دوين(1)

0 0
بوف 1 0 0
دو RSTDISBL(1) • دوين(1) 0 0
دادوف نقل سلك التصحيح 0 0
PVOE 0 تمكين OC1B

تمكين OC1B

بفوف 0 OC1B OC1B
بتو 0 0 0
ديوي

RSTDISBL(1) + (PCINT5 • PCIE + ADC0D)

PCINT4 • PCIE + ADC2D PCINT3 • PCIE + ADC3D
ديوف أدك0د أدك2د أدك3د
DI إدخال PCINT5 إدخال PCINT4 إدخال PCINT3
كليهما إعادة ضبط الإدخال، إدخال 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
بوف 0 0 0
دو USI_TWO_WIRE 0 USI_TWO_WIRE
دادوف (USI_SCL_HOLD + PORTB2) • DDB2 0  

(SDA + PORTB0) • DDB0

PVOE USI_TWO_WIRE • DDB2 تمكين OC0B + تمكين OC1A + USI_THREE_WIRE

تمكين OC0A + تمكين OC1A + (USI_TWO_WIRE

ددب0)

بفوف 0 OC0B + OC1A + دو

OC0A + OC1A

بتو لجنة التجارة الدولية الأمريكية 0 0
ديوي PCINT2 • PCIE + ADC1D + USISIE PCINT1 • PCIE + AIN1D PCINT0 • PCIE + AIN0D + USISIE
ديوف أدك1د عين1D عين0D
DI T0/USCK/SCL/INT0/

إدخال PCINT2

إدخال PCINT1 إدخال دي/SDA/PCINT0
كليهما مدخلات ADC1 المدخلات السلبية للمقارنة التناظرية المقارنة التناظرية المدخلات الإيجابية

تسجيل الوصف

MCUCR - سجل التحكم MCU

قليل 7 6 5 4 3 2 1 0
0×35 أجسام بُود SE إس إم 1 إس إم 0 بودسي ISC01 ISC00 MCUCR
قراءة/كتابة R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة R قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

البت 6 - PUD: تعطيل السحب

عند كتابة هذا البت إلى واحد، يتم تعطيل عمليات السحب في منافذ الإدخال/الإخراج حتى إذا تم تكوين سجلات DDxn و PORTxn لتمكين عمليات السحب ({DDxn, PORTxn} = 0b01). يرى "تكوين الدبوس" في الصفحة 54 لمزيد من التفاصيل حول هذه الميزة.

PORTB - سجل بيانات المنفذ B

قليل 7 6 5 4 3 2 1 0
0×18 بورتب5 بورتب4 بورتب3 بورتب2 بورتب1 بورتب0 بورتب
قراءة/كتابة R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

DDRB - سجل اتجاه بيانات المنفذ B

قليل 7 6 5 4 3 2 1 0
0×17 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0 دي دي آر بي
قراءة/كتابة R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 0 0 0 0 0 0

PINB – عنوان دبابيس إدخال المنفذ B

قليل 7 6 5 4 3 2 1 0
0×16 بينب5 بينب4 بينب3 بينب2 بينب1 بينب0 بينب
قراءة/كتابة R R قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة قراءة/كتابة
القيمة الأولية 0 0 غير متاح غير متاح غير متاح غير متاح غير متاح غير متاح

مؤقت 8 بت/عداد 0 مع PWM

سمات

وحدتان مستقلتان لمقارنة المخرجات

تسجيلات مقارنة المخرجات المخزنة المزدوجة

مسح المؤقت عند مقارنة المطابقة (إعادة التحميل التلقائي)

خالٍ من الأخطاء، مُعدِّل عرض النبض الصحيح (PWM)

فترة PWM المتغيرة

مولد التردد

ثلاثة مصادر مقاطعة مستقلة (TOV0، وOCF0A، وOCF0B)

زيادةview

Timer/Counter0 عبارة عن وحدة مؤقت/عداد ذات 8 بت للأغراض العامة، مع وحدتين مستقلتين لمقارنة المخرجات، ومع دعم PWM. فهو يتيح توقيتًا دقيقًا لتنفيذ البرنامج (إدارة الأحداث) وتوليد الموجات.

يظهر في الرسم التخطيطي المبسط للمؤقت/العداد ذو 8 بت الشكل 11-1. للتعرف على الموضع الفعلي لمنافذ الإدخال/الإخراج، راجع "Pinout ATtiny25/45/85" في الصفحة 2. تظهر سجلات الإدخال/الإخراج التي يمكن الوصول إليها بواسطة وحدة المعالجة المركزية، بما في ذلك بتات الإدخال/الإخراج ودبابيس الإدخال/الإخراج، بالخط العريض. يتم إدراج تسجيل الإدخال/الإخراج الخاص بالجهاز ومواقع البت في ملف "تسجيل الوصف" في الصفحة 77.

المؤقت/العداد (TCNT0) وسجلات مقارنة المخرجات (OCR0A وOCR0B) عبارة عن سجلات ذات 8 بت. إشارات طلب المقاطعة (المختصرة بـ Int.Req. في الشكل) كلها مرئية في سجل إشارة مقاطعة المؤقت (TIFR). يتم إخفاء كافة المقاطعات بشكل فردي باستخدام Timer Interrupt Mask Register (TIMSK). لا يظهر الشكل TIFR وTIMSK.

يمكن تسجيل المؤقت/العداد داخليًا، عبر المقياس المسبق، أو عن طريق مصدر ساعة خارجي على طرف T0. تتحكم الكتلة المنطقية "تحديد الساعة" في مصدر الساعة والحافة التي يستخدمها المؤقت/العداد لزيادة (أو تقليل) قيمته. يكون المؤقت/العداد غير نشط عند عدم تحديد مصدر الساعة. يُشار إلى الإخراج من منطق تحديد الساعة بساعة المؤقت (clkT0).

تتم مقارنة سجلات مقارنة المخرجات المخزنة مؤقتًا (OCR0A وOCR0B) مع قيمة المؤقت/العداد في جميع الأوقات. يمكن استخدام نتيجة المقارنة بواسطة Waveform Generator لإنشاء PWM أو خرج تردد متغير على أطراف مقارنة الإخراج (OC0A وOC0B). راجع "وحدة مقارنة المخرجات" في الصفحة 69. للحصول على التفاصيل. سيقوم حدث مقارنة المطابقة أيضًا بتعيين علامة المقارنة (OCF0A أو OCF0B) والتي يمكن استخدامها لإنشاء طلب مقاطعة مقارنة الإخراج.

التعاريف

تتم كتابة العديد من مراجع التسجيل والبت في هذا القسم بشكل عام. تحل الحالة الصغيرة "n" محل رقم المؤقت/العداد، في هذه الحالة 0. وتحل الحالة الصغيرة "x" محل وحدة مقارنة الإخراج، في هذه الحالة قارن الوحدة A أو قارن الوحدة B. ومع ذلك، عند استخدام السجل أو تعريف البت في البرنامج، يجب استخدام النموذج الدقيق، على سبيل المثال، TCNT0 للوصول إلى قيمة عداد Timer/Counter0 وما إلى ذلك.

التعاريف في الجدول 11-1 يتم استخدامها أيضًا على نطاق واسع في جميع أنحاء المستند.

الجدول 11-1. التعاريف

ثابت وصف
قاع يصل العداد إلى الأسفل عندما يصبح 0x00
الأعلى يصل العداد إلى الحد الأقصى عندما يصبح 0xFF (العلامة العشرية 255)
قمة يصل العداد إلى القمة عندما يصبح مساوياً لأعلى قيمة في تسلسل العد. يمكن تعيين القيمة TOP لتكون القيمة الثابتة 0xFF (MAX) أو القيمة المخزنة في سجل OCR0A. المهمة تعتمد على طريقة التشغيل

الموقت / العداد Prescaler ومصادر الساعة

يمكن تسجيل المؤقت/العداد من خلال مصدر ساعة داخلي أو خارجي. يتم تحديد مصدر الساعة بواسطة منطق تحديد الساعة الذي يتم التحكم فيه بواسطة بتات تحديد الساعة (ج) الموجودة في سجل التحكم في المؤقت/العداد0 (TCCR0B).

مصدر الساعة الداخلية مع Prescaler

يمكن تسجيل المؤقت/العداد0 مباشرة بواسطة ساعة النظام (عن طريق ضبط CS0[2:0] = 1). يوفر هذا أسرع عملية، مع أقصى تردد للمؤقت/ساعة العداد يساوي تردد ساعة النظام (fCLK_I/O). وبدلاً من ذلك، يمكن استخدام واحدة من أربع نقرات من المقياس الأولي كمصدر للساعة. الساعة التي تم قياسها مسبقًا لها تردد إما

إعادة تعيين المقياس المسبق

يعمل المقياس المسبق مجانًا، أي أنه يعمل بشكل مستقل عن منطق تحديد الساعة الخاص بـ Timer/Counter0. نظرًا لأن المقياس المسبق لا يتأثر باختيار ساعة المؤقت/العداد، فإن حالة المقياس المسبق سيكون لها آثار على المواقف التي يتم فيها استخدام ساعة تم قياسها مسبقًا. واحد سابقampيتم تحديد أداة القياس المسبق عندما يتم تمكين المؤقت/العداد وتسجيله بواسطة مقياس القياس المسبق (6 > CS0[2:0] > 1). يمكن أن يكون عدد دورات ساعة النظام من وقت تمكين المؤقت حتى حدوث العد الأول من 1 إلى N+1 دورات ساعة النظام، حيث N تساوي المقسوم على المقياس المسبق (8، 64، 256، أو 1024).

من الممكن استخدام Prescaler Reset لمزامنة المؤقت/العداد لتنفيذ البرنامج.

مصدر الساعة الخارجية

يمكن استخدام مصدر ساعة خارجي مطبق على طرف T0 كمؤقت/ساعة عداد (clkT0). دبوس T0 هو sampيتم تشغيله مرة واحدة كل دورة على مدار الساعة للنظام بواسطة منطق مزامنة الدبوس. المتزامن (سampled) ثم يتم تمرير الإشارة

من خلال كاشف الحافة. الشكل 11-2 يُظهر مخططًا وظيفيًا مكافئًا لمزامنة T0 ومنطق كاشف الحافة. يتم تسجيل السجلات عند الحافة الإيجابية لساعة النظام الداخلية (clkI/O). يكون المزلاج شفافًا في الفترة العالية لساعة النظام الداخلية.

يقوم كاشف الحواف بتوليد نبضة clkT0 واحدة لكل حافة موجبة (CS0[2:0] = 7) أو سلبية (CS0[2:0] = 6) يكتشفها.

يتم تخزين سجلات OCR0x بشكل مزدوج عند استخدام أي من أوضاع تعديل عرض النبض (PWM). بالنسبة إلى وضعي التشغيل العادي وClear Timer on Compare (CTC)، يتم تعطيل التخزين المؤقت المزدوج. يقوم التخزين المؤقت المزدوج بمزامنة تحديث سجلات المقارنة OCR0x إما في أعلى أو أسفل تسلسل العد. يمنع التزامن حدوث نبضات PWM ذات طول فردي وغير متناظرة، مما يجعل الإخراج خاليًا من أي خلل.

قد يبدو الوصول إلى تسجيل OCR0x معقدًا، ولكن هذا ليس هو الحال. عندما يتم تمكين التخزين المؤقت المزدوج، فإن وحدة المعالجة المركزية لديها حق الوصول إلى OCR0x Buffer Register، وإذا تم تعطيل التخزين المؤقت المزدوج، فستتمكن وحدة المعالجة المركزية من الوصول إلى OCR0x مباشرة.

مقارنة مخرجات القوة

في أوضاع توليد الشكل الموجي غير PWM، يمكن فرض خرج المطابقة لجهاز المقارنة عن طريق كتابة واحد إلى بتة Force Output Comparen (FOC0x). لن يؤدي فرض مطابقة المقارنة إلى تعيين علامة OCF0x أو إعادة تحميل/مسح المؤقت، ولكن سيتم تحديث طرف OC0x كما لو كان قد حدث تطابق مقارنة حقيقي (تحدد إعدادات البت COM0x[1:0] ما إذا كان قد تم تعيين طرف OC0x أو مسحه أو تبديل).

قارن حظر المباراة بواسطة كتابة TCNT0

ستمنع كافة عمليات الكتابة لوحدة المعالجة المركزية إلى سجل TCNT0 أي مقارنة مطابقة تحدث في دورة ساعة المؤقت التالية، حتى عند إيقاف المؤقت. تتيح هذه الميزة تهيئة OCR0x بنفس قيمة TCNT0 دون تشغيل مقاطعة عند تمكين ساعة المؤقت/العداد.

استخدام وحدة مقارنة المخرجات

نظرًا لأن كتابة TCNT0 في أي وضع تشغيل ستمنع جميع مطابقات المقارنة لدورة ساعة مؤقت واحدة، فهناك مخاطر متضمنة عند تغيير TCNT0 عند استخدام وحدة مقارنة المخرجات، بشكل مستقل عما إذا كان المؤقت/العداد قيد التشغيل أم لا. إذا كانت القيمة المكتوبة إلى TCNT0 تساوي قيمة OCR0x، فسيتم تفويت مطابقة المقارنة، مما يؤدي إلى إنشاء شكل موجة غير صحيح. وبالمثل، لا تكتب قيمة TCNT0 مساوية للأسفل عندما يكون العداد في مرحلة العد التنازلي.

يجب إجراء إعداد OC0x قبل ضبط سجل اتجاه البيانات حتى يتم إخراج منفذ المنفذ. أسهل طريقة لتعيين قيمة OC0x هي استخدام البتات القوية لمقارنة مخرجات القوة (FOC0x) في الوضع العادي. تحتفظ سجلات OC0x بقيمها حتى عند التغيير بين أوضاع توليد الشكل الموجي.

انتبه إلى أن وحدات البت COM0x[1:0] لا يتم تخزينها مؤقتًا بشكل مزدوج مع قيمة المقارنة. سيتم تفعيل تغيير بتات COM0x[1:0] على الفور.

قارن وحدة إخراج المطابقة

تحتوي وحدات بت وضع مقارنة الإخراج (COM0x[1:0]) على وظيفتين. يستخدم Waveform Generator بتات COM0x[1:0] لتحديد حالة مقارنة المخرجات (OC0x) في مطابقة المقارنة التالية. كما تتحكم بتات COM0x[1:0] في مصدر إخراج طرف OC0x. الشكل 11-6 يُظهر مخططًا مبسطًا للمنطق المتأثر بإعداد بت COM0x[1:0]. تظهر سجلات الإدخال/الإخراج وبتات الإدخال/الإخراج ودبابيس الإدخال/الإخراج في الشكل بالخط العريض. يتم عرض فقط أجزاء سجلات التحكم في منافذ الإدخال/الإخراج العامة (DDR وPORT) التي تتأثر بتات COM0x[1:0]. عند الإشارة إلى حالة OC0x، يكون المرجع لسجل OC0x الداخلي، وليس طرف OC0x. في حالة حدوث إعادة ضبط للنظام، تتم إعادة تعيين سجل OC0x إلى "0".

عند توصيل OC0A/OC0B بمنفذ الإدخال/الإخراج، تعتمد وظيفة البتات COM0A[1:0]/COM0B[1:0] على إعداد البت WGM0[2:0]. الجدول 11-2 يُظهر وظيفة بت COM0x[1:0] عندما يتم ضبط بتات WGM0[2:0] على الوضع العادي أو وضع CTC (غير PWM).

الجدول 11-2. قارن بين وضع الإخراج ووضع غير PWM

COM0A1 COM0B1 COM0A0 COM0B0 وصف
0 0 تشغيل المنفذ العادي، تم قطع اتصال OC0A/OC0B.
0 1 قم بتبديل OC0A/OC0B في مقارنة المطابقة
1 0 قم بمسح OC0A/OC0B في مقارنة المقارنة
1 1 قم بتعيين OC0A/OC0B على مقارنة المطابقة

الجدول 11-3 يُظهر وظيفة بت COM0x[1:0] عندما يتم ضبط بتات WGM0[2:0] على وضع PWM السريع.

الجدول 11-3. قارن بين وضع الإخراج ووضع PWM السريع(1)

COM0A1 COM0B1 COM0A0 COM0B0 وصف
0 0 تشغيل المنفذ العادي، تم قطع اتصال OC0A/OC0B.
0 1 محجوز
1 0 امسح OC0A/OC0B في مقارنة التطابق، واضبط OC0A/OC0B على BOTTOM (وضع غير مقلوب)
1 1 قم بتعيين OC0A/OC0B على مطابقة المقارنة، وقم بمسح OC0A/OC0B في الأسفل (الوضع المقلوب)

ملاحظة: تحدث حالة خاصة عندما يساوي OCR0A أو OCR0B TOP ويتم تعيين COM0A1/COM0B1. في هذه الحالة، يتم تجاهل مطابقة المقارنة، ولكن يتم إجراء الضبط أو المسح في BOTTOM. يرى "وضع PWM السريع" في الصفحة 73 لمزيد من التفاصيل.

الجدول 11-4 يُظهر وظيفة بت COM0x[1:0] عندما يتم ضبط بتات WGM0[2:0] على وضع PWM الصحيح.

الجدول 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. يرى "وضع PWM الصحيح للمرحلة" في الصفحة 74 لمزيد من التفاصيل.

البتات 3:2 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البتات 1:0 - WGM0[1:0]: وضع إنشاء الشكل الموجي

بالاشتراك مع بت WGM02 الموجودة في سجل TCCR0B، تتحكم هذه البتات في تسلسل العد للعداد، ومصدر الحد الأقصى لقيمة العداد (TOP)، ونوع توليد الشكل الموجي الذي سيتم استخدامه، راجع الجدول 11-5. أوضاع التشغيل التي تدعمها وحدة المؤقت/العداد هي: الوضع العادي (العداد)، ووضع المؤقت الواضح عند مقارنة المطابقة (CTC)، ونوعين من أوضاع تعديل عرض النبض (PWM) (انظر ""طرق التشغيل"" في الصفحة 71).

الجدول 11-5. وصف بت وضع إنشاء الشكل الموجي

وضع دبليو جي إم 02 دبليو جي إم 01 دبليو جي إم 00 وضع تشغيل المؤقت/العداد قمة تحديث OCRx في تم ضبط علامة TOV
0 0 0 0 طبيعي 0xFF مباشر الأعلى(1)
1 0 0 1 PWM، تصحيح الطور 0xFF قمة قاع(2)
2 0 1 0 سي تي سي بامية مباشر الأعلى(1)
3 0 1 1 تعديل عرض النبضة السريع 0xFF قاع(2) الأعلى(1)
4 1 0 0 محجوز
5 1 0 1 PWM، تصحيح الطور بامية قمة قاع(2)
6 1 1 0 محجوز
7 1 1 1 تعديل عرض النبضة السريع بامية قاع(2) قمة

البت 7 – FOC0A: مقارنة مخرجات القوة أ

تكون بت FOC0A نشطة فقط عندما تحدد بتات WGM وضعًا غير PWM.

ومع ذلك، لضمان التوافق مع الأجهزة المستقبلية، يجب ضبط هذا البت على الصفر عند كتابة TCCR0B عند التشغيل في وضع PWM. عند كتابة نتيجة منطقية إلى بت FOC0A، يتم فرض مطابقة مقارنة فورية على وحدة توليد الشكل الموجي. يتم تغيير إخراج OC0A وفقًا لإعداد بتات COM0A[1:0] الخاص به. لاحظ أنه يتم تنفيذ بت FOC0A على شكل وميض. ولذلك فإن القيمة الموجودة في بتات COM0A[1:0] هي التي تحدد تأثير المقارنة القسرية.

لن يؤدي وميض FOC0A إلى إنشاء أي مقاطعة، ولن يقوم بمسح المؤقت في وضع CTC باستخدام OCR0A كـ TOP. تتم قراءة بت FOC0A دائمًا على أنها صفر.

البت 6 - FOC0B: مقارنة مخرجات القوة ب

تكون بت FOC0B نشطة فقط عندما تحدد بتات WGM وضعًا غير PWM.

ومع ذلك، لضمان التوافق مع الأجهزة المستقبلية، يجب ضبط هذا البت على الصفر عند كتابة TCCR0B عند التشغيل في وضع PWM. عند كتابة نتيجة منطقية إلى بت FOC0B، يتم فرض مطابقة مقارنة فورية على وحدة توليد الشكل الموجي. يتم تغيير إخراج OC0B وفقًا لإعداد بتات COM0B[1:0] الخاص به. لاحظ أنه يتم تنفيذ بت FOC0B على شكل وميض. ولذلك فإن القيمة الموجودة في بتات COM0B[1:0] هي التي تحدد تأثير المقارنة القسرية.

لن يؤدي وميض FOC0B إلى إنشاء أي مقاطعة، ولن يقوم بمسح المؤقت في وضع CTC باستخدام OCR0B كـ TOP.

تتم قراءة بت FOC0B دائمًا على أنها صفر.

البتات 5:4 - الدقة: البتات المحجوزة

هذه البتات هي بتات محجوزة في ATtiny25/45/85 وستُقرأ دائمًا كصفر.

البت 3 - WGM02: وضع إنشاء الشكل الموجي

انظر الوصف في "TCCR0A - سجل التحكم في المؤقت/العداد A" في الصفحة 77.

البتات 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. الساعة على حافة الارتفاع.

إذا تم استخدام أوضاع الدبوس الخارجية لـ Timer/Counter0، فإن التحولات على طرف T0 ستعمل على ضبط توقيت العداد حتى إذا تم تكوين الدبوس كمخرج. تتيح هذه الميزة التحكم بالبرنامج في عملية العد.

عداد ومقارنة الوحدات

يتم وصف العملية العامة للمؤقت/العداد 1 في الوضع غير المتزامن ويتم ذكر العملية في الوضع المتزامن فقط في حالة وجود اختلافات بين هذين الوضعين. الشكل 12-2 يُظهر مخطط كتلة تسجيل التزامن للمؤقت/العداد 1 وتأخيرات المزامنة بين السجلات. لاحظ أن جميع تفاصيل بوابة الساعة غير موضحة في الشكل. تمر قيم سجل Timer/Counter1 عبر سجلات المزامنة الداخلية، مما يتسبب في تأخير مزامنة الإدخال، قبل التأثير على تشغيل العداد. يمكن قراءة السجلات TCCR1 وGTCCR وOCR1A وOCR1B وOCR1C مباشرة بعد كتابة السجل. يتم تأخير قيم القراءة الخلفية لسجل Timer/Counter1 (TCNT1) والإشارات (OCF1A، وOCF1B، وTOV1)، بسبب مزامنة الإدخال والإخراج.

يتميز المؤقت/العداد 1 بدقة عالية واستخدام عالي الدقة مع فرص أقل للقياس المسبق. يمكنه أيضًا دعم معدلي عرض نبضي دقيق وعالي السرعة 8 بت باستخدام سرعات ساعة تصل إلى 64 ميجا هرتز (أو 32 ميجا هرتز في وضع السرعة المنخفضة). في هذا الوضع، يعمل المؤقت/العداد 1 وسجلات مقارنة المخرجات بمثابة وحدات PWM مزدوجة مستقلة مع مخرجات غير متداخلة وغير مقلوبة ومقلوبة. الرجوع إلى الصفحة 86 للحصول على وصف تفصيلي لهذه الوظيفة. وبالمثل، فإن فرص القياس المسبق العالية تجعل هذه الوحدة مفيدة لوظائف السرعة المنخفضة أو وظائف التوقيت الدقيق ذات الإجراءات النادرة.

الشكل 12-2. الموقت / العداد 1 مزامنة تسجيل مخطط كتلة.

يسمح المؤقت/العداد 1 والمقياس المسبق بتشغيل وحدة المعالجة المركزية من أي مصدر على مدار الساعة بينما يعمل المقياس المسبق على ساعة PCK السريعة 64 ميجا هرتز (أو 32 ميجا هرتز في وضع السرعة المنخفضة) في الوضع غير المتزامن.

لاحظ أن تردد ساعة النظام يجب أن يكون أقل من ثلث تردد PCK. تحتاج آلية المزامنة الخاصة بـ Timer/Counter1 غير المتزامن إلى حافتين على الأقل من PCK عندما تكون ساعة النظام مرتفعة. إذا كان تردد ساعة النظام مرتفعًا جدًا، فمن المحتمل أن يتم فقدان البيانات أو قيم التحكم.

التالي الشكل 12-3 يُظهر الرسم التخطيطي للمؤقت/العداد1.

الجدول 12-1. وضع المقارنة حدد في وضع PWM

كوم1x1 كوم1x0 التأثير على دبابيس مقارنة الإخراج
0 0 OC1x غير متصل. OC1x غير متصل.
0 1 تم مسح OC1x عند مطابقة المقارنة. اضبط متىTCNT1 = $00. تم ضبط OC1x على مطابقة المقارنة. يتم المسح عندما يكون TCNT1 = $00.
1 0 تم مسح OC1x عند مطابقة المقارنة. قم بالتعيين عندما يكون TCNT1 = $00. OC1x غير متصل.
1 1 تم تعيين OC1x على مطابقة المقارنة. يتم المسح عندما يكون TCNT1= 00 دولار. OC1x غير متصل.

خصائص أدك

الجدول 21-8. خصائص ADC، القنوات ذات النهاية الواحدة. تا = -40 درجة مئوية إلى +85 درجة مئوية

رمز المعلمة حالة الحد الأدنى النوع الأعلى الوحدات
دقة 10 أجزاء
الدقة المطلقة (بما في ذلك أخطاء INL وDNL والتكميم والكسب والإزاحة) فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 200 كيلو هرتز

2 إل إس بي
فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 1 ميجا هرتز

3 إل إس بي
فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 200 كيلو هرتز

وضع تقليل الضوضاء

1.5 إل إس بي
فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 1 ميجا هرتز

وضع تقليل الضوضاء

2.5 إل إس بي
اللاخطية المتكاملة (INL) (الدقة بعد الإزاحة ومعايرة الكسب) فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 200 كيلو هرتز

1 إل إس بي
اللاخطية التفاضلية (DNL) فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 200 كيلو هرتز

0.5 إل إس بي
كسب الخطأ فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 200 كيلو هرتز

2.5 إل إس بي
خطأ الإزاحة فريف = 4 فولت، VCC = 4 فولت،

ساعة ADC = 200 كيلو هرتز

1.5 إل إس بي
وقت التحويل تحويل تشغيل مجاني 14 280 المايكروثانية
تردد على مدار الساعة 50 1000 كيلو هرتز
رقم تعريف السيارة (VIN) حجم الإدخالtage أرضي VREF V
عرض النطاق الترددي الإدخال 38.4 كيلو هرتز
عارف المجلد المرجعي الخارجيtage 2.0 بطاقة في سي سي V
فينت المجلد الداخليtagمرجع هـ 1.0 1.1 1.2 V
مرجع داخلي 2.56 فولت (1) VCC> 3.0 فولت 2.3 2.56 2.8 V
RREF 32 كو
مطر مقاومة الإدخال التناظرية 100 م أوم
إخراج أدك 0 1023 إل إس بي

ملحوظة: 1. القيم هي إرشادات فقط.

الجدول 21-9. خصائص ADC، القنوات التفاضلية (الوضع الأحادي القطب). تا = -40 درجة مئوية إلى +85 درجة مئوية

رمز المعلمة حالة الحد الأدنى النوع الأعلى الوحدات
دقة الربح = 1x 10 أجزاء
الربح = 20x 10 أجزاء
الدقة المطلقة (بما في ذلك INL وDNL و

أخطاء التكميم والكسب والإزاحة)

الربح = 1x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

10.0 إل إس بي
الربح = 20x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

20.0 إل إس بي
اللاخطية المتكاملة (INL) (الدقة بعد معايرة الإزاحة والكسب) الربح = 1x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

4.0 إل إس بي
الربح = 20x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

10.0 إل إس بي
كسب الخطأ الربح = 1x 10.0 إل إس بي
الربح = 20x 15.0 إل إس بي
خطأ الإزاحة الربح = 1x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

3.0 إل إس بي
الربح = 20x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

4.0 إل إس بي
وقت التحويل تحويل تشغيل مجاني 70 280 المايكروثانية
تردد على مدار الساعة 50 200 كيلو هرتز
رقم تعريف السيارة (VIN) حجم الإدخالtage أرضي بطاقة في سي سي V
VDIFF المدخلات التفاضلية المجلدtage فريف/الكسب V
عرض النطاق الترددي الإدخال 4 كيلو هرتز
عارف المجلد المرجعي الخارجيtage 2.0 سي سي – 1.0 V
فينت المجلد الداخليtagمرجع هـ 1.0 1.1 1.2 V
مرجع داخلي 2.56 فولت (1) VCC> 3.0 فولت 2.3 2.56 2.8 V
RREF مقاومة الإدخال المرجعية 32 كو
مطر مقاومة الإدخال التناظرية 100 م أوم
إخراج تحويل ADC 0 1023 إل إس بي

ملحوظة: القيم هي إرشادات فقط.

الجدول 21-10. خصائص ADC، القنوات التفاضلية (الوضع ثنائي القطب). تا = -40 درجة مئوية إلى +85 درجة مئوية

رمز المعلمة حالة الحد الأدنى النوع الأعلى الوحدات
دقة الربح = 1x 10 أجزاء
الربح = 20x 10 أجزاء
الدقة المطلقة (بما في ذلك INL وDNL و

أخطاء التكميم والكسب والإزاحة)

الربح = 1x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

8.0 إل إس بي
الربح = 20x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

8.0 إل إس بي
اللاخطية المتكاملة (INL) (الدقة بعد معايرة الإزاحة والكسب) الربح = 1x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

4.0 إل إس بي
الربح = 20x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

5.0 إل إس بي
كسب الخطأ الربح = 1x 4.0 إل إس بي
الربح = 20x 5.0 إل إس بي
خطأ الإزاحة الربح = 1x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

3.0 إل إس بي
الربح = 20x

VREF = 4V، VCC = 5V

ساعة ADC = 50 - 200 كيلو هرتز

4.0 إل إس بي
وقت التحويل تحويل تشغيل مجاني 70 280 المايكروثانية
تردد على مدار الساعة 50 200 كيلو هرتز
رقم تعريف السيارة (VIN) حجم الإدخالtage أرضي بطاقة في سي سي V
VDIFF المدخلات التفاضلية المجلدtage فريف/الكسب V
عرض النطاق الترددي الإدخال 4 كيلو هرتز
عارف المجلد المرجعي الخارجيtage 2.0 سي سي – 1.0 V
فينت المجلد الداخليtagمرجع هـ 1.0 1.1 1.2 V
مرجع داخلي 2.56 فولت (1) VCC> 3.0 فولت 2.3 2.56 2.8 V
RREF مقاومة الإدخال المرجعية 32 كو
مطر مقاومة الإدخال التناظرية 100 م أوم
إخراج تحويل ADC -512 511 إل إس بي

ملخص مجموعة التعليمات

الحيل المعاملات وصف عملية الأعلام #ساعات
التعليمات الحسابية والمنطقية
يضيف طريق ص إضافة اثنين من السجلات طريق ← طريق + ص Z، C، N، V، H 1
محول تناظري رقمي طريق ص إضافة مع حمل اثنين من السجلات طريق ← طريق + ص + ج Z، C، N، V، H 1
ADIW ردل، ك إضافة فوري إلى Word Rdh:Rdl ← Rdh:Rdl + K Z، C، N، V، S 2
فرعي طريق ص طرح اثنين من السجلات طريق ← طريق – ص Z، C، N، V، H 1
سوبي طريق، ك اطرح الثابت من السجل طريق ← طريق – ك Z، C، N، V، H 1
إس بي سي طريق ص اطرح مع حمل اثنين من السجلات طريق ← طريق – ص – ج Z، C، N، V، H 1
إس بي سي آي طريق، ك طرح مع حمل ثابت من ريج. طريق ← طريق – ك – ج Z، C، N، V، H 1
SBIW ردل، ك طرح فوري من كلمة Rdh:Rdl ← Rdh:Rdl – K Z، C، N، V، S 2
و طريق ص المنطقية والسجلات طريق ← طريق ∙ ص ض، ن، الخامس 1
أندي طريق، ك منطقي وتسجيل وثابت طريق ← طريق ∙ ك ض، ن، الخامس 1
OR طريق ص السجلات المنطقية أو طريق ← طريق ضد ر ض، ن، الخامس 1
أوري طريق، ك منطقي أو تسجيل وثابت طريق ← طريق ضد ك ض، ن، الخامس 1
تحسين عملية استخراج النفط طريق ص تسجيلات حصرية أو طريق ← طريق ⊕ ص ض، ن، الخامس 1
كوم Rd تكملة المرء طريق ← 0xFF − طريق ض، ج، ن، ف 1
NEG Rd المكمل الثاني طريق ← 0x00 − طريق Z، C، N، V، H 1
إس بي آر طريق ك قم بتعيين البت (البتات) في السجل طريق ← طريق ضد ك ض، ن، الخامس 1
سي بي آر طريق ك مسح البت (الأجزاء) في التسجيل طريق ← طريق ∙ (0xFF – K) ض، ن، الخامس 1
شركة Rd زيادة طريق ← طريق + 1 ض، ن، الخامس 1
ديسمبر Rd النقص طريق ← طريق − 1 ض، ن، الخامس 1
تجارة الرقيق عبر الأطلسي Rd اختبار لصفر أو ناقص طريق ← طريق ∙ طريق ض، ن، الخامس 1
سي إل آر Rd مسح التسجيل طريق ← طريق ⊕ طريق ض، ن، الخامس 1
سير Rd تعيين التسجيل طريق ← 0xFF لا أحد 1
تعليمات الفروع
RJMP k القفز النسبي الكمبيوتر ← الكمبيوتر + ك + 1 لا أحد 2
IJMP الانتقال غير المباشر إلى (Z) الكمبيوتر ← ز لا أحد 2
RCALL k استدعاء الروتين الفرعي النسبي الكمبيوتر ← الكمبيوتر + ك + 1 لا أحد 3
أنا أتصل اتصال غير مباشر إلى (Z) الكمبيوتر ← ز لا أحد 3
ريت عودة الروتين الفرعي الكمبيوتر ← المكدس لا أحد 4
ريتي عودة المقاطعة الكمبيوتر ← المكدس I 4
لجنة التعليم العام والخاص طريق، ر قارن، تخطي إذا كان متساويا إذا (Rd = Rr) PC ← PC + 2 أو 3 لا أحد 1/2/3
CP طريق، ر يقارن طريق - ص Z، N، V، C، H 1
تكلفة النقرة الواحدة طريق، ر قارن مع كاري طريق - ص - ج Z، N، V، C، H 1
مؤشر أسعار المستهلك طريق ك قارن التسجيل مع فوري طريق - ك Z، N، V، C، H 1
مركز أبحاث العلوم والتكنولوجيا المستدامة ر، ب تخطي إذا تم مسح البت الموجود في السجل إذا (Rr(b)=0) PC ← PC + 2 أو 3 لا أحد 1/2/3
SBRS ر، ب تخطي إذا تم تعيين البت في التسجيل إذا (Rr(b)=1) PC ← PC + 2 أو 3 لا أحد 1/2/3
سبيك ص، ب تخطي إذا تم مسح البت الموجود في سجل الإدخال/الإخراج إذا (P(b)=0) PC ← PC + 2 أو 3 لا أحد 1/2/3
إس بي آي إس ص، ب تخطي إذا تم تعيين البت في تسجيل الإدخال/الإخراج إذا (P(b)=1) PC ← PC + 2 أو 3 لا أحد 1/2/3
BRBS س، ك فرع إذا تم تعيين علامة الحالة إذا (SREG(s) = 1) ثم PC←PC+k + 1 لا أحد 1/2
بي آر بي سي س، ك فرع إذا تم مسح علامة الحالة إذا (SREG(s) = 0) ثم PC←PC+k + 1 لا أحد 1/2
بريك k فرع إذا كان متساويا إذا (Z = 1) ثم PC ← PC + k + 1 لا أحد 1/2
برني 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
برش k فرع إذا كان نفسه أو أعلى إذا (C = 0) ثم PC ← PC + k + 1 لا أحد 1/2
برلو k فرع إذا أقل إذا (C = 1) ثم PC ← PC + k + 1 لا أحد 1/2
بيرمي 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
برلت 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
برتس k فرع إذا مجموعة العلم T إذا (T = 1) ثم PC ← PC + k + 1 لا أحد 1/2
BRTC k فرع إذا تم مسح علامة T إذا (T = 0) ثم PC ← PC + k + 1 لا أحد 1/2
برفس k تفرع إذا تم تعيين علامة التجاوز إذا (V = 1) ثم PC ← PC + k + 1 لا أحد 1/2
برفك k تفرع إذا تم مسح علامة التجاوز إذا (V = 0) ثم PC ← PC + k + 1 لا أحد 1/2
جبن أبيض طري k الفرع في حالة تمكين المقاطعة إذا (I = 1) ثم PC ← PC + k + 1 لا أحد 1/2
جسر k الفرع في حالة تعطيل المقاطعة إذا (I = 0) ثم PC ← PC + k + 1 لا أحد 1/2
تعليمات اختبار البت واختبار البت
إس بي آي ص، ب قم بتعيين البت في سجل الإدخال/الإخراج الإدخال / الإخراج (P، ب) ← 1 لا أحد 2
سي بي آي ص، ب مسح البت في تسجيل الإدخال/الإخراج الإدخال / الإخراج (P، ب) ← 0 لا أحد 2
لغة الإشارة الأمريكية Rd التحول المنطقي إلى اليسار طريق(ن+1) ← طريق(ن)، طريق(0) ← 0 ض، ج، ن، ف 1
لسر Rd التحول المنطقي إلى اليمين طريق(ن) ← طريق(ن+1)، طريق(7) ← 0 ض، ج، ن، ف 1
ROL Rd تدوير لليسار من خلال الحمل طريق(0)←ج، طريق(ن+1)← طريق(ن)،ج←طريق(7) ض، ج، ن، ف 1
رور Rd تدوير الحق من خلال الحمل طريق(7)←ج، طريق(ن)← طريق(ن+1)،ج←طريق(0) ض، ج، ن، ف 1
التعرف التلقائي على الكلام Rd التحول الحسابي لليمين طريق(ن) ← طريق(ن+1)، ن=0..6 ض، ج، ن، ف 1
الحيل المعاملات وصف عملية الأعلام #ساعات
تبديل Rd مبادلة يقضم Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) لا أحد 1
اختبار BSET s مجموعة العلم SREG(s) ← 1 سرج (ق) 1
بي سي إل آر s علامة واضحة SREG(s) ← 0 سرج (ق) 1
التوقيت الصيفي البريطاني ر، ب Bit Store من التسجيل إلى T تي ← ص(ب) T 1
ب ل د شارع ب تحميل البت من T للتسجيل طريق(ب)←ت لا أحد 1
هيئة الأوراق المالية والبورصات تعيين حمل ج ← 1 C 1
سي ال سي مسح الحمل ج ← 0 C 1
سن تعيين العلم السلبي ن ← 1 N 1
سي ال ان مسح العلم السلبي ن ← 0 N 1
المنطقة الاقتصادية الخاصة تعيين علامة صفر ض ← 1 Z 1
سي ال زد مسح علامة الصفر ض ← 0 Z 1
معهد إس إي آي تمكين المقاطعة العالمية أنا ← 1 I 1
سطر الأوامر تعطيل المقاطعة العالمية أنا ← 0 I 1
خدمة العملاء تعيين علامة الاختبار الموقعة ق ← 1 S 1
سي ال اس مسح علامة الاختبار الموقعة ق ← 0 S 1
سيف تعيين تجاوز تكملة الثنائي. الخامس ← 1 V 1
قيمة عمر العميل مسح تجاوز تكملة Twos الخامس ← 0 V 1
تعيين تعيين T في SREG ت ← 1 T 1
CLT مسح T في SREG ت ← 0 T 1
SEH تعيين نصف حمل العلم في SREG ح ← 1 H 1
سي ال اتش مسح نصف حمل العلم في SREG ح ← 0 H 1
تعليمات نقل البيانات
موف طريق ص التنقل بين السجلات طريق ← ص لا أحد 1
موفو طريق ص نسخ كلمة التسجيل طريق+1:طريق ← ص+1:ر لا أحد 1
إل دي آي طريق، ك تحميل فوري طريق ← ك لا أحد 1
LD طريق، العاشر تحميل غير مباشر طريق ← (X) لا أحد 2
LD طريق، X+ تحميل غير مباشر وPost-Inc. طريق ← (X)، X ← X + 1 لا أحد 2
LD شارع – العاشر تحميل غير مباشر وقبل ديسمبر. X ← X - 1، طريق ← (X) لا أحد 2
LD طريق، ي تحميل غير مباشر طريق ← (ص) لا أحد 2
LD طريق، ص ​​+ تحميل غير مباشر وPost-Inc. طريق ← (ص)، ص ← ص + 1 لا أحد 2
LD شارع – ي تحميل غير مباشر وقبل ديسمبر. ص ← ص – 1، طريق ← (ص) لا أحد 2
إل دي دي طريق ص+ف تحميل غير مباشر مع النزوح طريق ← (ص + ف) لا أحد 2
LD شارع، ز تحميل غير مباشر طريق ← (ض) لا أحد 2
LD طريق زي + تحميل غير مباشر وPost-Inc. طريق ← (ض)، ض ← ض+1 لا أحد 2
LD طريق، -Z تحميل غير مباشر وقبل ديسمبر. ض ← ض – 1، طريق ← (ض) لا أحد 2
إل دي دي طريق Z + ف تحميل غير مباشر مع النزوح طريق ← (ض + ف) لا أحد 2
كنيسة يسوع المسيح لقديسي الأيام الأخيرة طريق ك تحميل مباشر من SRAM طريق ← (ك) لا أحد 2
ST العاشر، ص تخزين غير مباشر (X) ← ص لا أحد 2
ST X+، ر المتجر غير المباشر وPost-Inc. (X) ← ص، X ← X + 1 لا أحد 2
ST - العاشر، ر تخزين غير مباشر وقبل ديسمبر. X ← X - 1، (X) ← ص لا أحد 2
ST ص، ر تخزين غير مباشر (ص) ← ص لا أحد 2
ST ص +، ر المتجر غير المباشر وPost-Inc. (ص) ← ص، ص ← ص + 1 لا أحد 2
ST - ص، ر تخزين غير مباشر وقبل ديسمبر. ص ← ص – 1، (ص) ← ص لا أحد 2
الأمراض المنقولة جنسيا ص + ف، ص ص تخزين غير مباشر مع النزوح (ص + ف) ← ص لا أحد 2
ST ز، ر تخزين غير مباشر (ض) ← ص لا أحد 2
ST ض +، ر المتجر غير المباشر وPost-Inc. (ض) ← ص، ض ← ض + 1 لا أحد 2
ST -ز، ر تخزين غير مباشر وقبل ديسمبر. Z ← Z - 1، (Z) ← ص لا أحد 2
الأمراض المنقولة جنسيا ض+ف، ص.ر تخزين غير مباشر مع النزوح (ض + ف) ← ص لا أحد 2
إس تي إس ك، ر تخزين مباشرة إلى SRAM (ك) ← ص لا أحد 2
ل ب م تحميل ذاكرة البرنامج آر0 ← (ي) لا أحد 3
ل ب م شارع، ز تحميل ذاكرة البرنامج طريق ← (ض) لا أحد 3
ل ب م طريق زي + تحميل ذاكرة البرنامج وPost-Inc طريق ← (ض)، ض ← ض+1 لا أحد 3
مدير المشروع تخزين ذاكرة البرنامج (ض) ← R1:R0 لا أحد
IN شارع، ص في الميناء طريق ← ص لا أحد 1
خارج ص، ص خارج الميناء ف ← ص لا أحد 1
يدفع Rr دفع التسجيل على المكدس المكدس ← ص لا أحد 2
بوب Rd سجل من Stack طريق ← كومة لا أحد 2
تعليمات التحكم MCU
نوب لا يوجد عملية لا أحد 1
ينام ينام (انظر الوصف المحدد لوظيفة النوم) لا أحد 1
نطاق العرض الديناميكي إعادة تعيين الوكالة الدولية للطاقة (انظر الوصف المحدد لـ WDR/المؤقت) لا أحد 1
استراحة استراحة
السرعة (ميغاهرتز) (1) حجم العرضtagه (الخامس) مدى درجة الحرارة طَرد (2) رمز الطلب (3)
10 1.8 – 5.5 صناعي

(-40 درجة مئوية إلى +85 درجة مئوية) (4)

8 بكسل 3 ATtiny45V-10PU
8س2 ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR
8X ATtiny45V-10XU ATtiny45V-10XUR
20م1 ATtiny45V-10MU ATtiny45V-10MUR
20 2.7 – 5.5 صناعي

(-40 درجة مئوية إلى +85 درجة مئوية) (4)

8 بكسل 3 اتيني45-20PU
8س2 ATtiny45-20SU ATtiny45-20SUR

ATtiny45-20SH ATtiny45-20SHR

8X ATtiny45-20XU ATtiny45-20XUR
20م1 ATtiny45-20MU ATtiny45-20MUR

ملاحظات: 1. بالنسبة للسرعة مقابل حجم العرضtagه، راجع القسم 21.3 "السرعة" في الصفحة 163.

جميع العبوات خالية من الرصاص والهاليد وخضراء بالكامل وتتوافق مع التوجيه الأوروبي لتقييد المواد الخطرة (RoHS).

مؤشرات الكود

H: لمسة نهائية من الرصاص NiPdAu

U: قصدير غير لامع

رد: الشريط والبكرة

ويمكن أيضًا توفير هذه الأجهزة في شكل رقاقة. يرجى الاتصال بمكتب مبيعات Atmel المحلي للحصول على معلومات الطلب التفصيلية والحد الأدنى من الكميات.

أخطاء مطبعية

خطأ ATtiny25

يشير خطاب المراجعة في هذا القسم إلى مراجعة جهاز ATtiny25.

القس د - ف

لا توجد أخطاء معروفة.

القس ب – ج

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

محاولة قراءة EEPROM بترددات ساعة منخفضة و/أو حجم إمداد منخفضtagقد يؤدي إلى بيانات غير صالحة.

إصلاح المشكلة/الحل البديل

لا تستخدم EEPROM عندما يكون تردد الساعة أقل من 1 ميجاهرتز ويكون حجم العرضtage أقل من 2V. إذا لم يكن من الممكن رفع تردد التشغيل فوق 1 ميجاهرتز، فقم بتوفير المجلدtagينبغي أن يكون أكثر من 2V. وبالمثل، إذا كان حجم العرضtage لا يمكن رفعه فوق 2 فولت فيجب أن يكون تردد التشغيل أكثر من 1 ميجا هرتز.

ومن المعروف أن هذه الميزة تعتمد على درجة الحرارة ولكن لم يتم توصيفها. وترد المبادئ التوجيهية لدرجة حرارة الغرفة، فقط.

القس أ

ليس سampيؤدى.

خطأ ATtiny45

يشير خطاب المراجعة في هذا القسم إلى مراجعة جهاز ATtiny45.

القس ف – ز

لا توجد أخطاء معروفة

القس د - ه

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

محاولة قراءة EEPROM بترددات ساعة منخفضة و/أو حجم إمداد منخفضtagقد يؤدي إلى بيانات غير صالحة.

إصلاح المشكلة/الحل البديل

لا تستخدم EEPROM عندما يكون تردد الساعة أقل من 1 ميجاهرتز ويكون حجم العرضtage أقل من 2V. إذا لم يكن من الممكن رفع تردد التشغيل فوق 1 ميجاهرتز، فقم بتوفير المجلدtagينبغي أن يكون أكثر من 2V. وبالمثل، إذا كان حجم العرضtage لا يمكن رفعه فوق 2 فولت فيجب أن يكون تردد التشغيل أكثر من 1 ميجا هرتز.

ومن المعروف أن هذه الميزة تعتمد على درجة الحرارة ولكن لم يتم تمييزها. وترد المبادئ التوجيهية لدرجة حرارة الغرفة، فقط.

القس ب – ج

PLL لا قفل

قراءة EEPROM من رمز التطبيق لا تعمل في وضع Lock Bit 3

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

عداد المؤقت 1 توليد مخرجات PWM على OC1B-XOC1B لا يعمل بشكل صحيح

PLL لا قفل

عندما تكون الترددات أقل من 6.0 ميجاهرتز، لن يتم قفل PLL

إصلاح المشكلة/الحل البديل

عند استخدام PLL، قم بالتشغيل بسرعة 6.0 ميجاهرتز أو أعلى.

قراءة EEPROM من رمز التطبيق لا تعمل في وضع Lock Bit 3

عندما تتم برمجة بتات قفل الذاكرة LB2 وLB1 على الوضع 3، فإن قراءة EEPROM لا تعمل من كود التطبيق.

إصلاح المشكلة/الحل البديل

لا تقم بتعيين وضع حماية بت القفل 3 عندما يحتاج رمز التطبيق إلى القراءة من EEPROM.

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

محاولة قراءة EEPROM بترددات ساعة منخفضة و/أو حجم إمداد منخفضtagقد يؤدي إلى بيانات غير صالحة.

إصلاح المشكلة/الحل البديل

لا تستخدم EEPROM عندما يكون تردد الساعة أقل من 1 ميجاهرتز ويكون حجم العرضtage أقل من 2V. إذا لم يكن من الممكن رفع تردد التشغيل فوق 1 ميجاهرتز، فقم بتوفير المجلدtagينبغي أن يكون أكثر من 2V. وبالمثل، إذا كان حجم العرضtage لا يمكن رفعه فوق 2 فولت فيجب أن يكون تردد التشغيل أكثر من 1 ميجا هرتز.

ومن المعروف أن هذه الميزة تعتمد على درجة الحرارة ولكن لم يتم توصيفها. وترد المبادئ التوجيهية لدرجة حرارة الغرفة، فقط.

عداد المؤقت 1 توليد مخرجات PWM على OC1B - XOC1B لا يعمل بشكل صحيح

لا يعمل مخرج Timer Counter1 PWM OC1B-XOC1B بشكل صحيح. فقط في حالة وجود بتات التحكم COM1B1 وCOM1B0 في نفس الوضع مثل COM1A1 وCOM1A0، على التوالي، يعمل مخرج OC1B-XOC1B بشكل صحيح.

إصلاح المشكلة/الحل البديل

الحل الوحيد هو استخدام نفس إعداد التحكم في بتات التحكم COM1A[1:0] وCOM1B[1:0]، راجع الجدول 14-4 في ورقة البيانات. تم إصلاح المشكلة في Tiny45 rev D.

القس أ

استهلاك طاقة مرتفع جدًا

يفقد DebugWIRE الاتصال عند الدخول في المقاطعات

PLL لا قفل

قراءة EEPROM من رمز التطبيق لا تعمل في وضع Lock Bit 3

قد تفشل قراءة EEPROM عند انخفاض حجم العرضtagه/ انخفاض تردد الساعة

استهلاك طاقة مرتفع جدًا

ستؤدي ثلاث حالات إلى انخفاض استهلاك الطاقة بشكل كبير جدًا. هذه هي:

يتم تحديد الساعة الخارجية بواسطة الصمامات، ولكن يظل منفذ الإدخال/الإخراج ممكنًا كمخرج.

تتم قراءة EEPROM قبل الدخول إلى أسفل.

VCC هو 4.5 فولت أو أعلى.

إخلاء المسؤولية: المعلومات الواردة في هذا المستند مقدمة فيما يتعلق بمنتجات Atmel. لا يتم منح أي ترخيص، صريحًا أو ضمنيًا، بالإغلاق الحكمي أو غير ذلك، لأي حق من حقوق الملكية الفكرية بموجب هذه الوثيقة أو فيما يتعلق ببيع منتجات Atmel. باستثناء ما هو منصوص عليه في شروط وأحكام مبيعات ATMEL الموجودة على ATMEL WEBالموقع ، ATMEL لا تتحمل أي مسؤولية مهما كانت وتخلي مسؤوليتها عن أي ضمان صريح أو ضمني أو قانوني يتعلق بمنتجاتها بما في ذلك ، على سبيل المثال لا الحصر ، الضمان الضمني للتسويق أو الملاءمة لجهة ما. لا تتحمل شركة ATMEL بأي حال من الأحوال المسؤولية عن أي أضرار مباشرة أو غير مباشرة أو تبعية أو عقابية أو خاصة أو عرضية (بما في ذلك ، على سبيل المثال لا الحصر ، الأضرار الناجمة عن الخسائر والأرباح أو توقف الأعمال أو سوء استخدام المعلومات) هذا المستند ، حتى لو تم إخطار شركة ATMEL بإمكانية حدوث مثل هذه الأضرار.

لا تقدم Atmel أي تعهدات أو ضمانات فيما يتعلق بدقة أو اكتمال محتويات هذه الوثيقة وتحتفظ بالحق في إجراء تغييرات على المواصفات وأوصاف المنتجات في أي وقت دون إشعار. لا تلتزم Atmel بأي تحديث للمعلومات الواردة هنا. ما لم ينص على خلاف ذلك على وجه التحديد ، فإن منتجات Atmel ليست مناسبة ولا يجوز استخدامها في تطبيقات السيارات. منتجات Atmel غير مقصودة أو مصرح بها أو مضمونة للاستخدام كمكونات في تطبيقات تهدف إلى دعم الحياة أو إدامتها.

مراجع

اترك تعليقا

لن يتم نشر عنوان بريدك الإلكتروني. تم وضع علامة على الحقول المطلوبة *