- Katılım
- 24 Şubat 2018
- Mesajlar
- 24,740
Bir high end amfinin kontrol kartı üzerinde çalışıyorum ve birkaç haftadır TCP/IP desteği eklemeye çalışıyorum. FreeRTOS ve onun altında çalışan bir network stack. Neler denedim, çalışmıyor. Sanki ağ kablosu hiç takılı değil. Kablonun diğer ucu ile PHY arasında teması kontrol ettim sorun yok. PHY besleme voltajlarının tamamı var ve stabil. PHY ile MCU pinlerinin hepsi bağlı. MCU ile PHY arasındaki haberleşme linki (MDC/MDIO) çalışıyor, mantıklı değerler okuyorum o yüzden PHY da sağlam. Ama hep "link down" durumu sözkonusu.
Baktım bu işin basit bir çözümü olmayacak, artık ayrıntılara girmeye başladım. Datasheet'i ayrıntılı okuyorum. Kullanılan 25 MHz kristal osilatörün 50 ppm olması lazım diyor. Frekansmetre ile ölçüm yapıyorum 30 ppm gibi, orada da sorun yok. Artık ethernet kablosu üzerinde yürüyen sinyal protokolünü öğrenip onu ölçmeye başladım. Bağlantı hızını belirleme amaçlı olarak "Auto negotiation" prosedürünün ayrıntılarına baktım. Peryodik olarak kablo üzerinde palsların olması gerektiği belirtiliyor bir kaynakta, diferansiyel prob ile ölçüyorum, palslar da muntazam olarak çıkıyor.
Acaba reset problemi mi var diye bakıyorum, reset palsinin süresini uzatıyorum, resetten sonra da uzunca süre bekliyorum, hiçbir fark yaratmıyor. Fiziksel link aktif olmuyor bir türlü. Gene datasheet'te ayrıntılara bakıyorum, PHY ile RJ45 konnektöründe bulunan terminasyon dirençleri ve kapasitörleri kontrol ediyorum.
Buradaki tüm dirençler mevcut, değerleri de doğru. Kondansatörler de mevcut, değerleri de doğru.
Baktım bu işin basit bir çözümü olmayacak, artık ayrıntılara girmeye başladım. Datasheet'i ayrıntılı okuyorum. Kullanılan 25 MHz kristal osilatörün 50 ppm olması lazım diyor. Frekansmetre ile ölçüm yapıyorum 30 ppm gibi, orada da sorun yok. Artık ethernet kablosu üzerinde yürüyen sinyal protokolünü öğrenip onu ölçmeye başladım. Bağlantı hızını belirleme amaçlı olarak "Auto negotiation" prosedürünün ayrıntılarına baktım. Peryodik olarak kablo üzerinde palsların olması gerektiği belirtiliyor bir kaynakta, diferansiyel prob ile ölçüyorum, palslar da muntazam olarak çıkıyor.
Acaba reset problemi mi var diye bakıyorum, reset palsinin süresini uzatıyorum, resetten sonra da uzunca süre bekliyorum, hiçbir fark yaratmıyor. Fiziksel link aktif olmuyor bir türlü. Gene datasheet'te ayrıntılara bakıyorum, PHY ile RJ45 konnektöründe bulunan terminasyon dirençleri ve kapasitörleri kontrol ediyorum.
Buradaki tüm dirençler mevcut, değerleri de doğru. Kondansatörler de mevcut, değerleri de doğru.