Hur är detta möjligt, PIC -> RS232

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
c-larsson
Inlägg: 8
Blev medlem: 19 mars 2008, 22:40:33
Ort: Fjärås
Kontakt:

Hur är detta möjligt, PIC -> RS232

Inlägg av c-larsson »

Köpte denna byggsats från elecrokit och har fått den att fungera helt underbart.

http://www.electrokit.se/item_show.php?code_no=10100145

Men när jag började studera hur den verkligen fungerade så blev jag lite fundersam. Observerat att detta inte är ett problem utan att jag undrar utav ren nyfikenhet. Spänningsmatningen sker genom Serieportens pinne 5 (GND) och pinne nr 4 (DTR) via en 7805 för att få 5v, inga problem där inte. Sen får picen data från 4st DS18S20 som den sedan vidarebefodrar till datorn via serieporten. Nu till min fråga, Så som jag har förstått det så definerar RS232 en 1:a som +5 till +15v och en 0:a som -5v till -15v. Hur kan då PICen vars utgång som är kopplad direkt till pinne nr 2 (RXD) skicka data till min PC när de enda nivåer som den känner till är +5v och 0v?

Så som jag har förstått det så krävs det en MAX232:a för att uppnå detta, men tydligen inte eftersom att detta fungerar helt utan problem.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46950
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

Du har så rätt så rätt, det skall inte fungera, men eftersom din dator inte vet om att det inte fungerar, så fungerar det ändå.

Förklaringen är nog den att RS232 standarden inte följs av din dator, utan den acceperar vilka signaler som helst, bara de är någorlunda riktiga.

Om du har en riktigt lång kabel, eller kör mycket snabbt får du nog problem, gissar jag.
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

De flesta datorer klarar av 5V nivåer trots att detta ligger utenför specen för RS-232. Har sjläv byggt några ful saker som fungerade på det viset och det har fungerat på alla burkar jag kopplat in dem på...

Dock med längre kablar eller om man skall göra många av kretsen så är en nivåomvandlare nödvändig
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

RS-232 är definerad som "1" -3V .. -25V, "0" +3V .. +25V. Därav hur rs232 porten beter sig kan man utgå från att den har en "pulldown" till "1". Så att +5V därmed blir "0" och GND blir "1".
Bör väl vara CMOS utgång så att man får rail-2-rail. TTL 2.0V hamnar som i det odefinierade området.
c-larsson
Inlägg: 8
Blev medlem: 19 mars 2008, 22:40:33
Ort: Fjärås
Kontakt:

Inlägg av c-larsson »

Okej, så att en etta på processorn blir nolla hos datorn. En nolla på processorn som då skulle ha varit förbjudet område tilldatorn, lägger den om till en etta. Så länge som han som programerade PIC:en tänkte på att invetera utgången så är ju detta inga problem.

Förklara gärna rail-2-rail och vad då menar med TTL 2.0V?
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

CMOS har omslag på ingrång vid Vcc/2 och railar utgångarna (vid låg last) till mycket nära matningsspänningen. TTL har utnivåerna längre ifrån Vss respektive Vdd.
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Problemet är väl att på "vissa" datorer tex bärbara fungerar det inte och vips så har man ett svårhittat fel på halsen.
larsson
Inlägg: 188
Blev medlem: 9 juni 2007, 16:49:21
Ort: Göteborg

Inlägg av larsson »

Jag gjorde ett fulhack för några år sedan där apparaten "snodde" en minusspänning från nån pinne i serieporten. Denna switchade jag sedan genom en vanlig transistor. Så slapp jag en MAX232 och jag fick nästan äkta nivåer på seriedatan. Det kanske är något liknande de gjort i byggsatsen?
Skriv svar