本篇文章将介绍沁恒微电子的以太网转接芯片CH9121(CH9120和CH9121使用上没有区别,注意配置工具不一样,可以在沁恒微电子官网自行下载测试),该芯片支持网口和串口相互透传,可以通过串口AT指令或网口工具进行快速配置,无需编程就能实现设备联网。

  如图1示,我们在使用CH9121Demo板时,将CH340USB转串口模块RX、TX和CH9121的RX、TX交叉连接,注意demo板上的VIN接入5V,若要接3V3需要将板上的VIN和3V3排针短接。初步测试使用时推荐通过网线直连电脑(电脑端需支持有线网卡),正常连接后,CH9121的网口灯都会正常亮起。

图1 CH9121连接

   模块连接电脑后,需要注意下电脑以太网卡的配置信息。如图2示,右击电脑(WIN10系统)左下角【开始】-----【网络连接】-----【以太网】-----【更改适配器选项】-----【双击以太网】-----【属性】-----【Internet协议版本4】-----【使用下面IP地址】。

   因为直连情况下需要同网段电脑才能和CH9121通信,所以我们更改电脑为192.168.1.X的网段方便通信,建议使用时关闭电脑网络防火墙(包括域防火墙、杀毒软件等),防止通信时的一些网络数据包被阻断。

图2 网卡配置

  之后,如图3示,我们官网的CH9121的EVT包中的NetModuleConfig网络配置工具进行搜索-----配置。注意搜索到设备后,一定要双击获取配置并且最下面的操作状态为获取配置成功时才能使用,不然会导致写入错误的参数。

图3 网络配置工具
 
 
 

--------------------------------------------------------   实际测试:TCP和UDP模式  --------------------------------------------------------

1.CH9121工作在TCP Clinet模式:

  (1)打开沁恒官网的TCP/IPDebug测试工具建立一个TCP 服务器,如图4示,注意对应的网卡:

图4 建立TCP服务器

  (2)通过NetModuleConfig工具配置CH9121图5示:获取配置成功后----网络模式为TCP CLINET-------本地端口建议随机-----------目的IP写为电脑的本地IP地址192.168.1.22--------目的端口为1000。

 图5 CH9121TCP Clinet
  (3)数据收发测试:正常配置完成后,CH9121会自动发起连接,同时打开串口工具选择相应串口和波特率。如图6示, 点击发送数据,可以根据计数和数据接收区对比相应数据。

图6 数据测试

2.CH9121工作在TCP Server模式:

  (1)通过NetModuleConfig工具配置CH9121图7示:获取配置成功后----网络模式为TCP Server-------本地端口1000。

图7 CH9121TCP Server模式

  (2)打开网络测试工具发起TCP连接,如图8示,创建类型为TCP的连接,主要目标IP和端口,设置完成后点击创建。

图8 建立TCP Client连接

(3)数据收发测试:正常配置完成后,点击连接,通过串口和网口分别互传数据,图9示。

图9 数据测试

3.CH9121工作在UDP Server和Clinet模式:

  UDP模式下不区分服务器和客户端,CH9121中是为了区分广播(Server)和单播(客户端),区别在于广播的目的地址是4个255,而单播需要对应目的主机地址。如图10示(单播测试),注意UDP模式下一定注意端口是否对应,即一端的本地端口一定是对端的目标端口。

图10 CH9121UDP测试

  

  测试软件打包:https://files.cnblogs.com/files/blogs/805237/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7.rar?t=1702884064&download=true

【WCH以太网接口系列芯片】CH9121\20的使用和测试的更多相关文章

  1. 以太网接口TCP/IP协议介绍,说的很容易懂了

      以太网接口TCP/IP协议介绍,说的很容易懂了  TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. TCP/IP协议栈(按TCP/IP参考模型划分) 应用层 FTP SMTP HTT ...

  2. [转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)

    你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=7177 ...

  3. 海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)

    海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器) 我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为 st7789,分辨率 240x240,图 ...

  4. Entity Framework技巧系列之六 - Tip 20 – 25

    提示20. 怎样处理固定长度的主键 这是正在进行中的Entity Framework提示系列的第20篇. 固定长度字段填充: 如果你的数据库中有一个固定长度的列,例如像NCHAR(10)类型的列,当你 ...

  5. 芯片下载相关-CH32系列芯片下载方式汇总及教程

    一.CH32Fx系列芯片下载 1.ISP下载: 2.SWD下载 3.脱机烧录器下载: 二.CH32Vx系列芯片下载 1.ISP下载: 2.SWD下载: 3.脱机烧录器下载: 4.CH32V003下载注 ...

  6. 爱特梅尔ATMEL全系列芯片解密单片机破解

    爱特梅尔ATMEL全系列芯片解密单片机破解 ATMEL芯片介绍: ATMEL公司为全球性的业界领先企业,致力于设计和制造各类微控制器.电容式触摸解决方案.先进逻辑.混合信号.非易失性存储器和射频 (R ...

  7. 在keil 4中添加stc系列芯片的方法--【sky原创】

    在keil 4中添加stc系列芯片的方法: 1.从官网下载uv3.cdb的文件网址是:http://www.stcmcu.com/ 2.下载好后把uv3.cdb文件改成STC.cdb:3. 然后将[S ...

  8. c#中常用集合类和集合接口之接口系列【转】

    常用集合接口系列:http://www.cnblogs.com/fengxiaojiu/p/7997704.html 常用集合类系列:http://www.cnblogs.com/fengxiaoji ...

  9. STM32系列芯片命名规范

    1.STM32的基础知识 STM32是意法半导体公司,基于ARM Cortex®-M0,M0+,M3, M4和M7内核生产的系列通用MCU.截止当前时间为止(20190515),STM32有STM32 ...

  10. nxp基于layerscape系列芯片的硬件型号解析

    每一种layerscape系列芯片都有两种硬件型号: RDB 和QDS RDB: Refrence Design Board QDS: QorIQ Development system

随机推荐

  1. Eharts立体柱状图

    一下这三个div大小不一样 为了保证每次柱状图渲染正确 添加key <div class="echart1" id="dangerChart1" key= ...

  2. 03-Redis系列之-高级用法详解

    慢查询 生命周期 我们配置一个时间,如果查询时间超过了我们设置的时间,我们就认为这是一个慢查询. 慢查询发生在第三阶段 客户端超时不一定慢查询,但慢查询是客户端超时的一个可能因素 两个配置 slowl ...

  3. react中css里面 class中的 图片的相对地址 完美解决 backgroundImage

    发现问题:缓存 之前react的图片,也在style里面,也无所谓. 刚做了一个输入框,change的时候改变图片,每次都刷新图片,关键是没缓存,这哪受得了 之前用的: 网上搜索各种插件,替换什么的, ...

  4. 音频信号质量的度量标准--MOS得分的由来

    早期语音质量的评价方式是凭主观的,人们在打通电话之后通过人耳来感知语音质量的好坏.1996年国际ITU组织在ITU-T P.800和P.830建议书开始制订相关的评测标准:MOS(Mean Opini ...

  5. MyEclipse设置自动提醒(补全)功能

    1. 打开MyEclipse,然后"window"→"Preferences" 2. 选择"java",展开,"Editor&qu ...

  6. Mac安装Tomcat的Home路径

    首先,强推mac上的一个软件Homebrew,安装好以后,再安装其他软甲就只是 "brew install 软件名"这么简单了. 正文: 我安装tomcat使用的是命令行操作的,也 ...

  7. Python简单程序设计(Average篇)

    如题: 解题方式如下:

  8. 记录--前端实习生的这个 bug 被用做了一道基础面试题

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 测试发现了一个问题,简单描述问题就是通过函数删除一个数组中多个元素,传入的参数是一个数组索引. 然后发现实际效果有时删除的不是想要的 ...

  9. AMD、request.js,生词太多,傻傻搞不清

    前言 之前在公司用JS写前端页面,本来自己是一个写后端的,但是奈何人少,只能自己也去写了.但是自己对前端基本不懂,基本就是照着前人写的照着抄,反正大体意思是明白的,但是出现问题了,基本上也是吭哧吭哧好 ...

  10. Unity实现敌人生命条

    在敌人物体身上添加 Slider,将Background设置为黑色,FIllarea设置为绿色,调整滑块大小. 生命值减少代码设计如下: using System.Collections; using ...