Có lỗi trong Bản đồ đăng ký trong chương MDIO Core được mô tả trong bảng 13-3 trên trang 13-5 trong tài liệu sau:
Hướng dẫn sử dụng IP ngoại vi nhúng
Trong bảng, có quy định rằng bù địa chỉ cho MDIO_DEVAD, MDIO_PRTAD và MDIO_REGAD được 0x20 và bạn nên sử dụng 0x21 để sử dụng MDIO_ACCESS. Tuy nhiên, chúng được hoán đổi trong tài liệu và trên thực tế, nó phải đọc 0x21 và 0x20 tương ứng.
LƯU Ý: các điểm bù địa chỉ đăng ký được chỉ định (0x20 và 0x21) thực tế là địa chỉ từ và địa chỉ byte tương ứng sẽ được xác 0x80 và 0x84 tương ứng.
Truy cập ghi
Có thể thực hiện truy cập ghi vào PHY bên ngoài bằng cách sử dụng giao diện MDIO như sau:
- Thực hiện ghi chính Avalon®-MM vào thanh ghi lõi MDIO tại điểm bù địa chỉ 0x21, xác định địa chỉ thiết bị PHY bên ngoài (MDIO_DEVAD), địa chỉ cổng (MDIO_PRTAD) và địa chỉ đăng ký (MDIO_REGAD).
- Xuất bản ghi Avalon-MM chính của dữ liệu 32-bit vào offset đăng ký MDIO_ACCESS tính năng 0x20.
Điều gì xảy ra trong lõi MDIO?
Sau khi dữ liệu được đưa vào thanh ghi MDIO_ACCESS, lõi MDIO sẽ bắt đầu tạo khung GHI MDIO chứa thông tin được cung cấp trong thanh ghi ở mức bù giờ 0x20 và 0x21. Khung sau đó sẽ được chuyển vào thanh ghi PHY mục tiêu, địa chỉ được chỉ định trong MDIO_REGAD (bit [31:16] của thanh ghi lõi MDIO ở tỷ lệ bù giờ 0x21).
Truy cập đọc
Có thể thực hiện truy cập đọc từ PHY bên ngoài bằng giao diện MDIO như sau:
- Thực hiện ghi chính Avalon-MM vào thanh ghi lõi MDIO tại điểm bù địa chỉ 0x21, xác định địa chỉ thiết bị PHY bên ngoài (MDIO_DEVAD), địa chỉ cổng (MDIO_PRTAD) và địa chỉ đăng ký (MDIO_REGAD).
- Vấn đề đọc Avalon-MM chính của thanh ghi cài đặt MDIO_ACCESS 32 bit ở 0x20.
Điều gì xảy ra trong lõi MDIO?
Khi một truy cập đọc vào thanh ghi MDIO_ACCESS được phát hành, lõi MDIO bắt đầu tạo ra một khung ĐỌC MDIO chứa thông tin được cung cấp trong các thanh ghi ở 0x21. Như một phản hồi cho lệnh READ này qua MDIO, PHY bên ngoài cung cấp giá trị của thanh ghi được chỉ định trở lại lõi MDIO. Giá trị này được nạp vào thanh ghi MDIO_ACCESS trong lõi MDIO ở mức bù giờ 0x20. Do đó, có vẻ như chúng tôi đang đọc thanh ghi Avalon-MM cục bộ ở 0x20.
Vấn đề này ảnh hưởng đến cả luồng MegaWizard® và SOPC Builder.