今天向大家介绍一款支持双路串口转百兆网络的透传芯片CH9121
, 这是非常有特色的芯片,它的特色主要包含两方面:
- 第一是支持两路串口,两路串口相互独立。
- 第二是相比较常见的串转网芯片是10M的以太网,这颗芯片网口支持百兆网络,而且价格便宜。
1.芯片简介
CH9121是一款网络串口透传芯片,支持两路串口的网络透传,自带10/100M以太网介质传输层(MAC)和物理层(PHY),完全兼容IEEE802.3协议。内部集成TCP/IP协议栈,可实现网络数据包和串口数据的双向透明传输。
CH9121具有TCP CLIENT、TCP SERVER、UDP CLIENT、UDP SERVER 4种工作模式,串口波特率最高可支持到10Mbps。
用户可通过上位机软件或者串口命令轻松配置参数。
下图为CH9121的应用框图:
芯片特点:
- 内部自带以太网介质传输层MAC和物理层收发器PHY
- 支持10/100M,全双工/半双工自适应,兼容IEEE 802.3协议
- 支持MDI/MDIX线路自动转换
- I/O口支持3.3V、2.5V、1.8V供电,兼容多种电压标准的单片机
- 内置网口上拉电阻、晶振匹配电容,精简外部电路
- 内置TCP/IP协议簇,支持IPv4、ARP、ICMP、IGMP、UDP、TCP协议
- 支持DHCP自动获取IP地址,支持DNS域名访问
- 工作模式支持TCP CLIENT、TCP SERVER和UDP CLIENT、UDP SERVER 4种模式
- 同时支持两路独立串口,独立透传
- 串口波特率支持300bps~10Mbps
- 支持通过上位机软件、串口命令设置芯片工作模式、端口、IP等网络参数
- 串口支持全双工和半双工串口通讯,支持RS485收发自动切换
- 提供LED状态显示Link和ACT
- 提供计算机端虚拟串口软件
- 支持KEEPALIVE机制
- 提供TSSOP20和LQFP64M无铅封装
2. 一个简单的串转网模块的设计
这个芯片除了支持两路串口,百兆网口之外,还有一个特点,那就是电路设计非常的简单,它有两种封装,其中TSSOP20封装的CH9121T设计的电路可以说非常简单。
下面是双路串口转百兆以太网模块的设计原理图:
实物图:
2. 使用说明
- 提前准备
- 准备一台带网口的win电脑,网口可以是HUB转出的,用网线直连到模块上面。
- 上电,可观察到模块的电源灯亮起
- 打开配置模块的软件
NetModuleConfig.exe
,用于配置模块
打开软件,选择模块连接网线对应的电脑网卡,然后选择搜索
说明:
配置模块时候模块对电脑IP是不是同网段没有要求。
模块默认的IP为:192.168.1.200
3.常见故障说明
3.1 接收出现乱码
接收出现乱码一般有两种原因:
- 串口波特率设置不正确
- 编码格式错误,由于显示和发送都存在编码,串口助手和网络助手采用了不同的编码,不同调试软件效果不同,因此在测试阶段建议使用HEX进制或者英语字母。
3.2 网络接收出现分包错误
网络接收出现分包错误指的是在串转网的过程中,串口接收的明明是一条报文,结果网络发送的时候报文被分为2个或多个报文的问题,这是由于串口接收报文的相邻两个字节间隔时间太长导致的,由于设备不同,鉴定报文间隔本身就是很复杂的,有很多协议并不符合modous bus协议要求,间隔有长有短。为了解决这个问题,在配置软件上可以自行配置接收到报文时间间隔的时间。
注意:
配置RX间隔时间太短则会出现分包现象,但是配置间隔太长,则会出现连包情况,因此要根据接的设备合理选择间隔时间
串口的RX接收缓存只有1024个字节,当一次接收超过1024个字节,则网络接收会出现分包。
公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。
个人博客 | blog.boringhex.top