ATmega328

ATmega328P في حزمة مزدوجة متوازية ضيقة ذات 28 سنًا ( DIP -28N)
ATmega328P في حزمة مسطحة رباعية رقيقة ذات 32 سنًا ( TQFP -32)
شريحة ATmega328P

يُعدّ 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 كيلوبايت
SRAM2 كيلوبايت
ذاكرة EEPROM1 كيلوبايت
عدد دبابيس العبوة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 .

برمجة

دبوس ATmega 48A/PA/88A/PA/168A/PA/328/P في 28-PDIP ( ورقة البيانات )

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

وضع البرنامج المتوازي [ 2 ]
إشارة البرمجةاسم الدبوسالإدخال/الإخراجوظيفة
جاهز/BSYPD1يايشير الوضع المرتفع إلى أن وحدة التحكم الدقيقة جاهزة لتلقي أمر جديد، وإلا فهي مشغولة.
OEPD2أناتفعيل الإخراج (منخفض الفعالية)
دبليو آرPD3أناكتابة النبضة (فعالية منخفضة)
BS1PD4أنااختيار البايت 1 ("0" = بايت منخفض، "1" = بايت مرتفع)
XA0PD5أنابتة عمل البلورة 0
XA1PD6أنابتة عمل البلورة 1
باجلPD7أناتحميل صفحة بيانات ذاكرة البرنامج وذاكرة EEPROM
BS2PC2أنااختيار البايت 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 ] وهكذا دواليك.       

البرمجة التسلسلية [ 2 ]
رمزدبابيسالإدخال/الإخراجوصف
موسيPB3أناالبيانات التسلسلية في
ميسوPB4ياإخراج البيانات التسلسلية
SCKPB5أناساعة تسلسلية

تُرسل البيانات التسلسلية إلى وحدة التحكم الدقيقة (MCU) عند الحافة الصاعدة، بينما تُرسل البيانات من وحدة التحكم الدقيقة عند الحافة الهابطة. يتم تزويد VCC بالطاقة مع ضبط إشارتي RESET وSCK على الصفر. انتظر لمدة 20  مللي ثانية على الأقل، ثم تُرسل تعليمات تمكين البرمجة التسلسلية 0xAC, 0x53, 0x00, 0x00 إلى طرف MOSI. ستُعيد وحدة التحكم الدقيقة إرسال البايت الثاني (0x53). [ 2 ]

انظر أيضاً

مراجع

  1. "ATmega328P" . مؤرشف من الأصل بتاريخ 22-01-2013 . تم الاطلاع عليه بتاريخ 14-07-2016 .
  2. 1 2 3 4 5 6 7 "بيانات كاملة لوحدات التحكم الدقيقة Atmel 8-bit AVR ATmega328/P" (ملف PDF) . مؤرشف (PDF) من الأصل بتاريخ 10 ديسمبر 2018. تم الاطلاع عليه بتاريخ 14 يوليو 2016 .
  3. "وحدات التحكم الدقيقة megaAVR" . شركة Atmel. مؤرشف من الأصل بتاريخ 14 فبراير 2014. تم الاطلاع عليه بتاريخ 14 يوليو 2016 .
  4. "Arduino - ArduinoBoardProMini" . www.arduino.cc . تم الاطلاع عليه بتاريخ 2021-12-08 .
  5. "ملخص بيانات متحكمات Atmel الدقيقة AVR ذات 8 بت ATmega328/P" (ملف PDF) . يونيو 2016. مؤرشف (ملف PDF) من الأصل بتاريخ 17 يوليو 2016. تم الاطلاع عليه بتاريخ 14 يوليو 2016 .
الصفحات الرسمية