单片机联网芯片CH395与ENC28J60对比
目前较成熟的单片机联网方案有CH395和ENC28J60,都是被常用到的芯片,这两种芯片分别为片上自带TCP/IP协议栈和未带TCP/IP协议栈,其中ENC28J60片上不带TCP/IP协议栈成本略低而CH395为内置TCP/IP协议栈芯片(仅需消耗较少单片机资源),其单片机命令操作方式让用户实际使用起来更方便。
CH395 ENC28J60
生产厂家WCH沁恒Microchip
TCP/IP实现方式内置(基本不消耗单片机RAM和Flash
资源)无(单片机端加载,消耗单片机RAM 和FLASH资源)
PHY 10M/100M自适应(支持直连和交叉线)10M
MAC 有有
接口串口/并口/SPI(30MHZ) SPI(最高10MHZ)
RAM 24K 8K
Socket 8个,独立通道互不影响可分配多个,但Socket增多会导致MCU
效率大幅降低
工作电压 1.8V/3.3V 3.45V
工作电流10M BASE-T:80ma
100M BASE-T:150ma
10M BASE-T:250matcp ip协议下载
时钟30MHZ 25MHZ
App例程官方库,规范、可移植性强(wch
可直接下载)第三方库,可移植性差,稳定性不确定
开发周期有网络基础的一周内可完成周期较长
实测ping返回速率平均0ms 平均2ms
实测SPI方式网络通讯速率10Mbps 0.3Mbps
实测并口方式万国通讯速率12.5Mbps 无
操作方式命令操作,简单方便寄存器操作
工作温度范围工业级:-40 - 85度工业级:-40 - 85度
芯片封装LQFP64M SPDIP/SSOP/SOIC/QFN28
8路GPIO(用于扩展单片机IO)无
附加功能:
4K EEPROM 无
1、硬件参数对比
(1)ENC28J60
芯片结构方面,结构比较简单,通过内置MAC+PHY芯片来实现简单的以太网物理层连接,用户需要自
己创建或市场上的第三方库方能实现应用层的设计; PHY芯片方面,内置了一块10M BASE-T芯片,基本可以满足目前通信需要;接口方面,采用最高10MHz的SPI接口;缓存方面,ENC28J60仅提供8KB内部收发缓存,在目前处理大量数据要求的背景下显得捉襟见肘。
(2)CH395
芯片结构方面,内部由TCP/IP协议栈+MAC+PHY构成,拥有非常完善的官方应用库,极大缩短开发周期,可以完美实现以太网接入要求;PHY芯片方面,10M/100M BASE-T自适应芯片让CH395表现更为出;接口方面,CH395采用串口、并口和SPI口三种方式任选,新的高效SPI协议支持30MHz速率;缓存方面,CH395内置24KB收发缓存,用户可以同时使用8个Socket独立通信,且各个Socket之间互不影响。
2、TCP/IP协议栈对比
ENC28J60采用的是传统的软协议操作,需要主控MCU不断的响应中断,这在很大程度上占用了MCU的资源来跑软
协议栈。经过测试发现,随着需要响应的事件增多,MCU的处理效率直线下降,会严重影响通信质量。
CH395内置TCP/IP协议栈在芯片内完成TCP/IP通讯请求,基本上不占用MCU内部资源,能够将节约出
的MCU资源用到更需要的地方。测试结果显示,当同时开启多个Socket进行数据通信,MCU处理能力基本不受影响,这对通信质量以及MCU的寿命都是关键性因素。
3、Ping返回速率对比:
(1)Ping返回速率测试(直连)
ENC28J60ping返回速率测试
CH395 ping返回速率测试
以上对比可以看出:ENC28J60平均返回延迟2ms,CH395没有返回延迟。
(2)代码量对比
代码量也是工程技术中需要考虑的一个重要因素,代码量的大小对单片机的FLASH大小及工作效率直接提出要求。这里以测试用的STM32f103VET6型号单片机为参考,其FLASH为512KB,代码库采用3.5版本。实测ENC28J60和CH395作为TCP Server同样使用Keil4编译环境下生成的HEX文件进行比对,前者的代码量将近190KB,而后者的代码量不到60KB,这点也体现出网络芯片内置现TCP/IP协议的优势。
(3)开发周期对比
从理论层面上,TCP/IP协议是网络通信的核心内容,向下关联底层物理链路层,向上连接应用层,中间涉及握手协议建立和断开连接以及丢包率、重传机制等一系列复杂的理论基础,传统的软件协议栈需要工程师在单片机内嵌入TCP/IP协议,而且要掌握TCP/IP的实现过程,这样编写底层代码时才能更加合理稳定;内置协议栈的优势在于这一复杂的过程都将通过CH395的内置协议栈实现,极大减轻了工程师的工作量,这就大幅减少了产品开发时间,后期维护花费也将降至最低。
其次,从测试方面来看,CH395内置TCP/IP协议栈在Ping返回速率、MCU资源占用率以及稳定性方面明显高于ENC28J60,节省了测试时间,提高了测试效率,取得了更好的测试效果。
另外,较ENC28J60的第三方代码库而言,CH395的官方代码库表现得功能更全面,格式规范,运行起来比较稳定。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论