以太网LAN双向透明传输CH9120透传芯片实现以太网转232串口转485转TTL串口

网络串口透传芯片 CH9120

1、概述

CH9120 是一款网络串口透传芯片。CH9120 内部集成 TCP/IP 协议栈,可实现网络数据包和串口数据的双向透明传输,具有 TCP CLIENT、TCP SERVER、UDP CLIENT 、UDP SERVER 4 种工作模式,串口波特率最高可支持到 921600bps,可通过上位机软件或者串口命令轻松配置,方便快捷。
下图为  CH9120 一般应用框图

2、特点

内部自带以太网介质传输层(MAC)和物理层(PHY)
实现串口数据和网络数据的双向透明传输
支持 10M,全双工/半双工自适应以太网接口,兼容 802.3 协议
支持 MDI/MDIX 线路自动转换
支持 DHCP 自动获取 IP 地址,支持 DNS 域名访问
通过上位机软件、串口命令设置芯片工作模式、端口、IP 等网络参数
工作模式支持 TCP CLIENT、TCP SERVER 和 UDP CLIENT、UDP SERVER 4 种模式
支持 KEEPALIVE 机制
串口波特率支持 300bps ~ 921600bps
串口 3.3V TTL 电平。

3、封装

CH9120封装 QFN28 QFN 封装;28 脚; 本体 4x4mm
CH9120丝印
CH9120 QFN28封装
CH9120封装-3

4、引脚

CH9120引脚
CH9120引脚-1
CH9120引脚-2

引脚号 引脚 名称 类型 引脚说明
0 GND 电源 芯片接地端
3,4,22 VCC 电源 内部电源,需外接 0.1UF 退耦电容,使用时将这三个引脚连到一起。
5 VDD 电源 3.3V 工作电压输入,外接 2.2uF 退耦电容
6 RXD 输入 异步串口数据输入,内置上拉电阻
7 TXD 输出 异步串口数据输出,内置上拉电阻
8 RXP 以太网信号 以太网 RXP 信号
9 RXN 以太网信号 以太网 RXN 信号
10 TXP 以太网信号 以太网 TXP 信号
11 TXN 以太网信号 以太网 TXN 信号
14 ACT 输出 以太网连接通讯指示灯驱动引脚
15 LINK 输出 PHY 连接指示引脚,低有效
16 RSTI 输入 外部复位输入,低电平有效
17 RUN 输出 CH9120 运行状态指示脚,复用为 ISP 升级脚
18 XO 输出 晶体振荡的输出端,需要外接 32MHz 晶振
19 XI 输入 晶体振荡的输入端,需要外接 32MHz 晶振
20 VREF 电源 内部模拟电路电源节点,需外接 1uF 退耦电容
23 CFGEN 输入网络配置使能引脚,上电检测,低电平则禁止网络配置,默认悬空。
25 RS485DIR 输出 串口 RS485 收发方向控制引脚
26 CFG0 输入 串口配置模式设置脚,内置上拉,检测到低电平时,进入串口配置模式,高电平退出配置模式
27 RESET 输入 恢复出厂设置引脚,芯片上电检测,保持低电平 3s 则恢复出厂设置。
28 TCPCS 输出 TCP 客户端模式下,连接状态指示,低电平表示连接成功
1,2,12,13,21,24 NC NC 保留管脚,悬空

5、功能说明

5.1. 功能简介

CH9120 为网络串口透传芯片,可实现串口数据与网络数据的双向透明传输,支持 TCPCLEINT/SERVER,UDP CLIENT/SERVER 4 种工作模式,串口波特率支持范围为 300bps~921600bps,使用前需通过上位机软件 NetModuleConfig.exe 或者串口命令配置芯片的网络参数和串口参数,配置完成后,CH9120 将配置参数保存至内部存储空间,芯片复位后,CH9120 将按保存的配置值工作。
CH9120 基础参数部分包括:名称、MAC 地址显示、自动获取 IP 地址设置,手动 IP 地址设置(包括 CH9120 IP 地址、子网掩码、默认网关),串口协商配置。
其中名称主要为方便局域网内 CH9120 模块管理,长度不超过 20 字节,MAC 地址栏显示了当前选中模块的 MAC 地址,CH9120 有两种方式设置网络参数,1)DHCP,即自动向具有 DHCP SERVER功能的网关设备获取网络参数;2)手动设置。串口协商配置功能是指能够通串口握手的方式进入串口配置模式,默认关闭。
CH9120 端口参数部分包括:网络模式、本地端口、目标 IP/域名、目的端口、串口波特率/数据位/停止位/校验位、网线断开处理、RX 打包包长度、RX 打包超时间隔、网络连接时操作。
网络模式(TCP SERVER/CLIENT,UDP SERVER/CLIENT)、目的 IP 地址、本地/目的端口为网络通信的基本参数,其中目的 IP 地址也可以通过域名的方式进行访。
串口波特率范围为 300bps ~ 921600bps(串口发送信号的波特率误差小于 0.5%,串口接收信号的允许波特率误差不小于 2%),支持 5、6、7 或者 8 位数据位以及 1 位或者 2 位停止位,支持奇、偶、无校验、空白 0、标志 1 校验方式。
网线断开处理是指当网线断开的时候,CH9120 内部主动关闭连接还是不采取任何动作。
RX 打包包长度范围是 1~512,是指当 CH9120 串口接收数据长度达到设定长度时,CH9120 会立马将串口数据打包,通过网络发出去;超时时间设置范围为 0~200,其中超时的单位大约为 5ms,比如超时为 1 时,当串口接收缓冲区数据长度未达到 RX 打包包长度时,且串口在超过 5ms 时间内没有接收到新的数据时会产生串口超时。产生串口超时后,CH9120 会把串口接收到的数据通过网络发出去。当超时时间设为 0 时,启用内部硬件超时(超过 4 数据时间没收到新的数据)机制,适用于实时性要求比较高,以及大批量数据收发场合。
清空串口缓冲区设置指:网络连接建立前,串口收到的数据如何处理,TCP 连接的时候清空(丢弃)、或者保留。

5.2. 默认配置

CH9120 出厂时,网络默认工作在 TCP CLIENT 模式,网络相关默认参数依次为:
(1) 设备 IP :192.168.1.200
(2) 子网掩码 :255.255.255.0
(3) 默认网关 :192.168.1.1
(4) 模块端口 :2000
(5) 目的 IP :192.168.1.100
(6) 目的端口 :1000
串口相关默认参数依次为:
(1) 波特率 :9600
(2) 超时 :0
(3) 数据位 :8 ; 停止位 :1 ; 校验 :无
(4) 清空串口缓冲区:从不清空
#6、参数
##6.1. 绝对最大值 (临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)
名称 参数说明 最小值 最大值 单位
TA 工作时的环境温度 VDD=3.3V -40 85 ℃
TS 储存时的环境温度 -55 125 ℃
VDD 电源电压(VDD 接电源正极,GND 接地) -0.4 4.0 V
VIO 输入或者输出引脚上的电压 -0.4 VDD+0.4 V

6.2. 电气参数 (测试条件:TA=25℃,VDD=3.3V,串口波特率:115200bps)

名称 参数说明 最小值 典型值 最大值 单位
VDD 电源电压 2.1 3.3 3.6 V
IPK 峰值电流 100 mA
IDD
网络接收电流 25 mA
网络发送电流 15 mA
网络空闲电流 10 mA
VIL GPIO 低电平输入电压 0 0.9 V
VIH GPIO 高电平输入电压 2.0 VDD V
VOL 低电平输出电压(5mA/20mA 吸入电流) 0 0.3 0.4 V
VOH 高电平输出电压(5mA/20mA 输出电流) VDD-0.4 VDD-0.3 VDD V
IUP GPIO 内置上拉电阻的输入端的输入电流 25 60 90 uA
IDN GPIO 内置下拉电阻的输入端的输入电流 -90 -60 25 uA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/579643.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03 Docker入门Dockerfile详解及镜像创建

1.1 使用 Dockerfile 构建镜像 新建一个 Dockerfile 文件vi Dockerfile 将下面的内容复制粘贴进去:## Base Images ## 从天池基础镜像构建(from的base img 根据自己的需要更换,建议使用天池open list镜像链接:https://tianchi.aliyun.com/forum/postDetail?postId=67720) F…

【Unity动画系统】动画状态基本属性与相关API、IK简单概述

动画状态基本属性与相关API Tag:判断是否当前播放着相对应Tag的动画,如果是,那么玩家的输入就是无效的。 using UnityEngine.InputSystem;public AnimatorStateInfo stateInfo;void State(){//stateInfo animator.GetCurrentAnimatorStateIn…

AcrelEMS-MH民航机场智慧能源管平台解决方案【可靠供电/降低能耗/高效运维】

民航机场行业背景 自2012年以来,我国民航运输规模出现了显著增长,旅客运输量:从2012年的3.19亿人次上升至2019年的6.6亿人次(注:为剔除疫情影响,此处采取疫情前2019年的数据,下同)&…

数据结构七:线性表之链式栈的设计

在上篇博客,学习了用数组实现链的顺序存储结构,那是否存在用单链表实现栈的链式存储结构,答案是当然的,相比于顺序栈,用数组实现的栈效率很高,但若同时使用多个栈,顺序栈将浪费很多空间。用单链…

用NuGet安装 Oracle ODP.NET

oracle官网原文:Using NuGet to Install and Configure Oracle Data Provider for .NET Using NuGet to Install and Configure Oracle Data Provider for .NET In this section, you will install ODP.NET NuGet packages from nuget.org. Select View > Solut…

PDF 正确指定页码挂载书签后,书签页码对不上

这个问题与我的另一篇中方法一样 如何让一个大几千页的打开巨慢的 PDF 秒开-CSDN博客 https://blog.csdn.net/u013669912/article/details/138166922 另做一篇原因是一篇文章附带一个与该文章主题不相关的问题时,不利于被遇到该问题的人快速搜索发现以解决其遇到的…

8_手眼标定总结_auboi5机械臂与海康平面相机

经过不断地学习与调试,不断地学习网络上其他同志分享的资料,opencv手眼标定迎来了阶段性结束。实际测试结果在机械臂坐标系中X方向差5mm左右。 代码参考《https://blog.csdn.net/wanggao_1990/article/details/81435660》 注意事项: ①标定…

AG32 MCU在触摸屏的应用(AGM FPGA/MCU行业应用)

传统的屏驱MCU常见应用于洗衣机、空调、空调面板、仪器仪表等人机交互界面显示场景中,通常是以段码的形式显示设备运转的时间、温度、测量结果等简单运行数据,随着人机交互需求丰富化,智能家居设备、摩托车、电动车等产品也逐步增加了屏幕显示…

如何在 Ubuntu 12.04 上使用 Apache 配置 WebDAV 访问

简介 WebDAV 是内置在 HTTP 中的分布式网络编辑实现,允许您轻松共享文件并与他人协作。 我们可以在 Web 服务器中安装此扩展,以允许通过 Web 浏览器远程读写访问本地文件。在本指南中,我们将在带有 Apache Web 服务器的 Ubuntu 12.04 VPS 上…

【小沐学Java】VSCode搭建Java开发环境

文章目录 1、简介2、安装VSCode2.1 简介2.2 安装 3、安装Java SDK3.1 简介3.2 安装3.3 配置 4、安装插件Java Extension Pack4.1 简介4.2 安装4.3 配置 结语 1、简介 2、安装VSCode 2.1 简介 Visual Studio Code 是一个轻量级但功能强大的源代码编辑器,可在桌面上…

全志ARM-超声波测距

超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离 1.测距原理: 给Trig端口至少10us的高电平发送声波,Echo信号,由低电平跳转到高电平…

Docker 部署与操作

一 国内: 中国电信天翼云 提供包括云主机在内的全方位云计算服务,侧重于安全合规和企业级服务。 利用电信的网络优势,提供稳定可靠的基础设施服务。 中国联通沃云 提供包括云主机在内的多项云计算服务,适合不同行业和场景。 …

Redis篇:缓存雪崩及解决方案

1.何为缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 2.缓存雪崩的解决方案 解决方案: 给不同的Key的TTL添加随机值 利用Redis集群提高服务的可用性 给缓存业务添加降级…

如何避免被恶意攻击的IP地址

随着互联网的普及和发展,网络安全问题日益受到关注,恶意攻击成为网络安全的一大威胁。而IP地址作为网络通信的基础,常常成为恶意攻击的目标之一。本文将探讨如何避免被恶意攻击的IP地址,提高网络安全水平。 1. 定期更新安全补丁 …

【C++】--------模板进阶

目录 前言 一、非类型模板参数 定义 二、模板的特化(步骤都一样) 1.概念 2.函数模板特化的步骤 3.类模板的特化 3.1全特化 3.2偏特化/半特化 三、模板的分离与编译 1.什么是分离编译? 2.模板的分离与编译 四、总结 前言 我们已经…

BPE、Wordpiece、Unigram、SpanBERT等Tokenizer细节总结

BPE(Byte Pair Encoding) GPT-2和Roberta用的是这种,不会产生[UNK]这个unknown字符 这部分部分摘录自https://martinlwx.github.io/zh-cn/the-bpe-tokenizer/ 看以下code例子就足够理解了,核心是维护self.merges(维护一个pair->str的字…

一文掌握Vue依赖注入:原理、应用场景以及最佳模块化与单元测试实践,提升代码的可维护性与模块化程度

Vue 中的依赖注入(Dependency Injection, DI)机制通过 provide 与 inject API,实现了跨组件层级间的数据与服务透明传递,使父组件能够向其任意深度的子孙组件“注入”依赖,而不需要通过层层传递 props 或使用全局状态管…

Pytorch实现线性回归模型

在机器学习和深度学习的世界中,线性回归模型是一种基础且广泛使用的算法,简单易于理解,但功能强大,可以作为更复杂模型的基础。使用PyTorch实现线性回归模型不仅可以帮助初学者理解模型的基本概念,还可以为进一步探索更…

SpringCloud(微服务介绍,远程调用RestTemplate,注册中心Nacos,负载均衡Ribbon,环境隔离,进程和线程的区别)【详解】

目录 一、微服务介绍 1. 系统架构的演变 1 单体架构 2 分布式服务 3 微服务 2. SpringCloud介绍 SpringCloud简介 SpringCloud版本 3. 小结 二、远程调用RestTemplate【理解】 1. 服务拆分 1 服务拆分原则 2 服务拆分示例 1) 创建父工程 2) 准备用户服务 1. 用户…

Docker数据管理与Dockerfile镜像创建

前言 在容器化环境中,如何有效地管理和持久化数据成为了开发人员和运维团队面临的挑战之一;另一方面,镜像的创建是构建容器化应用的基础。优化的镜像设计可以提高部署效率和应用性能,减少资源消耗和运行成本。本文将介绍 Docker …