I2C-זעיר-USB הוא קוד פתוח / פרויקט חומרה פתוח.
צרף כל שבב לקוח I2C (Thermo חיישנים, ממיר AD, מציג, נהג Relais, ...) למחשב באמצעות USB ... מהיר, קל וזול! דרייברים עבור לינוקס, Windows ו- MacOS זמין.
פרויקט I2C-הזעיר-USB הוא פרויקט קוד פתוח חומרה / פתוח. מטרת I2C-הזעיר-USB היא לספק ממשק I2C גנריות זול שיצורף את ה- USB. הוא נועד כתחליף לאלה יציאת מדפסת פשוטה וזולה למתאמי I2C. יש פתרון USB מספר יתרונות כולל. אספקת החשמל מובנה וממשק הוכחה יותר בעתיד.
יתר על כן אין bitbanging CPU האינטנסיבית נדרשה בצד המארח. פתרון USB זה אפילו דורש פחות חלקים מאשר פתרונות יציאת המדפסת כמה.
בעוד-usb I2C-זעיר פותח תחת ועבור לינוקס זה גם עובד תחת Windows ו- MacOS X. נהג הדגמת חלונות יישום הדגמה כלולה כדי להתחיל מייד.
פרויקט I2C-הזעיר-USB מבוסס על:
פרויקט USB לינוקס ואת היישום לינוקס I2C
נהג חלונות יישום מבחן מבוססים על-win32 Libusb
AVR-USB, יישום תוכנה טהור של USB עבור פלטפורמת AVR
USBtiny, אחר יישום USB תוכנה עבור הרסיבר
החומרה של ממשק I2C-זעיר-usb מורכב המעבד ATtiny45 AVR Atmel, מיקרו זול וקל להשיג עם 4 KBytes פלאש (מתוכם ~ 2k משמשים ביישום זה) ו 256 RAM Bytes. המעבד מוקף כמה חלקים אחרים.
ממשק ה- USB
ממשק ה- USB של ממשק I2C-זעיר-USB מבוסס על יישום תוכנה טהור ומשתמש שתי סיכות של הרסיבר (PB0 ו PB2). יישום תוכנה זו תומכת USB במהירות נמוכה רק אשר אותת למחשב על ידי הנגד R1.
ממשק I2C מיושם באמצעות גישת bitbanging. הממשק טווי נתמך החומרה של attiny45 מאוגד סיכות חומרה על שבב הנדרשים לתפעול USB ולכן יכול לא לשמש I2C. ממשק I2C bitbanging בשימוש במקום לא יהיו תואמים I2C מלא ולכן לא כל שבב הלקוח I2C יפעלו כהלכה ב האוטובוס הזה. אין תאימויות דווחו עד כה. I2C-זעיר-USB מספק עיכוב השעון I2C מתכווננת תוכנה המאפשרת להגדיר את השעון I2C. עיכוב ברירת המחדל הוא 10us. בשל עיכובים נוספים בקוד I2C bitbanging זה תוצאות שעון I2C של כ 50kHz.
מסיבות הפשטות כל העברות USB נעשות באמצעות קצה השליטה. מאחר שספריית usb AVR אין רק לתמוך במכשירים במהירות נמוכה היא אינה יכולה להשתמש העברות בתפזורת אשר שצוינו עבור התקנים במהירות גבוהה מן המניין בלבד. מכשירי מהירות נמוכים תומכים שנקראים העברות פסיקה אשר מוגבלות רוחב פס מוגדר מראש בעת העברות שליטה יכולות להשתמש בכל רוחב פס חינם (אם יש בכלל).
המכשיר ולכן משתמש העברות בקרה עבור כל התקשורת שלה. זה דורש קצת מגבלה נוספת כדי למנוע תוכנת מנהל התקן מרובה (למשל נהג הקרנל ואת יישום המבחן המבוסס Libusb) לגשת אל המכשיר בעת ובעונה האחת. בלינוקס זו יכולה להיות מושגת על ידי בחירת סוגי בקשת גישה מסוימת. סוג זה של בקרת גישה אינו אפשרי תחת מערכות הפעלה אחרות.
צריכת חשמל
המכשיר כולו הוא מכשיר מופעל שנקרא אוטובוס. משמעות הדבר היא כי המכשיר המלא הוא מופעל ישירות מ- USB. לכן הרסיבר ואחד או יותר שבב לקוח I2C הם מופעלים מן אות VBUS USB.
מתאם עצמה צורך פחות מ- 10mA ודוחות זה המארח דרך מתארי USB שלה. המכשיר הוא מסוגל שבבי הלקוח I2C כוח גם כן. אבל מאז השבבים הללו להשתנות בצריכת חשמל לא ניתן לכלול את דרישותיהם בצורה נכונה לתוך מתארי המכשיר. זה באחריותך לפקוח עין על אספקת החשמל הכולל ובמיוחד לוודא כי המכשיר כולו אינו עולה על גבול USB הכולל של 500mA.
זה מתוכנן עבור גרסאות קושחה בעתיד לבצע את התוכנה צריכת החשמל דיווחה להגדרה ולכן הערך ניתן לאמץ בקלות לדרישות הכוח האמיתי של המכשיר כולו.
נהג Kernel
The-usb I2C-זעיר נועד לשמש עם לינוקס. זה בא עם נהג הקרנל לינוקס מגשר בין מערכות USB ו- I2C בליבת לינוקס. הנהג ואז מצרף את תקן ה- USB ולבצע את אוטובוס I2C לרשות משנה I2C. כך ההתקנה כולה שקופה יישומי לקוח כמו במסגרת lm_sensors ואין נהגה שבב לקוח מיוחד הנדרשות. במקום הנהגים כבר כיום בליבת לינוקס משמשים עם USB-I2C-זעיר גם כן. עם למשל חיישני טמפרטורת ds1621 המשמשים אב טיפוס הפלט של חיישנים עשוי למשל להיראות כך:
ds1621-I2C-2-48
מתאם: I2C-זעיר-usb לעבר אוטובוס 003 מכשיר 017
טמפ: 21.50
פרטי תוכנה:
גרסה: 2009-02-10 מעודכן
טען תאריך: 7 Mar 16
רשיון: ללא תשלום
פופולריות: 114
תגובות לא נמצא