جدول المحتويات:
- الخطوة 1: التجميع
- الخطوة 2: الميزات المستخدمة - الخادم
- الخطوة 3: الدائرة المستخدمة
- الخطوة 4: كود المصدر: Master
- الخطوة 5: كود المصدر: Slave
- الخطوة 6: المحلل: الأجهزة
- الخطوة 7: تثبيت برنامج Saleae
- الخطوة 8: تكوين البيئة لاختباراتنا
- الخطوة 9: تهيئة البيئة لاختباراتنا
- الخطوة 10: تكوين البيئة لاختباراتنا
- الخطوة 11: تكوين البيئة لاختباراتنا
- الخطوة 12: تكوين البيئة لاختباراتنا
- الخطوة 13: الالتقاط: نظرة عامة
- الخطوة 14: الالتقاط: نتيجة تحليل البروتوكول
- الخطوة 15: الالتقاط: القناة 0 والبيانات (SDA)
- الخطوة 16: الالتقاط: القناة 1 والساعة (SCL)
- الخطوة 17: الالتقاط: القناة 2 والمسلسل (TX0)
- الخطوة 18: تكوين البيئة لاختباراتنا
- الخطوة 19: الالتقاط: راسم الذبذبات والمحلل
- الخطوة 20: الالتقاط: ملاحظة الفشل (مثال على الفشل التسلسلي)
- الخطوة 21: قم بتنزيل الملفات
فيديو: افتح عينيك! محلل منطقي: 21 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
يسهل محلل المنطق تخيلك لقطار النبض ، وهو البتات التي تنتقل في خط اتصال. وبالتالي ، فإنه يفتح عينيك لتحديد مشكلة محتملة. لماذا هذا مهم؟ إنها أداة تطوير واكتشاف الأخطاء فعالة للغاية يمكنها توفير الوقت. في هذا الفيديو اليوم ، سنقيم أهمية المحلل المنطقي ، ونلاحظ بعض بروتوكولات الممارسات الشائعة أثناء استخدام هذا الجهاز ، ونقدم مثالاً على فشل الاكتشاف دون مساعدة محلل منطقي.
في هذا الفيديو ، استخدمت نموذجًا غير مكلف نسبيًا (حوالي 35 دولارًا) وفعالًا ، مع واجهة رسومية وبرامج مجانية.
الخطوة 1: التجميع
الخطوة 2: الميزات المستخدمة - الخادم
• صداري للوصلات
• 2 Arduinos (استخدمنا 2 Mega Arduinos 2560)
• محلل منطقي (نستخدم Saleae)
• كبلات توصيل USB لاردوينو ومحلل.
• راسم الذبذبات (اختياري)
• Protoboard
الخطوة 3: الدائرة المستخدمة
هنا لدينا التخطيطي ، الذي يوضح مراقبة ثلاثة دبابيس: TX0 و SDA و SCL. لدينا نوعان من اردوينوس: سيد وعبد.
الخطوة 4: كود المصدر: Master
في الإعداد ، سنقوم بتضمين المكتبة لاتصالات i2c. لقد أدخلنا الشبكة على أنها رئيسية وبدءنا التسلسل 0. في الحلقة ، طلبنا وحدات بايت من البيانات التابعة للتواصل مع رقم Arduino الخاص بنا 8 ، كما حددنا في المثال. نطبع في المسلسل ، والذي سيتم تقييمه باستخدام محلل المنطق ، البايتات المستلمة.
#include // inclui a biblioteca para comunicação I2C void setup () {Wire.begin ()؛ // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200) ؛ // inicia a serial 0} حلقة باطلة () {Wire.requestFrom (8، 6)؛ // Requisita 6 bytes de dados do escravo de endereço 8 while (Wire.available ()) {// enquanto hoses bytes para Receber… char c = Wire.read () ؛ // recebe cada byte e armazena como caracter Serial.print (c) ؛ // envia o caracter pela serial (na verdade vai para o buffer)} delay (500) ؛ // aguarda meio segundo}
الخطوة 5: كود المصدر: Slave
في رمز الرقيق هذا ، أقوم مرة أخرى بتضمين مكتبة اتصالات i2c. أدخل الشبكة كعبد بالعنوان 8. نسجل حدث الطلب ونربطه بوظيفة "الطلب". لا تحتاج إلى القيام بأي شيء في الحلقة ، فقط أعط 0.1 ثانية تأخير.
أخيرًا ، لدينا وظيفة الطلب التي سيتم تنفيذها عند حدوث حدث الطلب بواسطة السيد ، والذي تم تسجيله في الإعداد. نجيب أخيرًا برسالة حجمها 6 بايت.
#include // inclui a biblioteca para comunicação I2C void setup () {Wire.begin (8)؛ // entra na rede como escravo com endereço 8 Wire.onRequest (requestEvent) ؛ // registra o evento de Requisiçao // e associa à função requestEvent} void loop () {delay (100)؛ // não faz nada no loop، apenas aguarda 0، 1 segundo} // função que será Executiveada quando ocorrer o evento de Requisição pelo mestre // foi registrada como evento no setup void requestEvent () {Wire.write ("teste") ؛ // responsee com uma mensagem de 6 bytes}
الخطوة 6: المحلل: الأجهزة
معدل العينة يصل إلى: 24 ميجا هرتز
المنطق: 5 فولت إلى 5.25 فولت
عتبة المستوى المنخفض 0.8 فولت
عتبة عالية المستوى 2.0 فولت
مقاومة إدخال تبلغ حوالي 1 موهم أو أكثر
الخطوة 7: تثبيت برنامج Saleae
يمكن تنزيل البرنامج الذي يستقبل البيانات التي تم التقاطها بواسطة محلل المنطق ويقوم بفك تشفير البتات على الرابط التالي:
الخطوة 8: تكوين البيئة لاختباراتنا
أعرض الواجهة هنا ، والتي أحببتها بشكل خاص لأنها كانت نظيفة.
الخطوة 9: تهيئة البيئة لاختباراتنا
فيما يلي بعض خيارات التكوين:
• بالضغط على اسم القناة يمكننا تغييره.
• يمكننا تحديد ما إذا كانت إحدى القنوات ستعمل كمحفز للالتقاط وشكل الاكتشاف.
• بالضغط مع الاستمرار على رقم القناة ، يمكنك تغيير موقعك في القائمة.
• من خلال النقر على الترس ، يمكننا تكوين تصور القناة وتوسيع …
•… أو إخفاء القناة. سنخفي كل القنوات التي لن نستخدمها.
الخطوة 10: تكوين البيئة لاختباراتنا
بالنقر على أسهم زر "ابدأ" ، هناك خيارات لمعدل أخذ العينات ومدة التسجيل.
لسبب ما ، إذا اكتشف البرنامج أنه لا يمكن الحفاظ على السعر ، فسيتم عرض رسالة وسيتم تخفيض المعدل تلقائيًا حتى الوصول إلى قيمة وظيفية.
الخطوة 11: تكوين البيئة لاختباراتنا
سنقوم أيضًا بتضمين محللي البروتوكول. أولاً ، إنها I2C ، باتباع تعريفات مكتبة WIRE ، وربط القنوات بشكل صحيح. أخيرًا ، سنقدم المحلل إلى التسلسل غير المتزامن. نحن بحاجة إلى توخي الحذر لتكوين المعلمات بشكل صحيح وفقًا للتجميع.
الخطوة 12: تكوين البيئة لاختباراتنا
في علامة التبويب "البروتوكولات التي تم فك ترميزها" ، يجب أن نتحقق من أدوات تحليل البروتوكولات التي تم تمكينها. هناك ، ستظهر البيانات. في علامة التبويب "التعليقات التوضيحية" ، يمكننا إضافة بعض النتائج لتحسين التمثيل البصري. ما عليك سوى النقر على أيقونة "إضافة قياس".
الخطوة 13: الالتقاط: نظرة عامة
في شاشة الالتقاط ، يعرض البرنامج قطار نبض البيانات الخاص بـ SDA و SCL و TX0.
الخطوة 14: الالتقاط: نتيجة تحليل البروتوكول
هنا ، نرى نتيجة الالتقاط. في علامة التبويب "البروتوكولات التي تم فك ترميزها" لدينا:
• طلب الخادم للعبد برقم 8.
• استجابة الرقيق ، ستة أحرف: "t" ، "e" ، "s" ، "t" ، "e" ومسافة.
• يتبع كل منها بت ACK (إقرار) يشير إلى استقبال البايت الصحيح ، باستثناء حرف المسافة NACK (عدم الإقرار).
• بعد ذلك ، نرى نتيجة فك التشفير للمسلسل TX0 ، مما يشير إلى الأحرف المستلمة والمرسلة إلى المحطة التسلسلية Arduino IDE.
الخطوة 15: الالتقاط: القناة 0 والبيانات (SDA)
في هذه الصورة ، لدينا قطار النبض لخط SDA. لاحظ أنه يمكن عرض كل بايت تم إرساله.
الخطوة 16: الالتقاط: القناة 1 والساعة (SCL)
الآن ، لدينا هنا قطار النبض لخط SCL. يمكنك التحقق من مزيد من التفاصيل ببساطة عن طريق وضع الماوس فوق الإشارة ، كما ترى في الصورة. يمكننا أن نرى أن تردد الساعة كان عند 100 كيلو هرتز.
الخطوة 17: الالتقاط: القناة 2 والمسلسل (TX0)
بالنسبة إلى قطار النبض لخط TX0 ، يمكننا رؤية بت البداية ونقاط الإطار لكل بت. لدينا بايت يمثل الحرف "e".
الخطوة 18: تكوين البيئة لاختباراتنا
هنا لدينا عدة خيارات لقراءة البيانات.
الخطوة 19: الالتقاط: راسم الذبذبات والمحلل
انظر هنا إلى الشاشة التي التقطتها من راسم الذبذبات الخاص بي. تمثل إشارة المحلل المنطقي فقط عمليات الكشف العالية والمنخفضة ، ولكنها لا تمثل جودة الإشارة. يمكن ملاحظة هذا بشكل أفضل على الذبذبات.
الخطوة 20: الالتقاط: ملاحظة الفشل (مثال على الفشل التسلسلي)
الآن ، سأعرض مثالاً على فشل متسلسل حدث لي بالفعل. كنت مع مودم GPRS ، النوع المستخدم في الهاتف الخلوي ، بطاقة SIM ، أحاول الاتصال بـ ESP32. لكنها فقط لم تتصل. ثم راجعت مزود الطاقة والأسلاك وقمت بتغيير اللوحة. لقد فعلت كل شيء ، لكن لم يتم إصلاحه. قررت إجراء تحليل منطقي: اكتشفت أن إشارة ESP على UART 115200 بدأت في عدم التطابق. أي أن ESP32 كان يلعب ما يجب أن يكون 115 ، 200 بسرعة مختلفة عن هذه.
تم عرض هذا الخطأ ، الذي تم تحديده بواسطة المحلل اللغوي ، بعلامة X باللون الأحمر. حسب فهمي ، يقول البرنامج أن النقطة التي تحتوي على مثل هذا القليل هي نصف إزاحة في الوقت المناسب. مع زيادة هذا التحول ، قد يأتي وقت يكون فيه كل شيء غير متطابق ، بحيث لا تصل المعلومات إلى الجانب الآخر. عادة ما تصل ، لكن بطاقة SIM800 حساسة وإذا لم تكن دقيقة ، فلن تصل المعلومات إلى الطرف الآخر.
لا أعرف ما إذا كان هذا شيئًا يحدث كثيرًا أم لا ، لكنه حدث لي ، ولذا قررت أن أتناول هذا الموضوع هنا. إذا ماذا فعلت؟ تباطأت. إذا وضعت 9 ، 600 ، 19 ، 200 ، حتى 38 ، 400 ، فإنها تعمل ، وهذا لا يحدث مع 115 ، 200.
الخطوة 21: قم بتنزيل الملفات
بي دي إف
انا لا
موصى به:
ArduBand - احفظ عينيك: 6 خطوات (بالصور)
ArduBand - احفظ عينيك!: مرحبًا ، في الوضع الحالي يعمل العديد من الأشخاص في المنزل ، ولهذا السبب نقضي وقتًا أطول أمام أجهزة الكمبيوتر أو الهواتف الذكية. في بعض الأحيان يمكننا الجلوس أمام الشاشة لعدة ساعات ، ندمر أعيننا ونحني ظهورنا. يمكننا استخدام دي
قم بعمل محلل منطقي رقمي بأقل من 1: 5 خطوات
اصنع محلل منطقي رقمي بأقل من 1 دولار: مستشعر المستوى المنطقي هو جهاز يستشعر ما إذا كان ناتج المكون 1 أو 0 (موجب أو سلبي). هل تعرف تلك المستشعرات ذات المستوى اللطيف المزودة بشاشات LCD والتي تكلف حوالي 25 دولارًا؟ هذا الجهاز أرخص بشكل مثير للضحك ويفعل نفس الشيء (إنه
12 فولت بطارية هاك! لن تصدق عينيك!!!!! (محدث): 7 خطوات
12 فولت بطارية هاك! لن تصدق عينيك!!!!! (محدث): مستوحى من التعليمات التي قدمها Kipkay ، اعتقدت أنني سألتقط بعض البطاريات الخاصة بي من علامة تجارية مختلفة … وفوجئت ، يا فتى
EZProbe ، مسبار منطقي يعتمد على EZ430: 4 خطوات
EZProbe ، مسبار منطقي قائم على EZ430: هذا مشروع مسبار منطقي بسيط يعتمد على دونجل TI EZ430. لقد استفدت من عرض مجاني على زوج من ez430s من TI في سبتمبر 2010. فهي سهلة الاستخدام وممتعة للغاية في تجربة مقتطفات التعليمات البرمجية الصغيرة ومشاهدة وميض LED. كان لديهم منذ ب
افتح Apollo Guidance Computer DSKY: 13 خطوة (بالصور)
افتح Apollo Guidance Computer DSKY: فخور بأن تكون تعليميًا مميزًا منذ 1/10/18. يرجى التصويت لنا ومنحنا إعجاب! حققت حملة Kickstarter نجاحًا كبيرًا