EMI, brus och filter för datasignaler - allmänt?
Postat: 4 september 2009, 11:08:38
Jaha... så har man funderat lite under natten då... och insett att man inte kan ett skit om ferriter , megahertz och signaler...
Så jag tänkte slå ihop en hel del funderingar om datakommunikation i en tråd och hoppas på att erfarna proffs svarar med begripliga och enkla svar på mina svåra frågor
Jag utgår från ett färskt exempel : Jag har ett SPI-interface som kör klockfrekvens 0.5 MHz dvs. kortaste pulsbredden på klockan är 1000 nS. Detta skall från ett kretskort till ett annat, gärna upp till tre meter bort. (just detta) SPI består av fyra ledningar förutom GND och VCC: chip enable, klocka, data in , data out:

För att SPI ska fungera då master tar emot data så får inte signalen vara så mycket fördröjd:

Som man ser här så måste datalinjen vara stabil på klockans uppåtflank.
Antag att man vill filtrera bort höga frekvenser. Det innebär att signalerna fasförskjuts en bit.. och den förskjutningen får inte närma sig en halv klockpuls... då missar man data som skickas tillbaks.
Samtidigt vill man filtrera bort så mycket som möjligt över den frekvensen, dels för att ta bort störningar utifrån, dels för att inte sprida höga frekvenser i omgivningen. Men hur dimensionerar man ett sådant filter?
Duger RC-filter eller är en drossel eller ferrit bättre? Och vad ska man välja? Ferriter finns det tusentals av och jag fattar ingenting
Det står i ferriternas datablad bl.a. impedans vid en viss frekvens, men det säger mig inget om vilken ferrit jag ska koppla på just min datalinje, om jag nu t.ex. råkar köra 0.5 MHz
Sen nästa fundering: kör man på samma kretskort duger det säkert att ansluta IC mot IC utan jox emellan, dvs. MCU mot flashminne osv. med normala CMOS logiska nivåer. Men en tremeters ethernetkabel med SPI ?
Ska man köra med buffertar som ger mycket ström och terminera i andra änden med lågohmig resistor? Hur beräkna den resistansen? Eller höftar man till något? Jag har sett värden på mellan 120 ohm och kanske upp till 1k i sådana sammanhang. Visst borde man omvandla signalen till partvinnad motpolig överföring som på RS485, men det vill jag inte; med fyra signaler blir det 8 ledare. Ska jag dessutom klämma in GND och VCC så funkar inte min ethernetkabel längre. Jag vill inte använda mer än totalt 8 poler. Så strömreturen får gå genom GND allihop.
Ja, det var nattens funderingar så långt dom kom innan frukost... spontana reaktioner, någon?
Så jag tänkte slå ihop en hel del funderingar om datakommunikation i en tråd och hoppas på att erfarna proffs svarar med begripliga och enkla svar på mina svåra frågor
Jag utgår från ett färskt exempel : Jag har ett SPI-interface som kör klockfrekvens 0.5 MHz dvs. kortaste pulsbredden på klockan är 1000 nS. Detta skall från ett kretskort till ett annat, gärna upp till tre meter bort. (just detta) SPI består av fyra ledningar förutom GND och VCC: chip enable, klocka, data in , data out:
För att SPI ska fungera då master tar emot data så får inte signalen vara så mycket fördröjd:
Som man ser här så måste datalinjen vara stabil på klockans uppåtflank.
Antag att man vill filtrera bort höga frekvenser. Det innebär att signalerna fasförskjuts en bit.. och den förskjutningen får inte närma sig en halv klockpuls... då missar man data som skickas tillbaks.
Samtidigt vill man filtrera bort så mycket som möjligt över den frekvensen, dels för att ta bort störningar utifrån, dels för att inte sprida höga frekvenser i omgivningen. Men hur dimensionerar man ett sådant filter?
Duger RC-filter eller är en drossel eller ferrit bättre? Och vad ska man välja? Ferriter finns det tusentals av och jag fattar ingenting
Det står i ferriternas datablad bl.a. impedans vid en viss frekvens, men det säger mig inget om vilken ferrit jag ska koppla på just min datalinje, om jag nu t.ex. råkar köra 0.5 MHz
Sen nästa fundering: kör man på samma kretskort duger det säkert att ansluta IC mot IC utan jox emellan, dvs. MCU mot flashminne osv. med normala CMOS logiska nivåer. Men en tremeters ethernetkabel med SPI ?
Ska man köra med buffertar som ger mycket ström och terminera i andra änden med lågohmig resistor? Hur beräkna den resistansen? Eller höftar man till något? Jag har sett värden på mellan 120 ohm och kanske upp till 1k i sådana sammanhang. Visst borde man omvandla signalen till partvinnad motpolig överföring som på RS485, men det vill jag inte; med fyra signaler blir det 8 ledare. Ska jag dessutom klämma in GND och VCC så funkar inte min ethernetkabel längre. Jag vill inte använda mer än totalt 8 poler. Så strömreturen får gå genom GND allihop.
Ja, det var nattens funderingar så långt dom kom innan frukost... spontana reaktioner, någon?