i2c-малка-USB е с отворен код / отворен хардуер проект.
Прикрепете всеки I2C клиент чип (термо сензори, АД конвертор, дисплеи, Relais шофьор, ...) към вашия компютър чрез USB ... бързо, лесно и евтино! Драйвери за Linux, Windows и MacOS разположение.
Проектът i2c-малка-USB е с отворен код / отворен хардуер проект. Целта на i2c-малка-USB е да осигури евтини генерични i2c интерфейс да бъде прикрепен към USB. Той е предназначен като заместител на тези прости и евтини принтер порт за I2C адаптери. A USB решение има няколко предимства, вкл. вградената в захранването и по-пригоден за бъдещето интерфейс.
Освен това не CPU интензивно bitbanging се изисква от страната домакин. Този USB решение дори изисква по-малко части от някои принтер пристанищни решения.
Докато i2c-малка-USB е разработена в рамките и за Linux тя също работи под Windows и MacOS X. A прозорци демо шофьор и демо приложение е включен, за да започна веднага.
Проектът i2c-малка-USB, се основава на:
USB проекта Linux и i2c реализацията на Linux
Шофьорът на прозорци и прилагането тест се основава на Libusb-Win32
AVR-USB, чисто софтуерно изпълнение на USB за платформата AVR
USBtiny, друг софтуер USB изпълнение за AVR
Хардуерът на интерфейса на i2c-малка-USB състои на Atmel AVR ATtiny45 процесора, евтин и лесен за получаване на микроконтролер с 4 KBytes флаш (от които ~ 2k се използват в настоящото заявление) и 256 байта RAM. Процесорът е заобиколен от няколко други части.
USB интерфейс
В USB интерфейса на интерфейса на i2c-малка-USB се основава на чисто софтуерно приложение и използва два пина на AVR (PB0 и РВ2). Това изпълнение софтуер поддържа ниска скорост USB само който се сигнализира с компютъра чрез резистор R1.
Интерфейсът на I2C се осъществява с помощта на подход bitbanging. хардуер поддържа туи интерфейса на attiny45 се свързва с хардуерни игли в чипа, които са необходими за USB работа и по този начин не може да се използва за I2C. bitbanging I2C интерфейс се използва вместо не може да бъде напълно съвместим I2C и по този начин не всеки I2C клиент чип може да функционира правилно в този автобус. Не несъвместимости са докладвани досега. The i2c-малка-USB осигурява софтуер регулируема забавяне i2c часовник позволява да конфигурирате i2c часовника. Забавянето по подразбиране е 10US. Поради допълнителни закъснения в кода на i2c bitbanging това води до i2c часовник на около 50kHz.
От съображения за простота всички USB трансфери се извършват чрез контрол крайна точка. Тъй като AVR USB библиотека поддържа само устройства с ниска скорост, че не може да се използва за насипни трансфери, които са посочени само за висока и пълна скорост устройства. Ниските устройства скорост подкрепа, така наречените прекъсват трансфери, които са ограничени до предварително зададена честотна лента, докато трансфери за контрол могат да използват всяка свободна честотна лента (ако има такива изобщо).
Затова Устройството използва трансфери за контрол за всички от нейното съобщение. Това изисква някои допълнителни ограничения, за да се предотврати множествена шофьор софтуер (например водача на ядрото и на базата прилагането тест на Libusb) за достъп до устройството по едно и също време. Под Linux това може да се постигне, като изберете някои видове поиска достъп. Този вид контрол на достъпа може да не е възможно в рамките на други операционни системи.
Консумация на енергия
Цялото устройство е така нареченото устройство автобус захранва. Това означава, че цялото устройство се захранва директно от USB. Затова AVR и един или повече I2C клиентски чипове се захранват от сигнала на USB Vbus.
Самата адаптера обръща по-малко от 10 ma и докладва за това на приемащата чрез своите USB дескриптори. Устройството е в състояние да мощност I2C клиентски чипове, както добре. Но тъй като тези чипове се различават по консумация на енергия не е възможно да се включи правилно исканията си в дескрипторите на устройството. Това е вашата отговорност да държи под око на общия захранването и особено за да се увери, че цялото устройство не надвишава общата USB граница от 500 mA.
Тя е планирана за бъдещите версии на фърмуера, за да направят съобщава софтуера консумация на енергия конфигурира така че стойността може лесно да бъде приет до реалните изисквания за мощност на цялото устройство.
Kernel шофьор
The i2c-малка-USB е предназначен да се използва с Linux. Той идва с водача на ядрото Linux, която е мост между USB и I2C подсистеми в ядрото Linux. Водачът след това придава на USB устройството и да I2C шина на разположение на подсистемата на i2c. По този начин цялата система е прозрачна за клиентски приложения като рамка на lm_sensors и не се изискват специални клиент чип шофьори. Вместо шофьорите, които вече присъстват в ядрото на Linux се използват с i2c-малка-USB, както добре. Например с температурните сензори ds1621 използвани в прототипа на изхода на сензора може, например, изглежда така:
ds1621-i2c-2-48
Adapter: i2c-малка-USB в автобус 003 на устройството 017
Температура: 21.50
Софтуер детайли:
Версия: 2009-02-10 актуализира
Дата на качване: 7 Mar 16
Разрешително: Безплатно
Популярност: 114
Коментари не е намерена