I2C po RS485

koudis
Příspěvky: 68
Registrován: 12 črc 2014, 23:02

I2C po RS485

Příspěvek od koudis » 23 bře 2016, 22:48

Ahoj,

předem bych chtěl upozornit, že jsem naprostý začátečník, tak se mi prosím moc nesmějte :D.

Našel jsem na internetu "adapter", kterým je možné zprovoznit I2C skrze RS485.
Říkal jsem si, že by asi nebylo od věci ho vyzkoušet :). (viz. obr. 1)

Celkem to vypadá funkčně. Na různých fórech se také vyjadřují vesměs kladně.

Jediným problémem je, že celý adaptér je postaven na 74*33 (NOR s otevrenymi kolektory). Tento se ale těžko schání. Proto jsem se rozhodl použít 74HC02 (standardní NOR).

Jelikož moje zkušenosti praví, že reálné vlastnosti 74* se mohou lišit od datasheetu, rozhodl jsem se NOR nahradit na pinu RO (max481) MOSFET transistorem a uzeměným 100K odporem na Gate.
Transistor nedělá nic jiného, než že pokud je RO zhruba 5V (ve výkresu Vcc = 5V), sběrnici přitáhne dolů....

Myslíte, že zapojení na obr. 2 a obj. 1 je funkční?

Díky všem za rady :).
obr1.png
Obr. 1 - schema adapteru s 74LS33
obr2.png
Obr. 2 - schema adapteru s MOSFET transistorem

Uživatelský avatar
fulda
Příspěvky: 768
Registrován: 04 led 2016, 17:18

Re: I2C po RS485

Příspěvek od fulda » 23 bře 2016, 23:21

Teda já bych si s tím takové starosti nedělal.
Pokud se na to dobře koukám, tak tu otevřenou kolektorovitost potřebuješ na obrázku jedna jen na pinu 1 a 13. a to jsou zrovna invertory.
Takže podle toho co máš po okolí bych použil buď jiné invertory s OC a nebo bych tam nechal tu 02 a přidal za ní jednu diodu, která ti tak nějak nahradí tu otevřenou kolektorovitost. Pokud se ti zadaří a dáš tam shotky diodu, bude to o něco lepší.

A mimochodem - kolik máš na sběrnici masterů? Já ve většině případů jen jednoho, takže SCL má jen jeden směr a nemá cenu si s ním komplikovat život, prostě si vystačíš s RS422 - tedy dokonce s polovinou - budič na straně procesoru a detektor na straně slave čipu.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

koudis
Příspěvky: 68
Registrován: 12 črc 2014, 23:02

Re: I2C po RS485

Příspěvek od koudis » 24 bře 2016, 01:34

Ahoj,

masteru bude vice nezli jeden. Bohuzel. Kazdopadne, i kdyby byl pouze jeden, chtel bych, aby byly adaptery vzajemne zamenitelne.

koudis
Příspěvky: 68
Registrován: 12 črc 2014, 23:02

Re: I2C po RS485

Příspěvek od koudis » 24 bře 2016, 01:58

Ahoj,

jak to presne myslis s diodou? Nejak takto?
obr3.png
Schotky varianta
Tedy, pokud byde chtit sbernici stahnout 74*02, pak je vse OK. Pokud bude chtit sbernici stahnout neco jineho, nez 74*02, pak je dioda (v pripade ze 13 nebo 1 je v logicke 1) v zavernem smeru a vse je take OK.

Mas nejaky typ, jako schotky diodu pouzit? (abych nemusel pracne hledat).

Asi udelam dve desky. Jednu s MOSFETem a jednu s diodou a zmerim, co se chova lepe a jestli reseni s diodou nemuze pridat nejake neblahe nasledky :).

Uživatelský avatar
jrt
Příspěvky: 1436
Registrován: 17 úno 2013, 17:13

Re: I2C po RS485

Příspěvek od jrt » 24 bře 2016, 12:36

... jako schotky diodu pouzit? (abych nemusel pracne hledat)
BAT42
Zde můžes vybírat podle libosti.

A bude se ti mnohem lépe hledat, když použiješ správný výraz schottky. Totéž samozřejmě platí i pro Fuldovu učitelku češtiny! :D
jrt
hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

koudis
Příspěvky: 68
Registrován: 12 črc 2014, 23:02

Re: I2C po RS485

Příspěvek od koudis » 24 bře 2016, 15:12

Ahoj,

diky.

Neslo ani tak o to, ze ji nemoho najit, jenom se mi nechtelo na TME proklikavat, kdyz mi nekdo muze poradit ze zkusenosti :).

Uživatelský avatar
jrt
Příspěvky: 1436
Registrován: 17 úno 2013, 17:13

Re: I2C po RS485

Příspěvek od jrt » 24 bře 2016, 17:37

Rádo se stalo :D
Tak hlavně dej vědět, jak pokračuješ, tohle je zajímavé téma.
jrt
hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

koudis
Příspěvky: 68
Registrován: 12 črc 2014, 23:02

Re: I2C po RS485

Příspěvek od koudis » 25 bře 2016, 03:42

Ahoj,

jeste jedna strategicka :).

Jak moc jsou potreba odpory u RS485 sbernice (spojeni vodicu A-B odporem R).

Jelikoz bude Rs485 slouzit jenom pro prenost i2c signalu, tady do 400kHz a vedeni bude dlouhe max 25cm. Troufam si rict, ze odpory mezi A-B nejsou potreba.
Co si o tom mysli ostatni?

Pripadne, je nutnost davat odpory na kazdy transciever? Ja si myslim (z logiky veci), ze ne.


Koudis

koudis
Příspěvky: 68
Registrován: 12 črc 2014, 23:02

Re: I2C po RS485

Příspěvek od koudis » 25 bře 2016, 04:42

koudis píše: Jak moc jsou potreba odpory u RS485 sbernice (spojeni vodicu A-B odporem R).
vyresim to asi tak, ze udelam listu, kam se budou vsechna zarizeni pripojovat. Pridam dva odpory po 110 ohmech a jeste "drzici" resiztory pro A a B.

Uživatelský avatar
fulda
Příspěvky: 768
Registrován: 04 led 2016, 17:18

Re: I2C po RS485

Příspěvek od fulda » 25 bře 2016, 14:21

koudis píše:Jak moc jsou potreba odpory u RS485 sbernice (spojeni vodicu A-B odporem R).

Jelikoz bude Rs485 slouzit jenom pro prenost i2c signalu, tady do 400kHz a vedeni bude dlouhe max 25cm. Troufam si rict, ze odpory mezi A-B nejsou potreba.
Co si o tom mysli ostatni?
Pro takhle malou vzdálenost asi nejsou potřeba, na druhou stranu - neškodí.
Já bych se spíš podíval na "fail safe biasing" odpory. To jsou odpory, které vytvářejí definovaný stav v klidovém stavu sběrnice. Takže odpor A - +5V a druhej B - 0V, já používám tak kolem 4k7, ale klidně mohou být i menší.
koudis píše:Pripadne, je nutnost davat odpory na kazdy transciever? Ja si myslim (z logiky veci), ze ne.
Naopak, tyhle odpory pokud jsou potřeba, tak slouží pro prodloužení kabelu na nekonečno a zabránění odrazům a proto musí být na obou stranách kabelu. Jejich hodnota musí být o malinko větší, než je vlastní impedance kabelu. Takže pro kabel s impedancí 100R se používá 120R.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti