[应用相关] STM32F103+CH395Q以太网应用测试

[复制链接]
 楼主| 挨踢小猪 发表于 2015-5-9 15:21 | 显示全部楼层 |阅读模式
本帖最后由 挨踢小猪 于 2015-8-18 16:56 编辑

      一直使用的STM32F103系列的芯片,没有以太网接口,现在客户需求加入以太网连接,用了2年的STM32F103很稳定不想换,打算直接外加一颗网络芯片来实现。起初打算用DM9000 无奈何并口操作I/O不够用了,后来又在网上搜了一下,发现还有W5100CH395这类的TCP/IP协议栈芯片,内置了TCP/IP协议栈确实可以省不少事情,立马联系厂家申请了两种样品测试。因CH395是国内厂家可提供原厂技术支持所以先测了STM32F103CH395下的联网,后续会放上103W5100的联网测试情况。
      先介绍下硬件情况:最常见的STM32F103C8T6(价格低,购买容易,到处有货),网络芯片CH395QLQFP64),网络芯片和MCU连接采用SPI方式连接(还有UART和并口可选,因考虑到C8T6的IO资源和数据速度就选SPI了),其他外围器件不说了,具体可看下图。
      程序操作:简单修改CH395提供的官方例程,MCU通过命令操作CH395实现TCP连接,命令操作很方便节约了许多时间。

网络芯片CH395的几个特点:
  • 1、内置TCP/IP协议栈
  • 2、命令操作
  • 38Socket
  • 424KBuffer,每个Socket可自定义大小
  • 54K EEPROM(很实用的扩展功能)
  • 6、给单片机扩展8I/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天未死机)具体见下图。
应广大网友要求,贴出STM32操作CH395的参考例程:
CH395DEMO_STM32.zip (532.29 KB, 下载次数: 1088)

测试情况图片:
CH395测试1.jpg
CH395测试2.jpg
CH395测试3.jpg
CH395测试4.jpg
CH395测试5.jpg
CH395测试6.jpg
CH395测试7.jpg
CH395测试8.jpg
图片转与测试人:jerkoh

评论

期待  发表于 2018-3-20 17:58
bkvalve 发表于 2015-5-9 16:26 | 显示全部楼层
命令操作很方便节约了许多时间。
周董 发表于 2015-5-9 18:10 | 显示全部楼层
感谢楼主的技术分享,
jinchen1227 发表于 2015-5-9 18:30 | 显示全部楼层
学习一下
tdh03z 发表于 2015-5-9 20:48 | 显示全部楼层
哈,测试的挺充分,用了2层板还是4层板
小浣熊 发表于 2015-5-9 21:31 | 显示全部楼层
感觉很强大的样子。。
Landway 发表于 2015-5-9 23:19 | 显示全部楼层
好象比5500要贵,功能差不多.
laotui 发表于 2015-5-10 00:51 | 显示全部楼层
本帖最后由 laotui 于 2015-5-10 00:52 编辑

只用过一次K64加LAN8720,工作起来LAN8720也有50度了,只是个物理层芯片处理在单片机,不知道是不是网络接口的芯片工作温度都比较高。
 楼主| 挨踢小猪 发表于 2015-5-10 01:00 | 显示全部楼层
bkvalve 发表于 2015-5-9 16:26
命令操作很方便节约了许多时间。

相对于寄存器操作的要方便一些
runningwzf 发表于 2015-5-10 09:24 | 显示全部楼层
其实这样的性价比不高。主要是以太网的速度会受到SPI的制约,另外系统的稳定性和综合性能会受到转换芯片的制约,假如它不稳定,你只能祈祷供应商给你解决。
当然这种方案的好处就是撇开了TCP/IP的开发,加快了开发的速度。
motone 发表于 2015-5-10 09:53 | 显示全部楼层
非常强大!
 楼主| 挨踢小猪 发表于 2015-5-10 11:49 | 显示全部楼层
tdh03z 发表于 2015-5-9 20:48
哈,测试的挺充分,用了2层板还是4层板

2层板足够
mmuuss586 发表于 2015-5-10 12:03 | 显示全部楼层

南京沁恒的;
用过他们的USB和PCI转换芯片;
PCI的07年开始用的;
 楼主| 挨踢小猪 发表于 2015-5-10 20:12 | 显示全部楼层
Landway 发表于 2015-5-9 23:19
好象比5500要贵,功能差不多.

我问过了,不比5500规
 楼主| 挨踢小猪 发表于 2015-5-10 20:13 | 显示全部楼层
laotui 发表于 2015-5-10 00:51
只用过一次K64加LAN8720,工作起来LAN8720也有50度了,只是个物理层芯片处理在单片机,不知道是不是网络接 ...

是的,主要是里面的PHY发热
 楼主| 挨踢小猪 发表于 2015-5-10 20:15 | 显示全部楼层
runningwzf 发表于 2015-5-10 09:24
其实这样的性价比不高。主要是以太网的速度会受到SPI的制约,另外系统的稳定性和综合性能会受到转换芯片的 ...

如果有时间有能力能把TCP/IP学好,自信自己移植的库不会有问题可以考虑自己做,这种芯片也就是方便了应用这个功能
 楼主| 挨踢小猪 发表于 2015-5-10 20:15 | 显示全部楼层
mmuuss586 发表于 2015-5-10 12:03
南京沁恒的;
用过他们的USB和PCI转换芯片;
PCI的07年开始用的;

是沁恒的
 楼主| 挨踢小猪 发表于 2015-5-11 08:50 | 显示全部楼层
周董 发表于 2015-5-9 18:10
感谢楼主的技术分享,

:lol
946098169 发表于 2015-5-11 15:28 | 显示全部楼层
runningwzf 发表于 2015-5-10 09:24
其实这样的性价比不高。主要是以太网的速度会受到SPI的制约,另外系统的稳定性和综合性能会受到转换芯片的 ...

不用这种直接用STM32F207+PHY来做也可以,不知道ST有没有提供TCP/IP协议栈库,还是要自己编?
runningwzf 发表于 2015-5-11 17:24 | 显示全部楼层
946098169 发表于 2015-5-11 15:28
不用这种直接用STM32F207+PHY来做也可以,不知道ST有没有提供TCP/IP协议栈库,还是要自己编? ...

协议栈肯定不能自己来,就你能写完,也没那么多时间去测试
你可以用开源的LwIP,如果你觉得麻烦,最简单的就是使用Keil自带的TCP/IP协议栈,挺好用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

52

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部