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

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

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

Сообщение vlad555 »

Помогите люди добрые,не могу найти 100% рабочую схему преходника LPT-I2C.А также пример программной реализации I2C через LPT порт???
Аватара пользователя
Kotische
Опытный кот
Сообщения: 885
Зарегистрирован: Сб июл 19, 2008 02:16:33
Откуда: Саратов

Сообщение Kotische »

Чё то суть твоего вопроса малость не понятна...
рабочая 100% рабочая схема это 2 провода и 1 резистор...
програмная реализация - зависит от оси под которой будет работать твой софт.
Для линукса, знаю есть в ядре готовый драйвер i2c, но мне он был не нужен я его не пользовал,
под виндой ты доступа к железу не получишь, всё равно нужен generic-driver,
а сам протокол i2c простой как три копейки, читаешь datasheet на любую микросхему и делаешь как написано, и всё работает...
Проверено! :)))
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

LPT принципиально? Где-то был проект USB-I2C, если ничего не путаю
Оптимизм х (Опыт + Знания) = const
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

Сообщение vlad555 »

Извиняюсь за неточности в вопросе.Схемка нужна такая чтобы не спалить LPT! А то я так понимаю,что если использоватьь два проводка и резистор,то можно его убить.Софт нужен под Windows XP.Для того чтобы реализовать I2С прочитав даташит к сожалению мозгов не хватает...
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

Сообщение vlad555 »

Aheir писал(а):LPT принципиально? Где-то был проект USB-I2C, если ничего не путаю
Может проект и был,но софта нет,к тому же в переходнике применяются дорогостоящие микрухи.
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Оптимизм х (Опыт + Знания) = const
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

Сообщение vlad555 »

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

Спасибо Вам за ссылочку,схема действительно простая,но софт уж слишком навороченный,мне бы попроще,даже не сказали чем компилировали.Прошу помощи дальше,если не дождусь то буду разбираться с этим проектом(сложный однако).
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

Сообщение vlad555 »

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

Сообщение pirotehnick »

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

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

там довольно всё хорошо описано...
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

Сообщение vlad555 »

pirotehnick спасибо Вам за ссылку.Дело в том что нужно программу писать на С и под AVR.Через отдельный МК сделать не могу,так заданием служит написание библиотеки I2C для обмена данными с МК.А что разве никто не знает как реализовать I2C через LPT?
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Сообщение pirotehnick »

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

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

http://www.gaw.ru/html.cgi/txt/interface/iic/index.htm
Аватара пользователя
Artemy
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб окт 04, 2008 00:23:25
Откуда: Санкт-Петербург

Сообщение Artemy »

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

Сообщение vlad555 »

Спасибо за помощь,буду разбираться с исходниками.Я у в книжке "Аппаратные интерфейсы ПК (М.Гук)" читал про то что если реализовать I2C через LPT,то будет постороено на аппаратных прерываниях,а если через COM ,то нужно будет программно опрашивать.Тоесть все таки через LPT лучше?
Аватара пользователя
Artemy
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб окт 04, 2008 00:23:25
Откуда: Санкт-Петербург

Сообщение 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";
- принять бит;


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


Может что-то и забыл добавить, но в основах лежит это... да! и даташит читать не отменяется...
vlad555
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Ср дек 17, 2008 20:04:36
Контактная информация:

Сообщение vlad555 »

Спасибо за разьяснение,буду разбираться
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение 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)......
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
sainquake
Родился
Сообщения: 1
Зарегистрирован: Пн мар 25, 2013 17:43:48
Откуда: Казань
Контактная информация:

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

Сообщение sainquake »

не знаю даже, может не туда спрашиваю. Можно прям напрямую к меге комп через LTP? или лучше подумать? :)
Устоявшейся считается система на которой запустили Doom! мой блог: sainquake.com
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

К меге можно подключить USB, COM, но LPT - параллельный порт. Не жалко столько лапок МК?
SaltyDev
Родился
Сообщения: 8
Зарегистрирован: Ср июн 27, 2018 21:13:16

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

Сообщение SaltyDev »

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

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

Сообщение Мурик »

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

Вернуться в «Интеграция с ПК»