_pv 0 Posted November 13, 2020 · Report post если самому такой переходник делать можно какой угодно МК получше взять, а не этот китайский 8051й ужос. Quote Ответить с цитированием Share this post Link to post Share on other sites
Doka 0 Posted November 13, 2020 · Report post 12 minutes ago, _pv said: если самому такой переходник делать можно какой угодно МК получше взять, а не этот китайский 8051й ужос. STM32F103 ? On 11/11/2020 at 11:10 AM, _pv said: а есть ли в природе usb->i2c адаптеры, которые последовательным портом прикидываются, понятно что там поверх какой-нибудь простой протокол должен быть, но чтобы не через MPSSE или HID или ещё что-нибудь через предоставленные библиотеки, а через просто через CDC? зачем?.. это какой-то супер-изврат. надо брать сразу такой переходник, при подключении которого в системе автоматом /dev/i2c поднимается. Иначе какая "радость" дебажить что-то с хоста?! Quote Ответить с цитированием Share this post Link to post Share on other sites
Vasily_ 0 Posted November 13, 2020 · Report post 2 минуты назад, Doka сказал: STM32F103 ? У него USB убогий. Quote Ответить с цитированием Share this post Link to post Share on other sites
Doka 0 Posted November 13, 2020 · Report post 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) Quote Ответить с цитированием Share this post Link to post Share on other sites
_pv 0 Posted November 14, 2020 · Report post 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, только мастер. Quote Ответить с цитированием Share this post Link to post Share on other sites
statementz 0 Posted November 14, 2020 · Report post Ну да , я думал что будет что то вроде готовой мини проги от производителя для проверки модуля , НО в принципе у них (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 сказал: это как-то сильно контрастирует с фразой "хочу с софтом и поддержкой" ... ну да, есть у меня претензии к стилю их письма, это вездесущее: дураку не надо , а умный сам поймёт, считаю не допустимым, когда дело касается инструкций) Quote Ответить с цитированием Share this post Link to post Share on other sites
Eddy_Em 0 Posted November 14, 2020 (edited) · Report post 19 hours ago, _pv said: не этот китайский 8051й ужос С чего же "ужос", если он 25 рублей стоит? Или у вас на примете есть STM32 с USB за 25 рублей? Вот у меня, например, реально есть куча задач, где нужен дешевый маленький микроконтроллер с USB и несколькими ногами. А здесь есть аппаратный ШИМ, поддержка сенсорных кнопок… В общем, как соберусь с духом, перепишу прошивалку с питона на кошерный С и буду осваивать ch55x. Edited November 14, 2020 by Eddy_Em Quote Ответить с цитированием Share this post Link to post Share on other sites
Eddy_Em 0 Posted November 14, 2020 · Report post 19 hours ago, Doka said: при подключении которого в системе автоматом /dev/i2c поднимается Никто не мешает вам написать для него модуль ядра: udev при подключении создаст /dev/i2c, а модуль ядра будет обрабатывать запросы. Но на мой взгляд, проще таки CDC сделать и в юзерспейсе работать. Quote Ответить с цитированием Share this post Link to post Share on other sites
_pv 0 Posted November 14, 2020 · Report post 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, он умеет не только очень медленно отдельными ногами дрыгать, а ещё и нормально последовательные интерфейсы изображать без ручного контроля за каждым битом. Quote Ответить с цитированием Share this post Link to post Share on other sites
Eddy_Em 0 Posted November 14, 2020 · Report post Документацию уже давно перевели на английский, средства разработки есть: sdcc, да и прошивальщик я нашел на гитхабе. Отладка - стандартная, как у всех других МК: сообщения через USART/USB, осциллограф и т.д., т.п. А велосипеды на любом МК придется писать: потому что просто нет нужного. Quote Ответить с цитированием Share this post Link to post Share on other sites
=AK= 0 Posted November 14, 2020 · Report post 9 hours ago, _pv said: чтобы со стороны ПК он выглядел как тупой CDC для которых драйвера всегда есть, с какими-нибудь escape последовательностями для i2c адресации. а не как какой-нибудь кастомный HID с библиотеками от производителя. ну как FT200, только мастер. FT4222H, он и мастер I2C, и слэйв. Однако API библиотека LibFT4222 работает не через CDC, а через D2XX драйвер. Есть и под Вин, и под Линукс, и под Мак. Quote Ответить с цитированием Share this post Link to post Share on other sites
Gradient 0 Posted March 19, 2021 · Report post Вопрос по CP2112 (SiLabs). Помогите разобраться, > как используя API составить сложный протокол I2C. В примерах используются HidSmbus_AddressReadRequest(), HidSmbus_ReadRequest(), idSmbus_WriteRequest(), но после вызова и ожидания завершения передачи байта, CP2112 автоматом генерит Stop условие для подключенного слейва. Не получается собрать нужный протокол. Функций раздельного управления Старт / Стоп условиями в библиотеке нет.... Quote Ответить с цитированием Share this post Link to post Share on other sites
megajohn 0 Posted March 19, 2021 · Report post 35 минут назад, Gradient сказал: составить сложный протокол I2C. прошу уточнения, так как не понятно. юзал на классические чтение и запись Quote Ответить с цитированием Share this post Link to post Share on other sites
Gradient 0 Posted March 19, 2021 · Report post Пытаюсь приконнектиться к https://www.vishay.com/docs/84907/vcnl36687s.pdf стр 7 к этой машинке и вычитать содержимое регистров id. Запись в слейв вроде идет успешно, ack смотрю осциллографом. Но Receive word → read data from из слейва не работает, принимает мусор какой-то, с id не совпадает. Не пойму как собрать протокол с 2мя последовательными Стартами. После передачи Command code cp2112 автоматом выставляет слейву Стоп, и вероятно это релизит его интерфейс. Quote Ответить с цитированием Share this post Link to post Share on other sites
megajohn 0 Posted March 26, 2021 · Report post 19.03.2021 в 18:12, Gradient сказал: Но Receive word → read data from из слейва не работает смотрите в каком софте ? Есть такое HidSmbus Example кстати в Errata написано следующее Если что, есть такая портянка для Visual Studio https://www.silabs.com/community/interface/forum.topic.html/cp2112_and_slabhidtosmbuslib-erroroccursperio-70IK Quote Ответить с цитированием Share this post Link to post Share on other sites