وحدات التحكم الدقيقة AVR



AVR هي عائلة من المتحكمات الدقيقة طورتها شركة Atmel منذ عام 1996 ، واستحوذت عليها شركة Microchip Technology في عام 2016. وهي متحكمات دقيقة أحادية الشريحة من نوع RISC ذات 8 بت، تعتمد على بنية هارفارد المعدلة. وكانت AVR من أوائل عائلات المتحكمات الدقيقة التي استخدمت ذاكرة فلاش مدمجة لتخزين البرامج، بدلاً من ذاكرة القراءة فقط القابلة للبرمجة لمرة واحدة (ROM) أو ذاكرة القراءة فقط القابلة للمسح والبرمجة ( EPROM ) أو ذاكرة القراءة فقط القابلة للمسح والبرمجة كهربائياً (EEPROM) التي كانت تستخدمها المتحكمات الدقيقة الأخرى في ذلك الوقت.
تُستخدم وحدات التحكم الدقيقة AVR على نطاق واسع في الأنظمة المدمجة . وهي شائعة بشكل خاص في تطبيقات الهواة والتطبيقات التعليمية المدمجة، وقد اكتسبت شهرة واسعة بفضل تضمينها في العديد من لوحات تطوير الأجهزة مفتوحة المصدر من سلسلة Arduino .
تم تقديم بنية المتحكم الدقيق AVR 8 بت في عام 1997. وبحلول عام 2003، قامت شركة Atmel بشحن 500 مليون متحكم دقيق من نوع AVR flash. [ 1 ]
تاريخ
تم تصميم بنية AVR بواسطة طالبين في المعهد النرويجي للتكنولوجيا (NTH)، [ 2 ] ألف-إيجيل بوجن [ 3 ] وفيجارد وولان. [ 4 ]
تؤكد شركة Atmel أن اسم AVR ليس اختصارًا ولا يرمز إلى أي شيء محدد. ولم يقدم مبتكرو AVR إجابة قاطعة بشأن معنى مصطلح "AVR". [ 4 ] ومع ذلك، من المتعارف عليه أن AVR يرمز إلى معالج Alf and Vegard's RISC. [ 5 ] تجدر الإشارة إلى أن استخدام "AVR" في هذه المقالة يشير عمومًا إلى سلسلة معالجات Atmel AVR الدقيقة ذات 8 بت من نوع RISC.
طُوِّرت وحدة التحكم الدقيقة AVR الأصلية في شركة تصميم دوائر متكاملة خاصة بالتطبيقات (ASIC) محلية في تروندهايم، النرويج ، كانت تُسمى آنذاك Nordic VLSI، وتُعرف الآن باسم Nordic Semiconductor ، حيث كان بوغن وولان يعملان كطالبين. عُرفت هذه الوحدة باسم μRISC (Micro RISC) [ 6 ] ، وكانت متاحة كوحدة ملكية فكرية/مكون بناء من السيليكون من شركة Nordic VLSI. [ 7 ] عندما بيعت هذه التقنية لشركة Atmel من شركة Nordic VLSI ، قام بوغن وولان بتطوير بنيتها الداخلية في شركة Atmel Norway، وهي شركة تابعة لشركة Atmel. عمل المصممان بشكل وثيق مع مطوري برامج الترجمة في شركة IAR Systems لضمان أن توفر مجموعة تعليمات AVR ترجمة فعالة للغات البرمجة عالية المستوى . [ 8 ]
كان من أوائل معالجات سلسلة AVR المعالج AT90S8515، الذي يأتي في حزمة DIP ذات 40 طرفًا، ويحمل نفس ترتيب الأطراف لمعالج 8051 ، بما في ذلك ناقل العناوين والبيانات الخارجي متعدد الإرسال. كانت قطبية خط إعادة الضبط معاكسة (حيث يعمل خط إعادة الضبط في معالج 8051 عند المستوى العالي، بينما يعمل في معالج AVR عند المستوى المنخفض ) ، ولكن بخلاف ذلك، كان ترتيب الأطراف متطابقًا.
تم إصدار منصة Arduino ، التي تم تطويرها لمشاريع الإلكترونيات البسيطة، في عام 2005 وتضمنت وحدات تحكم دقيقة ATmega8 AVR.
نظرة عامة على الجهاز
جهاز AVR هو جهاز ذو بنية هارفارد معدلة، حيث يتم تخزين البرنامج والبيانات في أنظمة ذاكرة فعلية منفصلة تظهر في مساحات عناوين مختلفة، ولكن لديه القدرة على قراءة عناصر البيانات من ذاكرة البرنامج باستخدام تعليمات خاصة.
العائلات الأساسية
تُصنف أجهزة تنظيم الجهد التلقائي (AVRs) عمومًا إلى ما يلي:
tinyAVR – سلسلة ATtiny
| حجم الفلاش | التردد [ميجاهرتز] | طَرد | SRAM | ذاكرة EEPROM |
|---|---|---|---|---|
| 0.5–32 كيلوبايت | 1.6–20 | حزمة من 6 إلى 32 دبوسًا | 32-3072 بايت | 64-512 بايت |
تتميز سلسلة ATtiny بوحدات تحكم دقيقة صغيرة الحجم مع مجموعة محدودة من الأجهزة الطرفية المتاحة. ومع ذلك، تتضمن سلسلة tinyAVR 0/1/2 المحسّنة (التي صدرت عام 2016) ما يلي:
- الأجهزة الطرفية التي تساوي أو تتجاوز سلسلة megaAVR 0
- نظام الأحداث
- مجموعة تعليمات AVRxt محسّنة (توقيت محسّن للاستدعاءات)، ضرب الأجهزة
megaAVR – سلسلة ATmega
| حجم الفلاش | التردد [ميجاهرتز] | طَرد | SRAM | ذاكرة EEPROM |
|---|---|---|---|---|
| 4-256 كيلوبايت | 1.6–20 | حزمة ذات 28-100 دبوس | 256–16384 بايت | 256–4096 بايت |
تتميز سلسلة ATmega بوحدات تحكم دقيقة توفر مجموعة تعليمات موسعة (تعليمات الضرب وتعليمات للتعامل مع ذاكرات البرامج الكبيرة)، ومجموعة واسعة من الأجهزة الطرفية، وذاكرة برامج كبيرة، بالإضافة إلى نطاق واسع من المنافذ المتاحة. كما تتميز سلسلة megaAVR 0 (التي صدرت عام 2016) بوظائف مثل:
- نظام إلكتروني
- أجهزة طرفية جديدة بوظائف محسّنة
- مجموعة تعليمات AVRxt المحسّنة (توقيت محسّن للاستدعاءات)
AVR Dx – تتميز عائلة AVR Dx بسلسلة متعددة من وحدات التحكم الدقيقة، مع التركيز على HCI ، ومعالجة الإشارات التناظرية، والسلامة الوظيفية.
| حجم الفلاش | التردد [ميجاهرتز] | طَرد | SRAM | ذاكرة EEPROM | سنة الإصدار |
|---|---|---|---|---|---|
| 16–128 كيلوبايت | 20-24 عند 1.8-5.5 فولت | حزمة ذات 14-64 دبوسًا | 4-16 كيلوبايت | 512 بايت | 2020 |
يُكتب رقم القطعة بالصيغة AVR ff D xpp ، حيث يُمثل ff حجم الذاكرة الفلاشية، و x يُمثل اسم العائلة، و pp يُمثل عدد الأطراف. مثال: AVR128DA64 - معالج من سلسلة DA ذو 64 طرفًا وذاكرة فلاشية سعتها 128 كيلوبايت. تشمل جميع الأجهزة في عائلة AVR Dx ما يلي:
- مؤقت من النوع D غير متزامن يمكنه العمل بسرعة أكبر من وحدة المعالجة المركزية
- محول تناظري رقمي 12 بت
- محول رقمي تناظري 10 بت
- سلسلة AVR DA (أوائل عام 2020) - إن كثافة الذاكرة العالية تجعل وحدات التحكم الدقيقة هذه مناسبة تمامًا لكل من وظائف الاتصالات السلكية واللاسلكية التي تتطلب استخدامًا مكثفًا لمكدس البروتوكولات.
- سلسلة AVR DB (منتصف إلى أواخر عام 2020) – ترث العديد من الميزات من عائلة DA، مع إضافة ميزاتها الخاصة:
- 2 أو 3 مضخمات عمليات مدمجة على الشريحة
- إدخال/إخراج متعدد الفولتية (MVIO) على المنفذ C
- يدعم بلورة التردد العالي الخارجية
- سلسلة AVR DD
- ذاكرة فلاش بحجم 16-64 كيلوبايت
- ذاكرة الوصول العشوائي الثابتة (SRAM) من 2 إلى 8 كيلوبايت
- حزمة ذات 14-32 دبوسًا
- مذبذب داخلي بتردد 24 ميجاهرتز
- محول تناظري إلى رقمي تفاضلي 7-23 قناة 130 كيلو عينة/ثانية 12 بت
- بدون مكبرات صوت
- 1 مقارن تناظري
- منفذان USART، ومنفذ SPI واحد، ومنفذ TWI ثنائي الوضع
- دعم إدخال/إخراج متعدد الفولتية (MVIO) على 3 أو 4 دبابيس في المنفذ C
- 4 خلايا منطق مخصصة قابلة للتكوين (CCL)، 6 قنوات لنظام الأحداث
- سلسلة AVR EA
- 8-64 كيلوبايت من ذاكرة الفلاش
- حزمة ذات 28-48 دبوسًا
- مذبذب داخلي بتردد 20 ميجاهرتز
- محول تناظري إلى رقمي تفاضلي 24-32 قناة 130 كيلو عينة/ثانية 12 بت
- مضخم كسب قابل للبرمجة (PGA) بكسب يصل إلى 16 ضعفًا
- مقارنان تناظريان
- ثلاثة منافذ USART، وSPI واحد، وTWI ثنائي الوضع
- لا يوجد مدخل/مخرج متعدد الفولتية (MVIO)
- 4 خلايا منطق مخصصة قابلة للتكوين (CCL)، 6 قنوات لنظام الأحداث
إكس ميغا
| حجم الفلاش | التردد [ميجاهرتز] | طَرد | SRAM | ذاكرة EEPROM | سنة الإصدار |
|---|---|---|---|---|---|
| 16–256 كيلوبايت | 32 | حزمة ذات 44-100 دبوس | 1-32 كيلوبايت | 512–2048 بايت | — |
توفر سلسلة ATxmega مجموعة واسعة من الأجهزة الطرفية والوظائف مثل:
- ميزات أداء موسعة، مثل DMA و"نظام الأحداث" ودعم التشفير
- مجموعة طرفية واسعة مزودة بمحولات تناظرية رقمية
AVR خاص بالتطبيق
- وحدات معالجة الرسومات megaAVRs ذات الميزات الخاصة غير الموجودة في الأعضاء الآخرين من عائلة AVR، مثل وحدة تحكم LCD، ووحدة تحكم USB ، وPWM المتقدم، وCAN، وما إلى ذلك.
FPSLIC (AVR مع FPGA)
- FPGA من 5 آلاف إلى 40 ألف بوابة
- ذاكرة الوصول العشوائي الثابتة (SRAM) لرمز برنامج AVR، على عكس جميع أجهزة AVR الأخرى
- يمكن تشغيل نواة AVR بتردد يصل إلى 50 ميجاهرتز [ 9 ]
متحكمات الصوت والفيديو 32 بت
- في عام 2006، أصدرت شركة Atmel متحكمات دقيقة تعتمد على معمارية AVR32 ذات 32 بت . كانت هذه معمارية مختلفة تمامًا عن معمارية AVR ذات 8 بت، ومصممة لمنافسة معالجات ARM . احتوت على مسار بيانات 32 بت، وتعليمات SIMD و DSP ، بالإضافة إلى ميزات أخرى لمعالجة الصوت والفيديو. كانت مجموعة التعليمات مشابهة لنوى RISC الأخرى، لكنها لم تكن متوافقة مع AVR الأصلي (ولا مع أي من نوى ARM المختلفة). منذ ذلك الحين، توقف دعم AVR32 في نظام Linux بدءًا من النواة 4.12؛ ولم يتم دمج دعم المترجم لهذه المعمارية في GCC في مستودع الشفرة المصدرية المركزي للمترجم، وكان متاحًا بشكل أساسي في نسخة معدلة مدعومة من الشركة المصنعة. عند طرح AVR32، كانت Atmel قد حصلت بالفعل على ترخيص معمارية ARM ، حيث تم إصدار متحكمات ARM7 و ARM9 الدقيقة قبل AVR32 وفي نفس وقت إصدارها. وفي وقت لاحق، ركزت شركة Atmel معظم جهود التطوير على رقائق 32 بت المزودة بنوى ARM Cortex-M و Cortex-A .
بنية الجهاز

تحتوي معالجات AVR على 32 سجلًا أحادي البايت وتصنف على أنها أجهزة RISC ذات 8 بت.
تُدمج ذاكرة الفلاش ، وذاكرة EEPROM ، وذاكرة SRAM جميعها على شريحة واحدة، مما يُغني عن الحاجة إلى ذاكرة خارجية في معظم التطبيقات. تتوفر في بعض الأجهزة خيارات ناقل خارجي متوازي لإضافة ذاكرة بيانات إضافية أو أجهزة مُرتبطة بالذاكرة. تحتوي جميع الأجهزة تقريبًا (باستثناء أصغر شرائح TinyAVR) على واجهات تسلسلية، والتي يُمكن استخدامها لتوصيل شرائح EEPROM أو ذاكرة فلاش تسلسلية أكبر.
ذاكرة البرنامج
تُخزَّن تعليمات البرنامج في ذاكرة فلاش غير متطايرة . على الرغم من أن وحدات التحكم الدقيقة (MCUs) ذات 8 بت، فإن كل تعليمة تتطلب كلمة واحدة أو كلمتين من 16 بت. يُشار عادةً إلى حجم ذاكرة البرنامج في اسم الجهاز نفسه (على سبيل المثال، تحتوي سلسلة ATmega64x على 64 كيلوبايت من ذاكرة الفلاش، بينما تحتوي سلسلة ATmega32x على 32 كيلوبايت). لا يوجد دعم لذاكرة برنامج خارجية؛ إذ يجب أن يكون كل الكود الذي يُنفِّذه معالج AVR موجودًا في ذاكرة الفلاش المدمجة. مع ذلك، لا ينطبق هذا القيد على رقاقات AT94 FPSLIC AVR/FPGA.
ذاكرة البيانات الداخلية
تتكون مساحة عناوين البيانات من ملف التسجيلات ، وسجلات الإدخال/الإخراج، وذاكرة الوصول العشوائي الثابتة (SRAM) . تقوم بعض النماذج الصغيرة أيضًا بربط ذاكرة القراءة فقط (ROM) الخاصة بالبرنامج بمساحة عناوين البيانات، بينما لا تفعل ذلك النماذج الأكبر حجمًا.
السجلات الداخلية
في إصداري tinyAVR وmegaAVR من بنية AVR ، تُخزَّن سجلات العمل على أنها أول 32 عنوانًا في ذاكرة البيانات (0000 16 – 001F 16 )، متبوعةً بـ 64 سجلًا للإدخال/الإخراج (0020 16 – 005F 16 ). في الأجهزة ذات الوحدات الطرفية المتعددة، تلي هذه السجلات 160 سجلًا "موسعًا للإدخال/الإخراج"، لا يمكن الوصول إليها إلا من خلال الإدخال/الإخراج المُخزَّن في الذاكرة (0060 16 – 00FF 16 ).
يبدأ SRAM الفعلي بعد أقسام التسجيل هذه، عند العنوان 0060 16 أو، في الأجهزة ذات "الإدخال/الإخراج الممتد"، عند 0100 16 .
على الرغم من وجود مخططات عنونة منفصلة ورموز تشغيل محسّنة للوصول إلى ملف التسجيل وأول 64 سجل إدخال/إخراج، إلا أنه يمكن أيضًا عنونتها ومعالجتها كما لو كانت موجودة في ذاكرة الوصول العشوائي الثابتة (SRAM).
تستخدم أصغر إصدارات tinyAVR بنيةً مُصغّرةً تضم 16 مُسجّلاً فقط (مع حذف المُسجّلات من r0 إلى r15)، وهي غير قابلة للعنونة كمواقع ذاكرة. تبدأ ذاكرة الإدخال/الإخراج من العنوان 0000 16 ، تليها ذاكرة SRAM. إضافةً إلى ذلك، تختلف هذه الأجهزة قليلاً عن مجموعة تعليمات AVR القياسية. أبرز هذه الاختلافات هو تقليص حجم تعليمات التحميل/التخزين المباشر (LDS/STS) من كلمتين (32 بت) إلى كلمة واحدة (16 بت)، مما يحدّ من إجمالي الذاكرة القابلة للعنونة المباشرة (مجموع ذاكرة الإدخال/الإخراج وذاكرة SRAM) إلى 128 بايت. في المقابل، تم توسيع نطاق عنوان تعليمة التحميل غير المباشر (LD) ذي الـ 16 بت ليشمل الذاكرة غير المتطايرة مثل ذاكرة الفلاش وبتات التهيئة؛ لذا، فإن تعليمة تحميل ذاكرة البرنامج (LPM) غير ضرورية وتم حذفها. (للحصول على معلومات مُفصّلة، راجع مجموعة تعليمات Atmel AVR ).
في معالج XMEGA، لا يتم ربط ملف سجلات العمل بمساحة عناوين البيانات؛ وبالتالي، لا يمكن التعامل مع أي من سجلات العمل في XMEGA كما لو كانت ذاكرة SRAM. بدلاً من ذلك، يتم ربط سجلات الإدخال/الإخراج بمساحة عناوين البيانات بدءًا من بدايتها. بالإضافة إلى ذلك، زادت مساحة عناوين البيانات المخصصة لسجلات الإدخال/الإخراج بشكل كبير لتصل إلى 4096 بايت (0000 16 –0FFF 16 ). وكما هو الحال في الأجيال السابقة، لا يمكن لتعليمات معالجة الإدخال/الإخراج السريعة الوصول إلا إلى أول 64 موقعًا من مواقع سجلات الإدخال/الإخراج (أول 32 موقعًا للتعليمات الثنائية). بعد سجلات الإدخال/الإخراج، تخصص سلسلة XMEGA نطاقًا من مساحة عناوين البيانات يبلغ 4096 بايت، والذي يمكن استخدامه اختياريًا لربط ذاكرة EEPROM الداخلية بمساحة عناوين البيانات (1000 16 –1FFF 16 ). يقع SRAM الفعلي بعد هذه النطاقات، بدءًا من 2000 16 .
منافذ الإدخال/الإخراج للأغراض العامة (GPIO)
كل منفذ GPIO على معالج AVR صغير أو ضخم يقوم بتشغيل ما يصل إلى ثمانية دبابيس ويتم التحكم فيه بواسطة ثلاثة سجلات 8 بت: DDR x و PORT x و PIN x ، حيث x هو معرف المنفذ.
- DDR x : سجل اتجاه البيانات، يقوم بتهيئة الدبابيس كمدخلات أو مخرجات.
- PORT x : سجل منفذ الإخراج. يضبط قيمة الإخراج على الأطراف المُهيأة كمخارج. يُفعّل أو يُعطّل مقاومة السحب لأعلى على الأطراف المُهيأة كمدخلات.
- PIN x : سجل إدخال، يُستخدم لقراءة إشارة الإدخال. في بعض الأجهزة، يمكن استخدام هذا السجل لتبديل حالة الدبوس: كتابة قيمة منطقية 1 في بت PIN x تُبدّل البت المقابل في PORT x ، بغض النظر عن إعداد بت DDR x . [ 10 ]
تتميز معالجات ATtiny AVR الأحدث، مثل ATtiny817 وما شابهها، بتعريف مختلف لسجلات التحكم في المنافذ. يحتوي xmegaAVR على سجلات إضافية لتكوينات الدفع/السحب، وتكوينات totem-pole، وتكوينات السحب لأعلى.
ذاكرة EEPROM
تحتوي معظم وحدات التحكم الدقيقة AVR على ذاكرة EEPROM داخلية لتخزين البيانات بشكل شبه دائم. ومثل ذاكرة الفلاش، يمكن لذاكرة EEPROM الاحتفاظ بمحتوياتها عند انقطاع التيار الكهربائي.
في معظم إصدارات بنية AVR، لا يتم ربط ذاكرة EEPROM الداخلية هذه بمساحة الذاكرة القابلة للعنونة في وحدة التحكم الدقيقة. ولا يمكن الوصول إليها إلا بنفس طريقة الوصول إلى الأجهزة الطرفية الخارجية، باستخدام سجلات مؤشر خاصة وتعليمات القراءة/الكتابة، مما يجعل الوصول إلى EEPROM أبطأ بكثير من الوصول إلى ذاكرة الوصول العشوائي الداخلية الأخرى.
مع ذلك، تستخدم بعض الأجهزة في عائلة SecureAVR (AT90SC) [ 11 ] ربطًا خاصًا لذاكرة EEPROM بذاكرة البيانات أو البرنامج، وذلك بحسب التكوين. كما تسمح عائلة XMEGA بربط ذاكرة EEPROM بمساحة عناوين البيانات.
بما أن عدد عمليات الكتابة إلى EEPROM محدود - حيث تحدد Atmel 100000 دورة كتابة في أوراق البيانات الخاصة بها - يجب أن يقوم روتين كتابة EEPROM المصمم جيدًا بمقارنة محتويات عنوان EEPROM بالمحتويات المطلوبة، وأن يقوم فقط بعملية كتابة فعلية إذا كانت هناك حاجة لتغيير المحتويات.
تنفيذ البرنامج
تتميز معالجات AVR من Atmel بتصميم خط أنابيب ثنائي المراحل أحادي المستوى ، ما يعني أن التعليمات التالية تُجلب أثناء تنفيذ التعليمات الحالية. تستغرق معظم التعليمات دورة ساعة واحدة أو دورتين فقط، مما يجعل معالجات AVR سريعة نسبيًا بين وحدات التحكم الدقيقة ذات 8 بت .
تم تصميم معالجات AVR مع مراعاة التنفيذ الفعال لرمز C المترجم، وتحتوي على العديد من المؤشرات المدمجة لهذه المهمة.
مجموعة التعليمات
تتميز مجموعة تعليمات AVR بأنها أكثر تعامدًا من مجموعات تعليمات معظم المتحكمات الدقيقة ذات 8 بت، وخاصةً نسخ 8051 ومتحكمات PIC الدقيقة التي نافستها AVR. ومع ذلك، فهي ليست منتظمة تمامًا.
- تتمتع سجلات المؤشر X و Y و Z بقدرات عنونة مختلفة عن بعضها البعض.
- تتمتع مواقع التسجيل من R0 إلى R15 بقدرات عنونة محدودة أكثر من مواقع التسجيل من R16 إلى R31.
- يمكن معالجة منافذ الإدخال/الإخراج من 0 إلى 31 عن طريق البتات، على عكس منافذ الإدخال/الإخراج من 32 إلى 63.
- تؤثر عملية CLR (مسح جميع البتات إلى الصفر) على الرايات، بينما لا تؤثر عملية SER (تعيين جميع البتات إلى واحد) عليها، على الرغم من كونهما تعليمات متكاملة. (تُعتبر CLR عمليةً زائفةً لعملية EOR R, R؛ بينما SER اختصارٌ لعملية LDI R,$FF. تُعدّل العمليات الحسابية مثل EOR الرايات، بينما لا تُعدّلها عمليات النقل/التحميل/التخزين/التفرع مثل LDI).
- يتطلب الوصول إلى البيانات للقراءة فقط المخزنة في ذاكرة البرنامج (الفلاش) تعليمات LPM خاصة؛ وإلا فإن ناقل الفلاش محجوز لذاكرة التعليمات.
تؤثر بعض الاختلافات الخاصة بالرقاقة على توليد التعليمات البرمجية. يبلغ طول مؤشرات التعليمات البرمجية (بما في ذلك عناوين الإرجاع على المكدس) بايتين في الرقاقات التي تصل سعتها إلى 128 كيلوبايت من ذاكرة الفلاش، بينما يبلغ طولها ثلاثة بايتات في الرقاقات الأكبر حجمًا؛ ولا تحتوي جميع الرقاقات على مضاعفات مادية؛ وتحتوي الرقاقات التي تزيد سعتها عن 8 كيلوبايت من ذاكرة الفلاش على تعليمات التفرع والاستدعاء بنطاقات أطول؛ وهكذا.
بفضل مجموعة التعليمات المنتظمة في الغالب، تُصبح مُترجمات لغة C (وحتى لغة Ada) سهلة الاستخدام وفعّالة للغاية. يدعم مُترجم GCC معالجات AVR منذ فترة طويلة، ويُستخدم هذا الدعم على نطاق واسع. كما يدعم LLVM معالجات AVR بشكل أساسي. في الواقع، استطلعت شركة Atmel آراء كبار مطوري مُترجمات المتحكمات الدقيقة الصغيرة، لتحديد ميزات مجموعة التعليمات الأكثر فائدة في مُترجم للغات البرمجة عالية المستوى. [ 8 ]
سرعة عالم مارفل السينمائي
تدعم سلسلة معالجات AVR عادةً سرعات ساعة تتراوح من 0 إلى 20 ميجاهرتز، مع وصول بعض الأجهزة إلى 32 ميجاهرتز. ويتطلب التشغيل منخفض الطاقة عادةً سرعة ساعة أقل. تتميز جميع معالجات AVR الحديثة (Tiny وMega وXmega، باستثناء 90S) بمذبذب مدمج، مما يلغي الحاجة إلى ساعات خارجية أو دوائر رنانة. كما تحتوي بعض معالجات AVR على مُقسِّم تردد ساعة النظام الذي يمكنه خفض تردد ساعة النظام بنسبة تصل إلى 1024. ويمكن إعادة تهيئة هذا المُقسِّم برمجياً أثناء التشغيل، مما يسمح بتحسين سرعة الساعة.
بما أن جميع العمليات (باستثناء الضرب والجمع/الطرح ذي 16 بت) على المسجلات R0-R31 تتم في دورة واحدة، فإن معالج AVR قادر على تحقيق أداء يصل إلى مليون تعليمات في الثانية لكل ميجاهرتز، أي أن معالجًا بتردد 8 ميجاهرتز يمكنه تحقيق أداء يصل إلى 8 ملايين تعليمات في الثانية. تستغرق عمليات التحميل والتخزين من/إلى الذاكرة دورتين، وكذلك عمليات التفرع. تُعد عمليات التفرع في أحدث معالجات "الحاسوب الشخصي ذي 3 بايت" مثل ATmega2560 أبطأ بدورة واحدة مقارنةً بالأجهزة السابقة.
تطوير
تحظى معالجات AVR بشعبية واسعة بفضل أدوات التطوير المجانية والرخيصة المتوفرة، بما في ذلك لوحات التطوير ذات الأسعار المعقولة وبرامج التطوير المجانية. تُباع معالجات AVR تحت أسماء مختلفة تشترك في نفس النواة الأساسية، ولكن مع اختلافات في مكونات الأجهزة الطرفية والذاكرة. يُعد التوافق بين الرقاقات في كل عائلة جيدًا إلى حد كبير، على الرغم من أن ميزات وحدة التحكم في الإدخال/الإخراج قد تختلف.
يُستخدم مُترجم Atmel AVR GNU C/C++ المتقاطع ، "avr-gcc" و"avr-g++"، في كلٍ من WinAVR وAtmel Studio. [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] وقد استعان فريق Arduino بـ WinAVR لإصدار Windows من برنامج Arduino . [ 17 ]
راجع الروابط الخارجية للاطلاع على المواقع المتعلقة بتطوير أنظمة الصوت والفيديو التفاعلية (AVR).
سمات
توفر أجهزة استقبال الصوت والفيديو مجموعة واسعة من الميزات:
- منافذ إدخال/إخراج متعددة الوظائف وثنائية الاتجاه للأغراض العامة مع مقاومات سحب مدمجة قابلة للتهيئة
- مذبذبات داخلية متعددة، بما في ذلك مذبذب RC بدون أجزاء خارجية
- ذاكرة فلاش داخلية قابلة للبرمجة الذاتية تصل سعتها إلى 256 كيلوبايت (384 كيلوبايت على جهاز XMega)
- قابل للبرمجة داخل النظام باستخدام واجهات خاصة منخفضة الجهد تسلسلية/متوازية أو JTAG
- قسم رمز التمهيد الاختياري مع بتات قفل مستقلة للحماية
- يدعم معظم الأجهزة تصحيح الأخطاء على الشريحة (OCD) من خلال JTAG أو debugWIRE
- تُرسل إشارات JTAG (TMS، TDI، TDO، وTCK) عبر منافذ الإدخال/الإخراج العامة (GPIO ) . يمكن تهيئة هذه المنافذ للعمل كـ JTAG أو GPIO بناءً على إعداد بتة المصهر ، والتي يمكن برمجتها عبر البرمجة داخل النظام (ISP) أو HVSP. تأتي معالجات AVR المزودة بـ JTAG افتراضيًا مع تفعيل واجهة JTAG.
- تستخدم تقنية debugWIRE طرف /RESET كقناة اتصال ثنائية الاتجاه للوصول إلى دوائر تصحيح الأخطاء المدمجة في الشريحة. وهي موجودة في الأجهزة ذات عدد الأطراف الأقل، لأنها لا تتطلب سوى طرف واحد.
- ذاكرة EEPROM للبيانات الداخلية تصل سعتها إلى 4 كيلوبايت
- ذاكرة SRAM داخلية تصل إلى 16 كيلوبايت (32 كيلوبايت على XMega)
- مساحة بيانات خارجية بحجم 64 كيلوبايت بنظام little endian على بعض الطرازات، بما في ذلك Mega8515 وMega162.
- يتم تراكب مساحة البيانات الخارجية مع مساحة البيانات الداخلية، بحيث لا تظهر مساحة العناوين الكاملة البالغة 64 كيلوبايت على الناقل الخارجي، وستؤدي عمليات الوصول إلى العنوان 0100 16 على سبيل المثال إلى الوصول إلى ذاكرة الوصول العشوائي الداخلية، وليس الناقل الخارجي.
- في بعض طرازات سلسلة XMega، تم تحسين مساحة البيانات الخارجية لدعم كل من ذاكرة الوصول العشوائي الثابتة (SRAM) وذاكرة الوصول العشوائي الديناميكية المتزامنة (SDRAM). كما تم توسيع أنماط عنونة البيانات للسماح بالوصول المباشر إلى ذاكرة بيانات تصل إلى 16 ميجابايت.
- مؤقتات 8 بت و 16 بت
- مخرج PWM (تحتوي بعض الأجهزة على وحدة PWM طرفية محسّنة تتضمن مولد وقت ميت)
- التقاط المدخلات الذي يسجل طابعًا زمنيًا يتم تشغيله بواسطة حافة الإشارة
- مقارن تناظري
- محولات تناظرية/رقمية 10 أو 12 بت ، مع إمكانية تعدد الإرسال لما يصل إلى 16 قناة
- محولات D/A ذات 12 بت
- مجموعة متنوعة من واجهات الاتصال التسلسلي، بما في ذلك
- واجهة سلكين متوافقة مع I²C (TWI)
- الأجهزة الطرفية التسلسلية المتزامنة/غير المتزامنة ( UART /USART) (تستخدم مع RS-232 و RS-485 والمزيد)
- ناقل واجهة الأجهزة الطرفية التسلسلية (SPI)
- واجهة التسلسل العالمي (USI): وحدة اتصال متعددة الأغراض يمكن استخدامها لتنفيذ واجهة SPI ، [ 18 ] I2C [ 19 ] [ 20 ] أو UART [ 21 ] .
- كشف انقطاع التيار الكهربائي
- مؤقت مراقبة النظام (WDT)
- أوضاع متعددة لتوفير الطاقة أثناء النوم
- نماذج وحدات التحكم في الإضاءة والمحركات ( خاصة بتقنية تعديل عرض النبضة )
- دعم وحدة تحكم CAN
- يدعم وحدة تحكم USB
- جهاز تحكم كامل السرعة (12 ميجابت/ثانية) وجهاز تحكم مركزي مزود بمعالج AVR مدمج.
- كما تتوفر مجاناً برامج محاكاة لتقنية Bitbanging ( HID ) منخفضة السرعة (1.5 ميجابت/ثانية).
- دعم وحدة تحكم إيثرنت
- دعم وحدة تحكم شاشة LCD
- الأجهزة ذات الجهد المنخفض التي تعمل حتى 1.8 فولت (إلى 0.7 فولت للأجزاء المزودة بمحول تيار مستمر مدمج)
- أجهزة بيكو باور
- وحدات التحكم في الوصول المباشر إلى الذاكرة (DMA) واتصالات الأجهزة الطرفية "لنظام الأحداث".
- دعم سريع للتشفير لـ AES و DES
واجهات البرمجة
توجد طرق عديدة لتحميل كود البرنامج في شريحة AVR. وتختلف طرق برمجة شرائح AVR باختلاف عائلة AVR. تستخدم معظم الطرق الموضحة أدناه خط إعادة الضبط (RESET) للدخول إلى وضع البرمجة. ولتجنب دخول الشريحة إلى هذا الوضع عن طريق الخطأ، يُنصح بتوصيل مقاومة سحب لأعلى بين طرف إعادة الضبط (RESET) ومصدر الطاقة الموجب. [ 22 ]
مزود خدمة الإنترنت

تُنفَّذ برمجة النظام الداخلي ( ISP) وظيفيًا عبر بروتوكول SPI ، مع بعض التعديلات على خط إعادة الضبط. طالما أن دبابيس SPI الخاصة بمعالج AVR غير متصلة بأي شيء قد يُسبب خللًا، يمكن إبقاء شريحة AVR ملحومة على لوحة الدوائر المطبوعة أثناء إعادة البرمجة. كل ما يلزم هو موصل سداسي الأطراف ومحول برمجة. هذه هي الطريقة الأكثر شيوعًا للتطوير باستخدام معالج AVR.
يتصل جهاز Atmel-ICE أو AVRISP mkII (الجهاز القديم) بمنفذ USB الخاص بالكمبيوتر ويقوم ببرمجة النظام باستخدام برنامج Atmel.
يعمل برنامج AVRDUDE (برنامج تنزيل/تحميل AVR) على أنظمة Linux و FreeBSD و Windows و Mac OS X ، ويدعم مجموعة متنوعة من أجهزة البرمجة داخل النظام، بما في ذلك Atmel AVRISP mkII و Atmel JTAG ICE ومبرمجات Atmel القديمة القائمة على منفذ التسلسل، بالإضافة إلى العديد من مبرمجات الطرف الثالث ومبرمجات "افعلها بنفسك". [ 23 ]
PDI
واجهة البرمجة والتصحيح (PDI) هي واجهة خاصة بشركة Atmel تُستخدم للبرمجة الخارجية وتصحيح الأخطاء داخل شريحة XMEGA. تدعم PDI برمجة عالية السرعة لجميع مساحات الذاكرة غير المتطايرة (NVM)؛ ذاكرة الفلاش، وذاكرة EEPROM، والصمامات، وبتات القفل، وصف توقيع المستخدم. يتم ذلك من خلال الوصول إلى وحدة تحكم NVM الخاصة بـ XMEGA عبر واجهة PDI، وتنفيذ أوامر وحدة تحكم NVM. تتكون PDI من واجهتين، حيث تستخدم دبوس إعادة الضبط لإدخال إشارة الساعة (PDI_CLK) ودبوس بيانات مخصص (PDI_DATA) للإدخال والإخراج. [ 24 ]
UPDI
واجهة البرمجة والتصحيح الموحدة (UPDI) هي واجهة أحادية السلك للبرمجة الخارجية والتصحيح على شريحة أجهزة ATtiny وATmega الحديثة. يمكن برمجة شرائح UPDI بواسطة Atmel-ICE أو PICkit 4 أو Arduino (بعد تثبيت jtag2updi عليها) [ 25 ] أو عبر منفذ UART (باستخدام مقاومة 1 كيلو أوم بين طرفي الإرسال والاستقبال) يتم التحكم به بواسطة أداة pymcuprog من Microchip المكتوبة بلغة Python . [ 26 ]
سلسلة الجهد العالي
تُعدّ برمجة التسلسل عالي الجهد (HVSP) [ 27 ] في الغالب وضع النسخ الاحتياطي في معالجات AVR الصغيرة. لا توفر حزمة AVR ذات 8 أطراف العديد من تركيبات الإشارات الفريدة لوضع المعالج في وضع البرمجة. مع ذلك، لا ينبغي أن يستقبل المعالج إشارة 12 فولت إلا أثناء البرمجة، وليس أثناء التشغيل العادي. كما يمكن استخدام وضع الجهد العالي في بعض الأجهزة التي تم تعطيل دبوس إعادة الضبط فيها بواسطة الصمامات.
التوازي عالي الجهد
تعتبر البرمجة المتوازية عالية الجهد (HVPP) بمثابة "الملاذ الأخير" وقد تكون الطريقة الوحيدة لتصحيح إعدادات الصمامات السيئة على شريحة AVR.
برنامج الإقلاع
تستطيع معظم طرازات AVR حجز منطقة مُحمِّل الإقلاع ، تتراوح سعتها بين 256 بايت و4 كيلوبايت، حيث يمكن تخزين كود إعادة البرمجة. عند إعادة التشغيل، يعمل مُحمِّل الإقلاع أولًا، ويُجري عملية مُبرمجة من قِبل المستخدم لتحديد ما إذا كان سيتم إعادة البرمجة أو الانتقال إلى التطبيق الرئيسي. يمكن للكود إعادة البرمجة عبر أي واجهة متاحة، أو يمكنه قراءة ملف ثنائي مُشفَّر عبر مُهايئ إيثرنت مثل PXE . لدى Atmel ملاحظات تطبيقية وكود برمجي يتعلق بالعديد من واجهات ناقل البيانات. [ 28 ] [ 29 ] [ 30 ] [ 31 ]
ذاكرة للقراءة فقط
تتوفر سلسلة AT90SC من معالجات AVR مزودة بذاكرة قراءة فقط (RAM) مُقنّعة من المصنع لتخزين البرنامج، بدلاً من ذاكرة الفلاش. [ 32 ] ونظرًا للتكلفة الأولية المرتفعة والحد الأدنى لكمية الطلب، فإن استخدام ذاكرة القراءة فقط المُقنّعة لا يكون مجديًا اقتصاديًا إلا في عمليات الإنتاج بكميات كبيرة.
أواير
aWire هي واجهة تصحيح أخطاء جديدة أحادية السلك متوفرة على أجهزة UC3L AVR32 الجديدة.
واجهات تصحيح الأخطاء
يوفر معالج AVR العديد من الخيارات لتصحيح الأخطاء، والتي تتضمن في الغالب تصحيح الأخطاء على الشريحة أثناء وجود الشريحة في النظام المستهدف.
debugWIRE
يُعدّ debugWIRE حلاً من Atmel لتوفير إمكانيات تصحيح الأخطاء على الشريحة عبر منفذ واحد في المتحكم الدقيق. وهو مفيد للمعالجات ذات عدد المنافذ المنخفض التي لا توفر المنافذ الأربعة "الاحتياطية" اللازمة لتقنية JTAG. يدعم كل من JTAGICE mkII و mkIII و AVR Dragon تقنية debugWIRE. طُوّرت هذه التقنية بعد إصدار JTAGICE الأصلي، وتدعمها الآن المعالجات المقلدة.
JTAG
تتيح ميزة مجموعة إجراءات الاختبار المشتركة ( JTAG ) الوصول إلى وظائف تصحيح الأخطاء المدمجة في الشريحة أثناء تشغيلها في النظام المستهدف. [ 33 ] تسمح JTAG بالوصول إلى الذاكرة الداخلية والسجلات، وتعيين نقاط توقف في التعليمات البرمجية، وتنفيذ التعليمات خطوة بخطوة لمراقبة سلوك النظام.
توفر شركة Atmel سلسلة من محولات JTAG لـ AVR:
- يُعدّ Atmel-ICE [ 34 ] أحدث محوّل. وهو يدعم واجهات JTAG وdebugWire وaWire وSPI وTPI وPDI.
- يُعدّ JTAGICE 3 [ 35 ] جهاز تصحيح أخطاء متوسط المدى ضمن عائلة JTAGICE (JTAGICE mkIII). وهو يدعم واجهات JTAG و aWire و SPI و PDI.
- يُعدّ جهاز JTAGICE mkII [ 36 ] بديلاً لجهاز JTAGICE، ويُباع بسعر مماثل. يتصل جهاز JTAGICE mkII بالكمبيوتر عبر منفذ USB، ويدعم كلاً من JTAG وواجهة debugWIRE الأحدث. وقد بدأت العديد من النسخ المقلدة من جهاز Atmel JTAGICE mkII، من إنتاج جهات خارجية، بالظهور في الأسواق بعد أن أصدرت شركة Atmel بروتوكول الاتصال. [ 37 ]
- يُعدّ AVR Dragon [ 38 ] بديلاً منخفض التكلفة (حوالي 50 دولارًا أمريكيًا) لـ JTAGICE mkII لبعض المكونات المستهدفة. يوفر AVR Dragon برمجة تسلسلية داخل النظام، وبرمجة تسلسلية عالية الجهد، وبرمجة متوازية، بالإضافة إلى محاكاة JTAG أو debugWIRE للمكونات التي تحتوي على 32 كيلوبايت من ذاكرة البرنامج أو أقل. قامت ATMEL بتحديث ميزة تصحيح الأخطاء في AVR Dragon مع أحدث إصدار من برنامج AVR Studio 4 - AVR Studio 5، وهو يدعم الآن الأجهزة التي تزيد سعة ذاكرة البرنامج فيها عن 32 كيلوبايت.
- تتصل وحدة JTAGICE بالكمبيوتر عبر منفذ تسلسلي قياسي. [ 39 ] على الرغم من أن شركة Atmel قد أعلنت انتهاء دعم وحدة JTAGICE ، إلا أنها لا تزال مدعومة في برنامج AVR Studio وأدوات أخرى.
يمكن استخدام JTAG أيضًا لإجراء اختبار فحص الحدود ، [ 40 ] الذي يختبر التوصيلات الكهربائية بين معالجات AVR وغيرها من الرقاقات القادرة على فحص الحدود في النظام. يُعد فحص الحدود مناسبًا لخطوط الإنتاج، بينما يُفضل للهواة استخدام جهاز قياس متعدد أو راسم إشارة.
أدوات التطوير ومجموعات التقييم

تحتوي أدوات تطوير Atmel AVR الرسمية ومجموعات التقييم على عدد من مجموعات الأدوات الأساسية وأدوات تصحيح الأخطاء مع دعم لمعظم أجهزة AVR:
مجموعة أدوات بدء التشغيل STK600
تُعد مجموعة STK600 للمبتدئين ونظام التطوير تحديثًا لـ STK500. [ 41 ] يستخدم STK600 لوحة أساسية ولوحة توجيه الإشارة ولوحة الهدف.
اللوحة الأساسية مشابهة للوحة STK500، من حيث أنها توفر مصدر طاقة، وساعة، وبرمجة داخل النظام، ومنفذ RS-232، ومنفذ CAN (شبكة منطقة التحكم، وهو معيار للسيارات) عبر موصلات DE9، ودبابيس تثبيت لجميع إشارات GPIO من الجهاز المستهدف.
تحتوي اللوحات المستهدفة على مقابس ZIF لحزم DIP أو SOIC أو QFN أو QFP ، وذلك حسب نوع اللوحة.
تقع لوحة توجيه الإشارات بين اللوحة الأساسية واللوحة المستهدفة، وتوجه الإشارات إلى الدبوس المناسب على لوحة الجهاز. تتوفر العديد من لوحات توجيه الإشارات المختلفة التي يمكن استخدامها مع لوحة مستهدفة واحدة، وذلك بحسب نوع الجهاز الموجود في مقبس ZIF.
تتيح لوحة STK600 برمجة النظام من الحاسوب عبر منفذ USB، مما يُبقي منفذ RS-232 متاحًا لوحدة التحكم الدقيقة المستهدفة. يُمكن توصيل أي منفذ USART بمستوى TTL على شريحة STK600 بشريحة MAX232 مدمجة لتحويل الإشارات إلى مستويات RS-232 عبر موصل رباعي الأطراف مُسمى "RS-232 احتياطي". تُوصل إشارات RS-232 بأطراف RX وTX وCTS وRTS على موصل DB-9.
مجموعة أدوات بدء التشغيل STK500
تتضمن مجموعة STK500 للمبتدئين ونظام التطوير إمكانية برمجة ISP وبرمجة الجهد العالي (HVP) لجميع أجهزة AVR، إما مباشرةً أو عبر لوحات التوسعة. اللوحة مزودة بمقابس DIP لجميع أجهزة AVR المتوفرة في حزم DIP.
وحدات التوسعة STK500: تتوفر العديد من وحدات التوسعة للوحة STK500:
- STK501 – يضيف دعمًا لوحدات التحكم الدقيقة في حزم TQFP ذات 64 سنًا.
- STK502 – يضيف دعمًا لوحدات التحكم AVR لشاشات LCD في حزم TQFP ذات 64 سنًا.
- STK503 – يضيف دعمًا لوحدات التحكم الدقيقة في حزم TQFP ذات 100 طرف.
- STK504 – يضيف دعمًا لوحدات التحكم AVR لشاشات LCD في حزم TQFP ذات 100 دبوس.
- STK505 – يضيف دعمًا لـ AVRs ذات 14 و 20 سنًا.
- STK520 – يضيف دعمًا لوحدات التحكم الدقيقة ذات 14 و 20 و 32 دبوسًا من عائلة AT90PWM و ATmega.
- STK524 – يضيف دعمًا لعائلة ATmega32M1/C1 ذات 32 سنًا للتحكم في CAN/LIN/Motor.
- STK525 – يضيف دعمًا لوحدات التحكم الدقيقة AT90USB في حزم TQFP ذات 64 سنًا.
- STK526 – يضيف دعمًا لوحدات التحكم الدقيقة AT90USB في حزم TQFP ذات 32 سنًا.
مجموعة أدوات بدء التشغيل STK200
تتضمن مجموعة STK200 للمبتدئين ونظام التطوير مقبس DIP يدعم شريحة AVR في حزمة ذات 40 أو 20 أو 8 دبابيس. تحتوي اللوحة على مصدر ساعة بتردد 4 ميجاهرتز، و8 ثنائيات باعثة للضوء (LED)، و8 أزرار إدخال، ومنفذ RS-232 ، ومقبس لذاكرة SRAM بسعة 32 كيلوبايت ، بالإضافة إلى العديد من منافذ الإدخال/الإخراج العامة. يمكن برمجة الشريحة باستخدام وحدة دونجل متصلة بالمنفذ المتوازي.
| رقاقة | حجم الفلاش | ذاكرة EEPROM | SRAM | التردد [ميجاهرتز] | طَرد |
|---|---|---|---|---|---|
| AT90S1200 | 1 كيلوبايت | 64 ب | 0 ب | 12 | PDIP-20 |
| AT90S2313 | 2 كيلوبايت | 128 ب | 128 ب | 10 | PDIP-20 |
| AT90S/LS2323 | 2 كيلوبايت | 128 ب | 128 ب | 10 | PDIP-8 |
| AT90S/LS2343 | 2 كيلوبايت | 128 ب | 128 ب | 10 | PDIP-8 |
| AT90S4414 | 4 كيلوبايت | 256 ب | 256 ب | 8 | PDIP-40 |
| AT90S/LS4434 | 4 كيلوبايت | 256 ب | 256 ب | 8 | PDIP-40 |
| AT90S8515 | 8 كيلوبايت | 512 ب | 512 ب | 8 | PDIP-40 |
| AT90S/LS8535 | 8 كيلوبايت | 512 ب | 512 ب | 8 | PDIP-40 |
أتميل-آيس
يُعدّ Atmel ICE الأداة غير المكلفة والمدعومة حاليًا لبرمجة وتصحيح جميع أجهزة AVR (على عكس AVRISP/AVRISP mkII وDragon وغيرها المذكورة أدناه). يتصل الجهاز بجهاز الكمبيوتر ويتلقى الطاقة منه عبر منفذ USB، ويدعم واجهات JTAG و PDI و aWire و debugWIRE و SPI و SWD و TPI وUPDI (واجهة البرمجة والتصحيح الموحدة من Microchip).
يمكن لجهاز ICE برمجة وتصحيح جميع معالجات AVR عبر واجهة JTAG، والبرمجة باستخدام واجهات إضافية مدعومة على كل جهاز:
- أجهزة AVR XMEGA ذات 8 بت عبر واجهة PDI ثنائية الأسلاك
- أجهزة megaAVR و tinyAVR ذات 8 بت عبر SPI لجميع الأجهزة التي تدعم OCD (مصحح الأخطاء المدمج)
- وحدات تحكم دقيقة tinyAVR ذات 8 بت مع دعم TPI
- وحدات تحكم دقيقة من نوع Arm Cortex-M ذات 32 بت بتقنية SAM عبر SWD
يتم دعم نطاقات جهد التشغيل المستهدفة من 1.62 فولت إلى 5.5 فولت بالإضافة إلى نطاقات الساعة التالية:
- يدعم ترددات ساعة JTAG و PDI من 32 كيلو هرتز إلى 7.5 ميجا هرتز
- يدعم معدلات نقل البيانات عبر aWire من 7.5 كيلوبت/ثانية إلى 7 ميجابت/ثانية
- يدعم معدلات نقل البيانات عبر بروتوكول debugWIRE من 4 كيلوبت/ثانية إلى 0.5 ميجابت/ثانية
- يدعم ترددات ساعة SPI من 8 كيلو هرتز إلى 5 ميجا هرتز
- يدعم ترددات ساعة SWD من 32 كيلوهرتز إلى 2 ميجاهرتز
يتم دعم ICE بواسطة بيئة التطوير المتكاملة Microchip Studio، بالإضافة إلى واجهة سطر الأوامر (atprogram).
يدعم Atmel-ICE تطبيقًا محدودًا لواجهة بوابة البيانات (DGI) عند عدم استخدام ميزات تصحيح الأخطاء والبرمجة. تُعدّ واجهة بوابة البيانات واجهةً لبث البيانات من الجهاز المستهدف إلى الحاسوب المتصل. وهي مصممة لتكون إضافةً مفيدةً للوحدة، حيث تتيح عرض ميزات التطبيق وتساعد في تصحيح الأخطاء على مستوى التطبيق.
AVRISP و AVRISP mkII

يُعد كل من AVRISP و AVRISP mkII أدوات غير مكلفة تسمح ببرمجة جميع أجهزة AVR عبر ICSP .
يتصل جهاز AVRISP بجهاز الكمبيوتر عبر منفذ تسلسلي ويستمد طاقته من النظام المستهدف. يتيح جهاز AVRISP استخدام أي من منافذ ICSP "القياسية"، سواءً كان الموصل ذو 10 دبابيس أو 6 دبابيس.
يتصل جهاز AVRISP mkII بجهاز الكمبيوتر عبر منفذ USB ويستمد الطاقة منه. تشير مصابيح LED المرئية من خلال الغلاف الشفاف إلى حالة الطاقة المتاحة للجهاز.
نظرًا لأن وحدة AVRISP mkII تفتقر إلى دوائر متكاملة للتحكم/التخزين المؤقت، [ 42 ] فقد تواجه صعوبة في برمجة اللوحات المستهدفة ذات الأحمال المتعددة على خطوط SPI الخاصة بها. في مثل هذه الحالات، يلزم استخدام مبرمج قادر على توفير تيار أعلى. بدلاً من ذلك، يمكن استخدام وحدة AVRISP mkII إذا أمكن وضع مقاومات منخفضة القيمة (حوالي 150 أوم) لتحديد الحمل على خطوط SPI قبل كل جهاز طرفي.
تم إيقاف إنتاج كل من جهازي AVRISP وAVRISP mkII، وحُذفت صفحات المنتجات من موقع شركة Microchip الإلكتروني. وحتى يوليو 2019، كان جهاز AVRISP mkII لا يزال متوفرًا لدى عدد من الموزعين. كما تتوفر أيضًا نسخ مقلدة منه من جهات خارجية.
تنين AVR

Atmel Dragon أداةٌ غير مكلفة تتصل بجهاز الكمبيوتر عبر منفذ USB. تستطيع Dragon برمجة جميع معالجات AVR عبر JTAG أو HVP أو PDI أو ICSP. [ 43 ] كما تتيح Dragon تصحيح أخطاء جميع معالجات AVR عبر JTAG أو PDI أو debugWire؛ وقد أُزيل القيد السابق الذي كان يقتصر على الأجهزة ذات ذاكرة برنامج 32 كيلوبايت أو أقل في AVR Studio 4.18. [ 44 ] تحتوي Dragon على مساحة صغيرة للنماذج الأولية تتسع لمعالج AVR ذي 8 أو 28 أو 40 طرفًا، بما في ذلك توصيلات الطاقة ودبابيس البرمجة. لا توجد مساحة لأي دوائر إضافية، مع العلم أنه يمكن توفير ذلك من خلال منتج خارجي يُسمى "Dragon Rider". [ 45 ]
JTAGICE
تدعم أداة تصحيح الأخطاء JTAGICE (محاكي الدائرة JTAG ) تصحيح الأخطاء على شريحة AVR المزودة بواجهة JTAG. يستخدم الإصدار الأصلي من JTAGICE (الذي يُشار إليه أحيانًا باسم JTAGICE mkI) واجهة RS-232 للاتصال بجهاز الكمبيوتر، ولا يمكنه برمجة AVR إلا باستخدام واجهة JTAG. توقف إنتاج JTAGICE mkI، وتم استبداله بـ JTAGICE mkII.
JTAGICE mkII
تدعم أداة تصحيح الأخطاء JTAGICE mkII تصحيح الأخطاء على الشريحة (OCD) لمعالجات AVR المزودة بواجهات SPI وJTAG وPDI وdebugWIRE. تتيح واجهة debugWire تصحيح الأخطاء باستخدام دبوس واحد فقط (دبوس إعادة الضبط)، مما يسمح بتصحيح أخطاء التطبيقات التي تعمل على وحدات تحكم دقيقة ذات عدد دبابيس منخفض.
يتصل جهاز JTAGICE mkII عبر منفذ USB، ولكن يوجد اتصال بديل عبر منفذ تسلسلي، يتطلب استخدام مصدر طاقة منفصل. بالإضافة إلى JTAG، يدعم mkII برمجة ISP (باستخدام محولات 6 أو 10 دبابيس). يستخدم كل من اتصال USB والاتصال التسلسلي نسخة معدلة من بروتوكول STK500.
JTAGICE3
يُحدّث JTAGICE3 جهاز mkII بإمكانيات تصحيح أخطاء أكثر تطورًا وبرمجة أسرع. يتصل عبر منفذ USB ويدعم واجهات JTAG وaWire وSPI وPDI. [ 46 ] تتضمن المجموعة عدة محولات للاستخدام مع معظم منافذ التوصيل.
AVR ONE!
يُعدّ AVR ONE! أداة تطوير احترافية لجميع أجهزة AVR من Atmel ذات 8 بت و32 بت، مع إمكانية تصحيح الأخطاء المدمجة. يدعم أوضاع البرمجة SPI وJTAG وPDI وaWire، بالإضافة إلى تصحيح الأخطاء باستخدام واجهات debugWIRE وJTAG وPDI وaWire. [ 47 ]
لوحة عرض الفراشات

لوحة العرض التوضيحي AVR Butterfly، ذات الشعبية الواسعة، عبارة عن حاسوب مستقل يعمل بالبطارية، ويستخدم معالج Atmel AVR ATmega169V. صُممت هذه اللوحة لعرض إمكانيات عائلة معالجات AVR، ولا سيما واجهة شاشة LCD المدمجة الجديدة آنذاك. تتضمن اللوحة شاشة LCD، وعصا تحكم، ومكبر صوت، ومنفذ تسلسلي، وساعة توقيت حقيقية (RTC)، وشريحة ذاكرة فلاش، بالإضافة إلى مستشعرات درجة الحرارة والجهد. احتوت الإصدارات السابقة من AVR Butterfly على مقاوم ضوئي من كبريتيد الكادميوم (CdS )، وهو غير موجود في لوحات Butterfly المُنتجة بعد يونيو 2006 لضمان التوافق مع توجيهات RoHS . [ 48 ] تحتوي اللوحة الصغيرة على دبوس تثبيت في الخلف، مما يسمح بارتدائها كشارة تعريف.
يأتي جهاز AVR Butterfly مزودًا مسبقًا ببرنامج لعرض إمكانيات المتحكم الدقيق. يتيح لك البرنامج الثابت المصنعي عرض اسمك، وقراءات المستشعرات، والوقت. كما يحتوي جهاز AVR Butterfly على محول طاقة كهرضغطية يمكن استخدامه لإعادة إنتاج الأصوات والموسيقى.
يُظهر جهاز AVR Butterfly إمكانية تشغيل شاشة LCD من خلال عرض شاشة مكونة من 14 جزءًا وستة أحرف وأرقام. مع ذلك، تستهلك واجهة شاشة LCD عددًا كبيرًا من منافذ الإدخال/الإخراج.
يتميز معالج ATmega169 الخاص بلوحة Butterfly بقدرته على العمل بسرعات تصل إلى 8 ميجاهرتز، ولكنه مضبوط مسبقًا في المصنع على 2 ميجاهرتز للحفاظ على عمر بطارية الزر. ويتيح برنامج الإقلاع المثبت مسبقًا إعادة برمجة اللوحة عبر منفذ تسلسلي RS-232 قياسي، وذلك باستخدام برامج جديدة يمكن للمستخدمين كتابتها باستخدام أدوات Atmel IDE المجانية.
مفتاح USB AT90
هذه اللوحة الصغيرة، التي يبلغ حجمها نصف حجم بطاقة العمل تقريبًا، سعرها أعلى بقليل من سعر لوحة AVR Butterfly. تتضمن اللوحة معالج AT90USB1287 يدعم تقنية USB On-The-Go (OTG)، وذاكرة DataFlash بسعة 16 ميجابايت ، ومؤشرات LED، وعصا تحكم صغيرة، ومستشعر حرارة. كما تتضمن اللوحة برنامجًا يسمح لها بالعمل كوحدة تخزين USB (يُرفق دليل المستخدم مع ذاكرة DataFlash)، وعصا تحكم USB، وغيرها. ولتشغيلها كوحدة مضيفة USB، يجب تزويدها ببطارية، أما عند استخدامها كجهاز طرفي USB، فهي تحتاج فقط إلى الطاقة المُزوَّدة عبر منفذ USB.
يستخدم منفذ JTAG فقط ترتيب الدبابيس التقليدي 2.54 مم. أما جميع منافذ الإدخال/الإخراج الأخرى في معالجات AVR فتتطلب موصلات أصغر حجماً بقياس 1.27 مم.
يُمكن برمجة وتصحيح أخطاء معالج AVR Dragon بعد إزالة قيد 32 كيلوبايت في برنامج AVR Studio 4.18، كما يُمكن لبطاقة JTAGICE mkII برمجة وتصحيح أخطاء المعالج. يُمكن أيضًا برمجة المعالج عبر منفذ USB من نظامي تشغيل Windows أو Linux، باستخدام بروتوكولات "تحديث البرامج الثابتة للجهاز" عبر USB. تُرفق شركة Atmel مع الجهاز برامج تجريبية خاصة بها (يتضمن الكود المصدري، ولكن توزيعه مقيد) ومجموعة بروتوكولات USB.
LUFA [ 49 ] عبارة عن حزمة بروتوكول USB مجانية من طرف ثالث ( رخصة MIT ) لـ USBKey وغيرها من أجهزة AVR USB ذات 8 بت.
طقم رافين اللاسلكي
تدعم مجموعة RAVEN تطوير الأنظمة اللاسلكية باستخدام شرائح Atmel IEEE 802.15.4 ، لتقنية Zigbee وغيرها من بروتوكولات الاتصال اللاسلكي. وهي تشبه زوجًا من بطاقات Butterfly اللاسلكية المتطورة، بالإضافة إلى مفتاح USB لاسلكي؛ ويبلغ سعرها تقريبًا نفس السعر (أقل من 100 دولار أمريكي). تدعم جميع هذه اللوحات التطوير عبر JTAG.
تتضمن المجموعة لوحتي AVR Raven، كل منهما مزودة بجهاز إرسال واستقبال بتردد 2.4 جيجاهرتز يدعم معيار IEEE 802.15.4 (وحزمة بروتوكول Zigbee مرخصة مجانًا). تعمل أجهزة الإرسال والاستقبال بمعالجات ATmega1284p، المدعومة بشاشة LCD مجزأة مخصصة تعمل بمعالج ATmega3290p. تشبه ملحقات Raven ملحقات Butterfly: مكبر صوت بيزو، وذاكرة DataFlash (أكبر حجمًا)، وذاكرة EEPROM خارجية، ومستشعرات، وبلورة 32 كيلوهرتز لساعة الوقت الحقيقي (RTC )، وغيرها. صُممت هذه الملحقات لتطوير عقد استشعار عن بُعد، أو للتحكم في المرحلات، أو لأي غرض آخر مطلوب.
يستخدم جهاز USB شريحة AT90USB1287 للاتصال بمضيف USB وبوصلات لاسلكية بتردد 2.4 جيجاهرتز. تهدف هذه الوصلات إلى مراقبة والتحكم في العقد البعيدة، معتمدةً على طاقة المضيف بدلاً من البطاريات المحلية.
مبرمجون من جهات خارجية
تتوفر مجموعة واسعة من أدوات البرمجة وتصحيح الأخطاء الخارجية لمعالج AVR. تستخدم هذه الأجهزة واجهات متنوعة، بما في ذلك RS-232 ومنفذ الكمبيوتر المتوازي وUSB. [ 50 ]
الاستخدامات

تُستخدم معالجات AVR في تطبيقات السيارات المختلفة، مثل أنظمة الأمن والسلامة وأنظمة نقل الحركة وأنظمة الترفيه. وقد أطلقت شركة Atmel مؤخرًا منشورًا جديدًا بعنوان "Atmel Automotive Compilation" لمساعدة المطورين في تطبيقات السيارات. ومن بين التطبيقات الحالية لهذه المعالجات: BMW وDaimler-Chrysler وTRW.
تعتمد منصة الحوسبة الفيزيائية أردوينو على متحكم دقيق ATmega328 ( أو ATmega168 أو ATmega8 في إصدارات اللوحات الأقدم من Diecimila). كما استُخدم المتحكمان ATmega1280 وATmega2560، اللذان يتميزان بتعدد منافذ التوصيل وقدرات الذاكرة، لتطوير منصة أردوينو ميجا . يمكن استخدام لوحات أردوينو مع لغتها وبيئة التطوير المتكاملة الخاصة بها ، أو مع بيئات برمجة أكثر تقليدية ( مثل لغة C ، ولغة التجميع ، وغيرها) باعتبارها منصات AVR قياسية ومتوفرة على نطاق واسع.
تم استخدام متحكمات الصوت والفيديو (AVR) التي تعمل عبر منفذ USB في وحدات التحكم اليدوية لجهاز Xbox من مايكروسوفت. ويتم الربط بين وحدات التحكم وجهاز Xbox عبر منفذ USB.
تُنتج العديد من الشركات لوحات تحكم دقيقة تعتمد على معالجات AVR، مُصممة للاستخدام من قِبل الهواة، وبناة الروبوتات، والمُجربين، ومطوري الأنظمة الصغيرة، ومنها: Cubloc، [ 51 ] وgnusb، [ 52 ] وBasicX ، [ 53 ] و Oak Micros، [ 54 ] و ZX Microcontrollers، [ 55 ] وmyAVR. [ 56 ] كما يوجد مجتمع كبير من لوحات التحكم المتوافقة مع Arduino، يدعم مستخدمين مماثلين.
اعتادت شركة شنايدر إلكتريك على إنتاج شريحة التحكم في المحرك والحركة M3000، والتي تتضمن نواة Atmel AVR ووحدة تحكم متطورة في الحركة لاستخدامها في مجموعة متنوعة من تطبيقات الحركة، ولكن تم إيقاف إنتاجها. [ 57 ]
نسخ FPGA
مع تزايد شعبية معالجات FPGA في أوساط مجتمع المصادر المفتوحة، بدأ المطورون بتطوير معالجات مفتوحة المصدر متوافقة مع مجموعة تعليمات AVR. ويسرد موقع OpenCores الإلكتروني المشاريع الرئيسية التالية لمحاكاة AVR:
- يهدف pAVR، [ 58 ] المكتوب بلغة VHDL ، إلى إنشاء معالج AVR الأسرع والأكثر تميزًا، من خلال تنفيذ تقنيات غير موجودة في معالج AVR الأصلي مثل خطوط الأنابيب الأعمق.
- avr_core، [ 59 ] مكتوب بلغة VHDL ، هو نسخة طبق الأصل تهدف إلى أن تكون أقرب ما يمكن إلى ATmega103.
- تُنفّذ لغة Navré، [ 60 ] المكتوبة بلغة Verilog ، جميع تعليمات Classic Core ، وهي مصممة لتحقيق أداء عالٍ واستهلاك منخفض للموارد. ولا تدعم المقاطعات .
- تُنفّذ نواة softavrcore [ 61 ] ، المكتوبة بلغة Verilog ، مجموعة تعليمات AVR حتى AVR5، وتدعم المقاطعات مع إمكانية الإقرار التلقائي بالمقاطعات، وتوفير الطاقة عبر وضع السكون، بالإضافة إلى بعض واجهات الأجهزة الطرفية ومسرّعات الأجهزة (مثل UART و SPI ووحدة حساب فحص التكرار الدوري ومؤقتات النظام ). توضح هذه الأجهزة الطرفية كيفية توصيلها وتهيئتها لهذه النواة. كما يتوفر ضمن الحزمة منفذ FreeRTOS كامل الميزات كمثال لاستخدام النواة والأجهزة الطرفية.
- يشرح مشروع opencores CPU المحاضرة [ 62 ] المكتوبة بلغة VHDL بواسطة الدكتور يورغن ساورمان بالتفصيل كيفية تصميم نظام كامل قائم على AVR على شريحة (SoC).
موردون آخرون
بالإضافة إلى الرقاقات المصنعة من قبل شركة Atmel، تتوفر نسخ مقلدة من شركة LogicGreen Technologies. [ 63 ] هذه القطع ليست نسخًا طبق الأصل تمامًا، فهي تتميز ببعض الخصائص غير الموجودة في الرقاقات التي تُقلّدها، بالإضافة إلى سرعات ساعة قصوى أعلى، ولكنها تستخدم بروتوكول SWD ( Serial Wire Debug ، وهو نوع من JTAG من ARM ) بدلاً من ISP للبرمجة، لذا يجب استخدام أدوات برمجة مختلفة.
تقوم شركة NIIET في فورونيج ، روسيا، بتصنيع وحدات التحكم الدقيقة التي تستخدم بنية ATmega، كجزء من سلسلة 1887 من الدوائر المتكاملة. ويشمل ذلك وحدة ATmega128 تحت اسم 1887VE7T ( بالروسية : 1887ВЕ7Т ). [ 64 ]
مراجع
- ↑ بيان صحفي من شركة Atmel. "شحن 500 مليون وحدة من متحكم AVR الدقيق من Atmel" .
- ↑ منذ عام 1996، أصبحت جامعة NTH جزءًا من الجامعة النرويجية للعلوم والتكنولوجيا (NTNU).
- ↑ مدونة alfbogen.com
- ١ ٢ مؤرشف في Ghostarchiveوآلة Wayback" قصة AVR" . youtube.com. 12 يونيو 2008.
- ↑ "كلية علوم وهندسة الحاسوب بجامعة نيو ساوث ويلز - معلومات عامة عن AVR" . Cse.unsw.edu.au. مؤرشف من الأصل بتاريخ 23 يونيو 2012. تم الاطلاع عليه بتاريخ 19 سبتمبر 2012 .
- ↑ مقدمة عن شركة Atmel ووحدة التحكم الدقيقة AVR
- ↑ "الأنظمة المدمجة ووحدات التحكم الدقيقة" (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 24-12-2004 . تم الاطلاع عليه بتاريخ 01-10-2018 .
- 1 2 مايكلبوست، غاوت. التصميم المشترك لوحدة التحكم الدقيقة AVR ومترجم لغة C (ملف PDF) . أتميل النرويج. CiteSeerX 10.1.1.63.1447 . تاريخ الاسترجاع: 19-09-2012 .
- ↑ دائرة متكاملة قابلة للبرمجة ميدانيًا على مستوى النظام . مؤرشفة بتاريخ 27-11-2012 في أرشيف الإنترنت .
- ↑ atmel.com
- ↑ دوائر متكاملة للبطاقات الذكية من Atmel
- ↑ شركة مايكروشيب. "سلاسل الأدوات لوحدات التحكم الدقيقة AVR (MCUs)" .
- ↑ تيموثي س. مارغوش. "بعض لغة التجميع مطلوبة: برمجة لغة التجميع باستخدام متحكم AVR الدقيق". 2016. "الفصل 14: برمجة AVR بلغة C" . ص 539
- ↑ جيه إم هيوز. "أردوينو: مرجع تقني" . 2016. ص 127-131.
- ↑ جو باردو. "برمجة لغة C لوحدات التحكم الدقيقة: عرض AVR Butterfly من ATMEL ومترجم WinAVR المجاني" . 2005.
- ↑ إليوت ويليامز. "برمجة AVR" . 2014.
- ↑ ديل ويت. "الأجزاء الداخلية لأردوينو" . 2011. ص 227.
- ↑ "AVR319: استخدام وحدة USI للاتصال عبر SPI" (ملف PDF) . Atmel . 2004. مؤرشف (PDF) من الأصل بتاريخ 17 يونيو 2012. تم الاطلاع عليه بتاريخ 10 يونيو 2014 .
- ↑ "Atmel AVR310: استخدام وحدة USI كجهاز تحكم رئيسي I2C " ( ملف PDF) . Atmel . 2013. مؤرشف (PDF) من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 10 يونيو 2014 .
- ↑ "AVR312: استخدام وحدة USI كجهاز تابع I2C " ( ملف PDF) . Atmel . 2005. مؤرشف (PDF) من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 10 يونيو 2014 .
- ↑ "AVR307: منفذ UART نصف مزدوج باستخدام وحدة USI" (ملف PDF) . Atmel . 2003. مؤرشف (PDF) من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 10 يونيو 2014 .
- ↑ "اعتبارات تصميم أجهزة AVR" ( ملف PDF) (مذكرة تطبيقية). شركة Atmel. يونيو 2015. ص 5. مؤرشف (PDF) من الأصل بتاريخ 22 ديسمبر 2014. تم الاطلاع عليه بتاريخ 14 يونيو 2015.
يحتوي خط إعادة الضبط على مقاومة سحب داخلية، ولكن في حال وجود ضوضاء في البيئة، قد تكون هذه المقاومة غير كافية، وبالتالي قد تحدث إعادة الضبط بشكل متقطع.
- ↑ "مبرمج AVRDUDE" . Savannah.nongnu.org . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "برنامج تشغيل برمجة PDI" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 25-03-2020 . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "GitHub - ElTangas/Jtag2updi: برنامج برمجة UPDI لأردوينو (يستهدف Tiny AVR-0/1/2 وMega AVR-0 وAVR-DA/DB MCUs)" . GitHub . 17 ديسمبر 2021.
- ↑ "pymcuprog - مبرمج متحكم دقيق بلغة بايثون" . جيت هاب . أدوات مايكروشيب PIC&AVR. ١٣ نوفمبر ٢٠٢٢. تم الاطلاع عليه بتاريخ ١٨ نوفمبر ٢٠٢٢ .
- ↑ "HVSP_Description" . Support.atmel.no. مؤرشف من الأصل بتاريخ 12-10-2009 . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "محمل إقلاع AVR المشفر بتقنية DES" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 16-05-2005 . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "محمل الإقلاع AVR المشفر بتقنية AES" (ملف PDF) . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "XMEGA Bootloader" (ملف PDF) . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "محمل الإقلاع عبر منفذ USB لـ AVR" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 28-06-2006 . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "وحدات التحكم الدقيقة ذاتية البرمجة من Atmel" . مؤرشف من الأصل في 26 يوليو 2020. تم الاطلاع عليه في 12 مارس 2020 .
- ↑ "دليل لفهم JTAG وصمامات الأمان على AVR" . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "Atmel-ICE - Atmel Corporation" . Atmel.com . تم الاطلاع عليه بتاريخ 11 سبتمبر 2015 .
- ↑ "JTAGICE 3- شركة Atmel" . Atmel.com . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "AVR JTAGICE mkII" . Atmel . تم الاطلاع عليه بتاريخ 13 يناير 2013 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "بروتوكول اتصال JTAGICE mkII" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 16-05-2005 . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "AVR Dragon" . Atmel . تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "دليل مستخدم AVR JTAGICE mkII" (ملف PDF) . microchip.com . مؤرشف (ملف PDF) من الأصل بتاريخ 2017-07-02 . تم الاطلاع عليه بتاريخ 25 مارس 2020 .
- ↑ بيان صحفي صادر عن JTAGICE، 2004. مؤرشف بتاريخ 7 يوليو 2011 في Wayback Machine
- ↑ "STK600" . Atmel . تم الاطلاع عليه بتاريخ 13 يناير 2013 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "تفكيك جهاز AVRISP mkII" . مؤرشف من الأصل بتاريخ 2014-11-08 . تم الاطلاع عليه بتاريخ 2014-11-08 .
- ↑ "AVR1005: البدء باستخدام XMEGA، الصفحة 7" (ملف PDF) . Atmel. مؤرشف (ملف PDF) من الأصل بتاريخ 7 أكتوبر 2009. تم الاطلاع عليه بتاريخ 7 نوفمبر 2011 .
- ↑ "ملاحظات إصدار AVR Studio v4.18" . تم الاطلاع عليه بتاريخ 19-09-2012 .
- ↑ "تقنية إيكروس - راكب التنين" . Ecrostech.com. 2008-03-02 . تم الاطلاع عليه بتاريخ 2012-09-19 .
- ↑ صفحة منتج JTAGICE3
- ↑ صفحة منتج AVR ONE!
- ↑ AVR Butterfly
- ↑ "LUFA (سابقًا MyUSB)" . Four Walled Cubicle . تم الاسترجاع في 19-09-2012 .
- ↑ راجع موقع avrffreaks.net للاطلاع على قائمة شاملة.
- ↑ "تقنية كومفايل" . شركة كومفايل للتكنولوجيا. مؤرشف من الأصل بتاريخ 17 يناير 2013. تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "gnusb: صندوق مستشعر USB مفتوح المصدر" . تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "BasicX" . شركة NetMedia. مؤرشف من الأصل بتاريخ 23 مايو 2013. تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "مرحباً بكم في أوك مايكروس" . أوك مايكروس . مؤرشف من الأصل بتاريخ 25 أكتوبر 2012. تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "ZBasic" . تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "myAVR" . شركة Laser & Co. Solutions GmbH . تم الاطلاع عليه بتاريخ 13 يناير 2013 .
- ↑ "وحدة تحكم الحركة M3000 على شريحة" . imshome.com . شنايدر إلكتريك موشن الولايات المتحدة الأمريكية. مؤرشف من الأصل بتاريخ 2009-12-02 . تم الاطلاع عليه بتاريخ 2011-08-02 .
- ↑ "pAVR :: نظرة عامة" . OpenCores . تم الاسترجاع في 19-09-2012 .
- ↑ "AVR Core :: نظرة عامة" . OpenCores . تم الاسترجاع في 19-09-2012 .
- ↑ "نظرة عامة على نسخة Navré AVR (8-bit RISC)" . OpenCores . تم الاسترجاع في 19-09-2012 .
- ↑ "نظرة عامة على نواة AVR البرمجية + الواجهات" . OpenCores . تم الاسترجاع في 16-06-2020 .
- ↑ "محاضرة وحدة المعالجة المركزية" . OpenCores . تم الاسترجاع في 16 فبراير 2015 .
- ↑ "وحدة التحكم الدقيقة LGT8F88A FLASH" . شركة LogicGreen Technologies. مؤرشف من الأصل بتاريخ 29-08-2017 . تم الاطلاع عليه بتاريخ 18-01-2019 .نسخة طبق الأصل من ATmega88.
- ↑ "Микроконтроллеы" [ المتحكمات الدقيقة ] (بالروسية). فورونيج: OAO "NIIET". أرشفة من الأصلي في 22 أغسطس 2017 . تم الاسترجاع في 22 أغسطس 2017 .
للمزيد من القراءة
- ويليامز، إليوت (2014). برمجة AVR: تعلم كتابة البرامج للأجهزة . Maker Media. ISBN 978-1449355784.
- شميدت، مايك (2011). أردوينو: دليل البدء السريع . مكتبة براغماتيك. رقم ISBN 978-1-934356-66-1.
- مارغوش، تيموثي س. (2011). بعض التجميع مطلوب: برمجة لغة التجميع باستخدام المتحكم الدقيق AVR . مطبعة CRC. ISBN 978-1439820643.
- مازيدي، محمد علي؛ نعيمي، سرمد؛ نعيمي، سيبهر (2010). متحكمات AVR الدقيقة والأنظمة المدمجة: استخدام لغة التجميع ولغة C. بيرسون. ISBN 978-0138003319.
روابط خارجية
- الموقع الرسمي
- المجتمع الرسمي
- مخططات توصيل الدبابيس
- حزم AVR DIP: ATtiny44/45/84/85 ، ATmega328P ، ATmega644P ، ATmega1284P
- حزم AVR SMD: ATmega328 ، ATmega2560 ، ATmega32U4
- أجهزة المحاكاة
- وحدات التحكم الدقيقة من شركة Atmel
- المعهد النرويجي للتكنولوجيا
- الاختراعات النرويجية
