Inhoudsopgave:

DIY seriële lijncodering converters - Ajarnpa
DIY seriële lijncodering converters - Ajarnpa

Video: DIY seriële lijncodering converters - Ajarnpa

Video: DIY seriële lijncodering converters - Ajarnpa
Video: Compiling & Decompiling Python Scripts 2024, Juli-
Anonim
DIY-converters voor seriële lijncodering
DIY-converters voor seriële lijncodering

Seriële datacommunicatie is alomtegenwoordig geworden in veel industriële toepassingen en er bestaan verschillende benaderingen om een seriële datacommunicatie-interface te ontwerpen. Het is handig om een van de standaardprotocollen te gebruiken, namelijk UART, I2C of SPI. Daarnaast bestaan er verschillende andere protocollen voor meer specifieke toepassingen zoals CAN, LIN, Mil-1553, Ethernet of MIPI. Een andere mogelijkheid om seriële data te verwerken is het gebruik van aangepaste protocollen. Deze protocollen zijn meestal gebaseerd op lijncodes. De meest voorkomende typen lijncodering zijn NRZ, Manchester-code, AMI enz. [Configurable Protocol Decoding of Manchester and NRZ-Encoded Signals, Teledyne Lecroy Whitepape].

Voorbeelden van de gespecialiseerde seriële protocollen zijn onder meer DALI voor de besturing van gebouwverlichting en PSI5, dat wordt gebruikt om sensoren aan te sluiten op controllers in automobieltoepassingen. Beide voorbeelden zijn gebaseerd op Manchester-codering. Evenzo wordt het SENT-protocol gebruikt voor auto-sensor-naar-controller-verbindingen, en de CAN-bus die gewoonlijk wordt gebruikt om communicatie tussen microcontrollers en andere apparaten in automobieltoepassingen mogelijk te maken, is gebaseerd op NRZ-codering. Daarnaast zijn en worden vele andere complexe en gespecialiseerde protocollen ontworpen met gebruikmaking van Manchester- en NRZ-schema's.

Elk van de lijncodes heeft zijn eigen voordelen. Bij het verzenden van een binair signaal langs een kabel kan bijvoorbeeld vervorming optreden die aanzienlijk kan worden verminderd door gebruik te maken van de AMI-code [Petrova, Pesha D., en Boyan D. Karapenev. "Synthese en simulatie van binaire codeconverters." Telecommunicatie in moderne satelliet-, kabel- en omroepdiensten, 2003. TELSIKS 2003. 6e internationale conferentie over. Vol. 2. IEEE, 2003]. Bovendien is de bandbreedte van een AMI-signaal lager dan het equivalente RZ-formaat. Evenzo heeft de Manchester-code niet enkele van de tekortkomingen die inherent zijn aan de NRZ-code. Het gebruik van de Manchester-code op een seriële lijn verwijdert bijvoorbeeld DC-componenten, zorgt voor klokherstel en biedt een relatief hoog niveau van ruisimmuniteit [Hd-6409 Renesas-gegevensblad].

Daarom ligt het nut van de standaardconversie van lijncodes voor de hand. In veel toepassingen waar lijncodes direct of indirect worden gebruikt, is de conversie van binaire code noodzakelijk.

In deze Instructable presenteren we hoe u meerdere lijncoderingsconverters kunt realiseren met behulp van een goedkope Dialog SLG46537 CMIC.

Hieronder hebben we de stappen beschreven die nodig zijn om te begrijpen hoe de GreenPAK-chip is geprogrammeerd om de seriële lijncoderingsconverters te maken. Als u echter alleen het resultaat van het programmeren wilt hebben, download dan GreenPAK-software om het reeds voltooide GreenPAK-ontwerpbestand te bekijken. Sluit de GreenPAK Development Kit aan op uw computer en klik op programma om de aangepaste IC voor de seriële lijncoderingsconverters te maken.

Stap 1: Conversieontwerpen

Conversie Ontwerpen
Conversie Ontwerpen
Conversie Ontwerpen
Conversie Ontwerpen
Conversie Ontwerpen
Conversie Ontwerpen
Conversie Ontwerpen
Conversie Ontwerpen

Het ontwerp van de volgende regelcodeconverters vindt u in deze Instructable:

● NRZ(L) naar RZ

De conversie van NRZ(L) naar RZ is eenvoudig en kan worden bereikt door gebruik te maken van een enkele EN-poort. De figuur 1 toont het ontwerp voor deze conversie.

● NRZ(L) naar RB

Voor de conversie van NRZ(L) naar RB moeten we drie logische niveaus bereiken (-1, 0, +1). Voor dit doel gebruiken we een 4066 (quad-bilaterale analoge schakelaar) voor bipolaire schakeling van 5 V, 0 V en -5 V. Digitale logica wordt gebruikt om het schakelen van de drie logische niveaus te regelen door selectie van 4066 inschakelende ingangen 1E, 2E en 3E [Petrova, Pesha D. en Boyan D. Karapenev. "Synthese en simulatie van binaire codeconverters." Telecommunicatie in moderne satelliet-, kabel- en omroepdiensten, 2003. TELSIKS 2003. 6e internationale conferentie over. Vol. 2. IEEE, 2003].

De logische besturing is als volgt geïmplementeerd:

Q1= Signaal & Clk

Q2= Klk'

Q3= Clk & Signaal'

Het algemene conversieschema wordt getoond in figuur 2.

● NRZ(L) naar AMI

De NRZ(L) naar AMI-conversie maakt ook gebruik van de 4066 IC, aangezien de AMI-code 3 logische niveaus heeft. Het logische besturingsschema is samengevat in tabel 1 die overeenkomt met het algemene conversieschema dat wordt weergegeven in figuur 3.

Het logische schema kan op de volgende manier worden geschreven:

Q1 = (Signaal & Clk) & Q

Q2 = (Signaal & Clk)'

Q3 = (Signaal & Clk) & Q'

Waarbij Q de output is van de D-Flip-flop met de volgende overgangsrelatie:

Qnext = Signaal & Qprev' + Signaal' & Qprev

● AMI naar RZ

Voor AMI naar RZ-conversie worden twee diodes gebruikt om het ingangssignaal te splitsen in positieve en negatieve delen. Een inverterende op-amp (of een op een transistor gebaseerd logisch circuit) kan worden gebruikt om het gescheiden negatieve deel van het signaal om te keren. Ten slotte wordt dit geïnverteerde signaal samen met het positieve signaal doorgegeven aan een OF-poort om het gewenste uitgangssignaal in het RZ-formaat te verkrijgen, zoals weergegeven in figuur 4.

● NRZ(L) naar gesplitste fase Manchester

De conversie van NRZ(L) naar Manchester met gesplitste fase is eenvoudig, zoals weergegeven in figuur 5. Het ingangssignaal wordt samen met het kloksignaal doorgegeven aan een NXOR-poort om het uitgangssignaal te verkrijgen (volgens de conventie van G. E. Thomas). Een XOR-poort kan ook worden gebruikt om de Manchester-code te verkrijgen (volgens IEEE 802.3-conventie) [https://en.wikipedia.org/wiki/Manchester_code].

● Split-fase Manchester naar Split-fase Mark code

De conversie van Split-phase Manchester naar Split-phase Mark-code wordt getoond in figuur 6. De invoer en het kloksignaal worden door een EN-poort geleid om een D-flip-flop te klokken.

De D-flip wordt bepaald door de volgende vergelijking:

Qvolgende = Q'

Het uitgangssignaal wordt als volgt verkregen:

Uitgang= Clk & Q + Clk' Q'

● Meer lijncodeconversies

Met behulp van de bovenstaande conversies kan men gemakkelijk de ontwerpen voor meer lijncodes verkrijgen. Zo kunnen NRZ(L) naar Split-phase Manchester-codeconversie en Split-phase Manchester Code naar Split-phase Mark-codeconversie worden gecombineerd om direct NRZ(L) naar Split-phase Mark-code te verkrijgen.

Stap 2: GreenPAK-ontwerpen

De hierboven getoonde conversieschema's kunnen eenvoudig worden geïmplementeerd in GreenPAK™ designer samen met enkele aanvullende externe componenten. De SLG46537 biedt voldoende middelen om de gegeven ontwerpen uit te voeren. De GreenPAK-conversieontwerpen worden in dezelfde volgorde als voorheen geleverd.

Stap 3: NRZ(L) naar RZ in GreenPAK

NRZ(L) naar RZ in GreenPAK
NRZ(L) naar RZ in GreenPAK

Het GreenPAK-ontwerp voor NRZ(L) tot RZ in afbeelding 7 is vergelijkbaar met het ontwerp in stap 1, behalve dat er één DLY-blok is toegevoegd. Dit blok is optioneel, maar biedt de-glitching voor de synchronisatiefouten tussen de klok- en ingangssignalen.

Stap 4: NRZ(L) naar RB in GreenPAK

NRZ(L) naar RB in GreenPAK
NRZ(L) naar RB in GreenPAK

Het GreenPAK-ontwerp voor NRZ(L) tot RB wordt weergegeven in afbeelding 8. De afbeelding laat zien hoe de logische componenten in de CMIC moeten worden aangesloten om het beoogde ontwerp uit stap 1 te bereiken.

Stap 5: NRZ(L) naar AMI in GreenPAK

NRZ(L) naar AMI in GreenPAK
NRZ(L) naar AMI in GreenPAK

Afbeelding 9 illustreert hoe de GreenPAK CMIC moet worden geconfigureerd voor conversie van NRZ(L) naar AMI. Dit schema, samen met externe hulpcomponenten die in stap 1 zijn gegeven, kunnen worden gebruikt voor de gewenste conversie

Stap 6: AMI naar RZ in GreenPAK

AMI naar RZ in GreenPAK
AMI naar RZ in GreenPAK

In figuur 10 wordt het GreenPAK-ontwerp voor AMI naar RZ-conversie getoond. De zo geconfigureerde GreenPAK CMIC, samen met op-amp en diodes, kan worden gebruikt om de vereiste output te verkrijgen.

Stap 7: NRZ(L) naar split-fase Manchester in GreenPAK

NRZ(L) naar Split-phase Manchester in GreenPAK
NRZ(L) naar Split-phase Manchester in GreenPAK

In figuur 11 wordt een NXOR-poort gebruikt in het GreenPAK-ontwerp om de NRZ(L)-naar-split-fase Manchester-conversie te verkrijgen.

Stap 8: Split-fase Manchester naar Split-fase markeringscode in GreenPAK

Gesplitste fase Manchester naar gesplitste fase markeringscode in GreenPAK
Gesplitste fase Manchester naar gesplitste fase markeringscode in GreenPAK

In afbeelding 12 wordt het GreenPAK-ontwerp voor de split-phase Manchester-naar-split-phase Mark-code gegeven. Het ontwerp voor de conversie is compleet en er is geen externe component nodig voor het conversieproces. DLY-blokken zijn optioneel voor het verwijderen van storingen die optreden als gevolg van synchronisatiefouten tussen de ingangs- en kloksignalen.

Stap 9: Experimentele resultaten

Alle gepresenteerde ontwerpen zijn ter verificatie getest. De resultaten worden in dezelfde volgorde weergegeven als voorheen.

Stap 10: NRZ(L) naar RZ

NRZ(L) naar RZ
NRZ(L) naar RZ

De experimentele resultaten voor de conversie van NRZ(L) naar RZ worden weergegeven in figuur 13. NRZ(L) wordt weergegeven in geel en RZ wordt weergegeven in blauw.

Stap 11: NRZ(L) naar RB

NRZ(L) naar RB
NRZ(L) naar RB

De experimentele resultaten voor de conversie van NRZ(L) naar RB worden gegeven in figuur 14. NRZ(L) wordt weergegeven in rood en RB wordt weergegeven in blauw.

Stap 12: NRZ(L) naar AMI

NRZ(L) naar AMI
NRZ(L) naar AMI

Figuur 15 toont de experimentele resultaten voor de conversie van NRZ(L) naar AMI. NRZ(L) wordt in rood weergegeven en AMI in geel.

Stap 13: AMI naar RZ

AMI naar RZ
AMI naar RZ

Figuur 16 toont de experimentele resultaten voor AMI naar RZ-conversie. AMI is opgesplitst in positieve en negatieve delen, weergegeven in geel en blauw. Het geconverteerde RZ-uitgangssignaal wordt in rood weergegeven.

Stap 14: NRZ(L) naar split-fase Manchester

NRZ(L) naar gesplitste fase Manchester
NRZ(L) naar gesplitste fase Manchester

Figuur 17 toont de experimentele resultaten voor NRZ(L) naar split-phase Manchester conversie. Het NRZ(L)-signaal wordt in het geel weergegeven en het geconverteerde uitgangssignaal in Split-phase Manchester wordt in het blauw weergegeven.

Stap 15: Split-fase Manchester naar Split-fase Mark Code

Markcode voor gesplitste fase Manchester naar gesplitste fase
Markcode voor gesplitste fase Manchester naar gesplitste fase

Afbeelding 18 toont de conversie van Split-phase Manchester naar Split-phase Mark-code. De Manchester-code wordt in het geel weergegeven, terwijl de Mark-code in het blauw wordt weergegeven.

Conclusie

Lijncodes vormen de basis van verschillende seriële communicatieprotocollen die universeel worden gebruikt in diverse industrieën. Conversie van lijncodes op een gemakkelijke en goedkope manier die in veel toepassingen wordt gezocht. In deze Instructable worden details gegeven voor de conversie van verschillende lijncodes met behulp van Dialog's SLG46537 samen met enkele ondersteunende externe componenten. De gepresenteerde ontwerpen zijn geverifieerd en er wordt geconcludeerd dat conversie van lijncodes eenvoudig kan worden gedaan met behulp van Dialog's CMIC's.

Aanbevolen: