Jump to content

    
statementz

посоветуйте преобразователь USB - I2C

Recommended Posts

12 minutes ago, _pv said:

если самому такой переходник делать можно какой угодно МК получше взять, а не этот китайский 8051й ужос.

STM32F103 ?

On 11/11/2020 at 11:10 AM, _pv said:

а есть ли в природе usb->i2c адаптеры, которые последовательным портом прикидываются, понятно что там поверх какой-нибудь простой протокол должен быть, но чтобы не через MPSSE или HID или ещё что-нибудь через предоставленные библиотеки, а через просто через CDC?

зачем?.. это какой-то супер-изврат.

надо брать сразу такой переходник, при подключении которого в системе автоматом /dev/i2c поднимается. Иначе какая "радость" дебажить что-то с хоста?!

 

Share this post


Link to post
Share on other sites
On 11/11/2020 at 12:00 AM, statementz said:

Купил я всё-таки  FT2232H Mini Module , возник такой вопрос.

это как-то сильно контрастирует с фразой "хочу с софтом и поддержкой" ...

из последних могу рекомендовать посмотреть

  • CP2112 (SiLabs)
  • MCP2221 (Microchip)

Решение из серии - подключил и работай, есть API, есть софт с GUI, последние ядра линукс поддерживают автоматическое "изготовление" /dev/i2c-X

для MCP2221 бонусом идёт набортный UART

 

PS: если надо именно в форме законченного решения - то под оба чипа есть бюджетные отладки от производителей (и, кажется, pololu)

 

Share this post


Link to post
Share on other sites
16 hours ago, Doka said:

зачем?.. это какой-то супер-изврат.

надо брать сразу такой переходник, при подключении которого в системе автоматом /dev/i2c поднимается. Иначе какая "радость" дебажить что-то с хоста?!

 

16 hours ago, Doka said:

из последних могу рекомендовать посмотреть

  • CP2112 (SiLabs)
  • MCP2221 (Microchip)

Решение из серии - подключил и работай, есть API, есть софт с GUI, последние ядра линукс поддерживают автоматическое "изготовление" /dev/i2c-X

для MCP2221 бонусом идёт набортный UART

я то как раз спрашивал чтобы без "софта" и поддержки, если вдруг ядро линукс не последнее или не линукс вообще.

чтобы со стороны ПК он выглядел как тупой CDC для которых драйвера всегда есть, с какими-нибудь escape последовательностями для i2c адресации.

а не как какой-нибудь кастомный HID с библиотеками от производителя.

ну как FT200, только мастер.

Share this post


Link to post
Share on other sites

Ну да , я думал что будет что то вроде готовой мини проги от производителя для проверки модуля , НО в принципе у них (FTDI) есть готовые проекты в VC. Например запись / чтение внешней EEPROM . Библиотека libMPSSE-I2C в ней три функции основных.

This application note is a guide to using the libMPSSE-I2C – a library which 
simplifies the design of firmware for interfacing to the FTDI MPSSE configured 
as an I2C interface. The library is available for Windows and for Linux

Особо меня радуют вот эти функции: FT_WriteGPIO , FT_ReadGPIO.

FT_WriteGPIO
This function writes to the 8 GPIO lines associated with the high byte of the MPSSE channel.

FT_ReadGPIO

This function reads from the 8 GPIO lines associated with the high byte of the MPSSE channel

То есть у меня есть 4 линии с  канала А и ещё 4 линии с канала B, с ними вообще больше ничего не надо .

Пишу в VC вкл./выкл. , "дёргаю" через эти линии всё что хочу, если я конечно правильно понимаю)

Doka сказал:

это как-то сильно контрастирует с фразой "хочу с софтом и поддержкой" ...

ну да, есть у меня претензии к стилю их письма, это вездесущее: дураку не надо , а умный сам поймёт, считаю не допустимым, когда дело касается инструкций)

 

 

 

 

 

Share this post


Link to post
Share on other sites
19 hours ago, _pv said:

не этот китайский 8051й ужос

С чего же "ужос", если он 25 рублей стоит? Или у вас на примете есть STM32 с USB за 25 рублей?

Вот у меня, например, реально есть куча задач, где нужен дешевый маленький микроконтроллер с USB и несколькими ногами. А здесь есть аппаратный ШИМ, поддержка сенсорных кнопок… В общем, как соберусь с духом, перепишу прошивалку с питона на кошерный С и буду осваивать ch55x.

Edited by Eddy_Em

Share this post


Link to post
Share on other sites
19 hours ago, Doka said:

при подключении которого в системе автоматом /dev/i2c поднимается

Никто не мешает вам написать для него модуль ядра: udev при подключении создаст /dev/i2c, а модуль ядра будет обрабатывать запросы. Но на мой взгляд, проще таки CDC сделать и в юзерспейсе работать.

Share this post


Link to post
Share on other sites
1 hour ago, Eddy_Em said:

С чего же "ужос", если он 25 рублей стоит? Или у вас на примете есть STM32 с USB за 25 рублей?

Вот у меня, например, реально есть куча задач, где нужен дешевый маленький микроконтроллер с USB и несколькими ногами.

ну раз уж вопрос только в стоимости, то этот ужос за 25 рублей без средств разработки, отладки и с китайской документацией, внезапно, оказывается гораздо дороже чем, например, модули от ftdi UMFT232 по 25$, когда устройства нужны в количестве "несколько штук", и i2c через mppse можно за несколько часов заставить работать, даже если первый раз про него только что узнал. А вот если взять даже относительно простой usb-cdc, (тут некто Eddy_Em пытался pl2303 на МК изобразить) взять потраченные на это человекочасы с их стоимостью, да поделить на количество выпущенных устройств, то получится отличная экономия, зато 25 рублей, ага. Это не говоря про поддержку подобных велосипедов в рабочем состоянии после, ну через хотя бы десяток лет.

 

4 hours ago, statementz said:

Особо меня радуют вот эти функции: FT_WriteGPIO , FT_ReadGPIO.

То есть у меня есть 4 линии с  канала А и ещё 4 линии с канала B, с ними вообще больше ничего не надо .

Пишу в VC вкл./выкл. , "дёргаю" через эти линии всё что хочу, если я конечно правильно понимаю)

читайте дальше про команды mpsse, он умеет не только очень медленно отдельными ногами дрыгать, а ещё и нормально последовательные интерфейсы изображать без ручного контроля за каждым битом.

Share this post


Link to post
Share on other sites

Документацию уже давно перевели на английский, средства разработки есть: sdcc, да и прошивальщик я нашел на гитхабе.

Отладка - стандартная, как у всех других МК: сообщения через USART/USB, осциллограф и т.д., т.п.

А велосипеды на любом МК придется писать: потому что просто нет нужного.

Share this post


Link to post
Share on other sites
9 hours ago, _pv said:

 

чтобы со стороны ПК он выглядел как тупой CDC для которых драйвера всегда есть, с какими-нибудь escape последовательностями для i2c адресации.

а не как какой-нибудь кастомный HID с библиотеками от производителя.

ну как FT200, только мастер.

FT4222H, он и мастер I2C, и слэйв. Однако API библиотека LibFT4222 работает не через CDC, а через D2XX драйвер. Есть и под Вин, и под Линукс, и под Мак.

Share this post


Link to post
Share on other sites

Вопрос по CP2112 (SiLabs).

Помогите разобраться, > как используя API составить сложный протокол I2C.

 

В примерах используются HidSmbus_AddressReadRequest(), HidSmbus_ReadRequest(), idSmbus_WriteRequest(), но после вызова и ожидания завершения передачи байта, CP2112 автоматом генерит Stop условие для подключенного слейва. Не получается собрать нужный протокол. Функций раздельного управления Старт / Стоп  условиями в библиотеке нет.... 

Share this post


Link to post
Share on other sites
35 минут назад, Gradient сказал:

составить сложный протокол I2C.

прошу уточнения, так как не понятно.

юзал на классические чтение и запись

Share this post


Link to post
Share on other sites

Пытаюсь приконнектиться к https://www.vishay.com/docs/84907/vcnl36687s.pdf стр 7

 к этой машинке и вычитать содержимое регистров id. Запись в слейв вроде идет успешно, ack смотрю осциллографом. Но Receive word read data from из слейва не работает, принимает мусор какой-то, с id не совпадает. Не пойму как собрать протокол с 2мя последовательными Стартами. После передачи Command code cp2112 автоматом выставляет слейву Стоп, и вероятно это релизит его интерфейс.

 

Share this post


Link to post
Share on other sites
19.03.2021 в 18:12, Gradient сказал:

Но Receive word → read data from из слейва не работает

смотрите в каком софте ? Есть такое HidSmbus Example

hidsmbus.png

 

кстати в Errata написано следующее

 

cp2112_err.png

 

Если что, есть такая портянка для Visual Studio https://www.silabs.com/community/interface/forum.topic.html/cp2112_and_slabhidtosmbuslib-erroroccursperio-70IK

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.