Dit artikel zal de volgende onderwerpen in detail uitleggen:
1) Stap 1: RS232 verbinding en signalen begrijpen
2) Stap 2: Meer informatie over het Protocol
3) Stap 3: uw RS232 apparaten bedienen met behulp van 232Analyzer
na het lezen van deze pagina, zou u in staat moeten zijn om de meeste hardware en software te begrijpen (protocol) normen voor RS232., Als u de kans hebt om uw RS232 apparaten te testen met de 232Analyzer software, moet u in staat zijn om uw RS232 apparaten in een korte periode van tijd te controleren.
Stap 1: Begrijp RS232 verbinding & signalen
RS-232C, EIA RS-232, of gewoon RS-232, verwijst naar dezelfde standaard gedefinieerd door de Electronic Industries Association in 1969 voor seriële communicatie.
DTE en DCE
DTE staat voor Data Terminal Equipment. Een computer is een DTE. DCE staat voor Data Communication Equipment. Een modem is een DCE.,
DTE wordt normaal gesproken geleverd met een mannelijke Connector, terwijl DCE wordt geleverd met een vrouwelijke Connector. Dat is echter niet altijd waar. Gebruik de eenvoudige manier hieronder om te bevestigen: meet Pin 3 en Pin 5 van een DB-9-Connector met een Volt-Meter, als je een spanning van-3V tot-15V krijgt, dan is het een DTE-apparaat. Als de spanning op Pin 2 staat, dan is het een DCE-apparaat.
opmerking: het resultaat voor een DB-25 Connector is omgekeerd (zie DB-9 naar DB-25 conversietabel hieronder).
RS-232 Pin-outs (DB-9)
Een mannelijke DB-9-connector die van de voorkant wordt bekeken., Omgekeerde of achteraanzicht van mannelijke connector voor Vrouwelijke Connector.,div>7
RS-232 Connections
A straight-through cable is used to connect a DTE (e.,g. computer) naar een DCE (bv. modem), alle signalen aan één zijde verbonden met de overeenkomstige signalen aan de andere zijde in een één-op-één basis. Een crossover (null-modem) kabel wordt gebruikt om twee DTE direct aan te sluiten, zonder een modem ertussen., Zij steken het zenden en ontvangen van signalen tussen de twee zijden en er zijn vele variaties op hoe de andere controle-signalen zijn aangesloten, hieronder is er één van:
RS-232-Signalen
De afbeelding hierboven illustreert een typische RS-232 logica golfvorm (Data-indeling: 1 startbit, 8 databits, Geen Pariteit, 1 stopbit)., De data transmissie begint met een Start bit, gevolgd door de data bits (LSB eerst verzonden en MSB laatst verzonden), en eindigt met een “Stop” bit.
De spanning van logica ” 1 “(Teken) ligt tussen-3VDC tot-15VDC, terwijl Logica” 0 ” (spatie) tussen +3VDC tot +15VDC ligt.
RS-232 verbindt de grond van 2 verschillende apparaten met elkaar, de zogenaamde “ongebalanceerde” verbinding. Een ongebalanceerde verbinding is gevoeliger voor ruis en heeft een afstandsbeperking van 50 ft (ongeveer 15 meter).,
Stap 2: Leer meer over het Protocol
een protocol is een of een paar sets van hardware-en softwareregels die door alle communicatiepartijen zijn overeengekomen voor het correct en efficiënt uitwisselen van gegevens.
synchrone en asynchrone communicatie
synchrone communicatie vereist dat de afzender en de ontvanger dezelfde klok delen. De afzender geeft een tijdssignaal aan de ontvanger zodat de ontvanger weet wanneer hij de gegevens moet “lezen”. Synchrone communicatie heeft over het algemeen hogere gegevenssnelheden en grotere foutcontrolemogelijkheden. Een printer is een vorm van synchrone communicatie.,
asynchrone communicatie heeft geen timing signaal of klok. In plaats daarvan voegt het Start / Stop bits in elke byte van gegevens in om de mededeling te” synchroniseren”. Aangezien het minder draden gebruikt voor communicatie (geen kloksignalen), is asynchrone communicatie eenvoudiger en kosteneffectiever. RS-232 / RS-485 / RS-422 / TTL zijn de vormen van asynchrone communicatie.
naar beneden boren: Bits en Bytes
interne Computercommunicatie bestaat uit digitale elektronica, vertegenwoordigd door slechts twee voorwaarden: aan of uit., We vertegenwoordigen deze met twee getallen: 0 en 1, die in het binaire systeem een beetje wordt genoemd.
Een Byte bestaat uit 8 bits, die decimaal getal 0 tot 255 vertegenwoordigt, of hexadecimaal getal 0 tot FF. Zoals hierboven beschreven, is een byte de basiseenheid van asynchrone communicatie.
baudrate, Data bits, Parity, and Stop bit
de baudrate is de communicatiesnelheid die het aantal bitoverdrachten per seconde meet. Bijvoorbeeld, 19200 baud is 19200 bits per seconde.
gegevensbits zijn een meting van de werkelijke gegevensbits in een communicatiepakket., De bovenstaande afbeelding toont bijvoorbeeld acht (8) gegevensbits in een communicatiepakket. Een communicatiepakket verwijst naar een enkele byteoverdracht, inclusief Start / Stop bits, data bits en pariteit. Als je een standaard ASCII code (0 tot 127) overdraagt, zijn 7 data bits voldoende. Als het een uitgebreide ASCII-code is (128 tot 255), dan zijn 8 gegevensbits vereist.
pariteit is een eenvoudige manier om fouten te controleren. Er zijn Even, oneven, Mark en ruimte-indicatoren. U kunt ook geen pariteit gebruiken., Voor Even en oneven pariteit stelt de seriële poort de pariteit bit (Het Laatste bit na het data bit) in op een waarde om ervoor te zorgen dat het datapakket een Even of oneven aantal logische-hoge bits heeft. Bijvoorbeeld, als de gegevens 10010010, voor Even pariteit, de seriële poort stelt de pariteit bit als 1 om het aantal logica-hoge bits gelijk te houden. Voor oneven pariteit is de pariteit bit 0 zodat het aantal logische-hoge bits oneven is. Mark parity stelt simpelweg de pariteit bit in op logic-high en Space stelt de pariteit bit in op logic-low, zodat de ontvangende partij kan bepalen of de gegevens beschadigd zijn.,
stopbits worden gebruikt om het einde van een communicatiepakket aan te geven. Dit helpt ook om verschillende klokken op de seriële apparaten te synchroniseren.
Handshaking (Flow Control)
Handshaking wordt ook “Flow Control”genoemd. Het belangrijkste doel van Handshaking is om overbelasting van de ontvanger te voorkomen. Door het gebruik van handshaking signalen, ontvangers in staat zal zijn om het verzendende apparaat te vertellen om de gegevensoverdracht te onderbreken als de ontvanger is overbelast. Er zijn drie soorten handshaking: Software handshaking, Hardware handshaking en beide.
Software handshaking gebruikt twee besturingskarakters: XON en XOFF., De ontvanger stuurt deze bedieningskarakters om de zender tijdens de communicatie te pauzeren. XON is decimaal 17 en XOFF is decimaal 19 in de ASCII grafiek. Het nadeel van software handshaking is dat deze twee besturingskarakters niet kunnen worden gebruikt in gegevens. Dit is heel belangrijk wanneer u binaire gegevens verzendt, omdat u deze twee codes mogelijk in uw gegevens moet gebruiken.
Hardware handshaking maakt gebruik van echte hardware lijnen, zoals RTS / CTS, DTR / DSR, en DCD / RI (voor modem).
in DTE / DCE-communicatie is RTS (Request to Send) een uitvoer op de DTE en invoer op de DCE., CTS (Clear to Send) is het antwoordsignaal afkomstig van de DCE. Voordat een data wordt verzonden, vraagt de DTE toestemming door de RTS-uitvoer op hoog te zetten. Er worden geen gegevens verzonden totdat de DCE toestemming verleent door gebruik te maken van de CTS-lijn. De DTE gebruikt het DTR-signaal (Data Terminal Ready) om aan te geven dat het klaar is om informatie te accepteren, terwijl de DCE het DSR-signaal voor hetzelfde doel gebruikt. DTR/DSR zijn normaal gesproken aan of uit voor de hele verbindingssessie (bijvoorbeeld Off-hook), terwijl RTS / CTS aan of uit zijn voor elke datatransmissie., DCD (data Carrier Ready) wordt door het modem gebruikt wanneer een verbinding is gemaakt met apparatuur op afstand, terwijl RI (Ring Indicator) door het modem wordt gebruikt om een ring signaal van de telefoonlijn aan te geven.
dataformaten (binair, Hex, Dec, Oct en ASCII)
seriële apparaten gebruiken binair voor communicatie, die bestaat uit slechts twee unieke nummers: 0 en 1.
binair is het Basis-2 nummering systeem. Een byte van gegevens bestaat uit 8 binaire cijfers, van 0000 0000 tot 1111 1111. Hexadecimaal is het base-16 systeem, dat bestaat uit 16 getallen: 0 tot en met 9 en de letters A tot en met F (decimaal nummer 15).,
Het hexadecimale nummeringssysteem is nuttig omdat het elke byte kan vertegenwoordigen als twee opeenvolgende hexadecimale cijfers, en het is gemakkelijker voor mensen om hexadecimale getallen te lezen dan binaire getallen. De meeste fabrikanten gebruiken hexadecimaal in hun protocoldocumentatie. Het is eenvoudig om een waarde te converteren van Hexadecimaal naar binair. Gewoon Vertalen elk hexadecimaal cijfer in zijn 4-bits binaire equivalent. Bijvoorbeeld hexadecimaal getal F3 is gelijk aan binair getal 1111 0011.
decimaal verwijst naar getallen in basis 10, het nummeringssysteem dat we het meest gebruiken in het dagelijks leven., Het is niet zo gemakkelijk zoals hexadecimaal en octaal aan Convertor decimaal aan binair aantal, maar het is gemakkelijker voor ons om decimaal te begrijpen.
octaal verwijst naar het basis-8-nummeringssysteem, dat slechts acht unieke symbolen gebruikt (0 tot 7). Programmeurs gebruiken vaak octaal formaat omdat het relatief gemakkelijk te lezen is voor mensen en gemakkelijk kan worden vertaald in binair formaat: elk octaal cijfer vertegenwoordigt 3 binaire cijfers. Bijvoorbeeld octaal nummer 73 is gelijk aan binair nummer 111 011.
ASCII (American Standard Code for Information Interchange) is een tekenset gebaseerd op het Engelse alfabet., ASCII-codes (zowel leesbaar als onleesbaar) worden veel gebruikt in communicatie, zoals Modem communicatie. De Letters A tot en met Z en de cijfers 0 tot en met 9 zijn leesbare ASCII-codes. Sommige ASCII codes zijn onleesbaar, zoals de controle codes: XON en XOFF, die worden gebruikt in Software flow control.
Controlesom
veel seriële protocollen gebruiken controlesom (extra bytes toegevoegd aan het einde van de gegevensreeks) om de integriteit van de gegevens te controleren, omdat er fouten kunnen optreden tijdens de gegevensoverdracht. Er zijn vele soorten checksum, van de eenvoudigste toepassingen ervan in Modula of BCC tot geavanceerde CRC berekening., Gebruikend Modula als voorbeeld, leren wij dat vóór gegevensoverdracht, de afzender alle opdrachtbytes samen toevoegt dan mod het door 255 (decimaal) om een extra byte te krijgen. Dit moet worden toegevoegd aan het einde van de command string. Wanneer de ontvanger de command string ontvangt, zal hij eerst de toegevoegde byte controleren om te zien of de gegevens onveranderd blijven of niet. Als dat het geval is, zal het de gegevens accepteren, en zo niet, zal het de afzender vragen om de gegevens opnieuw te verzenden.
voorbeelden van protocolcommando ‘ s
een protocolcommando is een gegevensreeks die van het ene seriële apparaat (bijvoorbeeld een Computer) naar het andere (d.w.z., modem). Hier zijn enkele voorbeelden:
ASCII Commando voorbeeld: ATI1 om de informatie van de Modem fabrikant te bevragen. (Opmerking: zijn de controlecodes van Transportterugzending en Lijntoevoer).,mal en het wordt: 41 54 49 31 0D 0A
Converteren het commando string boven naar Decimaal en het wordt: 065 084 073 049 013 010
Converteren het commando string boven naar Octaal en het wordt: 101 124 111 061 012 015
Converteren het commando string boven om Binaire en het wordt: 01000001 01010100 01001001 00110001 00001101 00001010
Stap 3: De controle van uw RS232-apparaten met behulp van 232Analyzer
232Analyzer is een Geavanceerde Seriële Poort Protocol Analyzer software, waarmee je de controle / debug monitor / ruiken seriële apparaten (RS-232 / RS-485 / RS-422 / TTL) direct vanaf uw PC., 232Analyzer is een shareware, de gratis versie heeft een aantal beperkingen, maar is meer dan genoeg om te testen en controle van uw seriële apparaten. Klik hier om een gratis exemplaar te downloaden.
Checksumberekening
232Analyzer wordt geleverd met een Checksumcalculator, waarmee u de ingewikkelde checksumbyte in seconden kunt berekenen, hier is een voorbeeld:
stel dat u een projector bestuurt, en het projectorprotocol gebruikt xOR om de extra checksumbyte te krijgen, de opdrachtreeks om de projector aan te zetten is: “1A 2B 3C” plus de Checksumbyte., Gebruik de volgende procedures om de Checksum byte te berekenen:
- Select Hex as an operands format
- Select xOr as an operator
- Key in the command string and append a comma (,) after every byte of command code: e.g., 1A,2B,3C,
- klik op de knop “Bereken” en u krijgt het resultaat van 0D (0 wordt weggelaten)
Selecteer COM-poort en communicatieformaten instellen
Opmerking: Nadat u de juiste communicatieformaten hebt ingesteld (ze moeten overeenkomen met de COM poort instellingen van de projector), klik op de “Connect” knop aan de linkerkant om de COM poort te activeren.,
Flow control settings
Bedien uw RS232-apparaten
- Regelstatussen beheren / bewaken
232Analyzer stelt u in staat om regelstatussen van uw COM-poorten te controleren / bewaken.
- Regeltoestanden van RTS en DTR worden geschakeld wanneer op de betreffende LED wordt geklikt, u kunt een spanningsmeter gebruiken om de wijzigingen te verifiëren, u krijgt +6V naar +15V wanneer de regelstatus aan is, en-6V naar-15V wanneer de regelstatus uit is.,
- andere regeltoestanden kunnen worden gemonitord via de virtuele Ds, zoals RX, TX, DSR, CTS, DCD en RI.
- Send / Receive commando ‘ s
gebruik het bovenstaande voorbeeld om een projector aan te sturen (zet de projector aan), toets in de volledige opdrachtstring “1A,2B,3C,0D,” in het Send_Command_Pane zoals hierboven getoond, en klik vervolgens op de “Send” knop…
opmerkingen:
- in de vrije versie is Hex-modus niet beschikbaar., U kunt decimaal formaat gebruiken om de opdracht string uit te sturen: “26,43,60,13,”
- u kunt elk RS-232 apparaat gebruiken voor het testen, zolang u de protocol commando ‘ s kent.