جدول المحتويات:
فيديو: مبرمج VUSBTiny AVR SPI: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
بعد صنع مبرمج usbtiny isp واستخدامه لمدة 6 أشهر ، كنت أفكر في صنع مبرمج آخر لتحمله. أنا أحب بساطة تصميم usbtiny isp ولكني أرغب في جعله أصغر حجمًا وأجزاء أقل. هناك شيء واحد في التصميم الأصلي أريد تغييره وهو التخلص من استخدام الكريستال على مدار الساعة. أحد الحلول التي وجدتها هو أن برامج تشغيل v-usb تدعم مذبذب داخلي 16.5 ميجا هرتز على أجهزة attiny25 / 45/85. لذلك أبدأ هذا المشروع لجعل usbtiny isp يستخدم v-usb لاتصالات USB. الفوائد الفورية هي أنه يوفر مساحة ويحتوي على عدد أقل من المكونات (لا مزيد من البلورات). وصف أوسبتيني من https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny هو تطبيق برمجي لـ USB منخفض السرعة بروتوكول للميكروكونترولر اتميل ATtiny. بالطبع ، ستعمل أيضًا على سلسلة ATmega. البرنامج مكتوب لـ AVR مسجّل بسرعة 12 ميجاهرتز. عند هذا التردد ، تستغرق كل بتة في ناقل USB 8 دورات على مدار الساعة ، ومع الكثير من الحيل ، من الممكن فك تشفير أشكال موجة USB وترميزها بواسطة البرنامج. يحتاج برنامج تشغيل USB إلى ما يقرب من 1250 إلى 1350 بايت من مساحة الفلاش (باستثناء سلاسل التعريف الاختيارية) ، اعتمادًا على إصدار التكوين والمجمع ، وذاكرة وصول عشوائي (RAM) بحجم 46 بايت (باستثناء مساحة المكدس). تتكون واجهة C من 3 إلى 5 وظائف ، اعتمادًا على التكوين. المتحكمات الدقيقة AVR ، التي تجعل من الممكن بناء أجهزة USB مع أي متحكم AVR تقريبًا ، ولا تتطلب أي شريحة إضافية.
الخطوة 1: الميزات والأجزاء
* منطق البرمجة من usbtiny isp ، دعم avr-dude الناضج * بصمة قدم صغيرة * مكونات قليلة * قوى الجهاز المستهدف لاحظ أن خطوط io إلى mcus الهدف غير محمية. يمكنك إضافة مقاومات 1k-2k إلى SCK و MOSI والحماية من تفضيلات الاتصالات الخاطئة المحتملة بناءً على الأعمال الموجودة في v-usb من Framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl / ~ dicks / avr / usbtiny / قائمة الأجزاء * attiny45 / 85 (85 أسهل في الحصول عليها) * ثنائيات زينر 3.6 فولت (1n747 ، BZX79 ،.. تجنب أنواع 1 واط) * مقاوم 68 أوم × 2 * 1.5K المقاوم * mini breadboard 170 tiepoints * usb cable (كبل طابعة usb من متجر بالدولار على ما يرام) * مقاومات 1k / 2k لحماية خطوط io (اختياري) الأدوات المطلوبة * مبرمج avr عامل (نعم ، إنه أمر صعب 22 ، نحتاج إلى واحد لصنع واحد) * بيئة البرمجة AVR العمل
الخطوة 2: تخطيط اللوح والتخطيط والبناء
اعمال بناء
* اتبع تخطيط اللوح ، ليس هناك مكونات ، 3 مقاومات ، 2 صمامات ثنائية ، 1 غطاء ، بالإضافة إلى 8 pin mcu. * احصل على كبل طابعة USB من متجر بالدولار مقطوعًا عن نهاية الطابعة ، وسيكون هناك 4 أسلاك مكشوفة وآمنة وجعلها في رأس ذكر 4 دبابيس ، وسوف نستخدمها للاتصال باللوحة. استشر التخطيطي للتخطيط وإسناد الدبوس (J1). * احترس من قطبية الصمام الثنائي.
بناء وتفليش المشروع
تم بناء المشروع في صندوق لينكس أوبونتو مع سلسلة أدوات avr-gcc. من المفترض أن لديك بالفعل مثل هذه البيئة ، أو يمكنك معرفة كيفية إعداد واحدة من الإنترنت. أكواد المصدر هي gnu gpl v2 مرخصة من الوراثة.
الكود المصدري يتبع اصطلاحًا موصى به بواسطة v-usb ، يمكنك تنزيل الحزمة المصدر vusbtiny.tgz وإلغاء التحديد في دليل المشروع. داخل دليل المصدر الخاص بك ، يوجد main.c ، وهو نسختي من مبرمج usbtiny المعدل. ودليل فرعي usbdrv يحتوي على طبقة v-usb. يرجى مراعاة شرط الترخيص من المشروعين أعلاه عند بناء هذا. يعتمد مصدري حول منطق المبرمج على إصدار ديك ستريفلاند وليس إصدار الليديادا (على الرغم من أنهما متماثلان تقريبًا).
بالنسبة لأولئك الذين ليس لديهم سلسلة بناء أيضًا ، يمكنك استخدام الثنائي التالي
انقر لتنزيل vusbtiny.hex
واستخدام avrdude لفلاش البرامج الثابتة
avrdude -c usbtiny -p t45 -e -V -U فلاش: w: usbtiny.hex
(إذا كان جهازك صغيرًا 85 ، فاستبدل -p t45 w / -p t85)
يمكن تنزيل المصدر هنا انقر لتنزيل vusbtiny.tgz
قم بفك الحزمة المصدر في دليل العمل الخاص بك
tar -zxvf vusbtiny.tgz
* هل cd vsubtiny ، للتغيير إلى دليل عمل vusbtiny * a just makefile للجهاز المستهدف وفقًا للرقاقة التي ستستخدمها. أي PROGRAMMER_MCU = t45 أو t85 * قم بإجراء صنع * إرفاق مبرمج ISP المفضل لديك * قم بتعديل ملف makefile وقم بتغيير معلمات avrdude إذا لزم الأمر. يفترض السهم واحد مبرمج USBTiny. أي AVRDUDE_PROGRAMMERID = البرامج الثابتة usbtiny * flash عن طريق التثبيت
بعد وميض البرامج الثابتة ، نحتاج إلى ضبط المصهر بشكل صحيح ، نحن نستخدم إعادة تعيين الدبوس 1 كـ io في هذا المشروع
* تُستخدم ساعة ppl كما هو مطلوب بواسطة طبقة v-usb لتوقيت USB * تم تعطيل دبوس إعادة التعيين لأننا نحتاج إلى استخدامه كـ io
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
يعطل هذا الإعداد مزيدًا من البرمجة عبر 5V SPI لأننا نحتاج إلى RESET pin (pin1) لـ io. ستحتاج إلى الوصول إلى مبرمج HVSP لاستعادة المصهر.
الخطوة 3: الاستخدام والتطبيق
وامض مباشر على اللوح
إذا كنت تستخدم vusbtiny لفلاش أجهزة 8 pin AVR ، يمكنك فقط الضغط على جهازك المستهدف أعلى جهاز المبرمج. تم تصميم المبرمج بحيث تتطابق دبابيس البرمجة مع الأهداف. هناك خدعة واحدة ، ستحتاج إلى عزل الدبوس 2 و 3 على المبرمج mcu ، حيث إنهما USB D + و D- دبابيس متصلة بجهاز الكمبيوتر. أستخدم قطعة من الشريط اللاصق لتحقيق ذلك ، يمكنك رؤيته على الصور. عرض أدناه هو tiny13v "ركوب" على tiny45 ، جاهزة لتلقي البرامج الثابتة.
وميض ISP عبر العبور
لبرمجة دائرة مستهدفة عبر ISP (برمجة داخل النظام) ، فأنت بحاجة إلى كبل ISP. أنا هنا لا أستخدم رؤوس 2x3 أو 2x5 pin القياسية. بدلاً من ذلك ، أنا أستخدم وصلة مرور 1 × 6 وهي أكثر ملاءمة للوح اللوح ، يمكنك إنشاء رأس دبوس 2 × 3 أو 2 × 5 عن طريق تعيينها على J2 كما هو موضح في تخطيط اللوح والمخططات. تُظهر الصورة التالية 2313 صغيرًا جاهزًا للوميض عبر مزود خدمة الإنترنت.
استكشاف الأخطاء وإصلاحها
* لا يمكن وميض البرنامج الثابت؟ تحقق من المبرمج الأصلي ، فقد تحتاج إلى ضبط التوقيت عبر علامة B في avrdude. حاول قراءة الشريحة الأولى ، قد تكون فتيلًا سيئًا ، فربما تحتاج الشريحة إلى إشارة ساعة خارجية. قد تحتاج إلى إصلاح الشريحة الخاصة بك مرة أخرى إلى الافتراضي الأول. * تحقق من التوصيلات * إذا كنت تستخدم دبابيس io مختلفة ، وتحقق من الكود والوصلات * يمكنك استبدال صمامات zener diodes مع 500 ميجاوات ، وأنواع 400 ميجاوات * قد تحاول تقليل قيمة R3 إلى 1.2 كيلو أو أقل * من المرجح أن تواجه مشكلات في التوقيت ، حاول -B flag of avrdude ، لديك كبل USB أقصر يساعد كل ذلك
موصى به:
مراجعة مبرمج JDM: 9 خطوات
مراجعة مبرمج JDM: JDM هو مبرمج PIC مشهور لأنه يستخدم منفذ تسلسلي ، الحد الأدنى من المكونات ولا يتطلب أي مصدر طاقة. ولكن هناك ارتباك هناك ، مع وجود العديد من اختلافات المبرمجين على الشبكة ، أي منها يعمل مع أي بلدان جزر المحيط الهادئ؟ في هذا "instru
مبرمج CH341A: 8 خطوات
مبرمج CH341A: لقد اشتريت مؤخرًا مبرمج صغير CH341A. المبرمج الصغير على ما يرام ويمكن استخدامه لبرمجة رقائق سلسلة 24 و 24. إنها تكلفة منخفضة جدًا ولكنها مفيدة جدًا حيث يمكنني استخدامها لتحديث BIOS بجهاز الكمبيوتر والبرامج الثابتة لجهاز التوجيه
مبرمج AVR مع الجهد العالي: 17 خطوة
مبرمج AVR مع الجهد العالي: هذا هو أول تعليمات لي. اللوحة التي صممتها هي مبرمج AVR. تجمع اللوحة بين وظائف 4 لوحات نماذج أولية منفصلة قمت بإنشائها في السنوات القليلة الماضية: - مبرمج AVR عالي الجهد ، يُستخدم بشكل أساسي على أجهزة ATtiny لضبط fu
مبرمج STK500 AVR رخيص لبرنامج Atmel Studio: 7 خطوات
مبرمج STK500 AVR رخيص لـ Atmel Studio: Atmel Studio هو أداة قوية لصنع برامج AVR ، لكن كتابة برنامج هو الخطوة الأولى. لاستخدام برنامجك ، يجب عليك إنشاء دائرة ونقل الكود الخاص بك إلى وحدة التحكم الدقيقة. يمكنك برمجة AVR الخاص بك من Atmel Studio باستخدام
مبرمج ISP لوحدات التحكم الدقيقة AVR: 4 خطوات
ISP Programmer for AVR Microcontrollers: A microcontroller Programmer عبارة عن جهاز مصحوب ببرنامج يستخدم لنقل رمز لغة الآلة إلى وحدة التحكم الدقيقة / EEPROM من جهاز الكمبيوتر. مبرمج ISP لوحدات التحكم الدقيقة AVR هو مبرمج تسلسلي يستخدم