תוכן עניינים:
- שלב 1: הרכבה
- שלב 2: תכונות בשימוש - שרת
- שלב 3: מעגל בשימוש
- שלב 4: קוד מקור: מאסטר
- שלב 5: קוד המקור: שפחה
- שלב 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 09:16
מנתח ההיגיון מקל על ההדמיה שלך של רכבת הדופק, שהם החלקים הנעים בקו תקשורת. לפיכך, הוא פותח את עיניך לזהות בעיה אפשרית. למה זה חשוב? זהו כלי פיתוח ויעיל מאוד לאיתור תקלות שיכול לחסוך לך זמן. בסרטון זה היום, נעריך את חשיבותו של מנתח הלוגי, נצפה בכמה פרוטוקולים של שיטות נפוצות בעת שימוש במכשיר זה, ונדגים דוגמא לכשל זיהוי ללא עזרת מנתח לוגי.
בסרטון זה השתמשתי במודל זול יחסית (בסביבות 35 $) ויעיל, עם ממשק גרפי ותוכנה חינמית.
שלב 1: הרכבה
שלב 2: תכונות בשימוש - שרת
• מגשרים לחיבורים
• 2 ארדואינים (השתמשנו בשני מגה ארדואינו 2560)
• מנתח לוגי (אנו משתמשים ב- Saleae)
• כבלי חיבור USB עבור Arduino ומנתח.
• אוסצילוסקופ (אופציונלי)
• פרוטובורד
שלב 3: מעגל בשימוש
כאן יש לנו את הסכימה, המציגה ניטור של שלושה סיכות: TX0, SDA ו- SCL. יש לנו שני ארדואינים: אדון ועבד.
שלב 4: קוד מקור: מאסטר
בהגדרה נכלול את הספרייה לתקשורת i2c. נכנסנו לרשת כמאסטר ואתחלנו סדרתי 0. ב- Loop, ביקשנו בתים של נתוני עבדים לתקשורת עם מספר Arduino 8 שלנו, כפי שהגדרנו בדוגמה. אנו מדפיסים בסדרה, שתוערך עם מנתח הלוגיקה, הבייטים שהתקבלו.
#include // inclui a biblioteca para comunicação התקנת חלל I2C () {Wire.begin (); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicia a serial 0} loop void () {Wire.requestFrom (8, 6); // requisita 6 bytes de dados do escravo de endereço 8 while (Wire.available ()) {// enquanto houver bytes for 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)} עיכוב (500); // aguarda meio segundo}
שלב 5: קוד המקור: שפחה
בקוד העבדים הזה אני שוב כולל את הספרייה לתקשורת i2c. אני נכנס לרשת כעבד עם הכתובת 8. אנו רושמים את אירוע הבקשה ומשייכים אותו לפונקציית "בקשה". אתה לא צריך לעשות שום דבר בלולאה, רק תן עיכוב של 0.1 שניות.
לבסוף, יש לנו את פונקציית הבקשה שתתבצע כאשר מתרחש אירוע הבקשה על ידי המאסטר, שנרשם ב- Setup. אנו משיבים, לבסוף, בהודעה של 6 בתים.
#include // inclui a biblioteca for comunicação התקנת חלל I2C () {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} loop loop () {delay (100); // não faz nada no loop, apenas aguarda 0, 1 segundo} // função que será executada quando ocorrer o evento de requisição pelo mestre // foi registrada como evento no setup void requestEvent () {Wire.write ("teste"); // responde com uma mensagem de 6 bytes}
שלב 6: מנתח: חומרה
קצב דגימה עד: 24 מגהרץ
היגיון: 5 V עד 5.25 V
סף ברמה נמוכה 0.8 V
סף ברמה גבוהה 2.0 V
עכבת כניסה של כ -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: הורד את הקבצים
INO
מוּמלָץ:
ArduBand - שמור את העיניים !: 6 שלבים (עם תמונות)
ArduBand - שמור את העיניים !: היי, במצב הנוכחי אנשים רבים עובדים בבית, ולכן אנו מבלים הרבה יותר זמן מול מחשבים או סמארטפונים. לפעמים אנחנו יכולים לשבת כמה שעות מול התצוגה, להרוס את העיניים ולהקיף את הגב. נוכל להשתמש ב
צור מנתח לוגי דיגיטלי בפחות מ- 1: 5 שלבים
צור מנתח לוגי דיגיטלי בעלות של פחות מ- $ 1: חיישן רמת לוגיקה הוא מכשיר החוש אם הפלט של רכיב הוא 1 או 0 (חיובי או שלילי). אתה מכיר את חיישני הרמה הנחמדים האלה עם מסכי ה- LCD שעולים בסביבות 25 $? זה זול יותר לצחוק ועושה את אותו הדבר (אני
בודק שבבי לוגי פטל: 4 שלבים
Raspberry Pi Logic Chip Tester: זהו סקריפט של בודק היגיון עבור פטל פאי, בעזרתו תוכל לבדוק אם מעגל הלוגיקה שלך (תוצרת עצמית) עובד. ניתן להשתמש בתסריט זה גם לבדיקת ממסרים. אזהרה: פטל הפטל אינו פועל תומך בכניסות 5V GPIO, כך שאם המעגל שלך פלט 5V, יו
ממיר לוגי DIY פשוט למכשירי 3.3V: 4 שלבים
ממיר לוגי פשוט DIY למכשירי 3.3V: בפוסט זה אראה לך כיצד תוכל להכין ממיר לוגית 5V עד 3.3V משלך לחיבור חיישני 5V ללוחות Arduino חדשים ולפטל פי. מדוע אנו צריכים IC ממיר רמה לוגי ? רובכם אוהבים לשחק עם Arduino ו- Raspberry Pi במהלך
מנתח לוגי עם ממשק משתמש אנדרואיד: 7 שלבים
מנתח לוגי עם ממשק משתמש אנדרואיד: העולם כבר מוצף בכל כך הרבה מנתחי לוגיקה. בתחביב האלקטרוניקה שלי, הייתי צריך אחד לפתרון בעיות וניפוי באגים. חיפשתי באינטרנט אבל לא מצאתי את זה שאני מחפש. אז הנה אני מציג … " עוד עוד Lo