seriële communicatie.

Gestart door conducteur, 30 mei 2013, 21:03:53 PM

conducteur

Projectje voor na de examens, samen met afwerken van de voeding en verder werken aan realisatie van mijn GIP.
(realisatie moest niet af zijn omdat IW een theoretische richting is en enkel het dossier van belang is, heb dat de laatste maand op een wat lager pitje gezet om de theorie af te werken).


Ik zou willen wat experimenteren met seriële communicatie via µC (i²c en RS-485)


Wat ik ondertussen begrepen heb is dat I²c vooral plaatselijk is bv tussen twee µC, of Ic's op een pcb onderling en erg gevoelig is voor storing bij lange afstanden.
RS-485 zou daar minder last van hebben.


Heeft iemand meer (complete) info over deze standaarden?
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Sattrickske

Ik heb vroeger (12 jaar geleden) heel veel met het I²C protocol gewerkt en dingen ontwikkeld.  I²C leent zich zeer goede voor eenvoudige communicatie tussen verschillende devices en dat hoeven niet noodzakelijk enkel ICs te zijn.  De allereerste CD speler gebruiken dit protocol intern om alle onderdelen aan te sturen.  Later zag je dit protocol meer en meer opduiken.  Het werkt met 2 draden (klok en data).  Een device is de master en genereert het klok signaal.  Master en slaves kunnen verzenden en ontvangen; slaves kunnen alleen verzenden op verzoek van de master.

Met RS-485 heb ik minder ervaring, ik weet wel dat hiermee grotere afstanden overbrugd kunnen worden (lengte (m) x frequentie (Hz) < 10^8).  Het verschil is dat er geen klok is en dat tijdens communicatie beide lijnen een tegengestelde spanning hebben.

Havoc

Grote verschil is dat I2C niet enkel een electrische standaard is maar tevens een communicatie protocol beschrijft. RS-485 is enkel een electrische standaard en beschrijft geen protocol.

I2C is inderdaad eerder voor "kleine" afstanden. Typisch tussen IC's op dezelfde print. Snelheid is enkele Mbps. Er wordt gebruik gemaakt van een bi-directionele datalijn, een kloklijn en GND. De data en klok lijn hebben een pull-up. Omdat de stijgende flank van de pulsen dus enkel door die pull-up wordt bepaald beperkt dit de lengte en snelheid. Vandaar dat het weinig gebruikt wordt om buiten een toestel te gaan.

Bus is multimaster, dus er kunnen verschillende chips of dezelfde bus een communicatie starten. Het protocol beschrijft dan ook hoe communicatie starten, stoppen en hoe bepalen welke master er eerst op de bus mag als er veschillende tegelijk beginnen. Er zijn 7-bit adressen dus 128 elementen op een bus mogelijk. Maar de meeste chips hebben maar een beperkt aantal van de adresbits die je met bvb weerstanden kan instellen.

Zelf heb ik al verschillende keren ervaren dat I2C problemen geeft als je het gebruikt tussen verschillende printen of naar buiten een toestel brengt. Meestal loopt het fout bij de emc testen (en later typisch als er lampen aan en uit gaan). Wat er meestal gebeurt is dat een van de leden op de bus niet gezien heeft dat de transmissie gestart is of afgelopen en dan gewoon blijft hangen. Totdat de watchdog of wetware ingrijpt en de boel reset.

De standaard kan je hier vinden: www.nxp.com/documents/other/39340011.pdf‎ Niet nagekeken of dat de laatste versie is.

RS-485 is enkel een electrische interface er is niets dat zegt hoe je daar data mee moet oversturen. Het is een verbetering van RS-422. Het is een electrisch signaal dat van een zender naar een of meerdere ontvanger(s) gaat. Hoeveel ontvangers hangt af van welke belasting de ontvangers op de bus hebben. De standaard ontvanger heeft 1 load en dan kunnen er 32 ontvangers op de bus. Er zijn echter nieuwere chips en die kunnen 1/2, 1/4 of 1/8 loead zijn. Dan kunnen er resp 64, 128 of 256 ontvangers op 1 bus.

De bus werkt met symmetrische spanning maar niet gebalanceerd!!!. Er zijn 2 uitgangen (A en B genoemd) die steeds een tegenovergesteld niveau hebben. Als de ene hoog is, is de andere laag en omgekeerd. Er is dus om goed te zijn steeds een GND verbinding nodig tussen de elementen op de bus. De ontvanger heeft echter met een verschil van 200mV genoeg om te weten of het 1 (A>B) of 0 (B>A) is. De zender stuurt echter steeds minstens 1.5V verschil uit. Er zijn dus heel lange verbindingen mogelijk. Omdat de snelheid ook hoog kan zijn (tot 40Mbps) is een impedantie gekontroleerde bus noodzakelijk. Dit is normaliter 120 Ohm (perfect voor ethernet kabel) en beide einden moeten getermineerd zijn. In goede omstandigheden is tot 1km kabel mogelijk maar dan heb je maar 100kbps meer.

Omdat RS-485 geen protocol is moet je zelf je datacommunicatie organiseren. Protocollen die van RS-485 gebruik maken zijn bvb Modbus, Profinet, IEC958

Een goed werkje: http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slla070&track=no en www.ti.com/lit/an/slla272b/slla272b.pdf‎
Met vakantie voor onbepaalde duur.

Gerolf

Met al die microcontrollers de laatste tijd - misschien moeten we een aparte rubriek opstarten?
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

conducteur

Een nieuw board?


-rubrieken daarin:
-elektronica
-µC
-elektriciteit
-....
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Havoc

I2C en RS-485 zijn niet enkel nuttig voor microcontrollers. Misschien moeten we eerder de naam van dit draadje veranderen in "Elektronica en KISS" en de microcontrollers naar hier halen. Lijkt me trouwens ook eerder waar je het zou zoeken.

Ik vrees dat KISS zo goed als dood is? Of niet?
Met vakantie voor onbepaalde duur.

Frank_N

KISS is wat mij betreft nog lang niet dood ??? Lang leve de `eenvoudige`elektriekerij :D
Gerolf, Rian en Johan hebben wel een punt met de idee om over microcontrollers een nieuwe rubriek te starten 8)
Groet van Frank

Steam.N

Dan mogen zeker draadjes rond verschillende communicatie-types en protocols niet ontbreken !
Knutselgroeten !  Jean       TP-I (B) & TP-II (DR) - N - DC - Handbediening - Zelfbouw  { Sedelocus - De Feniks - Pira-N's Crossing - Turnhout NEEB - Scrap Yard }

PeterC

#8
Citaat van: conducteur op 30 mei 2013, 21:03:53 PM
...realisatie moest niet af zijn omdat IW een theoretische richting is en enkel het dossier van belang is...

Rian, al een idee voor volgend schooljaar?


[Edit] ondertussen volop met I2C bezig voor een project(je)...
Groetjes, Peter


conducteur

Elektronica in Oostende, starten met professionele bachelor, daarna plan ik om nog een schakeljaar te doen, en een masterjaar in de elektronica als ik het nog zie zitten.
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

PeterC

Citaat van: conducteur op 31 mei 2013, 20:16:11 PM
Elektronica in Oostende, starten met professionele bachelor, daarna plan ik om nog een schakeljaar te doen, en een masterjaar in de elektronica als ik het nog zie zitten.

Over hoeveel jaren spreek je dan?  Ik ben al lang niet meer mee met de tegenwoordige opleidingen...

In elk geval veel succes!
Groetjes, Peter


Havoc

CiteerKISS is wat mij betreft nog lang niet dood  Lang leve de `eenvoudige`elektriekerij

Ik heb het over KISS als een rubriek in MSM. Geen idee wat het ooit moest worden maar het begin leek veelbelovend. Spijtig genoeg ergens blijven steken. (ik begrijp het heus wel)
Met vakantie voor onbepaalde duur.

Frank_N

#12
Het gaat me er een beetje over dat het KISS gebeuren doorgaat mede ivm modelspoorders welke dat idee aanspreekt, Johan.
Er zullen altijd modelspoorders zijn, die bezig zijn met goed uitgewerkte scenery etc. welke gebruik maken van zeer geavanceerde technieken maar problemen hebben met eenvoudige electronica.
Kijk eens op vooraanstaande fora aan de andere kant van de grote plas...Schitterend voorbeeld `niet zo ver weg, u moet wel even met de boot...'is het Pendon museum. High St, Long Wittenham, Abingdon OX14 4QD

Er zijn er ook welke nog altijd staalkabeltjes gebruiken om wissels om te zetten......Daarbij,
Het KISS idee komt uiteindelijk voort uit het MSM, en bij de gratie van MSM bestaat dit forum!
Hoewel het allemaal mijn belangstelling heeft, gaat het toch om modelbouw. De mate waarin men electronica wil gebruiken en de manier waarop is voor iedereen verschillend zo lijkt mij.
Vandaar mijn gedachte ;)
Groet van Frank

Cedric

Citaat van: PeterC op 31 mei 2013, 20:18:55 PM
Citaat van: conducteur op 31 mei 2013, 20:16:11 PM
Elektronica in Oostende, starten met professionele bachelor, daarna plan ik om nog een schakeljaar te doen, en een masterjaar in de elektronica als ik het nog zie zitten.

Over hoeveel jaren spreek je dan?  Ik ben al lang niet meer mee met de tegenwoordige opleidingen...

In elk geval veel succes!


In een notendop:
Professionele bachelor (3j) = graduaat van vroeger
Academische bach (3j) + master (1j) = ing van vroeger
Prof bach (3j) + schakeljaar (1j) + Master (1j) = graduaat die schakeljaar doet en zo ing wordt

Rian, waarom ga je niet direct voor ing als je toch IW gedaan hebt ? Je hebt alleszinds een geweldige interesse in elektronica en je bent bijzonder goed bezig.

Zelf heb ik ook in Oostende gestudeerd voor ing, wel EM. Eerste drie semesters waren algemeen voor iedereen (bouw, em, eo, ...) en deze vond ik persoonlijk ook het minst interessant, maar vanaf dat we een studierichting gekozen hadden viel het wel mee. Indien je graduaat eo met schakeljaar doet heb je wel het voordeel dat je een paar buisvakken kan overslaan die je bij ing eo anders wel hebt in het derde semester (sterkteleer, thermodynamica en fluïdummech). Indien je graduaat eo doet met schakeljaar sla je deze over wat bij sommigen eerder als oneerlijk overkwam...

Bovenstaande was alleszinds zo toen ik er zat (2006-2010), ik weet niet of er tot nu toe al veel veranderd is.

Weet je eigenlijk hoelang ze eigenlijk nog in Oostende blijven ? Toen ik in mijn eerste jaar zat in 2006 zeiden ze dat ze vanaf 2008 in Brugge zouden zitten  ;D :o

Gerolf

Voila, topic is verplaatst naar een nieuwe specifieke microcontroller-rubriek
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw