Stránka 1 z 2

Zákmity na SPI sběrnici

Napsal: 09 říj 2012, 13:24
od Mimar
Pěkný den. Řeším teď jeden malý problém se sběrnicí SPI. Na stole se mi válí testovací a měřící zařízení, ne mojí konstrukce, které sestává z centrální desky plošných spojů o délce 40 cm nesoucí konektory, do kterých se zasunují měřící karty. Jedna karta se chová jako master a zbylé jako slave. Vzájemná komunikace je tvořena právě sběrnicí SPI s frekvencí 2,3 MHz. Její volba nebylo právě šťastné rozhodnutí, ale stalo se :(. Občas se stávalo, že komunikace vypadávala, proto mě napadlo eliminovat případné odrazy zaterminováním konců sběrnice na centrální desce pomocí paralelní kombinace dvou odporů (tzv. Theveninova terminace) a dvou diod pro odříznutí kladných a záporných překmitů. Musím říct, že se situace zlepšila, ale ne sto procentně. Občas systém spadne. Když jsem se kouknul na průběh CLK pomocí osciloskopu, byly v něm patrné drobné zákmity jak na vzestupné, tak spádové hraně. Jejich velikost se měnila s velikostí spodního terminačního odporu (kroutil jsem trimrem), bohužel se mi je nepodařilo zcela odtranit. Nemáte někdo zkušenosti s terminací SPI sběrnice či s jejím provozem na delší vzdálenost?

Napsal: 09 říj 2012, 13:30
od Andrea
Ty kmity máš i na dolní úrovni, tak kdo ví, jak to měříš a jestli to není problém spíš se zemí než se signálama.

Napsal: 09 říj 2012, 13:42
od Mimar
No měřím to proti zemi, systém jede na 3,3V. To kmitání na spodní a horní úrovni mě zas tolik nezajímá, to spíše takové ty zákmity na hranách. Jak jsem již psal, jejich velikost šla alespoň zčásti ovlivnit velikostí terminátoru. No budu laborovat dál.

Napsal: 09 říj 2012, 14:07
od Ivan_Ryger
tie odrazy celkom nepotlačíte, keďže všetky obvody majú nenulovú vstupnú kapacitu.
Ináč, vstup prenosového vedenia musí byť impedančne prispôsobený k zdroju (zväčša sa pridáva sériový odpor so zdrojom) a na opačnej strane musí byť impedančne prispôsobený k záťaži, čo znamená zväčša paralelný odpor k vstupu záťaže. Pri SPI je to trocha problém, keďže raz je to záťaž a raz je to zdroj.

Napsal: 09 říj 2012, 14:17
od tomasjedno
Mimar píše:...To kmitání na spodní a horní úrovni mě zas tolik nezajímá, to spíše takové ty zákmity na hranách...
Když ono to ale vypadá, že obojí je stejného původu - naindukované odněkud.

Napsal: 09 říj 2012, 14:29
od JPL
podivej se na napajeni, jestli to tam mas take

Napsal: 09 říj 2012, 15:11
od Atlan
a roztiahnui nabeznu hranu na osciloskope bude vidno lepsie tvar impulzu na nabeznej pripadne zostupnej strane.

Napsal: 09 říj 2012, 16:00
od Mimar
Napájení je čisté jako slovo boží, to jsem vyzkoušel jako první. Zkoušel jsem též nastrkat karty do jiných slotů, výsledek byl ale podobný. Přikládám obrázek průběhu s roztaženou časovkou. Ještě zkusím vřadit k master procesoru do signálu hodin buffer, jinak už fakt nevím.

Napsal: 09 říj 2012, 16:30
od Andrea
Když dáš do série s výstupem hodin 33-100 ohmů, změní se ty průběhy?

Napsal: 10 říj 2012, 08:18
od MiloshCZ
Podle mě ti tam leze odněkud rušení. Vypadá to na clock procesoru, nebo něco takového.

Napsal: 10 říj 2012, 08:56
od Mimar
Tak jsem odpájel všechny terminační prvky a zkoušel měřit průběh hodin sběrnice SPI na konektorech v závislosti na umístění karet. Zjistil jsem toto: průběh je poměrně dost závislý na tom, kde se karty aktuálně nacházejí, když jsem je rozmístil rovnoměrně po celé základně, tak se průběh měřený přibližně uprostřed pěkně vyhladil a komunikace se zdála stabilní. U krajů to bylo pořád zvlněný. Viz přiložené obrázky. Sériovou terminaci jsem zatím nezkoušel, počkám s tím, až dorazí posilovací buffer....

Napsal: 10 říj 2012, 11:10
od tomasjedno
MiloshCZ píše:Podle mě ti tam leze odněkud rušení. Vypadá to na clock procesoru, nebo něco takového.
Jj, zhruba 16 MHz.

Napsal: 10 říj 2012, 13:23
od Andrea
Mimar píše:Sériovou terminaci jsem zatím nezkoušel, počkám s tím, až dorazí posilovací buffer....
Posilovací buffer má efekt přesně opačný.

Napsal: 17 říj 2012, 13:20
od bohumilfulin
napadaji me jeste tri veci

1. nevim zda mas moznost jit s hodinovym kmitoctem dolu, ale zrejme ne jinak bys to prubnul
2. odrizl bych od mastera a slava vodice plosnaku a pripojil bych tam externi plochy vodic kde by kazdy signalovy vodic byl oddeleny zemnicim. Test na spravny navrh PCB. Ja SPI @1MHz pouzivam na vetsi vzdalenost ale kazdych 30cm jsem daval oddelovaci buffer. Ale stejne nejvic pomohlo prolozeni kazdeho signaloveho vodice zemi.
3. Jeste bych prubnul zda mas spravnou postoupnost signalu jako /OE ... /WR... Mozna hledas mouchu v cistote signalu a problem muze byt v casove postoupnosti vsech signalu SLAVA. A timto bych asi zacal pokud nemuzes s hodinama dolu

Napsal: 22 říj 2012, 13:38
od Mimar
Tak jsem se zase dostal k tomu SPI. Bohužel s hodinami jít dolů nemůžu, zařízení musí jet na cca. 2,5 MHz. Vyzkoušel jsem včlenit do hodinového signálu, na desce mastera, buffer NL27WZ17 od On Semi. Musím konstantovat, že se signál o něco zlepšil, náběžná i spádová hrana jsou každopádně stmější, i zákmity vypadají jinak. Spolu s úpravou FW (byla v něm chyba v přerušení) se zdá, že teď zařízení funguje stabilně. Ty zákmity už moc řešit nebudu, když to žije, ale pokud by měl někdo fígl, jak je "humánně" :-) zlikvidovat, tak bych je určitě pořešil.

Nakonec musím poděkovat všem za rady.