تصحيح أخطاء AVR داخل الدائرة عبر JTAG ICE. ما هو مبرمج JTAG؟ جميع مبرمجي USB من سلسلة ChipProg العالمية يدعمون برمجة JTAG، إلى جانب دعم عدد كبير من البروتوكولات الأخرى

2019-10-11 تاريخ آخر تحديث للبرنامج: 2019-10-11

يانوس ذو الوجهين

قررنا استدعاء هذا المبرمج " مزدوج الوجه".

لماذا هذا؟ لأنه في الأساطير الرومانية يانوس هو ذو وجهينإله الأبواب والمداخل والمخارج وكذلك البدايات والنهايات. ما الاتصال؟ لماذا لدينا مبرمج ChipStar-Janus ذو وجهين?

إليكم السبب:

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

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

ما الذي دفعنا لتطوير هذا المبرمج.

هناك مجموعة كبيرة ومتنوعة من المبرمجين المتخصصين البسيطين المناسبين لـ صناعة شخصية.

هناك العديد من تلك الرخيصة المبرمجين الصينيينفي شكل جاهز.

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

يبدو أن ما هو الهدف من حرفة أخرى؟

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

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

إذن أيها المبرمج تشيب ستار يانوسفي التكوين الأولي هو مبرمج في الدائرة. في هذا الوضع يدعم المتحكمات الدقيقة صورةو أفرشركات رقاقة، بعض معماريات المتحكمات الدقيقة MCS51، ميكروكنترولر من الشركة إس تي مايكروإلكترونيكسوعدد من الآخرين، بالإضافة إلى شرائح الذاكرة التسلسلية ذات الواجهة I2C(خاصة الحلقة 24). يمكنك توصيل محولات بسيطة بموصل توسيع المبرمج وبدء برمجة شرائح الذاكرة "في المقبس".

الآن يتم تنفيذ البرمجة "في المقبس":

  1. إيبروم) مع الواجهة I2C(مسلسل 24xx);
  2. رقائق ذاكرة فلاش تسلسلية (Serial فلاش) مع الواجهة SPI (فلاش سبي);
  3. رقائق الذاكرة التسلسلية (Serial إيبروم) مع الواجهة ميغاواط (سلسلة 93xx);
  4. الدوائر الدقيقة فلاش NAND;

يدعم المبرمج والبرنامج تقنية إضافة الدوائر الدقيقة بشكل مستقل بثلاث نقرات. تم تنفيذ إضافة الدوائر الدقيقة حتى الآن ناندو I2C. ومن المخطط في المستقبل القريب جدًا تنفيذ هذه التقنية لرقائق MW ( سلسلة 93xx) و أفر. وهكذا، لا تحصل على مجرد مبرمج، ولكن أداة قوية للعمل المستقل.

ثلاث طرق للحصول على مبرمج ChipStar-Janus

الطريقة الأولى:
قم بتجميع المبرمج بنفسك بالكامل

الطريقة مناسبة لمن لديه الوقت والخبرة والرغبة ولكن الموارد المالية محدودة. أو مجرد فضول.

خوارزمية الإجراءات:

الطريقة الثانية:
قم بتجميع المبرمج بنفسك عن طريق شراء لوحة دوائر مطبوعة جاهزة ووحدة تحكم دقيقة للبرامج الثابتة

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

خوارزمية الإجراءات:

  1. اقرأ شروط الاستخدام للمبرمج الذي تم تجميعه ذاتيًا.
  2. اقرأ تعليمات تجميع المبرمج.
  3. تحميل الوثائق الكاملة للمبرمج.
  4. قم بشراء مجموعة تجميع (لوحة دوائر مطبوعة جاهزة ووحدة تحكم دقيقة مع البرامج الثابتة المسجلة بالفعل).
  5. شراء المعدات اللازمة لتجميع المبرمج وفقا لها

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

أساس المبرمج هو شريحة FT2232D. إنه محول USB إلى منفذين UART. تكمن الخصوصية في أن القناة "العليا" A يمكن أن تعمل في أوضاع JTAG وSPI وI 2 C، وهي ضرورية لبرمجة وحدات التحكم الدقيقة وشرائح الذاكرة المختلفة وما إلى ذلك.

يتم تطوير مبرمج USB هذا على جهاز كمبيوتر باستخدام مكتبات من FTDI Chip.

يتم تشغيل الجهاز من واجهة USB. إذا تم تجميعها بشكل صحيح، فلن تحتاج الدائرة إلى التكوين. يعتمد عمل الجهاز على مهارة مطور البرنامج. تكون المقاومات R8، R9، R12، R13، R14، R15، R16 مقيدة للتيار إذا تم توصيلها بشكل غير صحيح بالجهاز، وفقًا لذلك، يجب ألا تكون أطراف الجهاز القابل للبرمجة متصلة بعناصر أخرى في الدائرة، أو تحتوي على عمليات سحب كهذه؛ والتي من شأنها أن لا تشوه المنطق المنطقي عند تشكيل مستويات مقسمات الجهد. يتم استخدام Chip U1 لحفظ إعدادات المستخدم.

دبابيس U2 (القناة أ):
24 - ADBUS0 - الإخراج - في وضع JTAG TCK، في وضع SPI SK؛
23 - ADBUS1 - الإخراج - في وضع JTAG TDI، في وضع SPI DO؛
22 - ADBUS2 - الإدخال - في وضع JTAG TDO، في وضع SPI DI؛
21 - ADBUS3 - الإخراج - في وضع JTAG TMS، في وضع SPI كإشارة مساعدة (CS)؛
20 - ADBUS4 - في وضع الإدخال / الإخراج JTAG، في وضع الإخراج المساعد SPI. يتم استخدام هذا الدبوس لتوفير إشارة إعادة الضبط إلى وحدة التحكم الدقيقة؛
15 - AСBUS0 - إدخال/إخراج قابل للبرمجة بحرية في جميع الأوضاع (يستخدم اختياريًا لتزويد الجهاز القابل للبرمجة بالطاقة)؛
13 - AСBUS1 - إدخال/إخراج قابل للبرمجة بحرية في جميع الأوضاع.

من حيث المبدأ، هذه الاستنتاجات متعددة الوظائف. يتم تحديد سلوكهم من خلال الوضع المحدد عند فتح المنفذ.

يتم استخدام القناة B لتصحيح أخطاء الجهاز القابل للبرمجة. للقيام بذلك، تحتاج فقط إلى أن يكون لديك منفذ UART غير مستخدم في وحدة التحكم الدقيقة. التالي هو مسألة التكنولوجيا. في برنامج المتحكم الدقيق، نستخدم دالة الإخراج المنسقة printf() في الأماكن الصحيحة.

40 -BDBUS0 - الإخراج - في وضع UART TXD؛
39 -BDBUS1 - الإدخال - في وضع UART RXD؛
28 - BСBUS2 - الإخراج - في وضع UART مؤشر LED (يضيء عند نقل البيانات عبر USB)؛
27 - BСBUS3 - الإخراج - مؤشر LED في وضع UART (يضيء عند استلام البيانات عبر USB).

يوجد أدناه لوحة دوائر المبرمج

واليوم، يدعم هذا المبرمج العالمي وحدات التحكم الدقيقة AVR عبر واجهات JTAG وSPI. علاوة على ذلك، فإن سرعة البرامج الثابتة Atmega64 عبر JTAG لا تزيد عن 5 ثوانٍ، عبر SPI لا تزيد عن 8 ثوانٍ. من حيث المبدأ، يمكنك وميض أي وحدات تحكم دقيقة تنطبق عليها مواصفات المبرمج. حاليًا، على سبيل المثال، يجري التطوير لدعم وحدات التحكم الدقيقة من شركة NEC.

ينقسم نموذج العمل إلى جزأين: على اليسار توجد جداول للعمل مع FLASH (أعلى) وEEPROM (أسفل)، هنا يمكنك فتح الملفات أو تنزيل البرامج الثابتة من وحدة التحكم الدقيقة، وإجراء التحقق، وتحرير محتويات خلايا الذاكرة؛ يوجد على اليمين حقل نصي لتصحيح الأخطاء، ويتم عرض البيانات من القناة B هنا، ويمكنك أيضًا إدخال نص هناك سيتم إرساله إلى المنفذ (يعد هذا من الناحية الوظيفية نظيرًا لـ HyperTerminal). يتم التطوير على منصة Visual C# لنظام التشغيل Windows. ومن الممكن أيضًا التطوير بلغات أخرى. يمكن للمبرمج أيضًا العمل ضمن Linux.

كتب مستخدمة:
1. أ.ف. Evstigneev "وحدات التحكم الدقيقة AVR لعائلات Tiny و Mega من ATMEL" ، دار النشر M. "Dodeka-XXI" ، 2005.
2. أجهزة تكنولوجيا المستقبل الدولية المحدودة "FT2232D ثنائي USB UART/FIFO I.C." ، ورقة البيانات، 2006.
3. أجهزة تكنولوجيا المستقبل الدولية المحدودة "دليل مبرمج تطوير التطبيقات البرمجية D2XX"، مستند، 2009.
4. أجهزة تكنولوجيا المستقبل الدولية المحدودة "دليل المبرمجين لـ FTCJTAG DLL عالي السرعة"، مذكرة التطبيق AN_110، 2009.
5. أجهزة تكنولوجيا المستقبل الدولية المحدودة "دليل المبرمجين لـ FTCSPI DLL عالي السرعة"، مذكرة التطبيق AN_111، 2009.
6. أندرو ترويلسن "C# ومنصة .NET" M., S-P. بيتر، 2007.

يمكنك تنزيل مصادر البرامج ولوحة الدوائر المطبوعة بالتنسيق أدناه

بوريسوف أليكسي () سيزران، منطقة سمارة.

قائمة العناصر الراديوية

تعيين يكتب فئة كمية ملحوظةمحلمفكرة بلدي
U1 رقاقةAT93C46D-8S1 إلى المفكرة
U2 رقاقةFT2232D1 إلى المفكرة
VT1 ترانزستور موسفيت

بى اس اس84

1 إلى المفكرة
ج1 مكثف0.01 درجة فهرنهايت1 إلى المفكرة
ج2، ج3 مكثف27 الجبهة الوطنية2 إلى المفكرة
C4، C5، C7، C9، C10 مكثف0.1 ميكرو فاراد5 إلى المفكرة
ج6 مكثف0.033 درجة فهرنهايت1 إلى المفكرة
C8 مكثف كهربائيا10 ميكروفاراد1 إلى المفكرة
ر1 المقاوم

2.2 كيلو أوم

1 0.05 واط إلى المفكرة
R2 المقاوم

10 كيلو أوم

1 0.05 واط إلى المفكرة
ر3، ر4 المقاوم

27 أوم

2 0.05 واط إلى المفكرة
ص5 المقاوم

470 أوم

1 0.05 واط إلى المفكرة
ر6، ر7 المقاوم

1.5 كيلو أوم

2 0.05 واط إلى المفكرة
R8-R16 المقاوم

في الآونة الأخيرة، أصبحت وحدات التحكم الدقيقة ARM منتشرة على نطاق واسع بين المطورين المحترفين وبين مهندسي الإلكترونيات المبتدئين. تحظى التطورات من NXP بشعبية كبيرة. تنتج هذه الشركة مجموعة كبيرة من المنتجات - بدءًا من الواجهات الرخيصة ومنخفضة الطاقة وحتى عالية الأداء، والتي تدعم الواجهات مثل USB وEthernet.

أود أن ألفت انتباه القراء إلى تطوري الذي ربما أستخدمه شخصيًا في أغلب الأحيان. هذا مبرمج بسيط داخل الدائرة يمكنك صنعه بسهولة بيديك. تم تصميم المبرمج لبرمجة وحدات التحكم الدقيقة ARM المستخدمة على نطاق واسع من سلسلة NXP، LPC2xxx. هذه عبارة عن وحدات تحكم دقيقة تحتوي على أنوية ARM7 وCortex-M0 وCortex-M3. بالإضافة إلى ذلك، يمكن استخدامه لبرمجة وحدات التحكم الدقيقة 8 بت غير المكلفة من سلسلة LPC9xx، باستثناء أبسطها من سلسلة LPC901.
يمكن العثور على مزيد من التفاصيل حول القائمة هنا.
www.ru.nxp.com/products/microcontrollers
يتصل المبرمج بمنفذ USB ولا يحتاج إلى طاقة إضافية. يتم تجميعه على دائرتين صغيرتين وترانزستور واحد فقط.
يمكن استخدام الجهاز ليس فقط لبرمجة اللوحة باستخدام وحدة التحكم الدقيقة، ولكن أيضًا للتواصل معها عبر منفذ تسلسلي مقلد.

أرز. 1. مخطط الدائرة الكهربائية، الجزء الأول.

يتم تجميع المبرمج على أساس دائرة كهربائية دقيقة من FTDI - FT232RL
www.ftdichip.com/Products/ICs/FT232R.htm
لنجاح البرمجة، لا تنس تنزيل وتثبيت برنامج تشغيل الشريحة المناسب لنظام التشغيل الذي تستخدمه.
تجده هنا:
www.ftdichip.com/FTDrivers.htm
يمكن استبدال الفلتر L1 بمقاوم بمقاومة 10 ... 22 أوم.
يمكن استبعاد مصابيح LED VD1 وVD3 والمقاومات R3 وR4 إذا لم تكن الإشارة إلى إرسال واستقبال حزم البيانات عبر USB مطلوبة.


أرز. 2. مخطط الدائرة الكهربائية، الجزء الثاني.

لبرمجة وحدات التحكم الدقيقة من سلسلة LPC2000، يتم استخدام الموصل X3 لبرمجة LPC900 X1.


أرز. 3. مخطط الدائرة الكهربائية الجزء الثاني لبرمجة المتحكمات الدقيقة من سلسلة LPC2000 فقط.

لا يتم استخدام وحدات التحكم الدقيقة من سلسلة LPC900 كثيرًا؛ إذا كنت بحاجة فقط إلى برمجة LPC2000 ARMs، فيمكن تبسيط الجزء الثاني من الدائرة إلى حد كبير. يظهر جزء مبسط في الشكل 3.


الشكل 4. مخطط التثبيت.


الشكل 5. مظهر المبرمج.
يمكن استخدام كل من SMD ومصابيح LED للإخراج كمصابيح LED.
تقريبًا أي ترانزستور توصيل مباشر مناسب للدبابيس سيكون مناسبًا كترانزستور.

توجد قائمة الأجزاء المستخدمة ومخطط الدائرة وآثار اللوحة بتنسيق PCAD 2006 في الأرشيف المرفق.
docs.google.com/open?id=0B8EEcNDjnzhhUUZJbjc2cEx3NHM
يمكن إجراء البرمجة باستخدام برنامج Flash Magic المجاني
www.flashmagictool.com
سأخبرك المزيد عن توصيل وحدات التحكم الدقيقة المختلفة بالمبرمج وعملية البرمجة داخل الدائرة

يمكن تقسيم وحدات التحكم الدقيقة ATmega إلى فئتين: تلك التي تمت برمجتها فقط عبر ISP (ناقل MISO، MOSI، أسلاك SCK + التحكم في إعادة الضبط) وتلك التي تحتوي بالإضافة إلى ذلك على واجهة JTAG.

من بين مجموعة وحدات التحكم Arduino "المحبوبة بشدة"، تنتمي ATmega إلى الفئة الأولى 8 أتميجا 168 أتميجا 328 ص. ولكن في الفئة الثانية يوجد أيضًا مثال واحد: ATmega2560، يستخدم في Arduino/Freeduino MEGA 2560.

JTAG- هذه آلية تسمح لك بالتحكم تلقائيًا في جودة تركيب لوحات الدوائر المطبوعة: ما إذا كان هناك قصر في شيء ما أو على العكس من ذلك، ملحوم بشكل سيء. شيء مفيد للغاية على المستوى الصناعي، خاصة عندما تتعايش شرائح من شركات مختلفة "بسعادة" على لوحة واحدة (معيار IEEE 1149.1، الذي تعتمد عليه JTAG، مفتوح). ومن المنطقي أكثر أن العديد من الشركات المصنعة للرقائق أضافت القدرة على برمجة وتصحيح رقائقها من خلال نفس JTAG.

لماذا قد تكون هناك حاجة إلى JTAG في الحياة اليومية؟

يكلف الجهاز الذي يحمل علامة تجارية ATMEL الكثير (ولقد اشتريته بالفعل، وبعد ذلك لم يتبق أي مبلغ سلبي من المال):

ما يجب القيام به؟ لقد قلت بالفعل أن المعيار مفتوح، وأن عملية البرمجة عبر JTAG موثقة جيدًا - ما عليك سوى فتح أي ورقة بيانات لوحدة التحكم الدقيقة ATMEL مع واجهة JTAG.

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

هناك الكثير من الخيارات على الإنترنت للحصول على نسخ محلية الصنع من العلامة التجارية AVR JTAG ICE. يمكن العثور على واحدة من هذه المبسطة إلى حد العار الكامل، على سبيل المثال. ما هو الشيء المضحك - يعملعلى الرغم من أنه يتكون عمليا من عضو الكنيست واحد: ATmega16. يستخدم المبرمج الأصلي شريحة متوافقة تمامًا مع ATmega16، مما يجعل من الممكن تحميل البرامج الثابتة الخاصة إلى مبرمج محلي الصنع (ومع ذلك، من غير المرجح أن تظهر برامج جديدة، حيث تم إيقاف AVR JTAG ICE).

تحتاج أولاً إلى الحصول على المكون الرئيسي - المتحكم الدقيق أتميجا16-16بووالكوارتز 7.3728 ميجا هرتز، ثم قم بتجميع دائرة صغيرة للبرمجة على اللوح:

مخطط - كلاسيكي، مطلوب لتشغيل ATmega. دعني أذكرك بما يتم فعله عادةً في هذه الحالة:

  • قم بتوصيل الطاقة - جميع GND وVCC (عادةً ما لا يقل عن اثنين من دبابيس GND)؛
  • ضع مكثفًا لتصفية الضوضاء بقدرة 100 نانومتر (أو 0.1 ميكروفاراد - أيهما تفضل) بين GND وVCC، بالقرب من أرجل ATmega؛
  • قم بتوصيل الكوارتز بين XTAL1 وXTAL2 وتوصيلهما من خلال اثنين تطابق مكثف على الأرض (يشار إلى نطاق القيم في الوثائق، وليس من الضروري استخدامه 22 بيكو فاراد، فمن الممكن، على سبيل المثال، 33 الجبهة الوطنية);
  • اسحب خط إعادة الضبط إلى VCC من خلال المقاوم 10 ألفوشنق المكثف 100 نانو فهرنهايتإلى الأرض لتوفير تأخير طفيف لخط إعادة الضبط بعد توصيل الطاقة.
سيبدو الأمر كالتالي (كل شيء يتناسب بشكل آمن مع اللوح 300+100):

نقوم بتوصيل الدائرة عبر قابس مزود خدمة الإنترنت (ISP) بالمبرمج ونقوم بتشغيلها منه، ثم نقوم بفلاش البرنامج الثابت وضبط بتات المصهر:

avrdude -C avrdude.conf -c usbasp -p m16 -U hfuse:w:0x1f:m -U lfuse:w:0xcf:m

avrdude -C avrdude.conf -c usbasp -p m16 -U flash:w:miniICE.hex

إذا نجحت العملية، تكون نصف المعركة قد انتهت. يمكنك بعناية يمسحموصل ISP وتحويل الدائرة إلى الشكل التالي:

على التخطيط يبدو مثل هذا:

ربما لاحظت أنني استخدمت شريحة منفذ تسلسلي USB في الدائرة - FT232RL. يعد هذا أكثر ملاءمة من منفذ COM لأسباب عديدة. لكن لا يمكنك توصيل SSOP باللوحة، لذلك أستخدم محولًا مصنوعًا ذاتيًا:

في الإصدار الكلاسيكي، يوجد عدد أكبر قليلاً من خطوط JTAG مقارنة بالرسم التخطيطي:

الإشارات الإلزامية هي TCK وTDO وTDI وTMS (الساعة وإخراج البيانات وإدخال البيانات والتحكم في وضع الاختبار).

يتم إعادة ضبط NSRST وNTRST على ناقل JTAG. في حالتنا، فهي ليست مطلوبة، حيث يمكن بدء إعادة تعيين MC من خلال تسلسل الأوامر على سطر الإشارات الإلزامية.

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

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

اعتمادًا على موضع وصلة العبور SV2 في دائرة ATmega16، سيتم تشغيلها إما من USB أو من الهدف. لقد كنت كسولًا جدًا لدرجة أنني لم أتمكن من تثبيت وصلة تبديل على اللوحة، لأنه كان من المفترض أن يتم تشغيلها من الهدف فقط. ولكن قبل تشغيله، تأكدت من ذلك ثلاث مرات لم يتم توفير طاقة USB . من أجل الموثوقية، على لوحة USB-TTL تم فتح وصلة إمداد الطاقة.الاتصال التالي M8RXيتصل بساق MK RX، M8TX- من تكساس.

نقوم بالاتصال بالمبرمج عبر AVR Studio، وإذا كان كل شيء متصلاً بشكل صحيح، فيمكننا قراءة التوقيع والبرامج الثابتة.

(سألقي نظرة بالتأكيد على الجهاز الموجود على اليمين لاحقًا، والآن لا يمكنني إلا أن أكرر أنه يحتوي على ATmega128 بالداخل)

العيب الوحيد لاستنساخ AVR JTAG ICE هو القائمة الصغيرة نسبيًا لأعضاء MK المدعومين:

  • ATmega128
  • ATmega128A
  • ATmega16
  • ATmega162
  • ATmega165
  • ATmega169
  • ATmega16A
  • ATmega32
  • ATmega323
  • ATmega32A
  • ATmega64
  • ATmega64A
يقولون أيضًا أن AT90CAN128 مدعوم، لكن لا توجد طريقة للتحقق من ذلك :(

لقد وجدت صورة في أرشيفي توضح عملية تصنيع مبرمج JTAG الذي كنت بحاجة إليه لإحياء موالف القمر الصناعي. الآن مزيد من التفاصيل حول نوع JTAG "الوحش":

JTAG(اختصار للغة الإنجليزية) مجموعة عمل الاختبار المشترك; يُنطق "jay-tag") هو اسم مجموعة العمل لتطوير معيار IEEE 1149، وفي وقت لاحق، أصبح هذا الاختصار مرتبطًا بقوة بواجهة الأجهزة المتخصصة التي طورتها هذه المجموعة بناءً على معيار IEEE 1149.1. الاسم الرسمي للمعيار منفذ الوصول للاختبار القياسي وبنية مسح الحدود. تم تصميم الواجهة لتوصيل الدوائر الرقمية المعقدة أو الأجهزة على مستوى ثنائي الفينيل متعدد الكلور بمعدات الاختبار وتصحيح الأخطاء القياسية. للمهتمين راجع المقال كاملا علىويكيبيديا.

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

للإنتاج اخترت هذا المخطط:

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

74HC244 ليس مخزنًا مؤقتًا مقلوبًا. تحتوي الشريحة على مخزنين مؤقتين مستقلين بأربعة بتات. يحتوي كل مخزن مؤقت على إشارة تمكين الإخراج الخاصة به (منخفضة نشطة). لا توجد مشغلات شميت عند المدخلات. تم تصنيع الدائرة الدقيقة باستخدام تقنية CMOS "السريعة"، والتي تضمن الأداء العالي. يتيح خرج التيار القوي الحفاظ على الأداء العالي حتى مع وجود حمل سعوي. أداء 74HC244 يمكن مقارنته بأداء الرقائق المعتمدة على صمامات شوتكي الثنائية، بينما يحتفظ 74HC244 بمزايا رقائق CMOS، أي. مناعة عالية الضوضاء وانخفاض استهلاك الطاقة. تتم حماية مدخلات الدائرة الدقيقة من التلف الناتج عن الكهرباء الساكنة باستخدام الثنائيات.

للأسف، لم أجد 74HC244 في مستلزماتي. لقد وجدت فقط نظيرًا لـ 74F244، والذي يختلف قليلاً في جهد الإمداد Vcc. يحتوي 74HC244 على جهد موصى به من 2 إلى 6 فولت، بينما يحتوي 74F244 على جهد موصى به من 4.5 إلى 5.5 فولت. على الرغم من أن الحدود القصوى تتراوح من -0.5 إلى +7 فولت، لذلك قررت عدم الإزعاج والبدء في التصنيع.

بأخذ المخطط الأصلي في الصورة الأولى وإعادة رسمه في برنامج DipTrace، حصلنا على هذا المخطط:

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

لقد قمت أيضًا بالتوقيع على جميع المنافذ على اللوحة، لكن لسوء الحظ قمت بتوقيع إشارات الخرج بشكل غير صحيح، كما هو واضح في المصدر الأصلي 1- GND، 2- TCK، 3- TMS، 4- TDO، 5- TDI و 6- RST ، لكنني حصلت عليها GND، TMS، TCK، TDI، TDO، وRST، لقد ارتكبت خطأ عندما قمت بالتوقيع على جهات الاتصال، وفقًا للمخطط، كل شيء صحيح، وفقًا للمصدر الأصلي، أي. 1- GND، 2- TCK، 3- TMS، 4- TDO، 5- TDI و 6- RST.

ثنائي الفينيل متعدد الكلور مع تسميات الدبوس الصحيحة:

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

بعد الانتهاء من كل العمل، وتحويل getinax إلى حجم اللوحة (حوالي 55 × 50 مم)، نأخذ عامل التنظيف COMET في مسحوق واسفنجة لغسل الأطباق. نقوم بتنظيف الجيتيناكس من آثار الدهون والأوساخ. من الأفضل عدم مسح الماء المتبقي بل تركه حتى يجف.

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

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

بطبيعة الحال، الجانب احباط من getinaks لنمط لوحة الدوائر المطبوعة.

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

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

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

ونتيجة لذلك، نحصل على لوحة الدوائر المطبوعة

نقوم أيضًا بتنظيف مسحوق الحبر باستخدام مسحوق Comet، فهو يصمد جيدًا، وحتى لا نتلف مسارات اللوحة، نقوم بتنظيفه ببطء.

بعد تنظيف الحبر نرى لوحة دوائر مطبوعة أنيقة وجميلة


لنبدأ الآن في لحام العناصر: