1 Het probleem
Een van de meest gebruikte netwerken op het gebied van industriële controle en meting is de fysieke laag met behulp van Rs -485 communicatie -interface samengesteld uit industriële controle -apparatuurnetwerk. Deze communicatie -interface kan voor veel apparaten erg handig zijn om een besturingsnetwerk te vormen. Uit de huidige oplossing om de communicatie op lange afstand tussen microcontrollers in de analyse van veel programma's op te lossen, is Rs -485 buscommunicatiemodus vanwege een eenvoudige structuur, lage prijs, communicatieafstand en gegevensoverdrachtsnelheid geschikt en wordt veel gebruikt en wordt veel gebruikt In instrumentatie, intelligente sensoren, gecentraliseerde controle, bouwcontrole, monitoring en alarm en andere velden. RS485-bus Er zijn echter zelfaanpassings, zelfbeschermingsfunctie is fragiel en andere tekortkomingen, zoals niet aandacht besteden aan sommige details van de verwerking, vaak communicatiefalen of zelfs systeemverlamming en andere fouten, dus het is essentieel om de te verbeteren Operationele betrouwbaarheid van de bus -485.

RS485 Schematisch diagram voor communicatie -interface
2 hardwarecircuitontwerpproblemen om op de hoogte te zijn
2.1 Basisprincipe van circuit
Het hardwarecircuitontwerp van een knooppunt wordt weergegeven in figuur 1, waarin een rs -485 interface chip SN75LBC184 wordt gebruikt, die een enkele voeding VCC, de spanning in het bereik van +3 tot {{ 5}}. 5 V kan normaal werken. In vergelijking met gewone Rs -485 chip kan het niet alleen de impact van de bliksem weerstaan en kan het tot 8 kV elektrostatische ontladingsimpact weerstaan, de ChIP geïntegreerde vier tijdelijke overspanningsbeveiligingsbuis, tot 4 {{ 33}} 0 V tijdelijke pulsspanning. Daarom kan het de betrouwbaarheid van het voorkomen van bliksemschade aan het apparaat aanzienlijk verbeteren. Voor sommige van de meer vijandige omgeving van de scène kan rechtstreeks worden verbonden met de transmissielijn zonder extra beveiligingscomponenten. De chip heeft ook een uniek ontwerp, wanneer de ingang open-circuit is, de uitgang hoog is, wat ervoor kan zorgen dat de ontvangingsingangskabel een open-circuitfout heeft, heeft geen invloed op de normale werking van het systeem. Bovendien is de invoerimpedantie ervan voor de RS485 -standaardinvoerimpedantie van 2 keer (groter dan of gelijk aan 24 kΩ), zodat u 64 zendontvangers in de bus kunt verbinden. De chip is intern ontworpen om de hellingsdriver te beperken, zodat de uitgangssignaalrand niet te steil zal zijn, zodat de transmissielijn niet te veel hoogfrequente componenten zal produceren, waardoor elektromagnetische interferentie effectief wordt verstikt. In figuur 1, de vier-in-één Opto-Coupler TLP521 zodat de microcontroller en SN75LBC184 volledig vrij van elektrische verbinding tussen het werk van de betrouwbaarheid. Het basisprincipe is: wanneer de microcontroller p1. 6=0, de fotokoupler lichtemitterende diode licht uitzendt, de lichtgevoelige transistorgeleiding, de uitgang van een hoogspanning (+5 v), selecteerde het uiteinde van het uiteinde van het uiteinde van De RS485 -interface -chip, waardoor transmissie mogelijk is. Wanneer de microcontroller p1. 6=1, de fotokoupler-lichtemitterende diode geen licht uitzendt, wordt de lichtgevoelige transistor niet uitgevoerd, de uitgang lage spanning (0 V), de re-terminal van de rs485-interface-chip is geselecteerd en is geselecteerd en is geselecteerd en is geselecteerd en wordt geselecteerd en is geselecteerd en is geselecteerd en is geselecteerd en is ontvangst is toegestaan. Het principe van de R -terminal (ontvangende terminal) en de D -terminal (verzendaansluiting) van de SN75LBC184 is vergelijkbaar met het bovenstaande.
2.2 ONTWERP VAN DE DE CONSOLE VAN RS -485
In het half-duplex communicatiesysteem dat wordt geconstrueerd door Rs -485 bus, kan er slechts één knooppunt in de verzendstatus zijn en gegevens naar de bus sturen op elk moment in het hele netwerk, en alle andere knooppunten moeten in de ontvangststatus zijn . Als er 2 knooppunten of meer dan 2 knooppunten zijn om gegevens tegelijkertijd naar de bus te verzenden, zal dit leiden tot alle storing van de afzender data -transmissie. Daarom moet het in het hardwareontwerp van elk knooppunt van het systeem eerst proberen het busgegevensconflict te vermijden dat wordt veroorzaakt door abnormale omstandigheden die ervoor zorgen dat dit knooppunt gegevens naar de bus verzendt. Neem de MCS51 -serie microcontrollers als voorbeeld, omdat deze in het systeem is gereset, worden de I/O -poorten hoog uitgeschak Interface -chip, het zal de High maken tijdens de CPU -reset, zodat dit knooppunt zich in de verzendstatus bevindt. Als er op dit moment andere knooppunten in de bus worden verzonden, wordt de gegevensoverdracht onderbroken en mislukt, of zelfs de hele bus veroorzaakt vanwege het falen van een knooppunt en communicatieblokkering, die op zijn beurt de normale werking van het gehele beïnvloedt systeem. Rekening houdend met de stabiliteit en betrouwbaarheid van communicatie, moet in het ontwerp van elk knooppunt de RS485 -businterface chipzenderpin regelen ontworpen voor het uiteinde van de omgekeerde logica, dat wil zeggen de bedieningspen voor de logica van "1", de Het uiteinde van de "0"; Controlepin voor de logica van "0", de besturingspin voor de logica van "{{1 0}}", de besturingspen voor de logica van "0", de Besturingspen voor de logica van "0", de besturingspen voor de logica van "0". "0" Wanneer de bedieningspen logica '1' is, is de de zijde '1'. In figuur 1, de CPU -pin P1.6 door de fotokoupler -aandrijving de terminal, zodat de besturingspen hoog of abnormale reset is zodat de SN75LBC184 altijd in de ontvangende toestand is, waardoor de knoop van de hardware door de hardware wordt vermeden vanwege de abnormal. Situatie veroorzaakt door de impact van het hele systeem. Dit legt de basis voor betrouwbare communicatie van het hele systeem.
Bovendien is er een Watchdog Max813L in het circuit, die het programma automatisch kan resetten en de besturing van de Rs -485 bus kan overhandigen wanneer het knooppunt een dode lus of andere fouten heeft. Dit zorgt ervoor dat het hele systeem geen exclusieve bus zal zijn vanwege het falen van een knooppunt, wat resulteert in de verlamming van het gehele systeem.
2.3 Ontwerp om busconflict te voorkomen
Wanneer een knooppunt de bus moet gebruiken, luister eerst naar de bus om betrouwbare buscommunicatie te realiseren wanneer er gegevens moeten worden verzonden. Kind op de hardware -interface eerst de gegevens ontvangende pin van de rs {{{0}}}}} interface -chip in en sluit deze aan op de interrupt pin int 0 van de cpu. In figuur 1 is int0 verbonden met de uitgang van de opto-coupler. Wanneer de bus gegevens verzendt, toont de SN75LBC184 -gegevens die uiteinde (R -terminal) ontvangen) een verandering in de hoge en lage niveaus, het gebruik van de CPU gegenereerd door de dalende rand van de onderbreking (kan ook worden gebruikt om de weg te vullen), Je kunt op dit moment leren of de bus "druk" is, dwz het communiceren of er een knooppunt in de bus is. Als "Idle", kunt u toegang krijgen tot de bus, die het probleem van busconflicten beter oplost. Op basis hiervan kunt u ook de prioriteit van verschillende berichten definiëren, zodat eerst de berichten met hoge prioriteit kunnen worden verzonden, waardoor het realtime systeem verder wordt verbeterd. Na het aannemen van deze manier van werken, is er niet langer een onderscheid tussen master- en slavenknooppunten in het systeem, en elk knooppunt heeft gelijke toegang tot de bus, waardoor de situatie effectief wordt vermeden waarin de communicatiebelasting van individuele knooppunten zwaar is. Het gebruikspercentage van de bus en de communicatie-efficiëntie van het systeem kan sterk worden verbeterd, zodat de realtime reactie van het systeem is verbeterd, en zelfs als individuele knooppunten in het systeem falen, heeft dit geen invloed op de andere knooppunten van De normale communicatie en normaal werk. Dit maakt het "gevaar" van het systeem gedecentraliseerd, in een manier om de betrouwbaarheid en stabiliteit van het systeem te verbeteren.
2.4 RS -485 Uitvoercircuitontwerp
In figuur 1, vd1 ~ vd4 voor de signaalbegrenzer diode, moet de spanningsregelaarwaarde ervoor zorgen dat de naleving van de rs -485 standaard, Vd1 en Vd3 om 12 V, Vd2 en Vd4 te nemen om 7 V te nemen, om te zorgen dat 7 V, dat de signaalamplitude beperkt is tot de -7 ~ +12 V tussen de mogelijkheid om de weerstand tegen overspanning verder te verbeteren. Rekening houdend met de speciale omstandigheden van de lijn (zoals een knooppunt van de rs -485 chip is kortsluiting), om te voorkomen is in serie verbonden met twee 20 Ω weerstanden R1 en R2, zodat de hardwarefouten van de machine niet de hele buscommunicatie laten beïnvloeden. In de veldconstructie van het toepassingssysteem engineering is vanwege de communicatiedrager een twisted pair, de karakteristieke impedantie van ongeveer 120 Ω, dus het lijnontwerp, in de Rs485 -netwerktransmissielijn aan het begin en einde moet worden verbonden met elk van elk van De 1 120 ω matchingweerstand (zoals figuur 1 in de R3), om de reflectie van het verzonden signaal op de lijn te verminderen.
2.5 Selectie van systeemvoedingsvoeding
Voor de combinatie van microcontroller Rs {{{0}}} meting- en besturingsnetwerk, moet prioriteit krijgen voor het gebruik van onafhankelijk voedingsprogramma voor elk knooppunt, tegelijkertijd kan de stroomlijn niet worden gedeeld met de RS -485 signaallijn met een multi-core kabel. Rs -485 Signaallijn moet worden geselecteerd uit het dwarsdoorsnedeoppervlak van 0,75 mm2 of meer gedraaid paar draden in plaats van een platte rechte lijn, en de selectie van lineaire voeding TL750L05 dan de selectie van de schakelvoeding is meer gepast. TL750L05 moet uitgangscapaciteit hebben, als er geen uitgangscapaciteit is, de uitgangsspanning voor de zaagtandgolfvorm, de stijgende rand van de Sawtooth -golfvorm met de ingangsspanningsveranderingen, plus uitgangscapaciteit, kunt u het fenomeen onderdrukken.
3 Software -programmering
SN75LBC184 In de ontvangende modus is A, B de invoer, R is de uitgang; In de verzendmodus is D de invoer, a, b is de uitgang. Wanneer de transmissie -richting eenmaal wordt gewijzigd, als de invoer niet verandert, is de uitgang op dit moment een willekeurige toestand, totdat de invoerstatus eenmaal verandert, wordt de uitgangsstatus bepaald. Het is duidelijk dat na het overbrengen van de verzendmodus naar de ontvangstmodus, als R laag is vóór de wijziging van de A- en B -status en R nog steeds laag is bij de eerste gegevens die Bit start, denkt de CPU dat er op dit moment geen startbit is , en de CPU begint niet de eerste gegevens te ontvangen totdat de eerste dalende rand plaatsvindt, wat zal resulteren in een receptiefout. Na het overbrengen van de ontvangstmodus naar de verzendmodus, vóór de D -wijziging, als de spanning tussen A en B laag is en de eerste gegevensstartbit wordt verzonden, is de spanning tussen A en B nog steeds laag en is er geen start Beetje bij de A- en B -pennen, die ook zullen leiden tot een zendfout. De oplossing om dit gevolg te overwinnen is: de host verzendt continu twee synchronisatiewoorden, het synchronisatiewoord met meerdere randwijzigingen (zoals 55H, 0 AAH), en twee keer verzenden (de eerste keer kan een fout ontvangen en een fout ontvangen en genegeerd), de ontvanger ontvangt het synchronisatiewoord, de gegevens kunnen worden verzonden, waardoor de juiste communicatie wordt gewaarborgd.
Om betrouwbaarder te werken, vereist in de RS485 -busstatusschakeling een passende vertraging voordat u gegevens verzendt en ontvangt. Specifieke praktijk staat in de status van gegevensoverdracht, de eerste besturingsterminal set "1", vertraging 0. 5 ms of zo, en verzenden vervolgens geldige gegevens, gegevensoverdracht is voltooid en vertraagt vervolgens 0. 5 MS, de besturingsterminal set "0". Een dergelijke verwerking zorgt ervoor dat de bus een stabiel werkproces heeft tijdens het schakelen van de staat.
Het programma van een communicatieknooppunt met microcontroller kan in principe worden verdeeld in zes hoofdsecties, die de vooraf gedefinieerde sectie zijn, de initialisatiesectie, het hoofdprogramma -gedeelte, de sectie Detectie van de apparaatstatus, de sectie Frame ontvangt en de sectie Frame verzending. Het vooraf gedefinieerde deel definieert voornamelijk de handdruksignalen die in de communicatie worden gebruikt, de buffer die wordt gebruikt om de apparaatinformatie en de variabele op te slaan om het apparaatnummer van dit knooppunt op te slaan. Het deel van de apparaatstatusdetectie moet dienovereenkomstig kunnen reageren wanneer een hardwarefout optreedt na de initialisatie van het programma. Het hoofdprogramma -gedeelte moet opdrachtframes kunnen ontvangen en dienovereenkomstig kunnen reageren op de inhoud van de opdracht. Om de lengte te verkorten, wordt alleen de code van het hoofdprogramma -gedeelte hier gegeven.
4 Conclusie
Hoewel er enkele tekortkomingen zijn van de Bus Rs -485, maar vanwege het lijnontwerp is eenvoudig, goedkoop, gemakkelijk te controleren, zolang de details goed worden behandeld, kunnen in sommige technische toepassingen nog steeds een goede rol spelen. Kortom, de sleutel tot het oplossen van de betrouwbaarheid van het project vóór het begin van de bouw moet worden overwogen vóór de maatregelen die kunnen worden genomen om het probleem fundamenteel op te lossen, in plaats van te wachten tot de late engineering om te herstellen.




