Skocz do zawartości

Kurs Projektowania PCB #5: Opcjonalne elementy i o magistralach słów kilka


Pomocna odpowiedź

Napisano (edytowany)

Wstęp

W tym rozdziale zajmiesz się przygotowaniem prostego modułu z pamięcią EEPROM, który będzie można łatwo podłączyć do dowolnego mikrokontrolera. Wprowadzę kilka elementów, które często są pomijane przez początkujących projektantów, takich jak rezystory podciągające czy kondensatory odsprzęgające oraz poruszę temat odległości i długości ścieżek na płytkach drukowanych. Wskażę, na co warto zwrócić uwagę, aby uniknąć typowych błędów i zbudować układ zgodny ze sztuką.

Założenia projektu

W przykładzie wykorzystasz układ pamięci AT24C64 od firmy IDCHIP. Jest to klon popularnej rodziny układów EEPROM, jednak w praktyce działa bardzo dobrze i nadaje się do zastosowań hobbystycznych.

Przyjmuj, że:

  • Projektant głównego PCB może zapomnieć o rezystorach podciągających I2C. Dlatego należy pamiętać o ich umieszczeniu na naszym module.
  • Potrzebujesz mieć możliwość zmiany konfiguracji adresu pamięci. Zrobisz to za pomocą rezystorów podciągających linie adresowe.
  • Pamięć będzie domyślnie tylko do odczytu. Jeżeli potrzebny jest zapis, projektant może odpowiednio wysterować pin WP.
  • Moduł będzie podłączany do mikrokontrolera za pomocą złącza XH2.54 5-pin.

Schemat układu

W poprzednich częściach kursu omówiłem dodawanie elementów i wyszukiwanie komponentów w bibliotece LCSC. Możesz skorzystać z tamtych instrukcji, aby dodać potrzebne symbole i footprinty.

Złącze modułu

Nasze złącze XH2.54 5-pin ma podobną nazwę jak wcześniejsze 2-pinowe — wystarczy podmienić fragment 2PZZ na 5PZZ, aby znaleźć wersję pięciopinową.

Większość producentów posiada swoją metodologię nazewnictwa, która zazwyczaj jest albo intuicyjna albo dostępna w dokumentacji. Pozwala ona znacznie szybciej szukać interesujących nas komponentów.

Wyprowadzenia pamięci EEPROM

Układ AT24C64 ma osiem pinów:

  • VCC i GND – zasilanie,
  • SDA i SCL – interfejs I2C,
  • WP – blokada zapisu,
  • A0, A1, A2 – linie adresowe.

Każdą linię adresową można ustawić w stanie niskim lub wysokim. Najprościej zrobić to za pomocą dwóch rezystorów 10 kΩ, z których użyjesz tylko jednego:

  • jeden łączy pin z VCC,
  • drugi z GND.

W praktyce montowany będzie tylko ten, który odpowiada wybranemu adresowi. Drugi pozostanie niewlutowany.

Zgodnie z założeniami podciągasz WP do VCC używając rezystora 10K, co zabezpiecza pamięć przed przypadkowym zapisem. Jednocześnie wyprowadzasz tę linię na złącze, aby w razie potrzeby umożliwić jej sterowanie z zewnątrz.

SDA, SCL, VCC i GND podłączasz do złącza. W przypadku SDA i SCL dodaj także miejsce na rezystory podciągające, ponieważ nie należy zakładać, że będą obecne na głównej płytce.

Aby dodać opcjonalne rezystory i najczęściej nie będą montowane:

  1. Wstaw rezystory w obudowie 0805.
  2. Upewnj się, że ich wartość jest w racjonalnym przedziale (np. 4.7–10 kΩ).
  3. W panelu Property ustaw Add into BOM = No.

Symbol rezystora na schemacie zmieni wygląd, co jasno sygnalizuje, że nie powinien być lutowany.

W identyczny sposób możesz oznaczyć rezystory konfiguracyjne na liniach adresowych.

Kondensatory odsprzęgające

Na tym etapie schemat wygląda poprawnie, ale wciąż brakuje jednego kluczowego elementu dobrej praktyki — kondensatorów odsprzęgających.

Te niewielkie elementy działają jak lokalne źródła energii. Dostarczają krótkie impulsy prądu w momentach zmian obciążenia i stabilizują napięcie zasilania układu. Dzięki temu pamięć pracuje pewniej i jest mniej podatna na zakłócenia.

Standardowa zasada mówi:

  • 1 × kondensator ceramiczny 100 nF jak najbliżej pinów VCC–GND na każdy pin VCC (jeżeli układ ma 4 piny VCC używasz 4 kondensatorów, po jednym blisko każdego pinu)
  • 1 × kondensator 2.2–4.7 μF dla każdego układu scalonego, aby wygładzić wolniejsze wahania napięcia (zazwyczaj wystarczy jeden na płytkę)

W naszym prostym module wystarczy, jeśli umieścisz:

  • jeden kondensator 100 nF,
  • jeden kondensator 2.2–4.7 μF (ceramiczny).

Dodaj je na schemacie między linię zasilania a masę (takie kondensatory można bez problemu dostać w obudowach 0805, więc możesz wykorzystać Common Library).

Kondensatory odsprzęgające są istotne przy wielu układach pobierających nieregularne ilości prądu (np. mikrokontrolerach).

Do odsprzęgania preferowane są kondensatory o niskim ESR (ceramiczne, alternatywnie tantalowe). Kondensatory elektrolityczne służą najczęściej jako magazyny energii oraz stabilizacja zasilania dużego układu.

0.thumb.png.f327da0461007153e153334b54b2e32f.png
Narysowany schemat

Pewnie zauważyłeś symbol VCC, który znajduje się po prawej stronie (ten niedaleko U1). Osobiście preferuję umieszczać go bliżej układu niż kondensatorów odsprzęgających, aczkolwiek bardziej prawidłowym podejściem powinno być przesunięcie go do lewej strony (nad C1).

Symbol NC

W przypadku układów z serii 24C dość często można pominąć ustawianie stanów wejść adresowych (mimo, iż jest to niezalecane). Wówczas w przypadku takich pominiętych sygnałów używa się flagi “NC”, by program nie uznawał tego za błąd. Możesz ją wstawić do projektu używając Place → No Connect Flag i umieścić na wyprowadzeniu, które powinno zostać podłączone (oznaczone szarą kropką).

Projekt PCB

W poprzednich projektach mogłeś pozwolić sobie na luźniejsze podejście do prowadzenia ścieżek, ponieważ nie występowały tam sygnały o istotnych wymaganiach czasowych. W przypadku interfejsu I2C sytuacja wygląda nieco inaczej. Choć nie jest to magistrala o bardzo wysokiej częstotliwości, warto już teraz wprowadzić dobre praktyki, które później ułatwią projektowanie bardziej wymagających układów.

Zasada odstępu ścieżek – reguła 3H

Podstawowym wymaganiem przy projektowaniu mniej wolnych sygnałów jest zachowanie odpowiednich odstępów między ścieżkami. W praktyce stosuje się zasadę:

 

Odstęp między ścieżkami powinien wynosić minimum 3H, gdzie H to grubość dielektryka pomiędzy warstwami PCB.

 

Dla typowej dwuwarstwowej płytki hobbystycznej H oznacza po prostu grubość laminatu, więc reguła staje się łatwa do zastosowania. Do projektów hobbystycznych nie musisz się nią aż tak przejmować. Wystarczy, że zostawisz po prostu sensowny dystans między ścieżkami, unikając ich prowadzenia zbyt blisko siebie. 

W przypadku płytek wielowarstwowych producenci podają dokładne parametry dielektryków — warto z nich korzystać przy projektowaniu magistral o wyższych częstotliwościach.

Równe długości ścieżek w magistralach

Kolejnym dobrym nawykiem jest wyrównywanie długości ścieżek sygnałowych należących do jednej magistrali. Dla I2C tolerancja długości jest bardzo duża — różnica musiałaby być ekstremalnie wysoka, aby transmisja przestała działać. Jednak w technice cyfrowej obowiązuje zasada:

 

Jeżeli sygnały należą do jednej pary lub jednej magistrali, staraj się prowadzić je możliwie podobną drogą.

 

Warto wyrobić w sobie ten nawyk teraz, aby później nie pominąć go przy projektowaniu interfejsów znacznie szybszych, takich jak:

  • USB 2.0 High-Speed (480 MHz) — maksymalna różnica długości ok. 15 mm,
  • USB 3.0, HDMI, PCIe — tolerancje spadają do pojedynczych milimetrów lub nawet mniejszych wartości.

Takie wymagania mogą wydawać się odległe, ale to właśnie tutaj zaczyna się nauka dobrych praktyk.

Jak wyrównać długości ścieżek?

EasyEDA Pro oferuje wygodne narzędzie do wyrównywania długości ścieżek. W naszym projekcie można wykorzystać je dla linii SDA i SCL:

  1. Wybierz narzędzie Route / Equal Length Tuning.
  2. Kliknij ścieżkę, której długość chcesz dopasować.
  3. Zaznacz prostokąt, w którym narzędzie wykona kompensację (tzw. meander).
  4. Patrz na informację o aktualnej długości, która pojawia się obok kursora.
  5. (opcjonalnie) Powtórz na drugiej ścieżce, aż długości będą możliwie zbliżone.

W przypadku I2C nie musisz dążyć do perfekcyjnego dopasowania, ale ćwiczenie z tuningiem długości przyda Ci się w każdych kolejnych projektach.

1.thumb.png.940c3b14349c5671eed1c75d76003b37.png2.thumb.png.8344ec3f4ab05fd8a27d3576d128e866.png
Przykładowa wytrasowana płytka drukowana

 

Zauważ na przykładzie, że stosuję osobne przelotki dla każdego pada masowego. Jest to dobra praktyka, ponieważ redukuje obciążenia prądowe konkretnych przelotek, a równocześnie obniża impedancję zasilania układu.

Edytowano przez H1M4W4R1
  • Lubię! 2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...