W5500 Arduino lib, SPI no answer
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: W5500 Arduino lib, SPI no answer
by Coccoliso ·
From what I understand you can not even set the IP, subnet and gateway. You did not mention Signal SS (CS active low) to use as a chip select for the W5500 but I think you’ve connected. I am not speaking of the Arduino libraries because do not know them but a very important thing however is that you have to place a level translator for MISO and tests done (also with other devices such as the W5100) I was never given the certainty especially in speed .
RE: W5500 Arduino lib, SPI no answer
by edgarsma ·
Yes, SS pin32 is connected to ground, the think is that I don’t get anything at all on 3.3v level MISO back. there are test code:
#include <ethernet/Ethernet.h>
byte macaa = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192,168,0, 177);
IPAddress gateway(192,168,0,1);
IPAddress dnss(192,168,0,1);
EthernetServer server(23);
boolean alreadyConnected = false; // whether or not the client was connected previously
void setup() {
Serial.begin(115200);
Serial.print(“start…”);
Ethernet.begin(macaa, ip, dnss, gateway);
server.begin();
delay(1000);
Serial.println(“Chat server address:”);
Serial.println(Ethernet.localIP());
Serial.println(Ethernet.subnetMask());
Serial.println(Ethernet.gatewayIP());
} //prints all zeros
void loop() {
// wait for a new client:
EthernetClient client = server.available();
// when the client sends the first byte, say hello:
if (client) {
if (!alreadyConnected) {
// clead out the input buffer:
client.flush();
Serial.println(“We have a new client”);
client.println(“Hello, client!”);
alreadyConnected = true;
}
}
}
RE: W5500 Arduino lib, SPI no answer
by Coccoliso ·
The W5500 can work in two different modes VDM and FDM.
In the first case you can use the W5500 with other devices connected in parallel on the SPI then the signal SS indicate to which, in the second mode instead the SPI is dedicated to the W5500 and you can not connect other devices.
Check fine libraries that uses because maybe they are to work with VDM and ( by datasheets ) changes the communication protocol. Referring to Arduino, if you try, connect the SS to the MPU.
I have always worked in VDM.
Another problem is perhaps the reset sequence.
RE: W5500 Arduino lib, SPI no answer
by Coccoliso ·
I watched two of Arduino shields and both use the SS pin so I think that even its libraries use the VDM mode only.
In VDM mode must respect the timing and unfortunately the signal SS is an integral part of the protocol (see datasheet).
As for the levels to 3.3V I had already tried to insert a level shifter on only MISO signal ( a MOSFET voltage translator ) but I had to give this thing because I had much lower frequency of the SSP and (always from datasheet) the W5500 had problems to work . Eventually you manage to supply the MPU at 3.3 V?
RE: W5500 Arduino lib, SPI no answer
by edgarsma ·
Thank you, you where right, connecting SS to controller and switching it low just before transmit did helped, mow SPI works.
RE: W5500 Arduino lib, SPI no answer
by Doelectric Domotica ·
Hello, if you have solved it, can you tell me how?
Thank you