Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

Переходник LPT-I2C

Вт мар 03, 2009 19:18:46

Помогите люди добрые,не могу найти 100% рабочую схему преходника LPT-I2C.А также пример программной реализации I2C через LPT порт???

Вт мар 03, 2009 23:21:14

Чё то суть твоего вопроса малость не понятна...
рабочая 100% рабочая схема это 2 провода и 1 резистор...
програмная реализация - зависит от оси под которой будет работать твой софт.
Для линукса, знаю есть в ядре готовый драйвер i2c, но мне он был не нужен я его не пользовал,
под виндой ты доступа к железу не получишь, всё равно нужен generic-driver,
а сам протокол i2c простой как три копейки, читаешь datasheet на любую микросхему и делаешь как написано, и всё работает...
Проверено! :)))

Вт мар 03, 2009 23:21:44

LPT принципиально? Где-то был проект USB-I2C, если ничего не путаю

Ср мар 04, 2009 20:35:46

Извиняюсь за неточности в вопросе.Схемка нужна такая чтобы не спалить LPT! А то я так понимаю,что если использоватьь два проводка и резистор,то можно его убить.Софт нужен под Windows XP.Для того чтобы реализовать I2С прочитав даташит к сожалению мозгов не хватает...

Ср мар 04, 2009 20:36:48

Aheir писал(а):LPT принципиально? Где-то был проект USB-I2C, если ничего не путаю
Может проект и был,но софта нет,к тому же в переходнике применяются дорогостоящие микрухи.

Ср мар 04, 2009 21:08:35

Вот это не пойдет?
http://www.harbaum.org/till/i2c_tiny_usb/index.shtml

Ср мар 04, 2009 21:40:14

Aheir писал(а):Вот это не пойдет?
http://www.harbaum.org/till/i2c_tiny_usb/index.shtml

Спасибо Вам за ссылочку,схема действительно простая,но софт уж слишком навороченный,мне бы попроще,даже не сказали чем компилировали.Прошу помощи дальше,если не дождусь то буду разбираться с этим проектом(сложный однако).

Ср мар 04, 2009 21:55:03

Вообще не принципиально через какой порт делать преходник.Моей ошибкой было не описать для чего это все нужно.Нужно через каой то порт реализовать I2C интерфейс,тоесть нужна программка с исходником.С компа по I2C интерфейсу передаем файл на МК,а он в свою очередь записывает этот файл на любую карту памяти.проблема в том,что не могу найти программной реализации I2C через порт компа,а также как записть этот файл на карту памяти.Читал здесь же на форуме где то ,как люди разбирались и c MMC и SD,и так толком никто не разобрался,но если кто то разобрался,то помогите студенту чем сможете.Пишу в CVAVR.

Чт мар 05, 2009 02:28:41

Ну если тебе нужен полный контроль кода и его простота, то я бы в качестве контроллера I2C заюзал бы отдельный МК, изначально передавая данные через USB, используя преобразователь интерфейсов USB<->RS-232 или USB<->SPI. А затем контроллер передаёт все эти данные через I2C. Что касается SD или MMC, то я с ними работал, вроде бы всё получилось, кроме режима многоблочной записи, не знаю почему не работает, первые два сектора пишет и всё... Могу прислать свои исходники на асьме, если нужно.
Про то как работать с MMC или SD см здесь:

http://www.piclist.ru/mmc.html

там довольно всё хорошо описано...

Пт мар 06, 2009 19:39:56

pirotehnick спасибо Вам за ссылку.Дело в том что нужно программу писать на С и под AVR.Через отдельный МК сделать не могу,так заданием служит написание библиотеки I2C для обмена данными с МК.А что разве никто не знает как реализовать I2C через LPT?

Сб мар 07, 2009 01:30:26

Так тебе проще будет использовать COM порт, поскольку есть явные приимущества в управлении прерываниями. Честно говоря не знаю как реализуются прервания для LPT, а если просто тупо опрашивать в цикле состояние порта, прога просто будет зажрать всё процессорное время.
В случае использования COM порта, линий для I2C тебе хватит, используй сигнальные линии, типа CTS и DTR на приём и передачу.
А в программе соответственно реализуешь обработчики событий по изменению состояния этих линий.

См. описание I2C здесь:

http://www.gaw.ru/html.cgi/txt/interface/iic/index.htm

Пн мар 09, 2009 17:04:15

Можно тут глянуть (англ.язык). Схема для сом-порта. Вроде всё разжёвано - схемы, платы, исходники, литература...
...у меня уже несколько лет болтаются эти ds1621 за окном и в комнате. Недавно вот приладил для эксперимента ds1307 (часики). Переписывал управляющую программу и для LPT - в принципе меняется только часть с физической реализацей: scl_hi/lo, sda_hi/lo, sda_in/out, а вся верхушка остаётся... Для прикошачивания к LPT использовал DLPortIO. Согласен с pirotehnick'ом - даже с ежесекундным опросом поднапрягает комп, надо бы как-то с прерываниями разобраться. Питание использовал комповое. Никах защит не ставил, даже подтягивающих резисторов... :) Паял на-"горячую", пока всё цело. Но это не совет!!! Верю всем опасениям, что когда-то порт сгорит... что ж, будет повод модернизировать комп... :))

Ср мар 11, 2009 20:10:12

Спасибо за помощь,буду разбираться с исходниками.Я у в книжке "Аппаратные интерфейсы ПК (М.Гук)" читал про то что если реализовать I2C через LPT,то будет постороено на аппаратных прерываниях,а если через COM ,то нужно будет программно опрашивать.Тоесть все таки через LPT лучше?

Ср мар 11, 2009 22:30:01

Вот тут предлагают драйвер для LPT-порта с обработкой прерывания. Только стрёмно что-то всё это. Вкратце тут ознакомился с прерываниями LPT, есть одно (а может их больше) по приходу импульса на определённую ножку. Но как товарищ М.Гук входит в прерывание от I2C это мне пока трудно познать... ибо ни LPT, ни COM - это не I2C-совместимые интерфейсы - несколько другое строение. То есть гонять байты туда-сюда можем, но через ж[мяу] - дёргая ножки, опрашивая программно. Полной поддержки I2C под виндой нет, аппаратной реализации прерываний и прочих там aсknowledge нема в ПК. Плюс к этому для COM порта ещё нужно привести уровни к 5В. А на чём писать будешь программу, которая передаёт файл через I2C? Для COM-порта схема у тебя уже есть, для LPT надо выбрать ножки - например 0 и 1 регистра 0х378, ну и разобраться в строении. Для старта написания программы со стороны компа вот минимум функций, которые будет необходимо реализовать:

"Прикручиваем" интерфейс к порту:
- линия SCL в "1";
- линия SCL в "0";
- линия SDA в "1";
- линия SDA в "0";
- линия SDA на вход;
- линия SDA на выход;

(SCL не трогаем, там всё время на выход)
- читать значение линии SDA;

Основные функции для реализации интерфейса:
- условие "СТАРТ";
- условие "СТОП";
- отправить "0";
- отправить "1";
- принять бит;


Далее на их основе пишем:
- принять байт;
- отправить байт;


Может что-то и забыл добавить, но в основах лежит это... да! и даташит читать не отменяется...

Сб мар 14, 2009 00:57:41

Спасибо за разьяснение,буду разбираться

Пн апр 13, 2009 01:37:01

Вот: Writing Parallel-Port 2-Wire Software in C
И вот: Adding Windows NT/2000/XP Support to the AN3315 Parallel-Port 2-Wire Software.
Там и софт готовый для Windows NT/2000/XP, и исходники(правда только для Win95/Win98)......

Re: Переходник LPT-I2C

Пн мар 25, 2013 17:51:13

не знаю даже, может не туда спрашиваю. Можно прям напрямую к меге комп через LTP? или лучше подумать? :)

Re: Переходник LPT-I2C

Пн мар 25, 2013 23:35:50

К меге можно подключить USB, COM, но LPT - параллельный порт. Не жалко столько лапок МК?

Re: Переходник LPT-I2C

Вт июл 30, 2019 19:49:47

Здравствуйте, имеются некоторые микросхемы вроде датчиков температуры, акселерометров с шиной I2C, и плата USB to I2C UMFT201XB-01. Возможно ли использовать эту плату для считывания данных с датчиков на ПК? Плата базируется на микросхеме FT201, а она Slave и датчики тоже. Может быть возможно как-то поднять Master на ПК? Мануалы по программированию от FT читал, но не понятно как и куда применять команды из руководства программиста.

Re: Переходник LPT-I2C

Вт июл 30, 2019 19:59:50

Думаю проще будет чтобы МК читал датчики и по USB передавал. Типа такого. http://www.cyberforum.ru/blogs/204791/blog3248.html
Ответить