Bra beskrivning på svenska av RS232 önskas?
-
- Inlägg: 822
- Blev medlem: 23 mars 2009, 19:04:00
- Ort: Ystad
Bra beskrivning på svenska av RS232 önskas?
Finns det någon bra sida på nätet som förklarar grunderna på SVENSKA om rs232 och seriell kommunikation ? Eller finns det någon bok på svenska ? Och en annan fråga när jag ändå håller på med Seriell kommunikation. SPI har det något med rs232 att göra ? Hittade en programmerbar pot som skulle programmeras via SPI och blev lite nyfiken.
Tackar på förhand!
Tackar på förhand!
Senast redigerad av blueint 20 augusti 2010, 02:30:36, redigerad totalt 1 gång.
Anledning: Rubrik var "rs232", bättre beskrivning
Anledning: Rubrik var "rs232", bättre beskrivning
Re: rs232
Det här kanske är en början?
http://sv.wikipedia.org/wiki/RS232
http://sv.wikipedia.org/wiki/Serial_Per ... _Interface
Skulle väl inte säg att SPI har direkt med RS232 att göra.
http://sv.wikipedia.org/wiki/RS232
http://sv.wikipedia.org/wiki/Serial_Per ... _Interface
Skulle väl inte säg att SPI har direkt med RS232 att göra.
Re: Bra beskrivning på svenska av RS232 önskas?
SPI och RS232 går oftast inte att omvandla direkt med en krets eller så. Det beror på att SPI har en master som bestämmer när slaven ska sända sina uppgifter. Men i RS232 så kan båda sidor sända lite som dom vill.
Vad vill du veta mer exakt? Är det hur du programmerar en µC eller hur du skapar ett RS232-interface i hårdvara eller ... ?
RS232 har två oberoende "linjer": en RX som tar emot data och en TX som sänder data. I andra änden blir RX till TX och TX till RX. Det finns flera trådar, t.ex. DTR (data terminal ready) , men inga av dessa behövs inte egentligen förutom GND förstås (standardkontakten för RS232 har ju 9 poler).
Det finns två logiska nivåer i RS232: "etta" motsvaras av -3 till -12V och "nolla" motsvaras av "+3 till +12 volt. När man ska ha in signalen i en microkontroller så brukar den ha RX och TX pinnar, men dess använder vanliga 5 volts-nivåer, dvs "etta" = +5V och "nolla" = 0V. För att omvandla signalerna till rätt spänning brukar man använda en krets som heter MAX232 eller MAX202 eller liknande. Denna krets (med lite kondensatorer) är det enda du behöver för att kunna koppa en µC till serieporten på din dator, ditt mätinstrument etc.
I viloläge är utgången (TX) alltid en "etta". Båda enheterna måste veta i förväg i vilken hastighet data ska skickas. När du ska skicka en byte (8 bitar) så inleds det med en låg signal (nolla) vilket kallas startbit, följt av åtta databitar (plus eventuellt en paritetbit) samt till slut en eller två stopbitar. stopbitarna är alltid "etta". Man har alltså ingen klocksignal som håller reda på bitarna, utan mottagaren får själv ta tiden och läsa av bitarna i rätt ögonblick.
RS232 har bara två ändar... du kan alltså inte koppla in fler enheter än två stycke som kommunicerar med varandra.
Vad vill du veta mer exakt? Är det hur du programmerar en µC eller hur du skapar ett RS232-interface i hårdvara eller ... ?
RS232 har två oberoende "linjer": en RX som tar emot data och en TX som sänder data. I andra änden blir RX till TX och TX till RX. Det finns flera trådar, t.ex. DTR (data terminal ready) , men inga av dessa behövs inte egentligen förutom GND förstås (standardkontakten för RS232 har ju 9 poler).
Det finns två logiska nivåer i RS232: "etta" motsvaras av -3 till -12V och "nolla" motsvaras av "+3 till +12 volt. När man ska ha in signalen i en microkontroller så brukar den ha RX och TX pinnar, men dess använder vanliga 5 volts-nivåer, dvs "etta" = +5V och "nolla" = 0V. För att omvandla signalerna till rätt spänning brukar man använda en krets som heter MAX232 eller MAX202 eller liknande. Denna krets (med lite kondensatorer) är det enda du behöver för att kunna koppa en µC till serieporten på din dator, ditt mätinstrument etc.
I viloläge är utgången (TX) alltid en "etta". Båda enheterna måste veta i förväg i vilken hastighet data ska skickas. När du ska skicka en byte (8 bitar) så inleds det med en låg signal (nolla) vilket kallas startbit, följt av åtta databitar (plus eventuellt en paritetbit) samt till slut en eller två stopbitar. stopbitarna är alltid "etta". Man har alltså ingen klocksignal som håller reda på bitarna, utan mottagaren får själv ta tiden och läsa av bitarna i rätt ögonblick.
RS232 har bara två ändar... du kan alltså inte koppla in fler enheter än två stycke som kommunicerar med varandra.
Re: Bra beskrivning på svenska av RS232 önskas?
RS-232 är väl egentligen bara det elektriska interfacet, men det har ju på sätt och vis kommit att även betyda asynkron serieportskommunikation.
Sen jobbar väl SPI med "kommandon" och svarspaket? Medans med RS-232 så kan man skicka enskilda tecken/bytes hur som helst.
Sen jobbar väl SPI med "kommandon" och svarspaket? Medans med RS-232 så kan man skicka enskilda tecken/bytes hur som helst.
-
- EF Sponsor
- Inlägg: 544
- Blev medlem: 8 december 2006, 11:18:14
- Ort: Tågarp, Svalöv
Re: Bra beskrivning på svenska av RS232 önskas?
>>RS232 har bara två ändar... du kan alltså inte koppla in fler enheter än två stycke som kommunicerar med varandra.
Det går och det görs, ibland.
//A
Det går och det görs, ibland.
//A
Re: Bra beskrivning på svenska av RS232 önskas?
En utgång kan sända till fler ingångar, javisst. Men fler utgångar kan inte utan en del fibblande sända till en ingång.
Men sak samma, SPI och RS232 är 2 ganska olika sätt att kommunicera på.
RS232 är beroende av att data som ska överföras skickas med ett strikt tidintervall mellan samt start- och stoppbit. Detta förfarande är asynkront, det finns ingen klocka som ska styras, det klarar UART'en själva så att säga.
SPI är ett synkront protokoll där man ställer dataledningen i rätt läge och sedan "klickar" med klock-ledningen, detta betyder att det kan gå långsamt eller fort och variera under tiden helt utan problem.
Så de har inget gemensamt frånsett att vissa UART kan ställas i SPI-läge om man vill det, själva omvandlande mellan parallell-data och seriell-data är ju ganska lika och med lite hårdvara till att skyffla data fram o tillbaka kan man avlasta själva kärnan men det är olika lägen ändå.
Men sak samma, SPI och RS232 är 2 ganska olika sätt att kommunicera på.
RS232 är beroende av att data som ska överföras skickas med ett strikt tidintervall mellan samt start- och stoppbit. Detta förfarande är asynkront, det finns ingen klocka som ska styras, det klarar UART'en själva så att säga.
SPI är ett synkront protokoll där man ställer dataledningen i rätt läge och sedan "klickar" med klock-ledningen, detta betyder att det kan gå långsamt eller fort och variera under tiden helt utan problem.
Så de har inget gemensamt frånsett att vissa UART kan ställas i SPI-läge om man vill det, själva omvandlande mellan parallell-data och seriell-data är ju ganska lika och med lite hårdvara till att skyffla data fram o tillbaka kan man avlasta själva kärnan men det är olika lägen ändå.
-
- Inlägg: 822
- Blev medlem: 23 mars 2009, 19:04:00
- Ort: Ystad
Re: Bra beskrivning på svenska av RS232 önskas?
Tack för kanonbra svar. Jag vill ju lära mig lite mer så jag fattar varför jag kopplar ihop vissa saker och vad som händer. Inte bara gå efter ritningen o se att det slutliga resultatet funkar utan varför.
För att testa detta så skulle jag vilja kopplat ihop en kontakt som kopplas i datorn. Till en testplatta. Rätta mig nu om jag tänker fel. Sen så får då mottagaren på testplattan vara en som ovan nämnd MAX232. Skall TX från datorn kopplas in på T1IN ? och så kommer det ut inventerat på T1OUT ?
Där skulle jag i så fall vilja ta o koppla ihop ett antal D-vippor som Skiftregister o plocka ut signalerna Mellan varje D-vippa o visat det på en lysdiod.
Är det vettigt att koppla en lysdiod direkt mellan 2 Dvippor via ett motstånd och sedan ut till Gnd.
Eller skall jag låta det gå via ett större motstånd ut till en transistor o sedan förstora signalen igen till lysdiod o motstånd?
Hoppas ni förstår hur jag tänker ... Många frågor på en o samma gång.....
För att testa detta så skulle jag vilja kopplat ihop en kontakt som kopplas i datorn. Till en testplatta. Rätta mig nu om jag tänker fel. Sen så får då mottagaren på testplattan vara en som ovan nämnd MAX232. Skall TX från datorn kopplas in på T1IN ? och så kommer det ut inventerat på T1OUT ?
Där skulle jag i så fall vilja ta o koppla ihop ett antal D-vippor som Skiftregister o plocka ut signalerna Mellan varje D-vippa o visat det på en lysdiod.
Är det vettigt att koppla en lysdiod direkt mellan 2 Dvippor via ett motstånd och sedan ut till Gnd.
Eller skall jag låta det gå via ett större motstånd ut till en transistor o sedan förstora signalen igen till lysdiod o motstånd?
Hoppas ni förstår hur jag tänker ... Många frågor på en o samma gång.....
Re: Bra beskrivning på svenska av RS232 önskas?
det är riktigt att MAX232 inverterar signalen. Jag tror det ska kopplas som du just beskrev (t1in - t1ut). Men det är mycket svårare att läsa in en RS323-signal med bara D-vippor eftersom du behöver något som räknar tiden för varje bit och klockar in den vid exakt rätt tidpunkt.
På bilden nedan ser du t.ex. att bit 4,5 och 6 inte går att skilja åt o man inte mäter tiden för att avläsa dem, eftersom det inte sker någon ändring av nivåer under tiden.
Hade det varit SPI däremot så är det busenkelt att klocka in data i D-vippor eller i ett shiftregister (som består av en rad med sammankopplade D-vippor): SPI har både klockutgång och datautgång, och dessutom en "chip select"-tråd som signalerar när du ska börja läsa in data och när du ska sluta.
RS232:

SPI:

På bilden nedan ser du t.ex. att bit 4,5 och 6 inte går att skilja åt o man inte mäter tiden för att avläsa dem, eftersom det inte sker någon ändring av nivåer under tiden.
Hade det varit SPI däremot så är det busenkelt att klocka in data i D-vippor eller i ett shiftregister (som består av en rad med sammankopplade D-vippor): SPI har både klockutgång och datautgång, och dessutom en "chip select"-tråd som signalerar när du ska börja läsa in data och när du ska sluta.
RS232:
SPI:

-
- Inlägg: 822
- Blev medlem: 23 mars 2009, 19:04:00
- Ort: Ystad
Re: Bra beskrivning på svenska av RS232 önskas?
Kan jag sända SPI från en pc? eller använder man Serieporten ändå, fast det bara är mjukvaran i pc-n som jobbar annorlunda ?
Helt rätt Jesse! Fel tänkt av mig... Man klockar ju D-vipporna där. o de får man ju inte om man bara kör TX-T1in.
Helt rätt Jesse! Fel tänkt av mig... Man klockar ju D-vipporna där. o de får man ju inte om man bara kör TX-T1in.
Re: Bra beskrivning på svenska av RS232 önskas?
Det bör väl gå att sända SPI från en PC, men jag har aldrig hört talas om att någon gjort det. Det behövs nog speciell programvara för det (det finns inget standardsätt vad jag vet) så det kan bli lite krångligt om man inte vet hur man bitbangar serie- eller parallellporten.
Är du intresserad av att bara skicka data från din PC eller vill du även kunna ta emot?
Om du pysslar med microkontrollers (AVR/PIC etc.) så är det ju lätt att kommunicera med RS232 - de har inbyggda UART ( Universal Asynchronous serial Receiver and Transmitter), det är jättekul, då kan du styra precis vad som helst från PC:n (och läsa in data också förstås)
Är du intresserad av att bara skicka data från din PC eller vill du även kunna ta emot?
Om du pysslar med microkontrollers (AVR/PIC etc.) så är det ju lätt att kommunicera med RS232 - de har inbyggda UART ( Universal Asynchronous serial Receiver and Transmitter), det är jättekul, då kan du styra precis vad som helst från PC:n (och läsa in data också förstås)
-
- Inlägg: 822
- Blev medlem: 23 mars 2009, 19:04:00
- Ort: Ystad
Re: Bra beskrivning på svenska av RS232 önskas?
Det är ju klart. Jag kan ju kanske få någon krets att tala om för pc'n vad jag sände till denna. Då slipper jag löda masa motstånd o lysdioder för att få svaret. Det bör ju vara en så enkel krets som möjligt att börja med. Sen kan jag vidareutveckla det i vinter när snön ligger djup o prova att programmera en pic till detta... Men det finns säkert någon pot eller något annat som någon kan rekommendera att börja leka med.
Vilken mjukvara används för att labba med serieporten?
Vilken mjukvara används för att labba med serieporten?
Re: Bra beskrivning på svenska av RS232 önskas?
Ingen speciell mjukvara. När jag gör program kan jag välja att öppna en "fil" som heter "COM1" varvid programmet öppnar COM1 (om den nu finns). I den C++ jag använder har jag dock lagt in en "hjälp-rutin" (TPAPRO) som klarar mycket av detta men normalt räcker det att programmet öppnar "COMx", då är COM-porten öppen och i kontakt med programmet.
Till VB finns det tydligen något tillägg som medger kommunikation via COM-porta.
Till VB finns det tydligen något tillägg som medger kommunikation via COM-porta.
Re: Bra beskrivning på svenska av RS232 önskas?
i VB6 kör jag med något som heter msComm tror den är överförd (och kanske omdöpt) till nyare VBversioner.
Dock är den buslätt att använda det är i stort sett exakt som att använda en hyperterminal och det är samma inställningar (såklart).
Sök på mscomm så hittar du massor med exempel.
Det är lite knivigare att ta emot, man måste lyssna på vissa event eller vad man ska kalla dem. Det finns även en buffer som man kan använda om man inte hinner med snabbt nog, den sköter sig nästan själv normalt sett.
Dock är den buslätt att använda det är i stort sett exakt som att använda en hyperterminal och det är samma inställningar (såklart).
Sök på mscomm så hittar du massor med exempel.
Det är lite knivigare att ta emot, man måste lyssna på vissa event eller vad man ska kalla dem. Det finns även en buffer som man kan använda om man inte hinner med snabbt nog, den sköter sig nästan själv normalt sett.
-
- Inlägg: 822
- Blev medlem: 23 mars 2009, 19:04:00
- Ort: Ystad
Re: Bra beskrivning på svenska av RS232 önskas?
Tackar!!!Hittade en massa olika MAX232 i elfa. En del krävdes det kondingar. Men jag hittade en som ser ut att klara sig utan. 73-023-34 lite dyrare kanske.
Re: Bra beskrivning på svenska av RS232 önskas?
Finns många kretsar inte bara från maxim (som vet att ta betalt) ok för testning kan det ju vara bra att slippa kondningar men för det priset skulle jag inte göra många innan jag satte kondningar 
Det är enkelt att sätta kondningarna rätt över benen på labbdäcket, alternativt gör man ett kort där man har dem färdiga så man slipper stoppa på dem varje gång.

Det är enkelt att sätta kondningarna rätt över benen på labbdäcket, alternativt gör man ett kort där man har dem färdiga så man slipper stoppa på dem varje gång.