Sida 1 av 1

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

Postat: 19 mars 2008, 22:56:38
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.

Postat: 19 mars 2008, 23:00:26
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.

Postat: 19 mars 2008, 23:00:49
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

Postat: 20 mars 2008, 00:59:53
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.

Postat: 20 mars 2008, 08:31:30
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?

Postat: 20 mars 2008, 21:18:18
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.

Postat: 30 mars 2008, 19:07:43
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.

Postat: 31 mars 2008, 21:04:02
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?