Jump to content

    
statementz

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

Recommended Posts

Здравствуйте! Посоветуйте готовое решение преобразователя или конвертера, конкретного производителя можно наших, но чтобы с поддержкой. 

хочу купить коробочку чтобы с софтом , терминальным разъёмом (физическим доступом к выводам) и т д. Для чего мне такая штука.

21 век на дворе , хочу общаться) с контроллером PIC12F509 с компа,

Чтобы отсылать ему команды  и принимать результат не в виде горящих светодиодов на макетке.

Также появился интерес к такой игрушке https://advantech.pro/catalog/usb-4702-ae но не уверен смогу ли осилить. Про софт не понятно , вроде примеры кода есть но на диске похоже , так не посмотреть что у них там и вообще берут ли простые смертные такие штуки. 

 

 

Share this post


Link to post
Share on other sites

Я бы смотрел в сторону UART, а не I2C - и программировать проще (в системе видится как COM порт), и переходники USB-UART сильно дешевле.

Кстати, посмотрите на переходники на основе чипов FT2232 или FT232. Там помимо основного интерфейса (UART) есть поддержка I2C и SPI (но их немного сложнее использовать, по сравнению с UART).

 

Share this post


Link to post
Share on other sites

Если возьму вот это https://www.chipdip.ru/product/ft2232hq-mini-module от отцов основателей , нормальный выбор? Цена конечно высоковата, переплачу значит за качество и поддержку.

Zig посоветовал как я понимаю не плохой инструмент , даже к PIC-ам отношение имеет, а PIC-и я люблю , но не лежит душа к коробочкам , хоть и прозрачной.

Всем спасибо за советы!

Share this post


Link to post
Share on other sites

https://www.aliexpress.com/item/32858408194.html

https://www.aliexpress.com/item/4000954817363.html

https://www.aliexpress.com/item/4000510185034.html

 

хотя лучше действительно найдите не столь убогий пик, у которого хотя бы уарт будет.

Share this post


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

хотя лучше действительно найдите не столь убогий пик, у которого хотя бы уарт будет.

И ножек побольше - аппетит приходит во время еды. Если в компьютере уже есть последовательный порт, то добавить max232 или с развязкой. Удобнее во всех отношениях.

Share this post


Link to post
Share on other sites

Купил я всё-таки  FT2232H Mini Module , возник такой вопрос. В даташите  пишут такую вещь :

нужно подключить  (CN3, pin 1 to CN3, pin 3) здесь понятно перемычку воткнул два пина рядом стоят соединил,

а далее второй пункт : (CN2, pins 1, 3 & 5 to CN2, pins 11 & 21 and CN3, pins 12 & 22)

вот эти пины 1,3, 5 стоят рядом и соединены вместе судя по схеме и на них на всех 3,3 вольта , то-есть с любого беру и соединяю 

 с этими парами, я так сделал:

1536358082_InkedInked0073_LI.thumb.jpg.e7256a74609d2b136dfdc06877c246e5.jpg

21 и 12 не стал соединять они дорожками соединены, вопрос зачем так сделано?

 

мини модуль схема.pdf

 

USB Bus-powered:
1) Connect VBUS to VCC (CN3, pin 1 to CN3, pin 3). This connection takes the power from the 
USB bus (VBUS) and connects it to the voltage regulator input on the FT2232H Mini Module. The 
voltage regulator, in turn, provides V3V3, VPLL and VUSB power inputs to the FT2232H chip.
2) Connect V3V3 to VIO (CN2, pins 1, 3 & 5 to CN2, pins 11 & 21 and CN3, pins 12 & 22). 
This connection provides the correct 3.3VDC operating voltage for VCCIO on the FT2232H chip.

Share this post


Link to post
Share on other sites

А ведь за 3 дня можно было взять любую девборду с совершенно любым МК (лишь бы там были I2C и USB), да написать преобразователь самостоятельно. Заодно не пришлось бы изучать чужие даташиты на протокол: какой придумаешь сам, такой и будет!

Share this post


Link to post
Share on other sites

 

10 часов назад, statementz сказал:

 с этими парами, я так сделал:

Вроде правильно всё сделали.

AD1 и AD2 соединяйте вместе - это I2C SDA. AD0 - I2C SCL. Дополнительно, для работы с I2C могут потребоваться два резистора подтяжки, если их нет в устройстве, к которому Вы будете подключаться. Пример можете посмотреть в AN_113_FTDI_Hi_Speed_USB_To_I2C_Example.pdf

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites
13 minutes ago, arhiv6 said:

 

Вроде правильно всё сделали.

AD1 и AD2 соединяйте вместе - это I2C SDA. AD0 - I2C SCL. Дополнительно, для работы с I2C могут потребоваться два резистора подтяжки, если их нет в устройстве, к которому Вы будете подключаться. Пример можете посмотреть в AN_113_FTDI_Hi_Speed_USB_To_I2C_Example.pdf

Спасибо, да это боле менее понятно, меня смутило описание разводки питающего напряжения V3V3 to VIO, этот значок & здесь: CN3, pins 12 & 22 , я понимаю как и, а не как или. И ещё хотел пожаловаться на писателей даташитов, может конечно я пропустил, но сначала значит они учат как дрова устанавливать , а потом оказывается ) надо питание кидать, нет чтоб написать WARNING прежде чем устанавливать дрова прочитайте как вы хотите питать устройство)). P.S. Пойду схемотехников мучать)

Share this post


Link to post
Share on other sites
On 10/8/2020 at 3:31 PM, statementz said:

 хочу общаться) с контроллером PIC12F509 с компа,

Чтобы отсылать ему команды  и принимать результат не в виде горящих светодиодов на макетке.

 

FT200DX и модули на eго основе, они есть на eBay. Для PIC-а этот чип является I2C слэйвом. Поэтому, в отличие от прочих решений, обращаться к нему можно сколь угодно медленно, на лету менять частоту процессора, и т.д., ему это безразлично. А на стороне PC он выглядит как обычный последовательный порт.

 

Я сейчас такой модулек из eBay использую с одним из PIC16 как раз для того чтобы мониторчик организовать, очень доволен. На PC использую обычный терминал, PuTTy.

 

Share this post


Link to post
Share on other sites
28 minutes ago, =AK= said:

FT200DX и модули на eго основе, они есть на eBay. Для PIC-а этот чип является I2C слэйвом. Поэтому, в отличие от прочих решений, обращаться к нему можно сколь угодно медленно, на лету менять частоту процессора, и т.д., ему это безразлично. А на стороне PC он выглядит как обычный последовательный порт.

 

Я сейчас такой модулек из eBay использую с одним из PIC16 как раз для того чтобы мониторчик организовать, очень доволен. На PC использую обычный терминал, PuTTy.

 

Уже купил FT2232H Mini Module. Я конечно отвалил кучу "бабла", переплатил за бренд (надеюсь что качество), что то перепало Чипа и Дипу, но FT200DX это только "отвёртка" , а у меня набор инструментов - великий MPSSE 2 канала  , разбираться с которым я буду до конца своих дней) 

Не совсем понятно про скорость, между PC и модулем, думаю у меня она тоже регулируется ) на лету не знаю да и зачем , главное что между модулем и PIC-ом настраивается:

I2C_CLOCK_STANDARD_MODE = 100000, 
I2C_CLOCK_FAST_MODE = 400000, 
I2C_CLOCK_FAST_MODE_PLUS = 1000000, 
I2C_CLOCK_HIGH_SPEED_MODE = 3400000

custom тоже имеется

про SLAVE ?  Для PIC-а этот чип является I2C слэйвом.?? Это для меня ново , или он может и как мастер работать? То-есть напрямую SLAVE устройство не затестить?

 

Share this post


Link to post
Share on other sites
21 hours ago, statementz said:

Не совсем понятно про скорость, между PC и модулем, думаю у меня она тоже регулируется ) на лету не знаю да и зачем , главное что между модулем и PIC-ом настраивается:

Если вы работаете через последовательный порт, то смена клока изменит бодовую скорость и связь будет потеряна. Чтобы этого не случилось, надо одновременно с частотой клока перенастраивать скорость последовательного порта. При малой частоте клока большую бодовую не получить, поэтому придется закладываться на минимальную бодовую, которая доступна при наименьшей частоте клока.

 

А с I2C слэйвом этих проблем и в помине нет, можно менять частоту клока как угодно.

 

Quote

Для PIC-а этот чип является I2C слэйвом.?? Это для меня ново , или он может и как мастер работать?

Именно как слэйв, а не как мастер. Если к PIC-у по I2C уже приделано какое-то устройство, то для FT200DX никаких дополнительных аппаратных ресурсов вообще не потребуется. Его можно привесить к той же шине I2C и кидать в него ASCII символы, они появятся в терминальной программе PC. А то, что PC накидает в FT200X можно выгребать из его буфера в любом удобном темпе. Ни с прерываниями возни, ни с освоением MSSP, все можно сделать через два пина PIC-а, быстренько организовав бит-банг I2C мастер.

Share this post


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

а есть ли в природе usb->i2c адаптеры, которые последовательным портом прикидываются

Я вчера вечером ковырялся с ch552g. Нашел на гитхабе несколько примеров (правда, писанных в "макаронном стиле", но работающих). Среди них был посредник I2C<>USB, представляющийся как раз CDC-ACM устройством. Его не проверял, но их реализацию CDC-ACM проверил: работает. В принципе, если не нужно это переделывать, то можно такой "макаронный" код и оставить без переделки. Я же хочу сначала все в порядок привести, чтобы глаза не вытекали, когда на это смотришь.

Так что, подумайте насчет того, чтобы взять на али с пяток-десяток ch552g (вчера брал десяток: 225р отдал вместе с пересылкой), заказать на JLCPCB платы и наваять свой адаптер. А при необходимости и протокол можно будет под себя переделать (там достаточно сыро все: частота только 100 кГц и посылки по 16 бит).

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.