استخدام الـ Saleae Logic Analyzer كـ CAN Bus Sniffer.

سلام عليكم

المقال إن شاء الله هايتكلم عن كيفية استخدام الـ Saleae Logic Analyzer في اننا نعمل Sniffing للـ CAN Bus.

المقال مفيد جداً لمن يريد أن يتعلم الـ CAN Bus Debugging خصوصاً لو انت شغال في مشروع التخرج.

أولاً: متطلبات الشرح:

  • Saleae Logic Analyzer – يباع في مصر في حدود 295 جنيه مصري وهو تقليد صيني لأحد الـ logic Analyzers المشهورة. هذا الـ Logic Analyzer لا يدعم أن يتم توصيله بشكل مباشر مع الـ CAN Bus.

  • CAN Bus Transceiver Module – يمكنك ان تختار انواع كثيرة من الـ CAN Transceivers مثل:
    • NXP TJA1050
    • Microchip MCP2551
    •  Microchip MCP2542
    •  Maxim MAX3051
    • TI SN65HVD230
صورة لاحد الـ CAN Bus Transceiver Module TJA1050

ثانياً: طريقة التوصيل:

سوف نحتاج هذه الـ Module لكي نجعل الـ Logic Analyzer يتعامل مع الـ CAN Bus حيث انه Differential Bus وليس Single Ended Bus.

Connected ToCAN Bus Transceiver Module
External Power Supply 5VVCC
GNDGND
Not ConnectedCTX
Connect to any Saleae Logic’s digital pinCRX
Connect CANH to the CAN Bus to be sniffedCANH
Connect CANL to the CAN Bus to be sniffedCANL
Not ConnectedS
Not ConnectedNC

ثالثاً: إعدادات برنامج Saleae Logic Analyzer:

بعدما قمنا بعمل خطوة التوصيل السابقة، سوف نحتاج أن نفتح برنامج Saleae Logic Analyzer. سوف استخدم الاصدار Logic 1.12.18 كمثال. يمكنك تحميله وتسطيبه كأي برنامج.

بعد فتح البرنامج، سوف يظهر البرنامج أمامك مثل الصورة التالية:

في منتصف اليمين سوف تجد مربع باسم “Analyzers”:

اضغط على علامة الـ “+” في أعلى يمين المربع، سوف تظهر لك قائمة مثل الصورة التالية:

اختر “Show more analyzers”. سوف تتمدد القائمة. اختر منها “CAN”:

سوف تظهر لك نافذة صغيرة مثل الصورة التالية:

قم بتغيير الإعدادات مثل الجدول التالي:

ValueAnalyzer Settings
Choose the channel that will be connected to the CAN bus transceiver’s Rx pinCAN
Choose the bit rate of the CAN busBit Rate (Bits/s)
Leave this uncheckedInverted (CAN High)

اضغط على “Save”.

الآن سوف نقوم بإعداد الـ Triggering للبين Pin CRX التي تم توصيل الـ CAN Transceiver بالـ Logic Analyzer من خلالها. لقد قمت بتوصيل الـ CRX Pin بـ Channel 0. الـ Triggering ببساطة يقوم بجعل البرنامج ينتظر حتى يجد الـ Falling Edge لإشارة الـ CAN Bus، فمجرد أن يجدها البرنامج سوف يبدأ بتسجيل الإشارة لمدة محددة من الوقت ( تقوم بتحديدها ).

قم بالضغط على ايثونة الـ Triggering في القناة التي تم التوصيل بها. واختر “Trigger on Falling Edge”.

الآن سوف نحتاج إلى إعداد وقت التسجيل للإشارة ( قم باختيار الوقت الذي تحتاجه لتسجيل الإشارة ) سوف اختار 5 ثواني.

الآن قم بالضغط على الزرار الأخضر باسم “Start” بأعلى اليسار. النافذة التالية سوف تظهر. ببساطة هي تخبرك أن البرنامج حالياً ينتظر حتى يجد Falling Edge على الـ CAN Bus. هذا يعني أنه بمجرد وجود أي بيانات على الـ CAN Bus سوف يقوم البرنامج بتسجيلها فورياً لمدة 5 ثواني ( مثلما حددت في اعدادات وقت تسجيل الاشارة ).

عندما يجد البرنامج أي بيانات على الـ CAN Bus، سوف تتغير النافذة السابقة بالنافذة التالية ( معناها أن البرنامج وجد بيانات يتم ارسالها على الـ CAN Bus ويقوم بتسجيلها حالياً ).

بعدما تنقضي فترة التسجيل، سوف تظهر لك البيانات على البرنامج مثل الصورة التالية كمثال:

لينك الـ Github Repository ( موجود به الشرح باللغة الانجليزية بالتفصيل ): CANBus_SaleaeLogic_Analyzer

لينك البوست على LinkedIn: من هنا

أتمنى لكم قضاء وقت ممتع مع الهندسة العكسية. Happy Reverse Engineering ??.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

الموقع يستخدم WordPress بكل فخر | قالب: Baskerville 2 بواسطة Anders Noren.

أعلى ↑