一直使用的STM32F103系列的芯片,没有以太网接口,现在客户需求加入以太网连接,用了2年的STM32F103很稳定不想换,打算直接外加一颗网络芯片来实现。起初打算用DM9000, 无奈何并口操作I/O不够用了,后来又在网上搜了一下,发现还有W5100和CH395这类的TCP/IP协议栈芯片,内置了TCP/IP协议栈确实可以省不少事情,立马联系厂家申请了两种样品测试。因CH395是国内厂家可提供原厂技术支持所以先测了STM32F103在CH395下的联网,后续会放上103和W5100的联网测试情况。 先介绍下硬件情况:最常见的STM32F103C8T6(价格低,购买容易,到处有货),网络芯片CH395Q(LQFP64),网络芯片和MCU连接采用SPI方式连接(还有UART和并口可选,因考虑到C8T6的IO资源和数据速度就选SPI了),其他外围器件不说了,具体可看下图。 程序操作:简单修改CH395提供的官方例程,MCU通过命令操作CH395实现TCP连接,命令操作很方便节约了许多时间。
网络芯片CH395的几个特点: - 1、内置TCP/IP协议栈
- 2、命令操作
- 3、8个Socket
- 4、24KBuffer,每个Socket可自定义大小
- 5、4K EEPROM(很实用的扩展功能)
- 6、给单片机扩展8个I/O口
测试情况: 问题:1、非低功耗模式下芯片温度略高,差不多50°C。 2、对我来说封太大,其实有许多空脚为什么没考虑取消换成小封装。 3、资料中未介绍到一些常见问提的解决方法(比如:未连接上有哪些原因?导致新手需要花时间找问题) 优点:1、官方提供的Demo例程移植到其他MCU很方便 2、上手容易,快的5天内可搞定 3、通讯异常处理较多,容易发现连接问题并修正 4、网络传输速度约为:259669 B/S(实测) 5、网络连接很稳定(进行过长时间的压力测试未丢包) 测试环境:工业环境,温度为65°C 以上的嘈杂环境下从早到晚测试8小时稳定工作; 测试TCP连接300G数据的收发一次不漏 (每1ms收发K级数据连续工作30天未死机)具体见下图。 测试情况图片:
图片转与测试人:jerkoh
|