.. _PHY Dashboard: PHY 대시보드 ====================== .. admonition:: 메모 :class: note 이더넷 Phy 대시보드는 디버깅 도구로 매일 사용하기에는 적합하지 않습니다. **PHY 대시보드를 사용하려면 두 가지 기본 사항이 필요합니다.** #. 제조업체의 PHY 데이터 시트. 이것은 레지스터의 기능과 내용의 형식을 아는 데 필요합니다. 이러한 데이터 시트는 일반적으로 기밀이며 제조업체와 NDA(기밀 유지 협약서)를 요구합니다. #. 사용되는 장치 및 프로토콜의 PHY 주소입니다. 귀하의 장치가 아래 목록에 없으면 다음으로 연락하십시오. icskoreasupport@intrepidcs.com +-----------------------------------------+------------------+----------------+-------------+----------+ | Device | Port | MDIO Bus Index | PHY Address | Protocol | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-SuperMoon/Moon2 | 1000BASE-T1 | 0 | 0x06 | Clause45 | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Moon Duo | AE1 | 0 | 0x02 | Clause45 | | +------------------+----------------+-------------+ | | | AE2 | 0 | 0x01 | | | +------------------+----------------+-------------+----------+ | | ETH1 | 0 | 0x07 | Clause22 | | +------------------+----------------+-------------+ | | | ETH2 | 0 | 0x06 | | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Pluto PHYs | AE1 | 0 | 0x04 | Clause22 | | +------------------+----------------+-------------+ | | | AE2 | 0 | 0x05 | | | +------------------+----------------+-------------+ | | | AE3 | 0 | 0x06 | | | +------------------+----------------+-------------+ | | | AE4 | 0 | 0x07 | | | +------------------+----------------+-------------+ | | | 1000BASE-T | 0 | 0x01 | | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Pluto Switch (SJA1105) | MDIO_ADDRESS_LSB | 0 | 0x14 | Clause22 | | Indirect access through MDIO registers: +------------------+----------------+-------------+ | | | | | | | | | | | | | | | | | | | | | Each switch register access requires | MDIO_ADDRESS_MSB | 0 | 0x15 | | | reading/writing MDIO address, data, and +------------------+----------------+-------------+ | | command registers using 5 addresses | MDIO_DATA_LSB | 0 | 0x16 | | | shown to the right. +------------------+----------------+-------------+ | | | MDIO_DATA_MSB | 0 | 0x17 | | | +------------------+----------------+-------------+ | | | MDIO_OPERATION | 0 | 0x18 | | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Jupiter Switch | 88Q5050 | 0 | 0x10 | Clause22 | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Jupiter - Internal PHYs | AE1 | 0 | 0x01 | Clause45 | | | | | | | | * PHYs internal to 88Q5050 +------------------+----------------+-------------+ | | * Access through Switch Address: 0x10 | AE2 | 0 | 0x02 | | | +------------------+----------------+-------------+ | | | AE3 | 0 | 0x03 | | | +------------------+----------------+-------------+ | | | AE4 | 0 | 0x04 | | | +------------------+----------------+-------------+ | | | AE5 | 0 | 0x05 | | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Jupiter - External PHYs | AE6 | 0 | 0x02 | Clause45 | | +------------------+----------------+-------------+----------+ | | ETH1 | 0 | 0x01 | Clause22 | | +------------------+----------------+-------------+ | | | ETH2 | 0 | 0x00 | | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Epsilon - Switch | 88Q6113 | 0 | 0x16 | Clause22 | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Epsilon - PHYs | 1 | 0 | 0x02 | Clause45 | | +------------------+----------------+-------------+ | | | 2 | 0 | 0x03 | | | +------------------+----------------+-------------+ | | | 3 | 0 | 0x04 | | | +------------------+----------------+-------------+ | | | 4 | 0 | 0x05 | | | +------------------+----------------+-------------+ | | | 5 | 0 | 0x06 | | | +------------------+----------------+-------------+ | | | 6 | 0 | 0x07 | | | +------------------+----------------+-------------+ | | | 8 | 0 | 0x10 | | | +------------------+----------------+-------------+ | | | 9 | 0 | 0x14 | | +-----------------------------------------+------------------+----------------+-------------+----------+ | RAD-Gigastar | AE-1 | 0 | 0x00 | Clause45 | | +------------------+----------------+-------------+ | | | AE-2 | 1 | 0x00 | | +-----------------------------------------+------------------+----------------+-------------+----------+ PHY 대시보드 열기 ------------------------------ PHY 대시보드는 Vehicle Spy의 Embedded Tools 메뉴에서 열 수 있습니다(아래 참조). .. image:: Assets/images/phy-dashboard-menu.png :align: center 레지스터 접근 ------------------ .. admonition:: MDIO 프로토콜 :class: note 대부분의 이더넷 Phys는 MDIO 프로토콜(Management Data Input/Output)을 사용하여 통신합니다. 각 프레임은 32비트입니다. 2개의 시작 비트, 2비트 연산 코드, 5비트 phy 주소, 5비트 레지스터 주소, 2비트 턴어라운드 지연 및 16비트 데이터가 있습니다. Clause 22 ~~~~~~~~~~~ 초기 프로토콜인 IEEE 802.3 Clause 22는 32개의 장치 내에서 32개의 레지스터를 읽거나 쓰도록 설계되었습니다. 각 읽기/쓰기는 한 번의 작업으로 수행됩니다. * Phy 주소 5비트(십진수 0 – 31) * 레지스터 주소 5비트(십진수 0 – 31) 또는 (16진수 0 – 1F) * 데이터 16비트 .. image:: Assets/images/Clause22.png :align: center .. admonition:: 페이지 레지스터 :class: attention 일부 이더넷 Phy 제조업체는 Clause 22에서 더 많은 레지스터를 허용하기 위해 페이지 레지스터를 추가했습니다. 페이지는 0 – 255 사이의 십진수일 수 있습니다. Phy가 페이지를 지원하지 않으면 페이지가 무시됩니다. 페이지를 사용할 때 더 이상 한 번의 작업으로 읽기 및 쓰기를 수행할 수 없습니다. 대신 페이지 레지스터에 쓰고 다른 프로세스가 페이지를 변경하기 전에 대상 레지스터를 읽거나 쓸 수 있습니다. 완료하기 전에 다른 프로세스가 페이지 레지스터를 변경하는 경우 결과는 잘못된 레지스터를 읽거나 잘못된 레지스터에 쓰기가 되어 Phy가 작동을 멈출 수 있습니다. Clause 45 ~~~~~~~~~~~ Ethernet Phys가 더욱 복잡해지고 다양한 속도와 연결을 지원함에 따라 IEEE 802.3 Clause 45가 추가되었습니다. 레지스터 주소는 이제 16비트이므로 각 읽기/쓰기에는 2번의 작업이 필요합니다. 첫 번째 작업은 항상 다음 작업에서 사용하려는 레지스터 주소를 쓰는 것입니다. 두 번째는 실제 읽기 또는 쓰기입니다. 또한 각 읽기 후에 주소를 증가시키는 특수 읽기가 있어 시작 주소를 쓰고 전체 레지스터 블록을 읽을 수 있습니다. * 포트 5비트(Phy Address와 동일) * 디바이스 5비트(페이지와 유사) * 레지스터 주소 16비트(이는 각 장치에 65536개의 레지스터를 허용함) * 데이터 16비트 .. image:: Assets/images/Clause45.png :align: center VSpy 동작 ----------------- * Add – 이 버튼을 사용하여 MDIO 작업을 추가합니다. Ctrl-S는 화면 내용을 VS3 파일에 저장합니다. * Delete – 현재 선택된 항목 또는 항목을 삭제합니다. * Delete All – 모든 작업을 삭제합니다. * Read One Time – 목록에서 모든 읽기를 한 번 수행합니다. 쓰기가 수행되지 않습니다. * Write One Time – 목록의 모든 쓰기를 한 번 수행합니다. 읽기가 수행되지 않습니다. * All One Time – 목록의 모든 항목을 한 번만 수행합니다. * Send Selected – 선택한 항목만 한 번만 수행합니다. * Start Monitor – 초당 한 번씩 모든 읽기를 수행합니다. * Stops Monitor – 모니터 작동을 중지합니다. 참고: Phy 주소/포트를 제외하고는 모두 16진수입니다. .. image:: Assets/images/Controls.jpg :align: center 예 ------------ Clause 22 예: ~~~~~~~~~~~~~~~~~~~~~ .. image:: Assets/images/Example1.jpg :align: center * 1행은 Clause 22을 사용하여 phy 주소 16에 소프트 리셋을 씁니다. * 2행은 Clause 22을 사용하여 phy 주소 16에서 Phy ID Reg1을 읽습니다. * 3행은 Clause 22을 사용하여 phy 주소 16에서 Phy ID Reg2를 읽습니다. Clause 45 예: ~~~~~~~~~~~~~~~~~~~~ .. image:: Assets/images/Example2.jpg :align: center * 1행은 Clause 45을 사용하여 PCS의 소프트 리셋을 포트 16, 장치 3에 씁니다. * 2행은 Clause 45을 사용하여 포트 16, 장치 3에서 PCS ID Reg1을 읽습니다. * 3행은 Clause 45을 사용하여 포트 16, 장치 3에서 PCS ID Reg2를 읽습니다. 공통 Clause 22 레지스터 ------------------------------- +--------------------------+-----------+---------------------------------+ | **Clasuse 22 Registers** | **Bits** | **Function/Status** | +--------------------------+-----------+---------------------------------+ | **Control Register** | 15 | reset | | (Register 0) +-----------+---------------------------------+ | | 14 | loopback | | +-----------+---------------------------------+ | | 12 | auto negotiate | | +-----------+---------------------------------+ | | 11 | power down | | +-----------+---------------------------------+ | | 10 | isolate | | +-----------+---------------------------------+ | | 9 | renegotiate | | +-----------+---------------------------------+ | | 8 | duplex | | +-----------+---------------------------------+ | | 7 | collision test | | +-----------+-----------+---------------------+ | | 6/13 | speed | 10=1000mbps | | | | +---------------------+ | | | | 01=100mbps | | | | +---------------------+ | | | | 00=10mbps | +--------------------------+-----------+-----------+---------------------+ | **Status Register** | 5 | Auto Negotiation Complete | | (Register 1) +-----------+---------------------------------+ | | 4 | Remote Fault | | +-----------+---------------------------------+ | | 3 | Auto Negotiation Capability | | +-----------+---------------------------------+ | | 2 | Link Status | | +-----------+---------------------------------+ | | 1 | Jabber Detect | | +-----------+---------------------------------+ | | 0 | Extended Capability | +--------------------------+-----------+---------------------------------+ | **Phy ID Reg 1** | 15:0 | OUI MSB | | (Register 2) | | | +--------------------------+-----------+---------------------------------+ | **PHY ID Reg 2** | 15:10 | OUI LSB | | (Register 1) +-----------+---------------------------------+ | | 9:4 | Model Number | | +-----------+---------------------------------+ | | 3:0 | Revision Number | +--------------------------+-----------+---------------------------------+ 공통 Clause 45 레지스터 ------------------------------ PMA/PMD 레지스터 ~~~~~~~~~~~~~~~~~~~~~ +-----------------------+-----------+--------------+-----------+-------------------------------------------+ | |**Device** | **Register** | **Bits** | **Function/Status** | +-----------------------+-----------+--------------+-----------+-------------------------------------------+ | **Control Register** | 1 | 0 | 15 | reset | | | | +-----------+-------------------------------------------+ | | | | 11 | power down | | | | +-----------+----------+--------------------------------+ | | | | 6/13 | speed | 10=1000mbps | | | | | | +--------------------------------+ | | | | | | 01=100mbps | | | | | | +--------------------------------+ | | | | | | 00=10mbps | +-----------------------+-----------+--------------+-----------+----------+--------------------------------+ | **Device ID Reg 1** | 1 | 2 | 15:0 | Auto Negotiation Complete | +-----------------------+-----------+--------------+-----------+-------------------------------------------+ | **Device ID Reg 2** | 1 | 3 | 15:10 | OUI LSB | | | | +-----------+-------------------------------------------+ | | | | 9:4 | Model Number | | | | +-----------+-------------------------------------------+ | | | | 3:0 | Revision Number | +-----------------------+-----------+--------------+-----------+-------------------------------------------+ PCS 레지스터 ~~~~~~~~~~~~~~~ +----------------------+------------+--------------+----------+---------------------------+ | | **Device** | **Register** | **Bits** | **Function/Status** | +----------------------+------------+--------------+----------+---------------------------+ | **Control Register** | 3 | 0 | 15 | reset | | | | +----------+---------------------------+ | | | | 14 | loopback | | | | +----------+---------------------------+ | | | | 11 | power down | | | | +----------+----------+----------------+ | | | | 6/13 | speed | 10=1000mbps | | | | | | +----------------+ | | | | | | 01=100mbps | | | | | | +----------------+ | | | | | | 00=10mbps | +----------------------+------------+--------------+----------+----------+----------------+ | **Device ID Reg 1** | 3 | 2 | 15:0 | Auto Negotiation Complete | +----------------------+------------+--------------+----------+---------------------------+ | **Device ID Reg 2** | 3 | 3 | 15:10 | OUI LSB | | | | +----------+---------------------------+ | | | | 9:4 | Model Number | | | | +----------+---------------------------+ | | | | 3:0 | Revision Number | +----------------------+------------+--------------+----------+---------------------------+