Magistrala CAN na ścieżkach PCB zamiast skrętki - kwestie do rozważenia
Aby zaoszczędzić na kosztach systemu w jednym z moich obecnych projektów (bez kabli) chciałbym wyeliminować kabel CAN i dodać ścieżki do PCB (jedna para od lewej do prawej, aby podłączyć złącza + 1 para końcówki do CAN Transceiver na każdej płycie). Ponieważ i tak mam ciągły łańcuch PCB połączonych złączem z wolnymi pinami, wydaje się to całkiem rozsądne. Planuję wdrożyć CAN z dość niską prędkością (125 kb / s).
Każda płytka PCB wygląda mniej więcej tak:

System jest tak skonfigurowany i ma około 50 m długości!

Przeczytałem kilka innych pytań (np. Tutaj , tutaj i tutaj ) oraz artykuły i notatki aplikacyjne (takie jak to , to i to ). Ale nie jestem blisko, aby w pełni to zrozumieć.
Mam w związku z tym kilka pytań:
Pierwsza dotyczy impedancji linii przesyłowej.
- Standard 120Ohm to impedancja różnicowa lub pojedynczy koniec dla każdego CAN_H i CAN_L?
- jak osiągnąć impedancję 120Ohm na płycie 4-warstwowej? ( Używam standardowego 4-warstwowego stosu JLCPCB , a za pomocą ich kalkulatora nie osiągam 120Ohm dla single-ended, a dla różnicowania zbliżam się tylko do 3,5 miliona śladu + 4 mil odstępy - co jest blisko ich absolutnego minimum).
- Czy mogę / powinienem dodać dodatkowe komponenty do torów autobusu, aby osiągnąć 120Ohm?
Odnośnie ekranowania:
- Pomimo tematu impedancji, w specyfikacji CAN zalecany jest ekranowany kabel typu skrętka. Czy w takim przypadku powinienem lepiej poprowadzić linie CAN na jednej z warstw wewnętrznych i osłonić ją płaszczyzną GND powyżej, obok i poniżej?
Odnośnie skrętki:
- Czy miałoby sens zamodelowanie śladów na PCB podobnie do skrętki (np. Coś takiego
Ogólnie pytania można podsumować następująco:
Jaka szerokość ścieżki, odstępy na której warstwie dają najlepsze wyniki w przypadku długich ścieżek CAN na 4-warstwowej płytce drukowanej i jak ją osłonić?
Odpowiedzi
Nie zaprojektowałem specjalnie dla magistrali CAN, ale zaimplementowałem pary różnicowe USB i pojedyncze linie transmisyjne WiFi (2,4 GHz).
Twój problem wygląda jak klasyczna różnicowa linia transmisyjna. 125 kb / s powinno być dość wyrozumiałe. 1 Mb / s jest trudniejsze.
Jeśli masz luksus 4-warstwowej płyty, zdecydowanie kieruj sygnały CAN na wewnętrzne warstwy. To daje odpowiednik ekranowanego kabla. Warstwy zewnętrzne powinny być uziemione lub zasilane. Płaszczyzny uziemiające i zasilające powinny być ze sobą połączone pojemnościowo, dzięki czemu są mniej więcej równoważne do celów ekranowania.
Twój pomysł na krzyżowanie się śladów w celu stworzenia „skręconej” pary jest intrygujący, ale podejrzewam, że spowoduje to więcej bólów głowy: 1) odbicia sygnału na każdym z nich 2) każdy zakopany kanał jest potencjalnym punktem defektu w produkcji płytek. # 2 zależy od jakości twojego pensjonatu. Zaimplementowałbym tradycyjną parę różnicową (Zo = 120 omów).
Przy obliczaniu odstępów między liniami transmisyjnymi bardzo pomocny jest zestaw narzędzi Saturn PCB: http://saturnpcb.com/pcb_toolkit/ Zauważę, że aby osiągnąć 120 charakterystyczną impedancję, prawdopodobnie będziesz potrzebować szerszych ścieżek.
Zgodnie z tym dokumentem wyznacznika celu dydaktycznego niedopasowanie długości kabli może powodować problemy z odbiciami w magistrali CAN. https://www.ti.com/lit/an/slla279a/slla279a.pdf.
Pamiętaj, aby zapewnić rezystory terminujące 120ohm (na liniach CAN bus) na końcu nadawczym i ostatnim odbiorniku w magistrali.
Złącze: powinno wystarczyć, o ile styki są czyste. Oddziel styki szyny CAN od innych styków o dużej szybkości, umieszczając pomiędzy nimi styk uziemienia. Osobiście dodałbym również pady lutownicze lub złącze CAN na wypadek, gdyby trzeba było wrócić do przewodu między płytkami drukowanymi. Jeśli tak, to położyłbym rezystory 0 omów szeregowo z liniami CAN na głównym złączu. Zapewni to elastyczność wyłączenia linii CAN na złączu i przełączenia z powrotem na przewody. Zaprojektowanie planu B jest tanie podczas układania płytki drukowanej.
Szerokość ścieżki i odstępy zależą od kopii zapasowej PCB. Skorzystaj z zestawu narzędzi Saturn PCB z zakładką „Differential Pairs”.
Użyłbym stackupu jak
L1 = masa, L2 = linie sygnałowe / transmisyjne, L3 = moc, L4 = sygnał lub
L1 = masa, L2 = linie sygnałowe / transmisyjne, L3 = sygnał, L4 = moc.
Jeśli masz miedziane wypełnienie na innych warstwach, możesz związać je z ziemią za pomocą przelotek. Nie należy kierować sygnałów o dużej szybkości równolegle z parą dyferencyjną, chyba że są one oddzielone uziemieniem (ekranowaniem). Jeśli sygnały o dużej prędkości muszą przecinać się na sąsiednich warstwach, ustaw je prostopadle.

Aby rozplanować linie różnicowe, NIE powinieneś projektować ich jak skrętki dwużyłowej ... Przepusty działają jak cewki indukcyjne i każda zmiana kierunku zwykle powoduje odbicia. Więc to, czego chcesz i co jest optymalne, to prosta prosta.
Zwykle układasz linie różnicowe obok siebie (jeśli nie masz luźnego połączenia ... co również działa w niektórych przypadkach), BEZ zakrętów o 90 °, musisz zachować oba ślady na tej samej długości (prawie) i krótkie odcinki ( w razie czego możemy mówić o jakichś cm - myślę, że można znaleźć wartości w standardzie). Należy obliczyć odległość między liniami i szerokość śladów, więc dzięki materiałowi PCB i grubości warstwy utrzymasz wymaganą impedancję 120Ohm ...
Możesz spróbować https://sourceforge.net/projects/atlc/ lub http://www.hdtvprimer.com/KQ6QV/atlc2.html do obliczania różnicowych linii przesyłowych.
Kicad jest również dostarczany z kalkulatorem linii transmisyjnej lub dobrym starym http://www.hp.woodshot.com/ HP AppCad ... Znajdziesz nawet rzeczy do zwykłych programowalnych kalkulatorów.
Jeśli przestrzegasz zasad dla znacznie bardziej wyrafinowanych systemów, takich jak LVDS, CAN nigdy nie powinien Cię zawieść - jest całkiem niezawodny nawet w bardzo trudnych warunkach.
https://www.ti.com/lit/an/snla302/snla302.pdf
Nie sprawdzałem tego, ale o ile pamiętam te liczby są OK Dla określonej prędkości autobusu masz długość Busline i długość jednego odgałęzienia ... zgadnij, że na PCB nigdy nie będziesz mieć problemów z CAN
- 1 Mbit / s 40 m 0,3 m
- 500 kBit / s 100 m 0,8 m
- 250 kBit / s 200 m 1,5 m
- 100 kBit / s 500m 3,0m
- 57 kBit / s 1000 m 5,0 m
- 38 kBit / s 2000m 7,0m
PS: Jak stwierdził Mr_Engineer: Musisz zakończyć. Ale oba końce (to prawdziwa magistrala, więc każdy węzeł nasłuchuje i nadaje)! oba z 120 Ohm (jego 60 Ohm przy dc, ale 120 Ohm dla środkowej / dominującej częstotliwości magistrali ...) - mamy produkt z zakończeniem tylko jednej strony i działa na ponad 20 m długości linii, ale wtedy musisz dostosować wartości. Trzymaj się standardu!