Balanserad kommunikation med RS-232?
Balanserad kommunikation med RS-232?
En del som har konstruerat mindre nätverk med AVR/PIC använder dess asynkrona läge mha UART (RS-232) för att kommunicera. Men den typen av kommunikation är inte DC-balanserad. Så om man skickar många bitar av det ena slaget så skulle man med t.ex. EIA-485 drivers och signaltransformatorer mätta kärnorna.
Någon som tänkt eller testat ut någon lösning på det?
Eller det kanske inte är ett problem övh?
Någon som tänkt eller testat ut någon lösning på det?
Eller det kanske inte är ett problem övh?
Re: Balanserad kommunikation med RS-232?
Öh, det är väl inga problem att köra RS485 från UARTen.
Re: Balanserad kommunikation med RS-232?
Det är väl bara att använda Manchester kodning om det ska vara isolerat genom transformator, det kan fixas enkelt via mjukvara och UART'en i synkron överföring, man sänder 2 bytes för varje byte som ska sändas.
Re: Balanserad kommunikation med RS-232?
Icecap, Jag har varit inne på den banan, fast det innebär halva datahastigheten jämfört med modulationshastigheten. Lite surt 
TomasL, det handlade om DC-balans primärt. Inte EIA-485 som sådant.
TomasL, det handlade om DC-balans primärt. Inte EIA-485 som sådant.
Re: Balanserad kommunikation med RS-232?
Visst, men du skrev "mätta" 485-drivers, det går ju inte.
Förstår inte problemet, ärligt talat.
Förstår inte problemet, ärligt talat.
Re: Balanserad kommunikation med RS-232?
Syftningen var väl på att använda en trafo för isolation och att man då riskerar att mätta trafon om bittåget har en DC-nivå.
Re: Balanserad kommunikation med RS-232?
Vill man använda en transformator för att isolera finns det ju ett antal trick.
Personligt hade jag satt en kondensator i serie med TX och spolen, kondensatorns värde skulle bara vara stor nog att överföra pulsen. Detta ville ge ett antal spikar som sammanfaller med nivåskiften och då man ändå får ut detta ur transformatorn är det ju OK men DC-mättningen av transformatorn uteblir.
Mottagaren ska såklart ha en Schmitt-trigger funktion inbyggd för att spikarna ska få nivån att gå till "rätt läge" och stanna kvar till motsatsen kommer.
Men bäst ville ju vara att ha en liten bit hårdvara som ger hårdkodade korta pulser ut vid varje nivåändring, detta kan enkelt göras med ett RC-nät och en EXOR-gate samt ett par andra gates som driver en "H-brygga" lite primitivt. På det vis ville man få maximal effekt på pulsen, ingen mättning och tydliga signaler ändå.
Personligt hade jag satt en kondensator i serie med TX och spolen, kondensatorns värde skulle bara vara stor nog att överföra pulsen. Detta ville ge ett antal spikar som sammanfaller med nivåskiften och då man ändå får ut detta ur transformatorn är det ju OK men DC-mättningen av transformatorn uteblir.
Mottagaren ska såklart ha en Schmitt-trigger funktion inbyggd för att spikarna ska få nivån att gå till "rätt läge" och stanna kvar till motsatsen kommer.
Men bäst ville ju vara att ha en liten bit hårdvara som ger hårdkodade korta pulser ut vid varje nivåändring, detta kan enkelt göras med ett RC-nät och en EXOR-gate samt ett par andra gates som driver en "H-brygga" lite primitivt. På det vis ville man få maximal effekt på pulsen, ingen mättning och tydliga signaler ändå.
-
limpan4all
- Inlägg: 8499
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Balanserad kommunikation med RS-232?
Man lägger ju förstås sin RS485 drivare på utsidan av ett optokopplarinterface som strömförsörjs via DC/DC omvandlare med galvanisk åtskillnad.
Enkelt med följande SMD komponenter.
HCPL0600 + två motstånd (eller 3st om man vill köra dubbelriktat RS485 nät på tre tråd (två data, en 0V))
MAX485 + 100nF http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1111
Eller MAX483 om man vill ha en bandbreddsbegränsad för att lättare klara EMC krav
MAX845 + 100nF http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1202/t/al
Q4470-CL från Coilcraft http://www.coilcraft.com/mintrans.cfm
BAT43C + 1uF ELFA
Om man ändå måste mata ett RS232 interface så är det bara att sidjorda A eller B så får man inverterat eller oinverterat men med TTL nivåer samt att ingen 0V behöver dras fram.
Enkelt med följande SMD komponenter.
HCPL0600 + två motstånd (eller 3st om man vill köra dubbelriktat RS485 nät på tre tråd (två data, en 0V))
MAX485 + 100nF http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1111
Eller MAX483 om man vill ha en bandbreddsbegränsad för att lättare klara EMC krav
MAX845 + 100nF http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1202/t/al
Q4470-CL från Coilcraft http://www.coilcraft.com/mintrans.cfm
BAT43C + 1uF ELFA
Om man ändå måste mata ett RS232 interface så är det bara att sidjorda A eller B så får man inverterat eller oinverterat men med TTL nivåer samt att ingen 0V behöver dras fram.
Re: Balanserad kommunikation med RS-232?
Då är det ju knappast RS232 längre.
Enklast om man vill köra galvaniskt skilt och isolerat serieinterface är att använda MAX1480.
Funkar i alla lägen och man behöver bara ett par motstånd.
Finns även i duplexutförande.
Men då får man RS485 istället för RS232.
Enklast om man vill köra galvaniskt skilt och isolerat serieinterface är att använda MAX1480.
Funkar i alla lägen och man behöver bara ett par motstånd.
Finns även i duplexutförande.
Men då får man RS485 istället för RS232.
Re: Balanserad kommunikation med RS-232?
Avsåg RS-232 signalering, men differentiellt elektriskt interface. Vilket jag kanske skulle varit mer tydlig med. I vilket fall som helst verkar det som två lösningar finns:
0) Kompenserande pulser av motsatt polaritet inom tillräckligt kort tidsavstånd (modell TMDS).
1) Kondensator i serie som jämnar ut DC nivån även under korta tidsrymder.
Eftersom stop biten har motsatt polaritet till start biten så kompenserar dessa ut varann. För resten av överföringen skulle man kunna använda första biten till att indikera om resten av dom överförda bitarna är inverterade eller inte. Likt TMDS.
Nackdelen är förstås att man måste skicka 8 okteter för att få 7 kompletta bytes.
0) Kompenserande pulser av motsatt polaritet inom tillräckligt kort tidsavstånd (modell TMDS).
1) Kondensator i serie som jämnar ut DC nivån även under korta tidsrymder.
Eftersom stop biten har motsatt polaritet till start biten så kompenserar dessa ut varann. För resten av överföringen skulle man kunna använda första biten till att indikera om resten av dom överförda bitarna är inverterade eller inte. Likt TMDS.
Nackdelen är förstås att man måste skicka 8 okteter för att få 7 kompletta bytes.
Re: Balanserad kommunikation med RS-232?
RS-232 signalering????
RS232 är ju bara en elektrisk och mekanisk specifikation, dvs antalet trådar, vad trådarna är till för och spänningsnivåer.
Att man formaterar data på ett specifikt sätt har ju inget med RS232 att göra.
DVS antal databitar, stoppbitar, startbitar paritet osv har inget RS232 att göra.
Vad du är ute efter är RS422 vilket är en differentiell buss, eller RS485 för multidrop
RS232 är ju bara en elektrisk och mekanisk specifikation, dvs antalet trådar, vad trådarna är till för och spänningsnivåer.
Att man formaterar data på ett specifikt sätt har ju inget med RS232 att göra.
DVS antal databitar, stoppbitar, startbitar paritet osv har inget RS232 att göra.
Vad du är ute efter är RS422 vilket är en differentiell buss, eller RS485 för multidrop
Re: Balanserad kommunikation med RS-232?
Oavsett så kan isolerande signaltransformatorer bli mättade. Andemeningen borde framgått iaf.
Re: Balanserad kommunikation med RS-232?
Nej de blir inte mättade, eftersom du använder antingen RS485 eller RS422(RS423).
Dessutom använder man inte traditionella "transformatorer" (i princip), längre.
Om du vill ha galvaniskt skilt eller isolerat gränssnitt bygger du det diskret med Optokopplare och en lämplig strömförsörjning.
Alternativt använder du någon av de färdiga kretsar som finnes.
National, Texas och NVE vill jag minnas har har billiga kretsar, dock behöver du en separat spänningsmatning till dem.
MAX1480 är komplett och behöver bara ett par externa motstånd.
Dessutom använder man inte traditionella "transformatorer" (i princip), längre.
Om du vill ha galvaniskt skilt eller isolerat gränssnitt bygger du det diskret med Optokopplare och en lämplig strömförsörjning.
Alternativt använder du någon av de färdiga kretsar som finnes.
National, Texas och NVE vill jag minnas har har billiga kretsar, dock behöver du en separat spänningsmatning till dem.
MAX1480 är komplett och behöver bara ett par externa motstånd.
Re: Balanserad kommunikation med RS-232?
Optokopplare fungerar inte bidirektionellt i passivt läge.
En ethernet "trafo" kan t.ex placeras mitt på en ledning.
En ethernet "trafo" kan t.ex placeras mitt på en ledning.
Re: Balanserad kommunikation med RS-232?
MAX 1480 använder optokopplare, fungerar alldeles utmärkt i alla lägen.
Så varför skulle inte optokopplare fungera.
Så varför skulle inte optokopplare fungera.
