---
title: "Issues Reading W5500 Chip ID via SPI on SAME54P20A Controller"
url: "https://maker.wiznet.io/forum/15432"
markdown_url: "https://maker.wiznet.io/forum/15432/md"
type: "Forum topic"
category: "MCU & Boards"
author: "ckmattihalli"
created: "2024-12-20T16:42:07+09:00"
last_activity: "2024-12-20T16:42:07+09:00"
language: "en"
views: 2
replies: 0
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# Issues Reading W5500 Chip ID via SPI on SAME54P20A Controller

## Question

Asked by ckmattihalli on 2024-12-20 in MCU & Boards.

Hi,

I’m working on interfacing the W5500 Ethernet module with the SAME54P20A microcontroller using SPI. I’m trying to read the chip ID (`VERSIONR` register at address `0x0039`) as per the W5500 datasheet. Below is the sequence I’m following for the SPI communication:

1. **Address Phase:** `0x0039`

2. **Control Phase:** `0x00`

However, instead of getting the expected value (`0x04`), the module is consistently returning `0x00`.

Here are some details about my setup:

- SPI is configured for Mode 0 (CPOL = 0, CPHA = 0).

- SPI clock is set to 10 MHz.

- Data size is 8 bits.

- Chip select (CS) is manually controlled in software.

- I’ve verified the RESET sequence as per the W5500 datasheet (500 µs low and 100 ms high).

Despite these efforts, I’m unable to read the expected value from the chip ID register.
**Questions:**

1. Are there any specific steps I’m missing to initialize the W5500 for SPI communication?

2. Could there be any electrical issues or timing considerations that might cause this?

3. Can you recommend any sample code or troubleshooting steps to verify SPI communication with the W5500?

Any suggestions, references, or pointers to sample code would be greatly appreciated.

Thanks in advance!

---

Source: https://maker.wiznet.io/forum/15432
