Wiznet makers

Lihan__

Published November 23, 2025 ©

15 UCC

8 WCC

1 VAR

0 Contests

0 Followers

0 Following

Original Link

Wiznet W6100 Spin2 driver usage

Wiznet W6100 Spin2 driver usage

COMPONENTS
PROJECT DESCRIPTION

1. Why Parallax Propeller(P2) is different and still used despite limited references

How it differs from typical MCUs

8 independent cores (COGs) → true parallel processing without interrupts

Precise timing control → excellent for audio, video, and signal generation

Uses its own language (Spin2) → very different from common ARM-based MCUs

Why people still use it

Parallel processing is extremely easy

Ideal for timing-critical tasks

Can generate many signals in software without extra hardware

Fun and experimental platform for makers/education

➡️ In short: it excels at precise timing + parallel tasks that normal MCUs struggle with.


2. Why references and resources are limited

Small user base (mainly hobbyists/education)

Custom language + unique architecture slows adoption

No large ecosystem like ARM

Smaller company → fewer official libraries/docs

➡️ It’s a niche MCU, so naturally the documentation is limited


📄 Parallax P2 + W6100 Integration Technical Summary

This document is a technical case study summarizing real-world issues and solutions encountered while integrating the WIZnet W6100 Ethernet chip with the Parallax Propeller 2 (P2) MCU.
It covers multiple problems that occur when using W6100’s SPI/Parallel interface on P2’s unique architecture (COGs, byte-aligned I/O), and provides practical insights gained from resolving those issues.


Issues (Short Statements)

W6100 SPI/Parallel pin configuration confusion

Web server failing to serve HTML/image files correctly

Filesystem stops sending after the first file

DHCP randomly fails to obtain an IP

Parallel bus byte alignment issue causing incorrect W6100 ID read


Solutions for Each Issue

① W6100 SPI/Parallel pin configuration confusion

Solution: Adjust pin definitions in W6100drv.spin2 to match the actual hardware

Note: Default pins conflict with uSD pins; A0/A1 interpreted incorrectly in SPI mode


② HTML/Image file serving issue

Solution: Use index.htm instead of index.html, include favicon.ico, consider Edge browser behavior

Note: Edge does not treat index.html as the default document in this driver setup


③ Filesystem stops sending after first file

Solution: Remove W6100.isdisconnected() from the loop termination condition

Note: Incorrect disconnect detection prematurely ended file transfers


④ DHCP instability

Solution: Add automatic retry every 5 seconds when no response is received

Note: Original driver lacked retry/time-out logic


⑤ Parallel bus byte alignment issue

Solution:

Align DATA0 pin to a byte boundary (0/8/16/24)

Fix DPINS to match actual port byte index

Note: Wrong byte was read from INA, causing ID $61,$00 to become corrupted as $F7,$F7


3. Key Insights

W6100’s parallel BUS is highly sensitive to MCU port structure (especially P2’s byte-oriented INA/OUTA).

P2’s parallel COG architecture is powerful for Ethernet handling, but driver accuracy is critical.

Real user feedback provides valuable data for improving WIZnet drivers and documentation.

The P2 + W6100 combination is strong for real-time industrial protocols such as Modbus TCP.

This case confirms that WIZnet Ethernet chips operate reliably even with non-standard MCUs.


Documents
Comments Write