ATmega328



يُعدّ ATmega328 متحكمًا دقيقًا أحادي الشريحة من إنتاج شركة Atmel ضمن عائلة megaAVR (استحوذت شركة Microchip Technology لاحقًا على Atmel في عام 2016). ويحتوي على نواة معالج RISC ثمانية بتات ذات بنية هارفارد مُعدّلة .
تحديد
تجمع وحدة التحكم الدقيقة Atmel 8-bit AVR RISC بين ذاكرة فلاش ISP بسعة 32 كيلوبايت مع إمكانية القراءة أثناء الكتابة، وذاكرة EEPROM بسعة 1 كيلوبايت ، وذاكرة SRAM بسعة 2 كيلوبايت ، و23 خط إدخال/إخراج للأغراض العامة، و32 سجل عمل للأغراض العامة ، و3 مؤقتات/ عدادات مرنة مع أوضاع مقارنة، ومقاطعات داخلية وخارجية ، وواجهة USART تسلسلية قابلة للبرمجة ، وواجهة تسلسلية ثنائية الأسلاك موجهة بالبايت، ومنفذ تسلسلي SPI ، ومحول تناظري/رقمي 6 قنوات 10 بت (8 قنوات في حزم TQFP و QFN / MLF )، ومؤقت مراقبة قابل للبرمجة مع مذبذب داخلي ، و5 أوضاع لتوفير الطاقة قابلة للاختيار برمجياً. يعمل الجهاز بجهد يتراوح بين 1.8 و5.5 فولت. ويحقق الجهاز معدل نقل بيانات يقارب 1 مليون تعليمات في الثانية /ميغاهرتز. [ 1 ]
سمات
| المعلمة | قيمة |
|---|---|
| نوع وحدة المعالجة المركزية | متحكم صوتي/مرئي 8 بت |
| أقصى سرعة للمعالج | 20 ميجاهرتز |
| أداء | 20 مليون عملية حسابية في الثانية عند تردد 20 ميجاهرتز [ 2 ] |
| ذاكرة فلاش | 32 كيلوبايت |
| SRAM | 2 كيلوبايت |
| ذاكرة EEPROM | 1 كيلوبايت |
| عدد دبابيس العبوة | 28 أو 32 |
| قنوات استشعار اللمس السعوية | 16 |
| أقصى عدد من منافذ الإدخال/الإخراج | 23 |
| المقاطعات الخارجية | 3 |
| واجهة USB | لا |
عائلة
يُعدّ معالج ATmega328P "picoPower" بديلاً شائعاً لمعالج ATmega328. ويمكن الاطلاع على قائمة شاملة بجميع معالجات سلسلة megaAVR الأخرى على موقع Atmel الإلكتروني. [ 3 ]
- ATmega328
- ATmega328P وATmega328P-AUTOMOTIVE
- يحتوي كل من ATmega328PB و ATmega328PB-AUTOMOTIVE (مجموعة فرعية من ATmega328P) على منافذ طرفية UART و I2C و SPI أكثر من ATmega328P
التطبيقات
يستخدم ATmega328 بشكل شائع في العديد من المشاريع والأنظمة المستقلة حيث تكون هناك حاجة إلى وحدة تحكم دقيقة بسيطة ومنخفضة الطاقة ومنخفضة التكلفة.
ربما يكون الاستخدام الأكثر شيوعًا لهذه الشريحة هو على منصة تطوير Arduino الشهيرة ، وتحديدًا طرازات Arduino Uno و Arduino Pro Mini [ 4 ] و Arduino Nano .
برمجة

تُظهر مؤهلات الموثوقية أن معدل فشل الاحتفاظ بالبيانات المتوقع أقل بكثير من 1 جزء في المليون على مدى 20 عامًا عند 85 درجة مئوية أو 100 عام عند 25 درجة مئوية. [ 5 ]
| إشارة البرمجة | اسم الدبوس | الإدخال/الإخراج | وظيفة |
|---|---|---|---|
| جاهز/BSY | PD1 | يا | يشير الوضع المرتفع إلى أن وحدة التحكم الدقيقة جاهزة لتلقي أمر جديد، وإلا فهي مشغولة. |
| OE | PD2 | أنا | تفعيل الإخراج (منخفض الفعالية) |
| دبليو آر | PD3 | أنا | كتابة النبضة (فعالية منخفضة) |
| BS1 | PD4 | أنا | اختيار البايت 1 ("0" = بايت منخفض، "1" = بايت مرتفع) |
| XA0 | PD5 | أنا | بتة عمل البلورة 0 |
| XA1 | PD6 | أنا | بتة عمل البلورة 1 |
| باجل | PD7 | أنا | تحميل صفحة بيانات ذاكرة البرنامج وذاكرة EEPROM |
| BS2 | PC2 | أنا | اختيار البايت 2 ("0" = البايت الأدنى، "1" = البايت الأعلى الثاني) |
| بيانات | PC[1:0]:PB[5:0] | الإدخال/الإخراج | ناقل بيانات ثنائي الاتجاه (يخرج عند انخفاض OE) |
يتم الدخول إلى وضع البرمجة عند ضبط PAGEL (PD7) وXA1 (PD6) وXA0 (PD5) وBS1 (PD4) على الصفر. [ 2 ] اضبط طرف إعادة الضبط (RESET) على 0 فولت، وVCC على 0 فولت. اضبط VCC على 4.5-5.5 فولت . انتظر 60 ميكروثانية، ثم اضبط RESET على 11.5-12.5 فولت. انتظر أكثر من 310 ميكروثانية. [ 2 ] اضبط XA1:XA0:BS1:DATA = 100 1000 0000 ، ثم قم بتشغيل نبضة على XTAL1 لمدة 150 نانوثانية على الأقل ، ثم قم بتشغيل نبضة على WR حتى الصفر. هذا يبدأ عملية مسح الشريحة. انتظر حتى يصبح RDY/BSY (PD1) عاليًا. اضبط XA1:XA0:BS1:DATA = 100 0001 0000 ، ثم قم بتشغيل نبضة على XTAL1، ثم قم بتشغيل نبضة على WR حتى الصفر. هذا هو أمر كتابة الذاكرة الفلاشية. [ 2 ] وهكذا دواليك.
| رمز | دبابيس | الإدخال/الإخراج | وصف |
|---|---|---|---|
| موسي | PB3 | أنا | البيانات التسلسلية في |
| ميسو | PB4 | يا | إخراج البيانات التسلسلية |
| SCK | PB5 | أنا | ساعة تسلسلية |
تُرسل البيانات التسلسلية إلى وحدة التحكم الدقيقة (MCU) عند الحافة الصاعدة، بينما تُرسل البيانات من وحدة التحكم الدقيقة عند الحافة الهابطة. يتم تزويد VCC بالطاقة مع ضبط إشارتي RESET وSCK على الصفر. انتظر لمدة 20 مللي ثانية على الأقل، ثم تُرسل تعليمات تمكين البرمجة التسلسلية 0xAC, 0x53, 0x00, 0x00 إلى طرف MOSI. ستُعيد وحدة التحكم الدقيقة إرسال البايت الثاني (0x53). [ 2 ]
انظر أيضاً
مراجع
- ↑ "ATmega328P" . مؤرشف من الأصل بتاريخ 22-01-2013 . تم الاطلاع عليه بتاريخ 14-07-2016 .
- 1 2 3 4 5 6 7 "بيانات كاملة لوحدات التحكم الدقيقة Atmel 8-bit AVR ATmega328/P" (ملف PDF) . مؤرشف (PDF) من الأصل بتاريخ 10 ديسمبر 2018. تم الاطلاع عليه بتاريخ 14 يوليو 2016 .
- ↑ "وحدات التحكم الدقيقة megaAVR" . شركة Atmel. مؤرشف من الأصل بتاريخ 14 فبراير 2014. تم الاطلاع عليه بتاريخ 14 يوليو 2016 .
- ↑ "Arduino - ArduinoBoardProMini" . www.arduino.cc . تم الاطلاع عليه بتاريخ 2021-12-08 .
- ↑ "ملخص بيانات متحكمات Atmel الدقيقة AVR ذات 8 بت ATmega328/P" (ملف PDF) . يونيو 2016. مؤرشف (ملف PDF) من الأصل بتاريخ 17 يوليو 2016. تم الاطلاع عليه بتاريخ 14 يوليو 2016 .
روابط خارجية
- الصفحات الرسمية
- ATmega328 - Microchip
- ATmega328P - شركة مايكروشيب
- ATmega328PB - Microchip
- وحدات التحكم الدقيقة من شركة Atmel
