RTS

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

RTS, som står för "Request To Send", är en styrsignal inom RS-232C-standarden. Den används i handskakningsprocessen mellan två kommunikationsenheter för att hantera flödeskontrollen av data i seriell kommunikation.

Teknisk beskrivning av RTS:

  1. Funktion: RTS-signalen används av sändningsenheten för att indikera att den är redo att skicka data och frågar om mottagaren är redo att ta emot den.
  2. Signalering: RTS är en spänningsbaserad signal, precis som andra RS-232C-signaler. En positiv spänning (ofta mellan +3 till +15 V) indikerar att RTS är aktiv, medan en negativ spänning (ofta mellan -3 till -15 V) indikerar att RTS är inaktiv.
  3. Handskakning: I ett typiskt scenario där RTS/CTS-handshakning används, när sändningsenheten är redo att skicka data, aktiverar den sin RTS-signal. Mottagaren svarar genom att aktivera sin CTS-signal ("Clear To Send") för att tala om för sändaren att den är redo att ta emot data.
  4. Användningsområden: RTS/CTS-flödeskontroll är särskilt användbar när data överförs med höga baudhastigheter, eller när det kan finnas variationer i bearbetningshastigheter mellan sändare och mottagare. Genom att använda denna handskakningsmekanism kan mottagaren "pausa" sändaren när den inte kan hantera mer inkommande data tillfälligt, vilket förhindrar förlust av information.
  5. Anslutning: På en DB-25-kontakt (en RS-232C-kontaktstandard) är RTS ansluten till pinne 4. På den vanligare DB-9-kontakten är RTS ansluten till pinne 7.
  6. RTS/CTS vs. XON/XOFF: Medan RTS/CTS är en hårdvarubaserad flödeskontrollmekanism, finns det också programvarubaserade flödeskontrollmetoder, såsom XON/XOFF. I XON/XOFF-metoden skickas speciella tecken (XON och XOFF) över kommunikationskanalen för att signalera början eller stopp av dataöverföring-

Signalnivåer:

  • RTS är en spänningsbaserad signal i RS-232-kommunikation.
  • När RTS är aktiv ("ON" eller "asserted") ligger spänningen oftast mellan +3V till +15V.
  • När RTS är inaktiv ("OFF" eller "de-asserted") ligger spänningen oftast mellan -3V till -15V.
  • Detta skiljer sig från många andra digitala signaleringssystem, där en hög spänningsnivå representerar en logisk "1" och en låg spänningsnivå representerar en logisk "0".
Tidsaspekter:
  • I system där dataöverföringshastigheterna är höga kan tiden mellan att RTS blir aktiv och det att CTS (Clear To Send) svarar bli kritisk. Sändande enhet måste vänta på CTS innan den börjar skicka data för att säkerställa att mottagaren verkligen är redo.
Elektrisk Last:
  • RS-232C-specifikationen definierar en lastgräns på 3 kΩ till 7 kΩ för varje drivare. Detta innebär att en RS-232C-drivare bör kunna driva en last av upp till 3 kΩ utan att spänningsnivåerna faller utanför de definierade gränserna.
Kabelns Längd och Hastighetsbegränsningar:

RTS-signalens kvalitet kan påverkas av kabellängden och den överföringshastighet som används. Långa kablar eller mycket höga baudhastigheter kan leda till signaldegradering. Detta kan i sin tur påverka när RTS detekteras av den mottagande enheten.

Användning med Andra Protokoll:
  • Även om RTS ursprungligen definierades för RS-232C kan signalen också användas i andra seriella protokoll, som RS-485, där den kan styras för att växla mellan sändning och mottagning.
Pin Assignment:
  • På en DB-25-kontakt (äldre RS-232C-kontaktstandard) är RTS ansluten till pinne 4.
  • På den mer moderna DB-9-kontakten är RTS ansluten till pinne 7.
Hårdvaruimplementering:
  • RTS kan implementeras i både enkelriktade och tvåriktade kommunikationssystem. I vissa fall kan hårdvaruanslutningarna för RTS vara direkt kopplade till andra styrsignaler (t.ex. CTS) för att skapa en loopback för teständamål.

Sammanfattningsvis är RTS inte bara en enkel styrsignal. Den inblandade elektriken, timingen och interaktionen med andra signaler och protokoll gör det till en kritisk komponent i många seriella kommunikationssystem. Dess tekniska aspekter är avgörande för korrekt och pålitlig dataöverföring i dessa system.