Страница 1 из 1

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

Добавлено: Вт мар 03, 2009 19:18:46
vlad555
Помогите люди добрые,не могу найти 100% рабочую схему преходника LPT-I2C.А также пример программной реализации I2C через LPT порт???

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

Добавлено: Вт мар 03, 2009 23:21:44
Aheir
LPT принципиально? Где-то был проект USB-I2C, если ничего не путаю

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

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

Добавлено: Ср мар 04, 2009 21:08:35
Aheir

Добавлено: Ср мар 04, 2009 21:40:14
vlad555
Aheir писал(а):Вот это не пойдет?
http://www.harbaum.org/till/i2c_tiny_usb/index.shtml

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

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

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

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

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

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

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

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

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

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

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

Добавлено: Ср мар 11, 2009 22:30:01
Artemy
Вот тут предлагают драйвер для 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
vlad555
Спасибо за разьяснение,буду разбираться

Добавлено: Пн апр 13, 2009 01:37:01
Left Radio
Вот: 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
sainquake
не знаю даже, может не туда спрашиваю. Можно прям напрямую к меге комп через LTP? или лучше подумать? :)

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

Добавлено: Пн мар 25, 2013 23:35:50
Мурик
К меге можно подключить USB, COM, но LPT - параллельный порт. Не жалко столько лапок МК?

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

Добавлено: Вт июл 30, 2019 19:49:47
SaltyDev
Здравствуйте, имеются некоторые микросхемы вроде датчиков температуры, акселерометров с шиной 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