今天向大家介绍一款支持双路串口转百兆网络的透传芯片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设计的电路可以说非常简单。

下面是双路串口转百兆以太网模块的设计原理图:

原理图

实物图:

3d

实物图

2. 使用说明

  • 提前准备
    • 准备一台带网口的win电脑,网口可以是HUB转出的,用网线直连到模块上面。
    • 上电,可观察到模块的电源灯亮起
    • 打开配置模块的软件NetModuleConfig.exe,用于配置模块

​ 打开软件,选择模块连接网线对应的电脑网卡,然后选择搜索

说明:

​ 配置模块时候模块对电脑IP是不是同网段没有要求。

​ 模块默认的IP为:192.168.1.200

3.常见故障说明

3.1 接收出现乱码

接收出现乱码一般有两种原因:

  1. 串口波特率设置不正确
  2. 编码格式错误,由于显示和发送都存在编码,串口助手和网络助手采用了不同的编码,不同调试软件效果不同,因此在测试阶段建议使用HEX进制或者英语字母。

3.2 网络接收出现分包错误

网络接收出现分包错误指的是在串转网的过程中,串口接收的明明是一条报文,结果网络发送的时候报文被分为2个或多个报文的问题,这是由于串口接收报文的相邻两个字节间隔时间太长导致的,由于设备不同,鉴定报文间隔本身就是很复杂的,有很多协议并不符合modous bus协议要求,间隔有长有短。为了解决这个问题,在配置软件上可以自行配置接收到报文时间间隔的时间。

注意:

​ 配置RX间隔时间太短则会出现分包现象,但是配置间隔太长,则会出现连包情况,因此要根据接的设备合理选择间隔时间

​ 串口的RX接收缓存只有1024个字节,当一次接收超过1024个字节,则网络接收会出现分包。

公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。
个人博客 | blog.boringhex.top

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐