Using Two Chips Simultaneously
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: Using Two Chips Simultaneously
by WIZnet AI AI generated ·
RE: Using Two Chips Simultaneously
by TheoIm WIZnet ·
Hi,
There is an STM32 example that demonstrates how to use two W5100S chips with a single MCU. You can refer to the maker site link for detailed implementation.
1 MCU, 2 WIZnet Chips: Dual SPI Networking on STM32
The key difference between the W5100S and W5500 is the number of available sockets, which must be considered in your implementation. The setup itself isn't complex. You can control each chip individually using a dedicated Chip Select (CS) pin, which allows you to operate both chips using a single shared set of functions instead of separate ones.
However, you must account for global variables that are socket-number dependent. For example, in
iolibrary/Ethernet/socket.c, you'll find definitions like:iolibrary/Ethernet/socket.c.These variables operate independently per socket, either bit-wise or as arrays. Therefore, you must ensure that they are allocated to cover the total number of sockets used across all connected chips.
For instance, when using two W5500 chips, you'll have 16 total sockets, so these variables need to be expanded accordingly. The example code already reflects this, so you can use it as a reference during implementation.