سلام عليكم
المقال إن شاء الله هايتكلم عن كيفية استخدام الـ 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

ثانياً: طريقة التوصيل:
سوف نحتاج هذه الـ Module لكي نجعل الـ Logic Analyzer يتعامل مع الـ CAN Bus حيث انه Differential Bus وليس Single Ended Bus.
Connected To | CAN Bus Transceiver Module |
---|---|
External Power Supply 5V | VCC |
GND | GND |
Not Connected | CTX |
Connect to any Saleae Logic’s digital pin | CRX |
Connect CANH to the CAN Bus to be sniffed | CANH |
Connect CANL to the CAN Bus to be sniffed | CANL |
Not Connected | S |
Not Connected | NC |
ثالثاً: إعدادات برنامج Saleae Logic Analyzer:
بعدما قمنا بعمل خطوة التوصيل السابقة، سوف نحتاج أن نفتح برنامج Saleae Logic Analyzer. سوف استخدم الاصدار Logic 1.12.18 كمثال. يمكنك تحميله وتسطيبه كأي برنامج.
بعد فتح البرنامج، سوف يظهر البرنامج أمامك مثل الصورة التالية:
في منتصف اليمين سوف تجد مربع باسم “Analyzers”:
اضغط على علامة الـ “+” في أعلى يمين المربع، سوف تظهر لك قائمة مثل الصورة التالية:
اختر “Show more analyzers”. سوف تتمدد القائمة. اختر منها “CAN”:
سوف تظهر لك نافذة صغيرة مثل الصورة التالية:
قم بتغيير الإعدادات مثل الجدول التالي:
Value | Analyzer Settings |
---|---|
Choose the channel that will be connected to the CAN bus transceiver’s Rx pin | CAN |
Choose the bit rate of the CAN bus | Bit Rate (Bits/s) |
Leave this unchecked | Inverted (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 ??.
اترك تعليقاً