תוכן עניינים:

אוטובוס פיראט 3EEPROM Explorer Explorer: 5 שלבים
אוטובוס פיראט 3EEPROM Explorer Explorer: 5 שלבים

וִידֵאוֹ: אוטובוס פיראט 3EEPROM Explorer Explorer: 5 שלבים

וִידֵאוֹ: אוטובוס פיראט 3EEPROM Explorer Explorer: 5 שלבים
וִידֵאוֹ: Explore the Beauty of Capri, Italy Walking Tour - 4K 60fps - with Captions 2024, יולי
Anonim
אוטובוס פיראט 3EEPROM Explorer Explorer
אוטובוס פיראט 3EEPROM Explorer Explorer

אם יש לך אחד משודדי האוטובוסים של Hack a Day, מה אתה עושה עם זה? למד על EEPROM של חוטים אחד, I2C ו- SPI עם לוח Explorer 3EEPROM (אנו קוראים לזה THR-EE-PROM). EEPROM הוא סוג של שבב זיכרון המאחסן נתונים ללא אספקת חשמל רציפה. זה שימושי לאחסון נתונים קבוע במעגלי לוגר קטנים, או להחזיק דפים מותאמים אישית בשרת אינטרנט מיני. EEPROM מגיעים בהרבה גדלים ופרוטוקולים. ל- 3EEPROM יש שלושה שבבי EEPROM נפוצים: DS2431 (1-Wire), 24AA- (I2C) ו- 25AA- (SPI). שלושתם הודגמו בעבר ב- Hack a Day, אך כל הדגמה משתמשת בגרסה אחרת של חומרת הקושחה והקושחה של Bus Pirate, קשה למתחילים לעקוב אחריה באמצעות Bus Pirate v2go. המשך לקרוא לקבלת מדריך מעודכן צעד אחר צעד לשימוש. מכשירי ה- DS2431, 24AA- ו- 25AA- EEPROM עם אוטובוס פיראט v2go. יש לנו גם את כל יומני ההפעלות כקובצי טקסט, כך שלא תפספסו פרט אחד. נוכל לייצר מחשבי לוח PCB או ערכות 3EEPROM Explorer ב- Seeed Studio. PCBs הם כ 10 $, ערכות הם כ 15 $, נשלחים ברחבי העולם. עלינו לארגן רכישה קבוצתית של 10 PCB או 20 ערכות כדי להתחיל. אם אתה מעוניין בפיראט אוטובוסים, גרסה 3 מגיעה. לא יכולתי לכלול כמה רכיבי עיצוב וטבלאות HTML במדריך, תוכל לראות את הפוסט המקורי בבלוג Dotypous Prototypes.

שלב 1: סקירת חומרה 3EPROM

סקירת חומרה 3EEPROM
סקירת חומרה 3EEPROM
סקירת חומרה 3EEPROM
סקירת חומרה 3EEPROM
סקירת חומרה 3EEPROM
סקירת חומרה 3EEPROM

מטרתו של אב טיפוס זה היא ללמוד על EEPROM ועל שלושה פרוטוקולי אוטובוס נפוצים. ראשית, אנו מסתכלים על לוח ה- 3EEPROM, ולאחר מכן נדגים כל EEPROM באמצעות כלי ממשק סידורי אוניברסלי Bus Pirate. אם אין לך אוטובוס פיראט, אתה עדיין יכול לעקוב אחריו מכיוון שהסדר הבסיסי של פעולות הממשק נשאר אותו הדבר, לא משנה איך אתה מיישם אותם. CircuitFull size סכמטי [PNG]. יצרנו את המעגל ואת ה- PCB באמצעות גרסת תוכנה חופשית של Cadsoft Eagle. אתה יכול להוריד את הסכימה וה- PCB מארכיון Bus Pirate SVN. לוח ה- 3EEPROM מכיל DS2431 1-Wire EEPROM (IC1), 24AA-I2C EEPROM (IC4) ו- 25AA-SPI EEPROM (IC5). DS2431 (IC1) שואב חשמל באופן טפילי מהאוטובוס החד-חוטי, אין לו סיכת אספקת חשמל חיצונית ואינו דורש קבל ניתוק. IC2 ו- IC3 הם נקודות ריקות למכשירי 1-Wire נוספים, כמו עוד DS2431 או חיישן טמפרטורה DS1822. C1 (0.01uF) הוא אופציונלי ונדרש רק אם IC2 או IC3 מאוכלסים במכשיר חד-חוטי מופעל. 1-Wire דורש נגד משיכה חזק, מקסימום של 2.2K אוהם. נגדי המשיכה המשולבים של האוטובוס פיראט הם 10K, חלשים מכדי להניע את ה- DS2431 כראוי במהלך כתיבה. לוח האקספלורר 3EEPROM כולל נגד משיכה של 1.8k אוהם, 1/8 וואט (R1) באוטובוס 1-Wire כך שלא יהיה צורך בנגד משיכה נוסף. 24AA- (IC4) ו- 25AA- (IC5) כל אחד מקבל קבל 0.1uF כדי לנתק אותם מהספק (C2, C3). אתה כנראה לא צריך את הקבלים במעגל כל כך פשוט, השמטנו אותם מלוח האב -טיפוס בהפגנה. האוטובוס I2C המשמש את 24AA- דורש גם נגדי משיכה, אך נגדי המשיכה של 10K אוהם המשולבים של האוטובוס פיראט מספקים. כל הרכיבים יפעלו מ 2.8 וולט עד 5 וולט DC. המעגל מופעל דרך סיכות VCC ו- GND של המגשר 3. יש שני סיכות VCC, האחד מיועד להספק, השני מיועד לפינת כניסת מתח הנגיעה של ה- Pirate Bus (Vpullup). PCB יצרנו את המעגל וה- PCB באמצעות גרסת תוכנה חופשית של Cadsoft Eagle. אתה יכול להוריד את הסכימה וה- PCB מארכיון ה- SVN של Pirate Bus. אם אתה רוצה ערכת PCB או ערכת 3EEPROM מוכנה במקצועיות, אולי נוכל לארגן רכישה קבוצתית אם 10 או 20 אנשים מעוניינים בכך. רשימת חלקים הנגד של 1800 אוהם (1/8 וואט) C2, 3 0.1uF קבלים/10 וולט+כותרת פינים זכר JP1-4 0.1 "IC1 DS2431 1K 1-wire EEPROM TO-92IC4 ** 24AA014-I/P I2C EEPROM DIP8IC5 ** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8 פינים DIP שקע עבור IC5, 6 ** IC4, IC5 יכול להיות בכל גודל, קישרנו לשבבים קטנים, השתמשנו ב- 128bytes ו- 128Kbytes. לא יכולתי לכלול כמה טבלאות עיצוב וטבלאות HTML ב- Instructable, אתה יכול לראות את הפוסט המקורי בבלוג של אב טיפוס מסוכן.

שלב 2: 25AA- / 25LC- SPI EEPROM

25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM

כל ההדגמות של EEPROM נראות פחות או יותר זהות. נכתוב כמה מספרים לשבב ולאחר מכן נקרא אותם. לכל מכשיר יש תנאים החלים ברגע שאתה רוצה לכתוב יותר מכמה ערכים, כגון גודל עמוד ומגבלות גבול. קרא עוד אודות אלה בגיליון הנתונים של המכשיר הספציפי שלך. אם אינך מצליח לגרום להפגנה לעבוד, הורד את יומן הטרמינל המלא כדי שלא תפספס דבר אחד שעשינו. נגדי משיכה הם הבעיה השכיחה ביותר, בדוק את מתח הסיכה הנפתחת באמצעות תפריט 'v' במסוף האוטובוס פיראט. צ'יפ: 25AA, SPI EEPROM (1Kbyte). אוטובוס: SPI. נגדי משיכה נדרשים רק לממשק במתח מעורב. דרישות הספק: 1.8 וולט עד 5.5 וולט (AA), 2.5 וולט עד 5.5 וולט (LC). הפניות: גליון נתונים, הדגמת Hack a Day.. לא יכולתי לכלול כמה טבלאות עיצוב ו- HTML ב- Instructable, אתה יכול לראות את המקור בבלוג Dotypous Prototypes. IC5 הוא סדרת I2C מסדרת 25AA מ- Microchip, EEPROM אלה מגיעים בהמון גדלים. חלקי AA פועלים מ -1.8 וולט ל -5.5 וולט, בעוד שלחלקים 25LC יש דרישה מינימלית של 2.5 וולט. C3 (0.1uF) מנתק את ה- SPI EEPROM מספק הכוח. סיכות ההגנה (WP) והאחיזה יכולות להיות נשלטות על ידי מיקרו -בקר, אך השבתנו אותן על ידי החזקת סיכות אלה גבוהות. סיכות האוטובוס SPI, CS, DO, CLK ו- DI, מובאות לכותרת JP4. הגדרה אם אתה משתמש באוטובוס פיראט, חבר אותו ל- 3EEPROM או 25AA-IC כפי שמוצג בתמונת התרשים למטה. SPI בדרך כלל לא דורש נגדי משיכה. ממשק במסוף Bus Pirate לחץ על 'm' לתפריט המצב ובחר SPI. הגדר את ספריית SPI עבור פלט סיכה רגיל, השתמש בברירות המחדל עבור כל הגדרות מצב SPI אחרות. הפעל את ספק הכוח ('W' גדול) בהנחיית מצב SPI. לבסוף, קבל דוח מתח כדי לוודא שספקי הכוח פועלים ('v'). אנו הולכים להדגים כיצד לממשק את ה- EEPROM ישירות ב -3.3 וולט באמצעות ספריית SPI במצב סיכה רגיל. נגדי משיכה אינם נדרשים להדגמה זו. אם ברצונך להתממשק ל- EEPROM המופעל על ידי 5 וולט, השתמש בספריית SPI במצב סיכה פתוחה (HiZ) והפעל את נגדי המשיכה כאשר סיכת ה- Vpullup (Vpu) מחוברת לספק הכוח של EEPROM. שלב 1, כבה את SPI> [0b110] CS-enabled <<< שבב בחירה מופעל כתוב: 0x06 <<< השבת פקודה להגן על כתיבה CS DISABLED <<25AA- מוגן בכתיבה בעת הפעלה. הורד שבב תחתון (CS) ([), שלח את הפקודה 'ביטול כתיבת הגנה' (0x06) ולאחר מכן העלה את CS (]) כדי לאפשר כתיבה ל- EEPROM. 0b110 ופיראט האוטובוסים עדיין מבינים. שלב 2, כתוב כמה ערכים 'SPI> [0b10 0 3 2 1] CS ENABLED <<< שבב בחר מופעל WRITE: 0x02 <<< כתוב פקודה WRITE: 0x00 <<< כתוב התחלה כתוב: 0x03 <<< 3 ערכים לכתוב (3, 2, 1) כתוב: 0x02 כתוב: 0x01CS מושבת <<כעת ניתן לכתוב את ה- EEPROM. ראשית, הורד CS כדי להפעיל את 25AA- ([). לאחר מכן, שלח את פקודת הכתיבה (0x02) ואת המיקום כדי להתחיל בכתיבה (0). שלח את הנתונים לאחסון (3 2 1), ולאחר מכן העלה את CS (]) כדי לשמור את הערכים. הערה: השתמשנו ב- EEPROM זעיר של 128 בתים, שבבים גדולים יותר ישתמשו בכתובת 16 ביט (2 בתים). פקודה זו תהיה [0b10 0 '' '0' '' 3 2 1] עבור EEPROM הגדולים מ- 256bytes, שים לב לסעיף 0. בדוק את גליון הנתונים של ה- EEPROM שלך כדי להיות בטוח. שלב 3, קרא את הערכים בחזרה SPI> [0b11 0 r: 3] CS ENABLED <<< בחר שבב מופעל כתוב: 0x03 <<< קרא פקודה כתוב: 0x00 <<< קרא כתובת התחלה Bulk Read 0x03 BYTES: <<< קרא 3 ערכים0x03 0x02 0x01CS מושבת <<לבסוף, קרא את הנתונים בחזרה כדי לוודא שהכתיבה הצליחה. בחר את 25AA- ([), שלח את פקודת הקריאה (0x03) ואת כתובת ההתחלה (0), ולאחר מכן קרא שלושה ערכים (r: 3). הרם את CS כדי להשלים את העסקה (]). הערכים תואמים, הכתיבה הצליחה. הערה: השתמשנו ב- EEPROM זעיר של 128 בתים, שבבים גדולים יותר ישתמשו בכתובת 16 ביט (2 בתים). פקודה זו תהיה [0b11 0 '' '0' 'r: 3] עבור EEPROM הגדולים מ- 256bytes, שים לב לסעיף 0. בדוק את גליון הנתונים של ה- EEPROM שלך כדי להיות בטוח.

שלב 3: 24AA- / 24LC I2C EEPROM

EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C

שבב: 24AA, I2C EEPROM. יומן הפעלות של אוטובוס פיראטים להדגמה זו. לא יכולתי לכלול כמה טבלאות עיצוב וטבלט ב- Instructable, אתה יכול לראות את המקור בבלוג Dotypous Prototypes. IC4 הוא מסדרת I2C מסדרת IA 24AA מ- Microchip, אלה EEPROM מגיעים ב- טון גדלים. חלקי AA עובדים מ -1.8 וולט עד 5.5 וולט, בעוד שלחלקים של 24LC דרישה מינימלית של 2.5 וולט. קבל 0.1uF (C2) מנתק את IC4 מספק הכוח. ניתן לשלוט בסיכת ההגנה על כתיבה (WP) באמצעות מיקרו -בקר, אך עבור ההדגמה הפשוטה הזו אנו משביתים אותה בחיבור לאדמה. סיכות האוטובוס I2C, SDA ו- SCL, מוציאות לכותרת JP2. הכתובת של רוב 24AA EEPROM היא 1010AAAS, כאשר ארבעת הביטים האחרונים נקבעים על ידי סיכות הכתובת (A0, A1, A2) וביט הבחירה של מצב קריאה/כתיבה. (S). כל סיביות הכתובת מבוססות בדוגמה זו, ולכן כתובת הכתיבה של ה- EEPROM היא 10100000 (גליון נתונים עמוד 6). הגדרה אם אתה משתמש באוטובוס פיראט, חבר אותו ל- 3EEPROM או 24AA-IC כפי שמוצג בתמונת התרשים למטה. I2C הוא אוטובוס דו כיווני הדורש נגדי משיכה בשני הסיכות. אתה יכול להשתמש בנגדי המשיכה המשולבים של האוטובוס פיראט על ידי חיבור סיכת ה- Vpullup (Vpu) לאספקת החשמל של 3.3 וולט ומאפשרת אותם במסוף. הערת ממשק: לא כל I2C EEPROM פועלים אותו דבר. 24AA01 הזעיר, למשל, כולל מערכת כתובת ופיקוד שונה בתכלית. הקפד לבדוק את גליון הנתונים של השבב שלך. לחץ על 'm' במסוף Bus Pirate ובחר I2C מתפריט המצב. הפעל את ספקי הכוח ('W' הגדולים) ואת נגדי המשיכה ('p', אפשרות 2) בהנחיית I2C. קבל דו"ח מתח ('v') כדי לוודא שספקי החשמל פועלים וסיכת ה- Vpullup מחוברת למתח. I2C> (0) <<(1) <<< שימוש בכתובת מאקרו לחיפוש כתובות חיפוש 7bit I2C כתובת. התקנים מצויים ב: 0xA0 0xA1 <<אנו כבר יודעים שכתובת I2C היא 10100000, אך אנו יכולים גם להשתמש במאקרו החיפוש I2C של פיראט האוטובוס (1) כדי לחפש את 24AA-. מאקרו החיפוש מצא את המכשיר בכתובות הכתיבה (0xA0) והקריאה (0xA1) הצפויות. שלב 1, כתוב כמה ערכים I2C> [0b10100000 0 0 3 2 1] תנאי התחלה I2C <<< מצב התחלה I2C כתוב: 0xA0 GOT ACK: YES <<< 24AA- כתוב כתוב: 0x00 GOT ACK: YES <<< כתוב כתובת בית 1WRITE: 0x00 GOT ACK: YES <<< כתובת בית כתובת 2WRITE: 0x03 GOT ACK: YES <<< 3 ערכים לכתיבה (3, 2, 1) כתוב: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP CONDITION < <התחל את הכתיבה בתנאי התחלה של I2C ([), ואחריה כתובת הכתיבה 24AA (0xa0). לאחר מכן, שלח את כתובת 16bit לכתוב ב (0 0) ואת הנתונים לכתוב (3 2 1). סיים את עסקת I2C עם תנאי עצירה (]). שלב 2, מקם את מצביע הקריאה I2C> [0b10100000 0 0] I2C START CONDITION <<< I2C start conditionWRITE: 0xA0 GOT ACK: YES <<< 24AA- כתוב כתוב כתוב: 0x00 GOT ACK: YES <<< כתוב ביתא 1WRITE: 0x00 GOT ACK: YES <<< כתוב בייט כתובת 2I2C STOP CONDITION <<נדרשות שתי פעולות כדי לקרוא מתוך ה- 24AA-. אחד ממקם את מצביע הקריאה/כתיבה, השני מחזיר את הערכים. התחל עם תנאי התחלה I2C ([) וכתובת הכתיבה (0xa0). שלח את כתובת ה -16 ביט לקריאה (0 0), ולאחר מכן את מצב העצירה (]). הפעם לא שלחנו נתונים לכתיבה, רק מיקמנו את מצביע הקריאה/כתיבה בחזרה לתחילת הנתונים שכתבנו בשלב 1. שלב 3, קרא כמה ערכים I2C> [0b10100001 r: 3] I2C START CONDITION <<< מצב התחלה I2C כתוב: 0xA1 GOT ACK: YES <<< 24AA- read addressBULK READ 0x03 BYTES: <<< read 3 values0x03 0x02 0x01I2C STOP CONDITION <<שלב 2 הגדר את מצביע הקריאה/כתיבה לתחילת הנתונים שברצוננו לקרוא. כעת נוכל לקרוא את הנתונים באמצעות כתובת קריאת 24AA. התחל בתנאי ההתחלה I2C ([) ובכתובת קריאת 24AA (0xa1). קרא את שלושת הערכים שכתבנו בשלב 1 (r: 3), וסיים בתנאי עצירה (]). אם הערכים תואמים, הכתיבה שלך הצליחה.

שלב 4: DS2431 1-Wire EEPROM

DS2431 EEPROM חד-חוטי
DS2431 EEPROM חד-חוטי
DS2431 EEPROM חד-חוטי
DS2431 EEPROM חד-חוטי
DS2431 EEPROM חד-חוטי
DS2431 EEPROM חד-חוטי

שבב: DS2431, EEPROM חד-חוטי (1Kbyte). אוטובוס: חוט אחד, <2.2 קואם נגבה נדרש. דרישות הספק: 2.8 וולט עד 5.25 וולט. הפניות: גליון נתונים, הפגנת פריצה ביום. יומן הפעלה של פיראטים באוטובוס. עבור הדגמה זו. לא יכולתי לכלול כמה טבלאות עיצוב ו- HTML ב- Instructable, אתה יכול לראות את המקור בבלוג Dotypous Prototypes. DS2431 שואב כוח מנגד המשיכה ואינו זקוק לאספקה חיצונית או לקיבול ניתוק.. 1-Wire זקוק לנגד משיכה חזק, למקסימום של 2.2 קאוהם. נגדי המשיכה המשולבים של האוטובוס פיראט הם 10K, חלשים מכדי להניע את ה- DS2431 כראוי במהלך כתיבה. עליך להשתמש בנגד חיצוני של 2.2 קאוהם או קטן יותר בין החשמל לסיכת האוטובוס של 1 חוט. אם אתה מתקשה בכתיבת נתונים, וודא שנגד המשיכה שלך גדול מספיק. לוח ה- 3EEPROM Explorer כולל נגד משיכה של 1800 אוהם (R1) באוטובוס 1-Wire כך שאין צורך בנגד חיצוני. הגדרה אם אתה משתמש באוטובוס פיראט, חבר אותו ללוח 3EEPROM או DS2431 כפי שמוצג בתמונת התרשים למטה. ה- DS2431 אינו דורש את סיכת אספקת החשמל, הוא משמש על לוח 3EEPROM כדי להניע את הנגד הנפתח הגדול לאוטובוס חד-חוטי. ממשק לחץ על 'm' במסוף אוטובוס פיראטים ובחר במצב חוט אחד. הפעל את ספק הכוח המשולב ('W' גדול) ובדוק את צג המתח (v). שלב 1, מצא את כתובת המכשיר 1-WIRE> (0xf0) <<< 1-Wire macro macro 1WIRE ROM COMMAND: SEARCH (0xF0) התקנים שנמצאו בכתובת: מאקרו 1WIRE כתובת 1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 מזהה ייחודי*DS2431 1K EEPROM <<לכל מכשיר 1-Wire מזהה ייחודי של 8 בתים. ל- 1-Wire יש הליך חיפוש המזהה את מזהה כל המכשירים המחוברים. האוטובוס פיראט מיישם את החיפוש החד-חוטי כמקרו (240). הקלד '(240)' במסוף אוטובוס פיראטים כדי להתחיל בחיפוש 1-Wire. כל כתובת מכשיר מודפסת, התקנים ידועים מזוהים. עשר כתובות המכשיר 1-Wire הראשונות מאוחסנות כמקרו מאקרו, בדוגמה זו כתובת DS2431 שלנו זמינה על ידי הקלדת '(1)' במסוף. שלב 2, כתוב 8 בתים למשטח הגירוד 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< also {command 1WIRE WRITE ROM COMMAND: MATCH (0x55) * בצע עם כתובת 64 ביט 1 WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'WRITE: 0x0F <<< DS2431 כתיבת פקודת משטח גירוד WRITE: 0x00 <<< DS2431 כתוב כתובת בית 1 WRITE: 0x00 <<< כתוב בכתובת DS2431: 0x08 <<לאחר מכן נכתוב 8 בתים למיקום זמני ב- DS2431 הנקרא כרית הגירוד. התחל את העסקה עם איפוס אוטובוס חד-חוטי ופקודת MATCH (0x55). שניהם זמינים כמקרו '(0x55)'. ניתן לעשות זאת גם ללא מאקרו על ידי הקלדת '{0x55', {שולח את איפוס החוט האחד, 0x55 הוא הפקודה 1-Wire MATCH. לאחר הפקודה MATCH, שלח את מזהה 8 בתים של המכשיר לכתובת. השתמשנו במאקרו (1) שאוכלס עם מזהה DS2431 בשלב 1. תוכל גם להזין את מזהה 8 הבייט באופן ידני. בשלב זה ה- DS2431 היה צריך לקבל את כתובתה ולהיות מוכן לפקודות. 0x0f היא הפקודה כרית גירוד כתיבה, היא אומרת ל- DS2431 לצפות לנתונים. שני הבייטים הבאים אומרים לו היכן לשים את הנתונים, נשמור אותם בהתחלה (0 0). לבסוף, אנו שולחים 8 בתים של ערכים לאחסון, המספרים 8 עד 1. עליך לכתוב 8 בתים מלאים ל- DS2431. בנוסף, כתובת הכתיבה חייבת להיות בגבול 8 בתים. עיין בגיליון הנתונים לקבלת סקירה מלאה של מגבלות הכתיבה. שלב 3, אמת את משטח הגירוד וקבל את קוד ההרשאה 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< כתוב למכשיר 1WIRE WRITE ROM COMAND: MATCH (0x55) *עקוב עם כתובת 64 ביט 1 ADRESS ADRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< read command padBULK READ 0x03 BYTES: <<< קוד הרשאה0x00 0x00 0x07B0K READ נתוני 0 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<< CRC עבור data0xC8 0x86BULK READ 0x02 BYTES: <<ודא שהנתונים התקבלו כראוי, וקבל קוד הרשאת כתיבה. התחל שוב עם איפוס חד-חוטי ומאקרו פקודה MATCH (0x55), ומאקרו כתובת המכשיר (1). הפעם שלח את הפקודה DS2431 read scratch pad (0xAA), ולאחר מכן קרא סך של 15 בתים. כרית גירוד ל- EEPROM. 8 הבייטים הבאים (r: 8) צריכים להתאים לנתונים ששלחנו בשלב 2. 2 הבייטים האחרונים (r: 2) הם CRC16 עבור הנתונים. נקרא לאחר החזרת ה- CRC את כל ה -1. שלב 4, כתוב את כרית הגירוד ל- EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< כתובת למכשיר 1WIRE WRITE ROM COMANDAND: MATCH (0x55) *עקוב אחר עם כתובת 64bit1WIRE ADRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< העתק פקודת משטח גירוד WRITE: 0x00 <<< קוד אישור 3 בתים משלב 3WRITE: 0x00WRITE: 0x071-WIRE> יש לנו כל מה שאנחנו צריכים כדי לאחסן את נתוני משטח הגירוד לצמיתות ב- EEPROM. כתוב את המכשיר ולאחר מכן שלח את הפקודה DS2431 העתק גירוד (0x55) ואחריו את קוד הרשאת שלושת הבייטים שאחזרנו בשלב 3 (0x00 0x00 0x07). אם קוד ההרשאה נכון, הנתונים מועברים ל- EEPROM. שלב 5, אמת את משטח הגירוד כתוב 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< כתוב למכשיר 1WIRE WRITE ROM COMANDAND: MATCH (0x55) *פעל עם כתובת 64bit1 ADRESS ADRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< לקרוא פקודה של משטח גירוד BULK READ 0x03 BYTES: 0x00 0x00 0x87 <<ה- DS2431 קובע את החלק העליון ביותר של קוד הרשאת הכתיבה לאחר פקודה מוצלחת של כרית גירוד. שלח פקודה נוספת של משטח גירוד קריאה (0xAA) כדי לקבל את קוד ההרשאה המעודכן, אך פשוט קרא את שלושת הבייטים הראשונים (r: 3). הערך הקודם 0x07 השתנה ל- 0x87, פקודת ההעתקה התקבלה בהצלחה.שלב 6, קרא שוב את הערכים 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET OK <<< כתובת למכשיר 1WIRE WRITE ROM COMANDAND: MATCH (0x55) *עקוב אחר עם כתובת 64bit1 WIRE ADRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 קריאת פקודה WRITE: 0x00 <<< כתובת 2 בתים לקרוא כתוב: 0x00BULK READ 0x08 BYTES: <<< קרא 0x0x0x0x0x080x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x00 0x08 BYTES: <<ודא שהכתיבה עבדה כראוי על ידי אחזור הערכים. כתובת ה- DS2431 ולאחר מכן שלח את פקודת הקריאה (0xf0) ואת הכתובת לקריאה (0x00 0x00). אפשר לקרוא את כל טווח הזיכרון באמצעות פקודה אחת. קראנו את שמונת הבייטים שכתבנו קודם (r: 8), שהחזירו את הערכים הצפויים. שמונה הבייטים מעבר לערכים אלה לא נכתבו ומחזירים 0.

שלב 5: מסקנה

סיכום
סיכום

מסקנה אב טיפוס זה מלמד על זיכרון EEPROM, ומדגים כיצד להשתמש בפיראט האוטובוסים עם שלושה פרוטוקולים נפוצים: 1-Wire, I2C ו- SPI. לוח החוקר 3EEPROM מבטיח את החיבורים הנכונים לכל EEPROM, ומספק נגד משיכה חיצונית עבור האוטובוס התובעני יותר עם 1 חוטים עם רכיבים המופעלים על ידי טפילים. אנו יכולים לייצר מחשבים לוחיים או ערכות 3EEPROM explorer ב- Seeed Studio. PCBs הם כ 10 $, ערכות הם כ 15 $, נשלחים ברחבי העולם. עלינו לארגן רכישה קבוצתית של 10 PCB או 20 ערכות כדי להתחיל.

מוּמלָץ: