Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Как разклонявате I2C шината за няколко устройства
http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=13730
Страница 1 от 1

Автор:  trakon [ Пет Апр 24, 2015 9:09 pm ]
Заглавие:  Как разклонявате I2C шината за няколко устройства

Привет, искам да разклоня I2C от едно Ардуино за да мога за закача на него пет 1602 LCD дисплея .
Махнал съм пулл ъп резисторите (4.7К-SDA + 4.7К-CLK) от част от I2C модулите ,
като оставям само на два или евентуално три модула , така че като свържа модулите паралелно, общото съпротивление на линия да не пада под 2.3K
или съответно 1.5K ( с резистори оставени на три модула ) .
Въпроса ми е - как да разклоня самите SDA и SCL линии - направо да запоявам един кабел към пет кабела и да покрия спойките с термосвиваем шлаух или да направя платка с две писти , да споявам кабелите към нея и после да покрия цялата платка с термосвиваем шлаух. Това което ме притеснява е да не се появят някакви шумове/ отечки по шлауха , които да смущават сигнала.

Автор:  nobodyshadow [ Пет Апр 24, 2015 9:52 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Трябват ти само по един брой резистори .Шлауха би трябвало да е ок.

Автор:  sparkybg [ Пет Апр 24, 2015 10:36 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Аз не разклонявам, връзвам последователно. И резисторите - минималните възможни и на далечния край. При 400kHz трябва доста дълга линия за да има проблеми. При 100 - още-по.

Автор:  trakon [ Съб Апр 25, 2015 8:59 am ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Благодаря много за отговорите.
Гледам I2C на Ардуино-то е нагласено да работи на 100, няма да го пипам и правя на 400

Автор:  ike [ Съб Апр 25, 2015 10:42 am ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Здрасти trakon. Какъв е този проект, че ти трябват 5 дисплея?

Автор:  Н'бабане Гт'муан'га [ Съб Апр 25, 2015 11:49 am ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

http://www.nxp.com/products/interface_and_connectivity/i2c/i2c_multiplexers_switches/#products

Автор:  trakon [ Съб Апр 25, 2015 11:04 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Здравей Ike,
Изработвам един радио панел за симулатор на самолет . Трябва да има двойка радиа - по едно комуникационно и едно
навигационно , за COM / NAV честоти - COM1 + NAV1 + COM2 + NAV2 = четири дисплея + DME радио = 1 дисплей - общо пет. Но няма да стигнат - ще има още два -три за транспондер , автопилот и т.н. ,
четири енкодера, четири флип флоп бутона, седем пуш бутона за аудиопанел, два пуш-пул потенциометра за sqalch контрол, общо взето - нищо работа :D
Сериозно , ако има някой друг да се интересува от темата, да пише на лични да обменяме идеи, знания и незнания :)

@Н'бабане Гт'муан'га , благодаря ти за чудесния линк, щеше да ми е много полезен, ако бях малко по умен по темата и
знаех що е то I2C мултиплексиране и има ли то почва у нас , но обещавам да работя по въпроса :oops: :D

Автор:  sparkybg [ Нед Апр 26, 2015 11:16 am ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Е колко е голям тоя панел? Ако разстоянията са под 50 сантиметра, просто ги навържи всичките на обща шина и ги адресирай. За да имаш грижи на 100 килохерца ще трябва да направиш някоя мега простотия.

Автор:  ike [ Пон Апр 27, 2015 7:06 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

trakon написа:
Здравей Ike,
Изработвам един радио панел за симулатор на самолет . Трябва да има двойка радиа - по едно комуникационно и едно
навигационно , за COM / NAV честоти - COM1 + NAV1 + COM2 + NAV2 = четири дисплея + DME радио = 1 дисплей - общо пет. Но няма да стигнат - ще има още два -три за транспондер , автопилот и т.н. ,
четири енкодера, четири флип флоп бутона, седем пуш бутона за аудиопанел, два пуш-пул потенциометра за sqalch контрол, общо взето - нищо работа :D


Сега модата е да ги правят "стъклени" панелите за самолет: http://en.wikipedia.org/wiki/Glass_cockpit
Или слагаш един 28" FullHD монитор и панелите можеш на HTML да ги напишеш с едно PC като това: http://www.mostbg.com/most/Item.aspx?itemid=52535 и си готов.

Иначе може да стане и по саромодния начин с http://www.ebay.com/itm/1pcs-1602-16x2- ... 25828d645c и интегралки http://www.ebay.com/itm/20PCS-IC-74HC59 ... 2ed52a09b7 и платки http://www.ebay.com/itm/10Pcs-5-x-7-cm- ... 3a9f1423ae
Навръзваш последователно интегралките 595 и с 3 жици ги управляваш всичките дисплеи.

Автор:  bobihot [ Вто Апр 28, 2015 3:54 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

И аз съм го правил с 595 по SPI- самият чип ти е и драйвер за светодиодите и добре става. И автоматично поддържа и PWM за силата им на светене. И по софтуерен SPI от 8051 съм го управлявал и няма проблем. Незнам за разстояния ако ти трябва на прехвърляне колко ще издържи?
PS
При много устройства на една I2C шина обикновено има проблем с адресацията им- да видиш дали го поддържа.

Автор:  [ Вто Апр 28, 2015 6:37 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Бих ти препоръчал да минеш на CAN bus, можеш да вържеш почти същия брой у-ва както при I2C с тази разлика, че може и да
са на стотици метри едно от друго. Може да ти поискат впоследствие да увеличиш разстоянието между отделните устройства
и тогава I2C-то може да се окаже проблематична. Пък и I2C-то по дефиниция е шина за връзка между интегрални схеми на една
или повече платки в едно устройство. Не че не може да се изнасили и да се използва за комуникация между няколко
отдалечени устройства, но за тази цел CAN bus е къде по-удачния избор.

Плюсовете на CAN bus са изключително добра шумоустойчивост, вграденo CRC16 на всеки пакет, сам се оправя
с колизиите и повтаря пакетите. Май всичките микроконтролери на пазара с CAN bus предлагат и някакъв безплатен стек, който
е напълно достатъчен да приемаш/изпращаш съобщения, има и протоколи от високо ниво като J1939, CANOpen и т.н., а и без
протокол би се оправил съвсем лесно.

Автор:  ike [ Вто Апр 28, 2015 7:41 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

CAN ми се струва прекалено усложнено. Ако са необходими разстояния, за прости дисплеи RS-422/RS-485 би свършило същата много по-просто.

Автор:  [ Вто Апр 28, 2015 7:56 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

ike написа:
CAN ми се струва прекалено усложнено. Ако са необходими разстояния, за прости дисплеи RS-422/RS-485 би свършило същата много по-просто.

Де факто CAN си RS-422/RS-485 :-) , само че с вкарани проверки за колизии в самия чип на хардуерно ниво.

Автор:  ike [ Вто Апр 28, 2015 11:19 pm ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

Да си призная никога не съм си играл с CAN, знам само че чиповете дето си имат CAN трансивър почваха от $10, не съм ги гледал на скоро може вече и да са по $2. Свикнал съм да ползвам 232 и ако ти трябва разстояние, още 1 пин и отделен чип трансивър на цена 10 цента и си готов с 422/485.

Автор:  [ Сря Апр 29, 2015 1:14 am ]
Заглавие:  Re: Как разклонявате I2C шината за няколко устройства

CAN трансиврите са под $0.75 @ 1k

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/