و-I2C صغيرة-USB هو / مشروع الأجهزة مفتوحة المصدر المفتوح.
نعلق أي شريحة العميل I2C (الحرارية وأجهزة الاستشعار، تحويل ميلادي، ويعرض، سائق ريلايس، ...) إلى جهاز الكمبيوتر الخاص بك عن طريق USB ... سريعة وسهلة ورخيصة! السائقين لينكس، ويندوز وماك المتاحة.
المشروع I2C-صغير-USB هو / مشروع الأجهزة مفتوحة المصدر المفتوح. هدف I2C-صغير-USB هو توفير رخيصة واجهة I2C العامة لضمها إلى USB. ومن المفترض أن يكون بديلا لأولئك بسيطة ورخيصة منفذ الطابعة إلى محولات I2C. حل USB لديه العديد من المزايا بما في ذلك المدمج في إمدادات الطاقة واجهة دليل على المزيد من المستقبل.
وعلاوة على ذلك لا يلزم وحدة المعالجة المركزية تقسيم البت مكثفة على الجانب المضيف. هذا الحل يتطلب USB حتى أجزاء أقل من بعض الحلول منفذ الطابعة.
في حين تم تطوير-USB-I2C صغيرة تحت ولينكس كما أنها تعمل تحت ويندوز وماك العاشر ويتم تضمين برنامج تشغيل Windows العرض والطلب تجريبي لتبدأ على الفور.
ويستند المشروع I2C-صغير-USB على:
مشروع USB لينكس وتنفيذ لينكس I2C
وتستند سائق النوافذ وتطبيق الاختبار على libusb-Win32 و
AVR-USB، وتنفيذ البرامج نقية من USB لمنصة AVR
USBtiny، والبرمجيات تنفيذ آخر USB لAVR
الأجهزة واجهة I2C-صغير-USB يتكون من اتميل AVR ATtiny45 وحدة المعالجة المركزية، متحكم رخيصة وسهلة للحصول على 4 كيلوبايت فلاش (التي تستخدم ~ 2K في هذا التطبيق) و 256 بايت من ذاكرة الوصول العشوائي. ويحيط المعالج من خلال أجزاء قليلة أخرى.
واجهة USB
ويستند واجهة USB واجهة I2C-صغير-USB على تنفيذ البرامج نقية ويستخدم اثنين من المسامير من AVR (PB0 وPB2). تنفيذ البرنامج هذا يدعم منخفض السرعة USB فقط التي يتم الإشارة إلى جهاز الكمبيوتر عن طريق المقاوم R1.
ويتم تنفيذ واجهة I2C باستخدام نهج تقسيم البت. لا بد الأجهزة المعتمدة واجهة التوي من attiny45 دبابيس الأجهزة في رقاقة المطلوبة للتشغيل USB، ويمكن بالتالي لا يمكن استخدامها لI2C. واجهة I2C تقسيم البت تستخدم بدلا من ذلك قد لا يكون كاملا I2C متوافقة، وبالتالي ليس كل رقاقة العميل I2C قد تعمل بشكل صحيح في هذه الحافلة. لم يبلغ عن أي عدم التوافق حتى الآن. يوفر-USB-I2C صغيرة من برنامج قابل للتعديل تأخير عقارب الساعة I2C السماح لتكوين مدار الساعة I2C. التأخير الافتراضي هو 10US. بسبب التأخير إضافية في رمز I2C تقسيم البت هذه النتائج في ساعة I2C حوالي 50kHz.
لأسباب البساطة تتم جميع عمليات نقل USB عبر نقطة النهاية السيطرة. منذ المكتبة AVR USB لا تدعم فقط الأجهزة سرعة منخفضة فإنه لا يمكن استخدام نقل الجماعي الذي يتم تحديده للأجهزة عالية وبسرعة كاملة فقط. أجهزة سرعة منخفضة تدعم ما يسمى نقل المقاطعة التي تقتصر على عرض النطاق الترددي مسبقا في حين نقل السيطرة يمكن استخدام أي عرض النطاق الترددي الحرة (إذا كان هناك أي على الإطلاق).
لذا يستخدم جهاز نقل السيطرة على كل من رسالتها. وهذا يتطلب بعض قيود إضافية لمنع برنامج تشغيل متعددة (مثل السائق نواة وlibusb تطبيق الاختبار على أساس) للوصول إلى جهاز في نفس الوقت. لينكس ويمكن تحقيق ذلك عن طريق تحديد أنواع معينة من وصول الطلب. هذا النوع من التحكم في الوصول قد لا يكون ممكنا في ظل أنظمة التشغيل الأخرى.
استهلاك الطاقة
الجهاز كله هو ما يسمى جهاز حافلة تعمل بالطاقة. وهذا يعني أن الجهاز الكامل هو مدعوم مباشرة من USB. لذلك تعمل بالطاقة AVR واحد أو أكثر من رقائق العميل I2C من إشارة USB VBUS.
محول نفسه يرسم أقل من 10MA وتقارير هذا إلى المضيف عبر اصفات USB الخاص به. الجهاز قادر على رقائق العميل I2C السلطة كذلك. ولكن منذ هذه الرقائق تختلف في استهلاك الطاقة فمن غير الممكن إدراج مطالبهم إلى واصفات الجهاز بشكل صحيح. انها مسؤوليتكم لإبقاء العين على مجموع إمدادات الطاقة وخاصة للتأكد من أن لا يتجاوز الجهاز بأكمله الحد USB الكلي لل500mA و.
ومن المخطط للإصدارات البرامج الثابتة في المستقبل لجعل البرنامج استهلاك الطاقة ذكرت شكلي بحيث يمكن بسهولة أن اعتمدت قيمة لمطالب السلطة الحقيقية للجهاز بأكمله.
سائق النواة
ويهدف-USB-I2C صغيرة ليتم استخدامها مع لينكس. لأنه يأتي مع سائق نواة لينكس التي الجسور بين USB وI2C النظم الفرعية في نواة لينكس. ثم تعلق على السائق إلى جهاز USB وجعل الحافلة I2C المتوفرة إلى النظام الفرعي I2C. وهكذا الإعداد كله شفافة لتطبيقات العميل مثل إطار lm_sensors وليس هناك حاجة السائقين رقاقة العميل الخاصة. بدلا من ذلك استخدام برامج التشغيل الموجودة بالفعل في نواة لينكس لدى I2C صغيرة-USB كذلك. مع مثل أجهزة استشعار درجة الحرارة ds1621 المستخدمة في النموذج الناتج من أجهزة الاستشعار قد مثلا يبدو مثل هذا:
ds1621-I2C-2-48
محول: I2C-صغير-USB في الحافلة 003 جهاز 017
درجة الحرارة: +21.50
تفاصيل البرنامج:
لم يتم العثور على التعليقات