den här artikeln kommer att förklara följande ämnen i Detaljer:
1) Steg 1: Förstå RS232-anslutning och signaler
2) Steg 2: Läs mer om protokollet
3) Steg 3: Kontrollera dina RS232-enheter genom att använda 232Analyzer
Efter att ha läst den här sidan bör du kunna förstå de flesta RS232., Om du har en chans att testa dina RS232-enheter med 232Analyzer-programvaran, bör du kunna styra dina RS232-enheter på kort tid.Steg 1: Förstå RS232-anslutning& signaler
RS-232C, EIA RS-232, eller helt enkelt RS-232, hänvisar till samma standard som definierats av Electronic Industries Association 1969 för seriell kommunikation.
dte och DCE
dte står för Dataterminalutrustning. En dator är en DTE. DCE står för Datakommunikationsutrustning. Ett modem är en DCE.,
dte levereras normalt med en hankontakt, medan DCE levereras med en honkontakt. Det är dock inte alltid sant. Använd det enkla sättet nedan för att bekräfta: Mät stift 3 och stift 5 i en DB-9-kontakt med en voltmätare, om du får en spänning på-3V till-15V, då är det en dte-enhet. Om spänningen är på stift 2 är det en DCE-enhet.
Obs: resultatet för en DB-25-kontakt är omvänd (se DB-9 till DB-25 konverteringstabell nedan).
RS-232 Pin outs (DB-9)
en hankontakt DB-9 sett framifrån., Omvänd eller baksida av hankontakt för honkontakt.,div>7
RS-232 Connections
A straight-through cable is used to connect a DTE (e.,g. dator) till en DCE (t.ex. modem), alla signaler på ena sidan som är anslutna till motsvarande signaler på andra sidan på en-till-en-basis. En crossover (null-modem) kabel används för att ansluta två dte direkt, utan ett modem däremellan., De korsar överföra och ta emot datasignaler mellan de två sidorna och det finns många variationer på hur de andra styrsignalerna är trådbundna, nedan är en av dem:
RS-232 signaler
bilden ovan visar en typisk RS-232 logisk vågform (dataformat: 1 startbit, 8 databitar, ingen paritet, 1 stoppbit)., Dataöverföringen börjar med en startbit, följt av databitarna (LSB skickade först och MSB skickade sist) och slutar med en ”stopp” – bit.
logikens spänning ” 1 ”(Mark) ligger mellan – 3vdc till-15VDC, medan logiken” 0 ” (mellanslag) ligger mellan +3vdc till + 15VDC.
RS-232 förbinder marken med 2 olika enheter tillsammans, vilket är den så kallade ”obalanserade” anslutningen. En obalanserad anslutning är mer mottaglig för buller och har en avståndsbegränsning på 50 ft (vilket är cirka 15 meter).,
steg 2: Lär dig mer om protokollet
ett protokoll är en eller flera uppsättningar hårdvaru-och programvaruregler som alla kommunikationsparter enats om för att utbyta data korrekt och effektivt.
synkron och asynkron kommunikation
synkron kommunikation kräver att avsändaren och mottagaren delar samma klocka. Avsändaren ger en tidssignal till mottagaren så att mottagaren vet när du ska ”läsa” data. Synkron kommunikation har i allmänhet högre datahastigheter och större felkontrollfunktion. En skrivare är en form av synkron kommunikation.,
asynkron kommunikation har ingen tidssignal eller klocka. Istället infogar den Start / stoppbitar i varje byte av data för att” synkronisera ” kommunikationen. Eftersom det använder mindre ledningar för kommunikation (inga klocksignaler) är asynkron kommunikation enklare och mer kostnadseffektiv. RS-232 / RS-485 / RS-422 / TTL är formerna för asynkron kommunikation.
borrning: bitar och byte
Intern datakommunikation består av digital elektronik, representerad av endast två villkor: på eller av., Vi representerar dessa med två siffror: 0 och 1,som i det binära systemet kallas lite.
en Byte består av 8 bitar, som representerar decimaltal 0 till 255, eller hexadecimalt tal 0 till FF. Som beskrivits ovan är en byte den grundläggande enheten för asynkron kommunikation.
Baud-hastighet, databitar, Paritet och stoppbit
baud-hastigheten är kommunikationshastigheten som mäter antalet bittransfereringar per sekund. Till exempel är 19200 baud 19200 bitar per sekund.
databitar är en mätning av de faktiska databitarna i ett kommunikationspaket., Till exempel visar ovanstående grafik åtta (8) databitar i ett kommunikationspaket. Ett kommunikationspaket avser en enda byte-överföring, inklusive Start / stoppbitar, databitar och paritet. Om du överför en standard ASCII-kod (0 till 127) är 7 databitar tillräckligt. Om det är en utökad ASCII-kod (128 till 255) krävs 8 databitar.
Paritet är ett enkelt sätt att felkontrollera. Det finns jämn, udda, Mark och Rymdindikatorer. Du kan också använda någon paritet., För jämn och udda paritet ställer serial port paritetsbiten (den sista biten efter databiten) till ett värde för att säkerställa att datapaketet har ett jämnt eller udda antal logiska höga bitar. Om data till exempel är 10010010, för jämn paritet, ställer seriell port paritetsbiten som 1 för att hålla antalet logiska höga bitar jämnt. För udda Paritet är paritetsbiten 0 så att antalet logiska höga bitar är udda. Mark parity ställer helt enkelt paritetsbiten till logic-high och Space ställer paritetsbiten till logic-low, så att den mottagande parten kan avgöra om data är skadad.,
stoppbitar används för att signalera slutet på ett kommunikationspaket. Detta bidrar också till att synkronisera olika klockor på seriella enheter.
handskakning (flödeskontroll)
handskakning kallas också ”flödeskontroll”. Huvudsyftet med handskakning är att förhindra att mottagaren överbelastas. Genom att använda handskakningssignaler kommer mottagarna att kunna tala om för den sändande enheten att pausa dataöverföringen om mottagaren är överbelastad. Det finns tre typer av handskakning: programvara handskakning, hårdvara handskakning och båda.
programvara handskakning använder två kontrolltecken: XON och XOFF., Mottagaren skickar dessa kontrolltecken för att pausa sändaren under kommunikation. XON är decimal 17 och XOFF är decimal 19 i ASCII-tabellen. Nackdelen med programvara handskakning är att dessa två kontrolltecken inte kan användas i data. Detta är ganska viktigt när du sänder binära data som du kan behöva använda dessa två koder i dina data.
hårdvara handskakning använder sig av faktiska hårdvarulinjer, såsom RTS / CTS, DTR / DSR och DCD / RI (för modem).
i dte / DCE-kommunikation är RTS (Request to Send) en utgång på DTE och input på DCE., CTS (klart att skicka) är svarssignalen som kommer från DCE. Innan du skickar en data frågar dte tillstånd genom att ställa in sin RTS-utgång till hög. Inga data kommer att skickas förrän DCE beviljar tillstånd genom att använda CTS-linjen. Dte använder DTR-signalen (data Terminal Ready) för att indikera att den är redo att acceptera information, medan DCE använder DSR-signalen för samma ändamål. DTR / DSR är normalt på eller av för hela anslutningssessionen (t.ex. off-hook), medan RTS/CTS är på eller av för varje dataöverföring., DCD (data Carrier Ready) används av modemet när en anslutning har upprättats med fjärrutrustning, medan ri (Ringindikator) används av modemet för att indikera en ringsignal från telefonlinjen.
dataformat (binär, Hex, Dec, Oct och ASCII)
seriella enheter använder binär för kommunikation, som består av bara två unika nummer: 0 och 1.
binär är Base-2 numreringssystemet. En byte består av 8 binära siffror, från 0000 0000 1111 1111. Hexadecimal är bas-16 system, som består av 16 siffror: 0 till 9 och bokstäverna A till F (decimal nummer 15).,
hexadecimala numreringssystemet är användbart eftersom det kan representera varje byte som två på varandra följande hexadecimala siffror, och det är lättare för människor att läsa hexadecimala tal än binära tal. De flesta tillverkare använder Hexadecimal i sin protokolldokumentation. Det är enkelt att konvertera ett värde från Hexadecimal till binär. Översätt bara varje Hexadecimal siffra till sin 4-bitars binära ekvivalent. E. g. Hexadecimalt tal F3 lika Binärt tal 1111 0011.
Decimal avser siffror i bas 10, vilket är numreringssystemet som vi använder mest i vardagen., Det är inte så lätt som Hexadecimal och oktal till omvandlare Decimal till binärt tal, men det är lättare för oss att förstå Decimal.
oktal hänvisar till base-8 numreringssystemet, som använder bara åtta unika symboler (0 till 7). Programmerare använder ofta oktalt format eftersom det är relativt lätt för människor att läsa och kan enkelt översättas till binärt format: varje oktal siffra representerar 3 binära siffror. E. g. Oktala talet 73 motsvarar Binärt tal 111 011.
ASCII (American Standard Code for Information Interchange) är en teckenkodning baserad på det engelska alfabetet., ASCII-koder (både läsbara och oläsbara) används ofta i kommunikation, såsom modemkommunikation. Bokstäverna A till Z och siffrorna 0 till 9 är läsbar ASCII-koder. Vissa ASCII-koder är oläsliga, till exempel kontrollkoderna: XON och XOFF, som används i mjukvaru flödeskontroll.
kontrollsumma
många seriella protokoll använder kontrollsumma (ytterligare byte som läggs till i slutet av datasträngen) för att kontrollera dataintegriteten, eftersom fel kan uppstå vid dataöverföring. Det finns många typer av kontrollsumma, från de enklaste användningarna av det i Modula eller BCC till sofistikerad CRC-beräkning., Med hjälp av Modula som ett exempel lär vi oss att avsändaren före dataöverföring lägger till alla kommandobyte tillsammans och sedan mod det med 255 (decimal) för att få en extra byte. Detta ska läggas till i slutet av kommandosträngen. När mottagaren tar emot kommandosträngen kontrollerar den först den tillagda byten för att se om data förblir oförändrade eller inte. Om så är fallet kommer det att acceptera data, och om inte, kommer det att be avsändaren att skicka data igen.
exempel på protokollkommandon
ett protokollkommando är en datasträng som skickas från en seriell enhet (t. ex. en dator) till en annan (dvs., modem). Här är några exempel:
ASCII-kommandoexempel: ati1 för att fråga Modemtillverkarens information. (Anm.: är kontrollkoderna för Transportretur och Linjematning).,mal och det blir: 41 54 49 31 0D 0A
Konvertera kommandot strängen ovan för att Decimal och det blir: 065 073 084 049 013 010
Konvertera kommandot strängen ovan för att Oktala och det blir: 101 124 111 061 012 015
Konvertera kommandot strängen ovan för att Binära och det blir: 01000001 01010100 01001001 00110001 00001101 00001010
Steg 3: Styra din RS232-enheter med hjälp 232Analyzer
232Analyzer är en Avancerad Seriell Port Protokoll Analyzer software, som gör att du kan styra / debug monitor / sniff seriella enheter (RS-232 / RS-485 / RS-422 / TTL) direkt från din PC., 232Analyzer är en shareware, den fria versionen har viss begränsning men är mer än tillräckligt för att testa och styra dina seriella enheter. Klicka här för att ladda ner en gratis kopia.
kontrollsumma beräkning
232Analyzer levereras med en kontrollsumma kalkylator, som låter dig beräkna den komplicerade kontrollsumma byte i sekunder, här är ett exempel:
anta att du styr en projektor, och projektorprotokollet använder xOR för att få ytterligare kontrollsumma byte, kommandosträngen för att slå på projektorn är: ”1A 2B 3C” plus kontrollsumma byte., Använd följande procedurer för att beräkna kontrollsumman byte:
- Välj Hex som operandformat
- Välj xor som operatör
- I kommandosträngen och Lägg till ett kommatecken (,) efter varje byte av kommandokod: t. ex., 1A, 2B,3C,
- Klicka på knappen ”Beräkna” och du kommer att få resultatet av 0D (0 utelämnas)
Välj COM-port och Setup kommunikationsformat
Obs: När du har ställt in rätt kommunikationsformat (de måste matcha med projektorns com-portinställningar), klicka på ”Anslut” – knappen till vänster för att aktivera COM-porten.,
inställningar för flödeskontroll
Styr dina RS232-enheter
- styr/övervaka Linjetillstånd
232Analyzer låter dig styra / övervaka linjetillstånd för dina COM-portar.
- linjetillstånd för RTS och DTR kommer att växlas när respektive LED klickas, du kan använda en spänningsmätare för att verifiera ändringarna, du ska få + 6V till + 15V när linjetillståndet är på och-6V till-15V när linjetillståndet är avstängt.,
- andra linjetillstånd kan övervakas via virtuella Ds, såsom RX, TX, DSR, CTS, DCD och RI.
- skicka/ta emot kommandon
använd ovanstående exempel för att styra en projektor (slå på projektorn), nyckel i hela kommandosträngen ”1A,2B,3C,0D” i Send_Command_Pane som visas ovan, och klicka sedan på ”Skicka” – knappen…
anmärkningar:
- i den fria versionen är Hex-läget inte tillgängligt., Du kan använda decimalformat för att skicka ut kommandosträngen: ”26,43,60,13”
- Du kan använda vilken RS-232-enhet som helst för testning, så länge du känner till protokollkommandona.