قياسات راديو الهواة: تحليل إشارة حافلة I2C



كما ذكرت مرارًا وتكرارًا في مطبوعاتي ، يتم تمويل مشاريع الهواة من ميزانية الأسرة ، وهواة الراديو ، عادة ، لا يستطيعون شراء معدات قياس باهظة الثمن. يجب أن نكون راضين بما لدينا. أو حقيقة أنه من الممكن استخدام "لفترة من الوقت." وأحيانًا بسبب اليأس ، يتعين على هواة الراديو "الحفر باستخدام منشار ورؤية بمقياس".

لقد شعرت مؤخرًا بالحاجة إلى معرفة ما ينتقل فعليًا في الجهاز الذي أطوره على ناقل I2C. كانت تلك اللحظة السعيدة عندما كنت تستطيع تحمل "المنشار بمنشار".

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

الذبذبات الرقمية مزدوجة القناة مع الذاكرة


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

في هذه الحالة ، حصلت على مؤشر الذبذبات الرقمي ثنائي القناة "لفترة من الوقت" مع ذاكرة Rigol DS1102 (السعر على موقع الشركة المصنعة هو 461 دولارًا). يحتوي هذا الجهاز على قناتين للقياس بعرض نطاق يصل إلى 100 ميجاهرتز وتردد لأخذ إشارة 1 GSA / s.

كان CH1 متصلاً بإشارة SCL. كان CH2 متصلاً بإشارة SDA. لكلتا القناتين ، تم تعيين مقياس 1.00 V / div. مقياس الاجتياح - 10 us / div. من أجل الوضوح ، يتم نقل شعاع القناة الأولى إلى النصف العلوي من الشاشة ، وحزمة القناة الثانية إلى الأسفل.

في قائمة Trigger ، تم إعداد مرسمة الذبذبات لقياس واحد مع وجود الزناد عند الوصول إلى الحافة الصاعدة في قناة CH1 من المستوى 1.00 V:



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

تم تسجيل الموجي الذي تم الحصول عليه على شاشة متوسطة خارجية بواسطة الشاشة:



دعنا نحلل الإشارات المسجلة. في الشاشة الأولى ، نرى عرضًا لإعدادات الجهاز ورسم تذبذب لإشارات SCL (الجزء العلوي) و SDA (الجزء السفلي من الشاشة) ، نقرأ عليها من اليسار إلى اليمين:

  • إشارة البدء : يحدد المعلم المستوى المنخفض أولاً على ناقل SDA ثم على ناقل SCL ؛
  • العنوان ذو 7 بت : اقرأ 0x60 (1100000) على ناقل SDA على الحواف الأمامية لـ SCL ؛
  • علامة على وضع التسجيل : نقرأ على حافلة SDA مستوى منخفض على الحافة الأمامية التالية من SCL ؛
  • إشارة ACK : بعد نقل البايتة ، يتحول الجهاز الرئيسي لتلقيه عبر ناقل SDA ، يتم ضبط SDA عالياً ، ويقوم الجهاز الرقيق بتعيين المستوى المنخفض على الحافة الهابطة لـ SCL (في الواقع ، إشارة ACK) ، التي يقرأها السيد على الحافة الصاعدة من SCL ؛
  • إشارة التوقف : مجموعة رئيسية عالية على ناقل SCL ثم على ناقل SDA

وبالمثل ، ببطء ولكن بثبات ، يمكنك فك تشفير بقية السجل يدويًا.

محلل منطق الإشارة الرقمية


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

لاستخدامه كمحلل منطقي ، تفضلت بتقديمه زملاء من Saleae Logic 8 (السعر على موقع الشركة المصنعة هو 399 دولارًا). البرنامج المستخدم هو العرض التوضيحي Saleae Logic 1.2.18 المأخوذ من الموقع الرسمي . عند تثبيت هذا البرنامج ، قبلت اتفاقية ترخيص مع الشرط ، بما في ذلك عدم استخدام هذا البرنامج مع معدات تابعة لجهة خارجية.

تضمن البرنامج محلل بروتوكول I2C. تم تعيين CH0 لـ SCL و CH1 لـ SDA. معدل أخذ العينات إشارة 24 مللي / ثانية.



تم تكوين الإطلاق على الجبهة "الرائدة" من CH0. تم تحديد تنسيق سداسي عشري لعرض البيانات.



بعد تشغيل الجهاز قيد الاختبار ، تم الضغط على زر البدء الأخضر الكبير ، وبعد بضع ثوان ظهر مخطط على الشاشة:



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

الذبذبات الرقمية مقابل محلل المنطق


لمقارنة الخيارات ، قمت "بلصق" أربع لقطات شاشة لشاشة الذبذبات وجزء من مخطط محلل المنطق في المحرر الرسومي:



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

إذا اقتربنا من مقارنة الخيارات "بالتحيز" ، يمكننا أن نرى أنه في مخطط محلل المنطق (تردد أخذ العينات 24 MSA / s) هناك "ارتعاش" لإشارة SCL ، التي لا توجد ، على هذا النحو ، على مخطط الذبذبات بتردد أخذ العينات يبلغ 1 GSA / s. ما تبقى من الصورة هو نفسه ، ويقوم المحلل المنطقي أيضًا بفك تشفير البيانات في الوضع التلقائي بشكل صحيح.

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

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

ومثل هذه البرامج موجودة


يتم دعم النسخ المستنسخة غير المكلفة لمحللات المنطق الشائعة ، وليس فقط لهم ، بواسطة برنامج sigrok مفتوح المصدر.

تم جمع مكان العمل:



ثم بدأت "الرقص مع الدف". في نظام التشغيل Windows 10 ، تم إطلاق الإصدار 32 بت فقط من PulseView. لم تحدد وجود مستنسخ صيني غير مكلف Saleae Logic في النظام (السعر على موقع البائع هو 7 دولارات).

بعد ذلك ، تم تثبيت برامج تشغيل WinUSB في Zadig لجهاز Logic ، وبعد إعادة الفحص تم تعريفه في Zadig كجهاز fx2latw :



بعد ذلك ، تم تثبيت برامج تشغيل WinUSB مرة أخرى لجهاز fx2latw في Zadig ، وفقط بعد ذلك رأى PulseView جهاز Saleae Logic في القائمة. تم توصيل الجهاز.

بعد توصيل الجهاز ، تم إعداد إعدادات البرنامج التالية (من اليسار إلى اليمين على شريط الأدوات ، بدءًا من النقش "منطق المنطق"):

  • تم ضبط نسبة الالتقاط المسبق للإطلاق = 2٪ عن طريق الضغط على زر بمفتاح ومفك براغي ؛
  • يتم تعطيل المدخلات الإضافية عن طريق الضغط على زر مع التحقيق الأحمر.
  • ضبط حجم التسجيل من 100 K العينات ؛
  • ضبط تردد أخذ العينات إلى 24 ميغاهيرتز ؛
  • يتم تشغيل محلل بروتوكول I2C عن طريق الضغط على زر مع أيقونة صفراء خضراء.

كذلك في اللوحة على يسار القنوات:

  • يتم تعيين تسميات نصية للقنوات تقابل الإشارات ؛
  • حالة الزناد المخصصة للحافة الصاعدة لإشارة SDA ؛
  • يتم تعيين إشارات I2C القنوات المقابلة.

بعد تشغيل الجهاز قيد الاختبار ، تم الضغط على زر التشغيل. النتيجة مألوفة بالفعل:



يبدو أن "الرقص مع الدف" كان يستحق كل هذا العناء!

UPD : بعد تثبيت برنامج التشغيل libusb-win32 يدويًا في "إدارة الأجهزة" لجهاز USB Logic ، بدأ برنامج PulseView في الكشف عن وجود Saleae Logic في النظام بشكل ثابت دون معالجة Zadig.

استنتاجات موجزة:


وصف المقال منهجية تحليل إشارات ناقل I2C باستخدام مرسمة الذبذبات الرقمية مع محللات الذاكرة والمنطق مع حزم برامج التطبيق.

طريقة عالمية لتحليل الإشارات ، ولكن ليست رخيصة وبطيئة ، هو استخدام الذبذبات الرقمية مع الذاكرة.

تتمثل الطريقة السريعة والميزانية لتحليل الإشارات ، ولكن مع مهمة تافهة تتمثل في توصيل المعدات ، في استخدام استنساخ غير مكلف لمحلل منطقي بالتزامن مع PulseView.

سأكون سعيدًا إذا ساعد منشوري في توفير الوقت والمال للقراء.

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

Source: https://habr.com/ru/post/ar438732/


All Articles