Страница 1 из 2
Конвертер I2C<->UART<->usb
Добавлено: Вт янв 22, 2013 23:50:36
evil0o
есть у меня
http://www.ebay.com/itm/1pcs-USB-2-0-to ... 039347548? и
http://www.ebay.com/itm/1pcs-NEW-MMA745 ... 087889202?. Как сделать чтоб данные с акселерометра(I2C/SPI) попадали на компьютер через конвертер(usb<->UART)?
Конечно хотелось бы максимально готовое решение(проект) которое испытано и стабильно работает. если в проекте есть МК то желательно AVR. В идеале может есть какие то готовые конвертирующие микрухи(Дешевые!) но нефакт что они есть в моем городе так что предлагайте все варианты.
Re: Конвертер I2C<->UART<->usb
Добавлено: Ср янв 23, 2013 07:04:04
a_klyuev
evil0o писал(а):...В идеале может есть какие то готовые конвертирующие микрухи(Дешевые!) но нефакт что они есть в моем городе так что предлагайте все варианты.
Вот такое
http://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm - не подойдет?
Или такое
http://www.rlocman.ru/shem/schematics.html?di=65393 ?
Re: Конвертер I2C<->UART<->usb
Добавлено: Ср янв 23, 2013 11:21:23
evil0o
про первую ссылку я может не до конца понял плохо знаю англ. но там вроде берется обычный usb <->uart и через софтину на ПК уже uart становится I2C? Не нашел название(модель) микрух ftdi.
Второй проект понравился вроде легко.
Re: Конвертер I2C<->UART<->usb
Добавлено: Ср янв 23, 2013 11:25:06
evil0o
http://www.robot-electronics.co.uk/acat ... B_I2C.html первый товар там микруха напоминает FT232RL? то есть точно реализация I2C<->UART программная на пк?
у меня есть FT232RL разведенная было бы хорошо ее использовать
Re: Конвертер I2C<->UART<->usb
Добавлено: Ср янв 23, 2013 13:36:02
a_klyuev
evil0o писал(а):...у меня есть FT232RL разведенная было бы хорошо ее использовать
Не понадобится. По второй ссылке приведен преобразователь USB-I2C на atmega-tiny45. Просто подключаете к нему ваш акселератор по I2C.
А по первой ссылке такой же преобразователь но с промежуточным COM портом.
На мой взгляд вторая ссылка предпочтительнее, т.к. используется минимум деталей.
Ну а ежели все же захочется использовать преобразователь COM-I2C, все равно придется какой-нить контроллер лепить. Дык лучше уж сразу USB-I2C.
Re: Конвертер I2C<->UART<->usb
Добавлено: Ср янв 23, 2013 21:16:29
evil0o
По какой причине используется tiny45? можно ли ее заменить на например на atiny2313? или по параметрам не подойдет. интересуюсь так как нету в наличии в магазине. а заказывать это 1.5 месяца ждать ебайке.
Re: Конвертер I2C<->UART<->usb
Добавлено: Ср янв 23, 2013 23:51:21
Satyr
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 07:26:03
a_klyuev
evil0o писал(а):По какой причине используется tiny45? можно ли ее заменить на например на atiny2313? или по параметрам не подойдет. интересуюсь так как нету в наличии в магазине. а заказывать это 1.5 месяца ждать ебайке.
Я думаю, по причине габаритов и малого потребления. Заменить конечно можно, но некоторого геморроя не избежать...
Satyr писал(а):зачем огород на костылях городить ?
Дело в том, что вы предлагаете устройство типа slave, а я так понял, что
evil0o'у требуется master I2C, для управления устройством, которое уже slave.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 10:59:38
polyname
Как сделать чтоб данные с акселерометра(I2C/SPI) попадали на компьютер через конвертер(usb<->UART)?
Элементарно. Используйте линии RTS/CTS и DTR/DSR, с диодной развязкой.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 11:57:19
evil0o
polyname писал(а):Как сделать чтоб данные с акселерометра(I2C/SPI) попадали на компьютер через конвертер(usb<->UART)?
Элементарно. Используйте линии RTS/CTS и DTR/DSR, с диодной развязкой.
вот как нибудь поподробнее, а то я протоколы передачи не успел сравнить(слегка почитал). если делали может софт остался, с нуля выдумывать долго да и велосипед.

и мне кажется одной линии здесь не хватает(DTR). если не подходит все равно рассказывайте, может пригодится.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 12:09:39
a_klyuev
polyname писал(а):...Используйте линии RTS/CTS и DTR/DSR, с диодной развязкой.
Не уверен, что получится, как правило костыли типа USB-UART, USB-LPT не позволяют напрямую "дрыгать лапками" порта.
Разве что какой-нить специально под это заточенный, типа как вот здесь:
http://www-user.tu-chemnitz.de/~heha/ba ... ex.html.en дык и у него внутрянка - Atmega или Cypress.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 12:22:08
evil0o
http://www.ebay.com/itm/USB-TO-I2C-IIC- ... 43b61f6ec7 это конечно не решение, но интересно стало там в описание написано "full-duplex serial port"и т.п. так он slave и master поддерживает ?
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 12:25:19
evil0o
Да и я почитал видимо в тини2313 геморно впихнуть будет из за объёма памяти.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 12:42:03
a_klyuev
evil0o писал(а):USB-TO-I2C-IIC-UART-TTLэто конечно не решение, но интересно стало там в описание написано "full-duplex serial port"и т.п. так он slave и master поддерживает ?
Я так понимаю - поддерживает I2C, UART. Full-duplex - это по отношению к UART. А вот нащод I2C я не понял пока, скорее всего master, так по крайней мере логика подсказывает.
Попробовать конечно, можно. Но что-то с ходу подробной инфы по данному девайсу не нашел. ИМХО, я бы воздержался.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 13:02:46
polyname
Не уверен, что получится, как правило костыли типа USB-UART, USB-LPT не позволяют напрямую "дрыгать лапками" порта.
позволяют, но медленнее чем аппаратные порты. Курите
http://msdn.microsoft.com/en-us/library/ms810467.aspx SetCommMask, GetCommModemStatus. Под Linux есть ioctl и
termios .
и мне кажется одной линии здесь не хватает(DTR).
на таком конечно не получится - там не выведены линии RTS/CTS/DTR/DSR
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 13:26:50
a_klyuev
Я же написал:
напрямую
Представляю, во что выльется программа эмуляции протокола I2C...
Опять же ИМХО, может пусть девайс разбирается с протоколом, просто гнать данные на него - и все...
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 13:29:44
polyname
Я представляю, во что выльется программа эмуляции протокола I2C...
во что ? Протокол простейший, полная реализация - под сотню строчек.
Пример софтового I2C на С, 1:1 транслируется на любой язык и железо:
http://codetidy.com/4487/
нужно быстро - берите FT232 и работайте в синхроннм режиме
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 13:50:02
a_klyuev
polyname писал(а):...Пример софтового I2C на С, 1:1 транслируется на любой язык и железо
Действительно несложно. А как реализованы низкоуровневые функции, имена которых начинаются с "i2c_"?
polyname писал(а):нужно быстро - берите FT232 и работайте в синхроннм режиме
Вот и подскажите коту, как подружить FT232 (который у него имеется) с девайсом под названием "акселерометр", который у него так же имеется.
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 14:03:36
polyname
Действительно несложно. А как реализованы низкоуровневые функции, имена которых начинаются с "i2c_"?
управление RTS/DTR и чтение CTS/DSR - соответствующими функциями, описанными выше
как подружить FT232 (который у него имеется) с девайсом под названием "акселерометр"
курите
D2XX Programmer's Guide , FT_SetBitMode, FT_Read, FT_Write
Re: Конвертер I2C<->UART<->usb
Добавлено: Чт янв 24, 2013 14:26:49
a_klyuev
polyname писал(а):...управление RTS/DTR и чтение CTS/DSR - соответствующими функциями, описанными выше
курите
D2XX Programmer's Guide , FT_SetBitMode, FT_Read, FT_Write
Неплохой гуид.
Попробую подытожить.
evil0o, у вас пока есть два пути (если кто-то не предложит третьего):
1. Спаять девайс из двух деталей, залить прошивку и попробовать обмен данными между компом и акселерометром.
2. Использовать то что у вас есть (FT232 и акс.), но при этом изучить тему "программирование портов ввода-вывода".
Не возьмусь судить, что лучше/хуже (ИМХО и то и другое - интересно). Однозначно могу сказать одно - во втором способе больших скоростей обмена и устойчивости в работе - не ждите.