Skocz do zawartości

Jak poprawnie podłączyć moduł Ethernet DP83848 do STM32F7?


Pomocna odpowiedź

Napisano

Cześć,
projektuję swoją płytkę z stm32f7 która ma zawierać Ethernet. Chciałem ją zbudować na podstawie nucleo 767 i zastosować lan8742 ale jak doczytałem to trzeba zaprojektować ścieżki z odpowiednią impedancją co mnie niestety przerasta bo jestem początkującym hobbystą. 

Dlatego na myśl przyszło zastosowanie modułu firmy waveshare dp83848 i tu napotkałem na kolejny problem...

Po stronie stm mam takie piny ( połączenie RMII 😞

PA1    ETH_REF_CLK
PA2    ETH_MDIO    
PA7    ETH_CRS_DV    
PB11    ETH_TX_EN    
PB12    ETH_TXD0    
PB13    ETH_TXD1    
PC1    ETH_MDC    
PC4    ETH_RXD0    
PC5    ETH_RXD1    

moduł dp83848 ma piny:

MDIO
MDC
OSCIN
CRS_DV
RXD0
RXD1
TX_EN
TXD0
TXD1

Rozumiem że mam mieć takie połączenie :

PA1    ETH_REF_CLK
PA2    ETH_MDIO    - MDIO    
PA7    ETH_CRS_DV    - CRS_DV    
PB11    ETH_TX_EN     - TX_EN    
PB12    ETH_TXD0     - TXD0    
PB13    ETH_TXD1     - TXD1    
PC1    ETH_MDC    
PC4    ETH_RXD0    - RXD0    
PC5    ETH_RXD1      - RXD1

I teraz pytanie jak podłączyć pozostałe 2 piny tzn 

STM - ETH_REF_CLK i ETH_MDC
dp83848 - MDC i OSCIN

No to tak prawi Copilot:

  1. Podłączenie zasilania: Upewnij się, że DP83848 jest zasilany odpowiednim napięciem (3.3V). Możesz użyć zasilania z płytki Nucleo.
  2. Podłączenie sygnałów MII/RMII: Podłącz odpowiednie piny interfejsu MII lub RMII między Nucleo-F767ZI a DP83848. Oto przykładowe połączenia dla interfejsu RMII:
  • TXD0 (PA12) do TXD0 (DP83848)
  • TXD1 (PA11) do TXD1 (DP83848)
  • TX_EN (PB11) do TX_EN (DP83848)
  • RXD0 (PC4) do RXD0 (DP83848)
  • RXD1 (PC5) do RXD1 (DP83848)
  • CRS_DV (PA7) do CRS_DV (DP83848)
  • REF_CLK (PA1) do REF_CLK (DP83848)
  • MDIO (PA2) do MDIO (DP83848)
  • MDC (PC1) do MDC (DP83848)
  1. Podłączenie sygnałów kontrolnych: Upewnij się, że sygnały kontrolne, takie jak reset i przerwania, są odpowiednio podłączone:
  • RESET (PD2) do RESET (DP83848)
  • INT (PB14) do INT (DP83848)

Podłączenie masy: Upewnij się, że masa (GND) jest wspólna dla obu urządzeń.

 

Nucleo-F767ZI      DP83848
---------------------------
PA12 (TXD0)   ->   TXD0
PA11 (TXD1)   ->   TXD1
PB11 (TX_EN)  ->   TX_EN
PC4  (RXD0)   ->   RXD0
PC5  (RXD1)   ->   RXD1
PA7  (CRS_DV) ->   CRS_DV
PA1  (REF_CLK)->   REF_CLK
PA2  (MDIO)   ->   MDIO
PC1  (MDC)    ->   MDC
PD2  (RESET)  ->   RESET
PB14 (INT)    ->   INT
GND           ->   GND
3.3V          ->   3.3V

 

Dalej za Copilot:

Pin OSCIN na DP83848 jest używany do podłączenia zewnętrznego oscylatora, który dostarcza sygnał zegarowy dla układu PHY. W przypadku korzystania z DP83848, musisz podłączyć odpowiedni oscylator do pinu OSCIN, aby zapewnić stabilny sygnał zegarowy.

Jeśli używasz modułu DP83848 od Waveshare, zazwyczaj jest on wyposażony w wbudowany oscylator, więc nie musisz się martwić o podłączenie zewnętrznego oscylatora. W przeciwnym razie, upewnij się, że oscylator jest podłączony zgodnie z dokumentacją DP83848.

Warto nauczyć się korzystać z copilota.

Pomaga fajnie, ale czasami trzeba doprecyzować pytanie lub dodać pomocnicze pytania.

Używam w ostateczności gdy już nie mogę nic wygooglać.

Okej dzięki, ale dalej z jednym mam problem .

Doczytałem że do pinu REF_CLK muszę podłączyć sygnał zegarowy z PHY. 

Z tym że w module od waveshare pin 25MHz _ OUT nie jest nigdzie wyprowadzony.

Ma ktoś jakiś pomysł ?

image.thumb.png.6cef02f96c40af7722c0c0b116d88441.png 

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...