![Sad :(](./images/smilies/icon_sad.gif)
Zákmity na SPI sběrnici
Moderátor: Moderátoři
Zákmity na SPI sběrnici
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?
![Sad :(](./images/smilies/icon_sad.gif)
- Přílohy
-
- tek00003.png
- (26.5 KiB) Staženo 70 x
- Ivan_Ryger
- Příspěvky: 1265
- Registrován: 02 bře 2005, 01:00
- Bydliště: Bratislava, Petrzalka
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.
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.
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
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.
- Přílohy
-
- tek00005.png
- (17.78 KiB) Staženo 70 x
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....
- Přílohy
-
- tek00013.png
- (11.18 KiB) Staženo 69 x
-
- tek00012.png
- (10.81 KiB) Staženo 71 x
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
- bohumilfulin
- Příspěvky: 109
- Registrován: 12 led 2010, 01:00
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
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
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.
![Smile :-)](./images/smilies/icon_smile.gif)
Nakonec musím poděkovat všem za rady.
- Přílohy
-
- tek00019.png
- (23.2 KiB) Staženo 65 x