Tôi có một PCB được thiết kế bằng cả Ethernet 10Mbit và 100Mbit, tôi đã sản xuất 100 bảng 97% trong số đó hoạt động hoàn hảo (cả 100Mbit và 10Mbit). Trên 3% bảng của tôi, 10Mbit hoạt động mọi lúc, nhưng 100Mbit không thành công trên một số giao diện. Ví dụ: tôi có hai cổng Ethernet từ PC, một từ bo mạch chủ và thẻ Ethernet PCI-X thứ hai. Trên cổng bo mạch chủ tất cả các thiết bị hoạt động chính xác. Trên cổng dựa trên PCI-X, 10Mbit hoạt động và 100Mbit không hoạt động. Thiết bị Ethernet PCI-X rõ ràng hoạt động cho 97% thiết bị. Nếu tôi sử dụng công tắc giữa cổng PCI-X và thiết bị 100Mbit của tôi sẽ hoạt động mọi lúc.
Tôi lo ngại rằng tôi có vấn đề với giao diện Ethernet của mình khiến nó bị lỗi. Có ai đã nhìn thấy điều này trước đây hoặc ai đó có thể đưa ra một số gợi ý về nơi để tìm kiếm vấn đề?
CẬP NHẬT
Tôi đang sử dụng Micrel KSZ8041 Ethernet PHY.
Khi tôi tìm thấy một PCB bị lỗi, nó không hoạt động với các thiết kế khác mà tôi biết là thông số kỹ thuật (mặc dù cảm ơn đây là một gợi ý tốt).
Dưới đây là sơ đồ của tôi:
Trên đơn vị thất bại của tôi, tôi có
- Loại bỏ bảo vệ ESD.
- Đã thêm 1uF trên vòi trung tâm máy biến áp.
- Điều chỉnh tất cả các thành phần lọc.
- Hoán đổi hầu hết các thành phần giữa một đơn vị làm việc và một đơn vị bị lỗi ngoại trừ PHY và DSP.
Đầu nối P300 của tôi không phải là một loại RJ45, thay vào đó là một tiêu đề lỗ thông qua 2 mm trong đó một máy dệt dây tùy chỉnh kết nối với một RJ45 trên một PCB riêng biệt. Tôi đã loại trừ tiêu đề này và PCB riêng biệt khỏi phương trình bằng cách nối trực tiếp với P300.
Không chắc chắn nếu nó tạo ra sự khác biệt nhưng điều này hoạt động với cáp Ethernet dài hơn (5m thì không sao 0,5m) .... điều này chỉ ra các thành phần / bố cục phù hợp. Tôi đã xem lại nền tảng.
Ở bên trong máy biến áp, tx & rx được cân bằng và trên mặt phẳng bên trong giữa hai mặt phẳng (cặp tx & rx được liên kết chặt chẽ với nhau (cách nhau 9 triệu) và khoảng cách tốt giữa các cặp và các rãnh khác (ít nhất 40 triệu ) Ở bên ngoài máy biến áp, các cặp tx và rx chạy trên một mặt phẳng gnd khung gầm riêng.
Tôi tin rằng vấn đề là giữa PHY và thế giới bên ngoài (không loại trừ PHY). Khi tôi thăm dò dòng rx0 giữa PHY và DSP, đơn vị làm việc chỉ hiển thị lưu lượng khi tôi ping, nhưng một đơn vị bị lỗi có luồng dữ liệu không đổi (có thể nhận được các ký tự không chính xác).
Tôi hiện đang điều tra thuê một số thiết bị kiểm tra tuân thủ.