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

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

Сообщение vlad555 »

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

Сообщение Kotische »

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

Сообщение Aheir »

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

Сообщение vlad555 »

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

Сообщение vlad555 »

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

Сообщение Aheir »

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

Сообщение vlad555 »

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

Сообщение vlad555 »

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

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

Сообщение vlad555 »

pirotehnick спасибо Вам за ссылку.Дело в том что нужно программу писать на С и под AVR.Через отдельный МК сделать не могу,так заданием служит написание библиотеки I2C для обмена данными с МК.А что разве никто не знает как реализовать I2C через LPT?
Контактная информация:
Потрогал лапой паяльник
Сообщения: 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
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 34
Зарегистрирован: Сб окт 04, 2008 00:23:25
Откуда: Санкт-Петербург

Сообщение Artemy »

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

Сообщение vlad555 »

Спасибо за помощь,буду разбираться с исходниками.Я у в книжке "Аппаратные интерфейсы ПК (М.Гук)" читал про то что если реализовать I2C через LPT,то будет постороено на аппаратных прерываниях,а если через COM ,то нужно будет программно опрашивать.Тоесть все таки через LPT лучше?
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 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";
- принять бит;


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


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

Сообщение vlad555 »

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

Сообщение sainquake »

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

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

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

Сообщение SaltyDev »

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

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

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

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