Sida 1 av 1
Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 01:11:36
av Heala
Jag är fn. hyfsat grön på micros, kör med AVR.
Nätverkskabel RJ45 är ju relativt billig och lättillgänglig, kan man använda sån för att skicka information mellan två mikroprocessorer? Inget avancerat, jag vill bara få processor 1 att säga till processor 2 vad den ska göra (exv. slå igång relä nr 1) på ett längre avstånd (100-400 m). För att förtydliga så behöver inte protokollet vara eternet-kompatibelt, rj45-kabeln är här bara en billig tråd från punkt a till b.
Önskemål:
"Praktiskt taget färdigbyggt", dvs. helst en färdig krets som jag kan designa in i min nuvarande krets. Jag vill experimentera med slav/härskar-enheter, är inte intresserad av att ge mig in på avancerade kommunikationskretsar riktigt än.
Överföringshastighet: minimal.
Bekräftat protokoll, (kan så klart göras manuellt så att p2 skickar samma information tillbaks till p1 och p1 bekräftar men färdigt är ju enklare så kan jag göra mer avancerade saker när jag blivit säker på de grundläggande principerna).
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 01:25:42
av blueint
Elektriskt kan du välja mellan:
* EIA-485 driver chip
* Direkt I/O med "open collector"
För att skicka data så kan du prova:
* UART - finns inbyggt (oftast). Men är lite kinkigt med timing.
* Eget protokoll som är självklockande och är väldigt okänsligt för ostabil klocka.
Sen beror det på hur du utformar kabeln fysiskt. Med längd, T-anslutningar, ändmotstånd osv.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 09:20:34
av Icecap
Just för att TP-kabel har TP är RS485 (EIA-485) en mycket bra lösning.
Men RS485 är half duplex, alltså det behövs bara ett par för att båda ändar ska kunde prata med varandra men de får turas om, man kan även ha fler enheter på samma parkabel men det kan bli lite problem om de pratar i munnen på varandra.
Då ett TP-kabel har fler par ville RS422 (IEA-422) vara mer lämplig, då finns det ett par med "A till b"-snack och ett par med "B till A"-snack.
RS485/422 är jättebra till avståndet & parkabel, det finns färdiga drivkretsar till en ganska rimlig peng och det är en beprövat teknik. Med ett pat RS422 drivkretsar samt den inbyggda UART i varje ända kan du precis allt du vill i kommunikationsväg.
Ett tips rörande kommunikationen generellt: tänk att du ska kunde koppla bort/till kablarna helt slumpmässigt och inget paket får misstolkas.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 13:58:21
av Heala
Väldigt bra tips. Jag söker efter en "färdig krets" som jag kan skaffa och koppla till I/O på min existerande micro. Som sagt så är det att få A och B att samarbeta som jag vill lära mig mer om, inte själva kommunikationsprotokollen. Känner Ni till några såna?
8D8P (RJ45, "ethernetkabel") var som sagt den kabel jag helst ville använda, främst för att den är lättillgänglig, billig och att jag antagligen har en km sådan kabel redan.
Mvh.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 14:09:41
av blueint
8D8P - Är kontakteringen 8P8C korrekt stavat
RJ45 - Talar om vilka mått kontakten skall ha och pinnummer tilldelning
"ethernetkabel" - Finns ej, däremot finns kabel som passar för Ethernet t.ex 50-ohm koaxialkabel
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 14:38:33
av Heala
Ok, via ethernet-kabel finns alltså inga "färdiga kretsar", skulle verkligen uppskatta länk till vilken lösning som nu finns med en färdig kommunikationskrets om det öht finns någon sådan. Då får jag helt enkelt anpassa kabel efter vilka kretsar som går att få tag på.
[OT]Jag erkänner, stavning är inte min starka sida. Att få ut användbara resultat från en valfri sökmotor (annat än universitetets databaser) är inte heller en konst jag behärskar.[/OT]
Mvh.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 14:54:08
av Klas-Kenny
Alltså, en nivåomvandlare för RS485 tex. 73-221-12 kopplas mellan UART-pinnarna på processorn och TP-kabeln.
Sedan är allt som behöver göras i processorn i princip att initiera UART och sedan skriva den data du ska skicka till rätt register (har inte koll exakt på AVR) så fungerar kommunikationen.
Dvs. en mer eller mindre "färdig" lösning.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 14:54:28
av sodjan
Alltså, för att back lite...
För låga hastigheter (d.v.s lååångt från ethernet-speed !) så
kan du nästa köra hur som helst på den där kabeln.
Du har inte heller sagt något om miljön som kabeln ska ligga i, det är
stor skillnad intill masugnen i ett järnverk och gillestugan där hemma.
Hemma kan du mycket väl börja med att bara koppla upp två processorer
mot varande direkt utan speciella drivkretsar och se vad som händer.
Kör t.ex med USART'arna direkt mot varandra på en låg hastighet, säg
max 1200 baud eller så.
En annan sak som inte framgår är om det enbart är *2* enheter som
ska kommunicera. Eller är det/kan det vara flera "slavar" ? Då uppstår
helt andra problem med t.ex adressering och kollisioner.
> Ok, via ethernet-kabel finns alltså inga "färdiga kretsar",
Jodå det finns det visst. Men de flesta är för just ethernet kommunikation.
> ...en färdig kommunikationskrets
Vad vill du att den i så fall ska göra ?
Enbart nivåanpassning ? Eller även protokollhantering ?
Det finns lösningar allt från enkla "drivers" för t.ex RS232/422/485 till
kretsar som t.ex har komplett hantering av CAN och liknande protokoll.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 15:03:02
av blueint
Kika här för "ethernet kretsar"
http://elektronikforumet.com/wiki/index ... erienheter
(I synnerhet ENC624)
Men det är nog inte vad du söker.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 15:19:28
av Heala
Hastigheten får vara vad den vill, kommer ändå aldrig komma upp i större datamängder utan bara enstaka siffervärden som ska från punkt a till b. Mitt huvudproblem är avstånd, så vitt jag förstått så klarar inte kretsarnas inbyggda uart 400m oavsett kabel. Kabeln ska dras utomhus, men bara kortare tidsperioder så i stort sett vilken kabel som helst funkar. Kretsarna är så klart i torr och skyddad miljö.
Ethernetkabeln är som sagt av praktiska skäl, inget annat. Kostnad, tillgänglighet samt att jag redan har en närmast obegränsad tillgång på sådan.
Det är punkt till punktkommunikation, krets A är mästare, sänder några siffror till krets B (ensam slav, den enda andra kretsen ansluten till kabeln) som när den får dessa gör något förprogrammerat.
> Det finns lösningar allt från enkla "drivers" för t.ex RS232/422/485
Enkel lösning låter som det jag letar efter.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 15:43:04
av Klas-Kenny
Det är mycket möjligt att den inbyggda UART'en på en AVR inte klarar 400m över TP-kabel, där av RS485-kretsarna som nämnts flera gånger i tråden, med sådana kan man klara 400 meter vid relativt låg hastighet utan problem, och de är ofta nära på 'Plug and Play'.
Det de gör är att ta signalerna ifrån UART'en och skicka ut signaler med mer lämpliga spänningsnivåer (kommer inte ihåg exakta siffror i huvudet) för att klara det avståndet.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 15:48:05
av Heala
Så RS485-kretsarna kan helt enkelt kopplas ihop med kretsens egna UART, men då var ju problemet löst... Tack för hjälpen, ni får ursäkta min oerfarenhet.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 16:03:57
av Icecap
Och bara för att vara lite språkpolis: Ethernetkabel är snart sagt vad som helst, det du menar är TP-kabel (TP = Twisted Pair). Det används numera intensivt till datornätverk och är billigt.
RS485/RS422 kan köra runt 1200m på sånt kabel med kanske 2400 baud, då ska kabeln vara rätt terminerat (ett motstånd i varje ända).
Ska du köra enklast möjligt är RS422 grejen, då ska du inte bekymra dig om att byta riktning på kommunikationen osv. det är bara att tuta o köra och i ett vanligt TP-kabel till nätverk finns det rikligt med par att använda.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 29 augusti 2011, 16:13:37
av sodjan
> så vitt jag förstått så klarar inte kretsarnas inbyggda uart 400m oavsett kabel.
Jo, med tillräckligt låg hastighet så gör de nog det. Och inga åsknedslag o.s.v....
Notera också att du inte har något skydd för processorn. Om det "kommer in"
något på kabeln så är det inte en billig driver som "går" utan kanske processorn.
Men varför inte testa !
Ta en rulle med kabel och pilla ut båda ändar och kör hårt.
Re: Kommunikation via RJ45 kabel (Inte Ethernet-protokoll)
Postat: 30 augusti 2011, 01:20:18
av Heala
Återkommer med rapport när jag provat lite fram och tillbaka, tack för all hjälp allihopa!