در I2C کوچک-USB A / پروژه های سخت افزاری باز منبع باز است.
ضمیمه هر تراشه مشتری I2C (حرارتی سنسور، مبدل AD، صفحه نمایش، راننده RELAIS، ...) به کامپیوتر از طریق USB ... سریع، آسان و ارزان! درایور برای لینوکس، ویندوز و MacOS در دسترس است.
این پروژه I2C کوچک-USB AN / پروژه های سخت افزاری باز منبع باز است. هدف از I2C کوچک-USB است که به ارائه یک رابط I2C عمومی ارزان به به USB متصل می شود. آن را به عنوان یک جایگزین برای کسانی که پورت چاپگر ساده و ارزان به آداپتورهای I2C به معنای. یک راه حل USB دارای چندین مزیت شامل ساخته شده در منبع تغذیه و یک رابط اثبات آینده بیشتر است.
علاوه بر این هیچ CPU بیت بنگ شدید در قسمت میزبان مورد نیاز است. این راه حل USB حتی نیاز به قطعات کمتر از برخی از راه حل پورت چاپگر.
در حالی که I2C کوچک-USB تحت توسعه داده شد و برای لینوکس آن را نیز تحت ویندوز و MacOS در X. آثار درایور ویندوز نسخه ی نمایشی و برنامه نسخه ی نمایشی گنجانده شده است به شما آغاز شده بلافاصله.
این پروژه I2C کوچک-USB است بر اساس:
این پروژه USB لینوکس و اجرای I2C لینوکس
راننده پنجره ها و نرم افزار آزمون بر روی LIBUSB-حذف win32 بر اساس
AVR-USB، یک پیاده سازی نرم افزار خالص USB برای پلت فرم AVR
USBtiny، یکی دیگر از نرم افزار اجرای USB برای AVR
سخت افزار این رابط I2C کوچک-USB متشکل از شرکت Atmel AVR ATtiny45 CPU، یک میکروکنترلر ارزان و آسان برای به دست آوردن با 4 کیلو بایت فلش (که ~ 2K در این نرم افزار استفاده می شود) و 256 بایت RAM. پردازنده های چند قسمت دیگر احاطه شده است.
رابط USB
رابط USB از رابط I2C کوچک-USB است در اجرای نرم افزار خالص و با استفاده از دو پین از AVR (PB0 و PB2). این پیاده سازی نرم افزار با پشتیبانی از تنها کم USB سرعت است که به PC توسط مقاومت R1 انجام میشود.
رابط I2C استفاده از یک رویکرد بیت بنگ اجرا شده است. سخت افزار پشتیبانی رابط توی از attiny45 به پین سخت افزار در تراشه ها که برای عملیات USB مورد نیاز و در نتیجه می تواند برای I2C استفاده نمی شود محدود شده است. رابط I2C بیت بنگ به جای استفاده ممکن است به طور کامل I2C سازگار و در نتیجه هر تراشه مشتری I2C ممکن است به درستی در این اتوبوس عمل کند. ناسازگار تاکنون گزارش شده است. I2C کوچک-USB یک نرم افزار قابل تنظیم تاخیر ساعت I2C اجازه می دهد برای پیکربندی ساعت I2C فراهم می کند. تاخیر پیش فرض 10us است. با توجه به تاخیر اضافی در کد I2C بیت بنگ این نتایج در یک ساعت I2C در حدود 50kHz.
به دلایل سادگی تمام نقل و انتقالات USB از طریق نقطه پایانی کنترل انجام می شود. از آنجا که کتابخانه AVR USB تنها به دستگاه های سرعت پایین حمایت از آن می توانید از انتقال فله که برای تنها دستگاه با سرعت بالا و کامل مشخص استفاده نکنید. دستگاه های سرعت پایین را پشتیبانی کنند تا انتقال وقفه که به یک پهنای باند از پیش تعیین شده محدود است در حالی انتقال کنترل می توانید هر پهنای باند رایگان (اگر هر گونه در همه وجود دارد) استفاده از نام.
بنابراین این دستگاه با استفاده از انتقال کنترل برای تمام ارتباطات آن است. این نیاز به برخی از محدودیت های بیشتری برای جلوگیری نرم افزار راه انداز های متعدد (برای مثال راننده هسته و LIBUSB نرم افزار آزمون بر اساس) برای دسترسی به دستگاه را در همان زمان. تحت لینوکس این می توان با انتخاب برخی از انواع درخواست دسترسی به دست آورد. این نوع از کنترل دسترسی ممکن است تحت سیستم عامل های دیگر امکان پذیر است.
مصرف برق
دستگاه طیف به اصطلاح دستگاه اتوبوس شده است. این به این معنی است که این دستگاه به طور کامل به طور مستقیم از USB طراحی شده است. بنابراین AVR و یک یا چند تراشه مشتری I2C از سیگنال VBUS USB طراحی شده است.
آداپتور خود تساوی کمتر از جریان 10mA گذرنده و گزارش این میزبان از طریق توصیف USB آن است. این دستگاه قادر به تراشه های مشتری I2C قدرت نیز می باشد. اما از آنجا که این تراشه در مصرف برق است ممکن است به درستی شامل خواسته های خود را به توصیف دستگاه. این مسئولیت خود را به نگه داشتن چشم در منبع تغذیه کل و به خصوص به مطمئن شوید که کل دستگاه از محدودیت USB کل 500MA تجاوز نمی کند.
این است که برای نسخه های سیستم عامل آینده به گزارش نرم افزار مصرف برق با قابلیت تنظیم به طوری که ارزش به راحتی می توانید به خواسته قدرت واقعی کل دستگاه به تصویب رسید برنامه ریزی شده.
هسته راننده
I2C کوچک-USB به معنای با لینوکس استفاده می شود. آن را با یک راننده هسته لینوکس است که پل بین USB و I2C زیر سیستم در کرنل لینوکس می آید. راننده و سپس به دستگاه USB متصل و اتوبوس I2C در دسترس را به زیر سیستم I2C است. بنابراین راه اندازی کل شفاف به برنامه های کاربردی مشتری مانند چارچوب lm_sensors و بدون راننده تراشه مشتری خاص مورد نیاز است. به جای رانندگان در حال حاضر در هسته لینوکس در حال حاضر با I2C کوچک-USB استفاده می شود. با مثال سنسورهای دما ds1621 مورد استفاده در نمونه خروجی سنسور ممکن است به عنوان مثال، نگاه مثل این:
ds1621-I2C-2-48
آداپتور: I2C کوچک-USB در اتوبوس 003 دستگاه 017
دما: 21.50
جزئیات نرم افزار:
نسخه: 2009-02-10 به روز شده
ها تاریخ: 7 Mar 16
پروانه: رایگان
محبوبیت: 114
نظر یافت نشد