RS485 aantal devices op EEN bus

Ik was zojuist aan het zoeken naar een RS485 driver voor 3.3V logic.
Bij een aantal merken, oa. Maxim (max3485) en Sipex/Exar (SP3485), zie ik dat er maximaal 32 van deze devices op een bus mogen worden aangesloten.
Ik was in de veronderstelling dat rs485 de bus niet belast als een device niet actief is.
Wat zou de reden zijn voor deze limiet?
En zou ik daarmee nog enigzins kunnen smokkelen?

reading can seriously damage your ignorance

O.a. de bus capaciteit is een oorzaak. Je kunt eventueel smokkelen met een RS485 repeater.

bprosman

Golden Member

Zit m dat in de 3v3 dan ?
Mij staat bij dat de Maxim versie veel meer mocht maar ik heb altijdalleen de 5v versie gebruikt

De jongere generatie loopt veel te vaak zijn PIC achterna.

32 devices is standaard bij RS485, ook bij gebruik 5V-drivers. Er zijn drivers (oa. MAX3080) welke aan de ontvangstzijde maar 1/8 load hebben zodat (indien alle divers 1/8 load hebben) 256 drivers op 1 bus kan.
Dmv. repeaters kan je natuurlijk de bus opdelen in meerdere delen.

Als een rommelig bureau staat voor een rommelige geest waar staat dan een leeg bureau voor? - Albert Einstein.

Op wikipedia voor RS485 staat ook direct "max 32".

Dit is gebaseerd op de belasting die ieder device op de bus vormt. Modernere chips zouden best wel eens minder belasting op de bus kunnen vormen dan oudere.

Ik gebruik ST485. Die zou zuinig moeten zijn (vergelijk met de 75176). (maar ik heb dus 5V tot m'n beschikking).

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
GJ_

Moderator

Niet mee lopen klooien, 32 is het maximum voor een betrouwbare verbinding. Hou er bij gebruik van een repeater rekening mee dat die ook als deelnemer geteld word, net als een eventuele master! Tussen twee repeaters kunnen dus 30 deelnemers!
Vergeet de afsluitweerstanden aan beide zijden niet.

Je kunt er dus wel mee klooien.

Ik heb even verder gezocht. Standaard devices hebben een "unit load" van 1. Dan kun je er maar 32 parallel aansluiten.
Er zijn er ook van unit load 1/4 en 1/8.
De driver die ik had gevonden voor $0.27 op eBay had dus een unit load van 1, vandaar maximaal 32 op de bus.
Later vond ik er nog eentje voor $3.00 van unit load 1/8 maar dat wordt me te duur. Daarvan kun je er zoals hierboven al vermeld 256 van aansluiten.

@GJ_
Moet het echt lineair? Of kun je ook 31 devices op een subnet zetten, met op elk subnet een repeater naar een hoofdnet. Dus een stervormige opzet.

reading can seriously damage your ignorance

In een terzijde; Is zo een repeater transparant voor ieder denkbaar protocol op de bus ? (en hoe werkt dat dan ? )

bprosman

Golden Member

Repeater werkt op de fysieke laag (OSI model).
Met schema :
http://rs485.com/pdffiles/multiplerepeaters/MHUBX8RevE.pdf

[Bericht gewijzigd door bprosman op dinsdag 4 april 2017 01:29:15 (50%)

De jongere generatie loopt veel te vaak zijn PIC achterna.

Ok; hier maakt men eenvoudig een wired OR van de takken.
Dat zal werken als Idle "hoog" is en er één master op de (master-) bus is, maar dat is een subset van wat mogelijk is op een platte bus.

Nee, zodra er IEMAND een bitje ongelijk aan het idle niveau probeert te sturen, raakt de communicatie verstoord. Als iedereen oplet of de data op de bus ook gelijk is aan wat ie verstuurt, dan zou dat moeten blijven werken ook met repeaters er tussen.

Het enige is dat de totale looptijd mogelijk een probleem wordt.

In de eerste instantie ga je er van uit dat als 1 iemand de bus niet-idle trekt, iedereen dat tegelijk ziet. In de tweede insantie moet je rekening houden met looptijden. Normaliter wil je dat je signalen het hele netwerk door zijn binnen een maximale tijd. Bij ethernet is die tijd de "minimale pakketlengte". Bij Canbus is het geloof ik 1 bittijd. Door nu het netwerk te vergroten, zou je de totale looptijd voorbij de grens kunnen halen waarbij conflicten altijd opgemerkt worden.

Maar bij RS485 is de baud rate gerelateerd aan de lengte van het netwerk. En in dit geval (dat hangt dus van de rest van de protocollen af) moet je de andere segmenten meerekenen.

De ideale opzet is dan een "interconnect" segment met 32 repeaters, die ieder weer 32 masters/slaves hebben. De totale lengte van dit netwerk is dus 3x de lengte van 1 segment. Dus je haalt wel voordeel uit het hebben van repeaters, want zonder de repeaters had je alle segmenten op moeten tellen.

Maar als je protocol dus conflicten uitsluit, dan zou de lengte van het langste segment de snelheid kunnen bepalen.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
fatbeard

Honourable Member

http://nl.mouser.com/ProductDetail/Exar/SP485CS-L

Én 256 devices op de bus (volgens de datasheet), én redelijk betaalbaar...

Wikipedia meldt trouwens "at least 32 devices"

[Bericht gewijzigd door fatbeard op dinsdag 4 april 2017 11:45:52 (18%)

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Op 4 april 2017 11:42:55 schreef fatbeard:
Én 256 devices op de bus (volgens de datasheet), én redelijk betaalbaar...

Maar...
• +5V Only

reading can seriously damage your ignorance

Ik kan de "256" of "devices" string niet in het datasheet vinden, maar dat zal wel aan mij liggen. (devices komt 2x voor, maar niet in de context die we zoeken "max ... devices on the bus").

Zoals reeds eerder aangegeven, net als oude telefoons vormden oude RS485 receivers een significante belasting op de bus. Door voortschrijdende technologie krijg je apparaten die maar 1/4 of 1/8 "standaard load" vormen.

Die max devices op de bus komt voort uit de maximale stroom die een reciever trekt in samenspan met de met de minimaal te leveren stroom die een driver kan leveren. Heb je een reciever die maar 1/8e daarvan trekt, kan je in eens 8x meer devices op 1 bus zetten.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 4 april 2017 12:53:55 schreef rew:
Die max devices op de bus komt voort uit de maximale stroom die een reciever receiver trekt in samenspan met de met de minimaal te leveren stroom die een driver kan leveren. Heb je een reciever receiver die maar 1/8e daarvan trekt, kan je in eens 8x meer devices op 1 bus zetten.

(Het Engels kent een taalregeltje: "'I' before 'E' except after 'C')

Mooi geformuleerd maar de stroom door de afsluitweerstanden komt daar nog bij.

Ik blijf het wel merkwaardig vinden dat de receivers de bus belasten. Dat zou toch niet nodig hoeven zijn bij gebruik van terminator weerstanden.

reading can seriously damage your ignorance
GJ_

Moderator

Op 4 april 2017 11:42:55 schreef fatbeard:
Én 256 devices op de bus (volgens de datasheet), én redelijk betaalbaar..

Dat zullen 256 adresseerbare devices zijn.
Alle RS485's die ik persoonlijk tegenkom zijn industrieel, dus modbus, profibus enz. En daar ga je dus zeker nooit meer dan 32 deelnemers op een segment zetten. Ik kom nogal geregeld problemen tegen bij bussen waar met ook dacht dat een meer geen kwaad kon. Als het voor bv DMX is zoek je het maar uit, dat is toch nooit kritisch, maar in machines ga je niet klunzen.

Op 4 april 2017 13:20:58 schreef hennep:
Ik blijf het wel merkwaardig vinden dat de receivers de bus belasten.

Zoek eens het datasheet van de 75176 op. Dat een chip in rust 70mA moet gebruiken, dat zou toch niet hoeven?

In de tijd dat dit gemaakt werd, was het lastig om dit soort dingen zuinig te krijgen. Mosfets bestonden maar net.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Is dat niet appels met peren vergelijken?
Het stroomverbruik van de complete chip vergelijken met het belasten van de bus.

Men kon toch in het transistor tijdperk wel hoogohmige inputs maken.

Op wikipedia lees ik dat de standaard dateert uit 1998. Toen waren de omstandigheden niet zo primitief dat er geen minder belastende devices gemaakt konden worden. Ik vermoed dat er een andere practische reden was om deze in mijn ogen erg lage limiet in te stellen. Ik ben benieuwd of iemand daarover iets zinnigs kan zeggen.

reading can seriously damage your ignorance

De DMX standaard, die op RS485 gebaseerd is voor de elektrische laag, is herzien in 1990. Origineel uit 1986. Kortom, die 1998 is "laatste revisie in 1998" of zo.

Leesvoer: http://www.ti.com/lit/an/slla166/slla166.pdf

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
fatbeard

Honourable Member

Ik snap inmiddels de verwarring rond het aantal SP485R op één bus: Exar heeft na de overname het ontwerp van Sipex klaarblijkelijk weggegooid (of hun datasheets verklooid, dat kan ook).
Bijgevoegd is het oorspronkelijke Sipex datasheet.

Ik was wat gehaast bij mijn oorspronkelijke suggestie en had alleen op typenummer gezocht, my bad.

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.