W5100S-PORT是将W5100S放入RJ45外壳内。
转发: W5100S-PORT
项目介绍
W5100S-PORT是一款内置W5100S芯片的新产品。目前已开发完成,功能验证没有问题,目前进展为小批量生产。之后,样品将被发送到总部进行以太网兼容性测试、EMC、EMI等。
如果测试过程中没有出现重大问题,将于6月份的“Embedded World Shanghai 2024”上发布,并开始向经销商提供样品。
2017年,我们尝试使用W5500开发PORT产品,但由于W5500采用LQFP封装,无法放置在一张PCB上。我们需要使用两块PCB,并通过连接器将它们连接起来。这些造成了生产困难,因此没有大量推广,仅作为技术储备。
现在,Lantronix的专利已经到期,所以我们重新开始了PORT产品的设计。第一阶段包括两款产品,第一个是W7500S2E-X1,采用FPC实现;
第二款PORT产品是今天推出的W5100S-PORT,由于W5100S-Q采用QFN封装,可以将所有电路包含在一张PCB上,生产难度和生产成本都会大大降低。
PCB正面为W5100S-Q芯片及相关电路;
PCB背面是网络变压器;
PCB需要焊接到底座上;
这是生产这个所需的所有设备和材料:
RJ45金属外壳;
RJ45 内的 op 盒;
RJ45 内部底座;
绿色LED;
黄色LED;
关于W5100S-PORT开发板,可以直接使用“IO模块载板”,如下图第一块板;您还可以使用“RP2040-ETH-DVI-ZERO”,即下图中的第二块板。
“IO模块载板”是基于STM32开发的。可同时测试WIZ850IO、WIZ810SIO、W5100S-PORT等IO模块。程序兼容性没有问题。
“RP2040-ETH-DVI-ZERO”基于Raspberry Pi RP2040,具有HDMI、TF卡等接口,方便测试。
对于功能测试,我通过RP2040-ETH-DVI-ZERO进行,并将RP2040内部的温度传感器数据不断上传到Adafruit IO。在总共2周的测试中,没有发现功能问题。所有数据均已成功上传至 Adafruit IO。
void setup() {
Serial.begin(115200);
Ethernet.init(17);
Ethernet.begin(mac);
// connect to io.adafruit.com
adafruit_io.connect();
temp_feed->onMessage(one);
// wait for a connection
while(adafruit_io.status() < AIO_CONNECTED) {
Serial.print(".");
delay(500);
}
// we are connected
Serial.println();
Serial.println(adafruit_io.statusText());
temp_feed->get();
}
void loop() {
adafruit_io.run();
temp_feed->save(analogReadTemp());
// Adafruit IO is rate limited for publishing, so a delay is required in
// between feed->save events. In this example, we will wait three seconds
// (1000 milliseconds == 1 second) during each loop.
delay(5000);
}
// this function is called whenever a 'counter-1' message
// is received from Adafruit IO. it was attached to
// the counter-1 feed in the setup() function above.
void one(AdafruitIO_Data *data) {
Serial.print("received <- ");
// since we are using the same function to handle
// messages for two feeds, we can use feedName() in
// order to find out which feed the message came from.
Serial.print(data->feedName());
Serial.print(" ");
// print out the received count or counter-two value
Serial.println(data->value());
}
"A_2_temp" in the picture below is the temperature data uploaded by RP2040-ETH-DVI-ZERO.
完毕。