CH395

问题 1CH395 初始化失败。
解答:

1、首先检查“check_exist”命令,正常情况下 CH395 会将该命令的输入值按位取
反后输出,若该命令不正常,则说明 CH395 的通讯接口有问题。首先检查
CH395 接口选择模式配置是否正确,即检查 TXD, SEL 电平状态是否正确;
其次检查通讯时序问题。


2、 检查通讯时序, SPI 接口注意:每次发送命令之前,片选 CS 引脚必须先拉高
再拉低,产生下降沿;其次输入命令码与后面的参数之间,至少要间隔 2us。
3、 CH395 初始化参数设置好后,先延时 20ms 左右,再执行初始化命令。
4、注意 CH395 的网络参数的合法性,设置不规范的 ip 地址可能会导致 CH395
网络出错。

问题 2CH395 初始化之后,插网线网口灯不亮(CH395 硬件设计注意事项)。
解答:

1、 首先检查网络初始化命令是否成功,若不成功则查看问题 1。
2、 芯片双路独立供电, 3.3V 和 1.8V,芯片的每个电源引脚旁边都需要接对地的
退耦电容(104)。电源的纹波需要稳定在 50m V 以内。
3、芯片网络差分信号引脚 TXN , TXP, RXN, RXP,需要接 49.9Ω的上拉电
阻。
4、芯片外接网络变压器,变压器的中心抽头需要接 3.3V。
5、检查网线是否有问题,换根网线重新尝试。

问题 3CH395 与电脑无法建立 TCP 连接。
解答:

1、检查电脑防火墙是否处于关闭状态,若没有关闭则关闭它。
2、检查网口灯是否亮闪,如果不亮查看问题 2.
3、使用电脑 pingCH395,如果 ping 不通,则检查 CH395 初始化的 IP 参数是否正
确, 可以使用命令读取 CH395 的 IP 信息对比。
4、 如果是在局域网内,则需要检查 CH395 是否存在 IP 冲突。
5、对于多网卡的电脑,在设置电脑端网络调试软件时要注意选择正确的网卡,最
好是打开软件前,将其他网卡都禁用。
6、检查 TCP 双方端口是否正确无误。
7、 TCP 正常连接成功时, CH395 的 INT 引脚会给出中断低电平信号,可以通过
读取命令来获取中断状态,查看是否有 TCP 连接成功中断。
8、若出现连接断开后不能再次连上的问题,则可能是因为 395 在检测到连接断开
后自动关闭了 socket,可以通过在 socket 断开与超时中断里重新打开 socket,
重新开启连接。


问题 4CH395 无法收发网络数据。
解答:

1、 TCP 模式下先检查 TCP 连接是否成功,若不成功,查看问题 3。
2、 若 CH395 接收到网络数据,会产生数据接收中断信号,检测 CH395 的 INT 引
脚是否有低电平产生,注意如果使用单片机外部中断,则触发位要设置为低电
平触发,不要使用边沿触发。若有中断信号,则读取中断状态,对照头文件里
的定义,获取中断含义。检查 CH395 接收中断的处理,正常流程是:获取中断、
读取数据长度,读取数据内容。
3、 UDP server 模式下的数据收发与其他模式不一样:
数据接收时, CH395 会在数据包前加上 8 个字节的信息,分别是数据包长度,
源端口,源 IP。在接收中断处理任务里,需要将这些信息分离并保存。
数据发送时, CH395 使用 395UDPSendTo()函数,函数参数需要使用上面的
信息。
4、 CH395 发送相关的中断有两个,分别是发送完成中断与发送缓冲区空闲中断;
单片机向 CH395 发送缓冲区写一包数据, CH395 会将数据复制到 MAC 缓冲区,

复制完毕后会产生发送缓冲区空闲中断; CH395 可能会将数据分装成若干包数
据包,每发送一包数据包, CH395 都会产生一次发送完成中断;因此在实际发
送时,必须要等到发送缓冲区空闲中断产生后,才能向 395 缓冲区填写下一次
数据。

问题 5CH395 以太网数据丢包。
解答: 1、 CH395 在收发数据的过程中不能被其他进程打断,如果 CH395 在数据收发中
被其他任务打断,则可能会导致数据丢包。
2、检查下定义接收缓冲区大小,读取接收长度,看是否超过了接收缓冲区。接收
缓冲区在定义的时候至少要大于定义的 TCP MSS 的值。
3、 UDP 模式下存在丢包的可能性,这是协议本身就存在的缺陷。

问题 6CH395 芯片发热,温度高。

由于Ch395内部集成了MAC和PHY,发热量稍大,大概会比室温高25-40°C,但是不会影响芯片的稳定性,

可以通过一下方式来改进温度:

1、 RSETE 引脚下拉电阻改为 18K。
2、 改善电源,如使用 DC 电源代替 LDO,减小部分功耗。
3、 启用 CH395 低能耗模式,降低 CH395 一半主频,但会导致 CH395 速度降低
一半。


问题 7CH395 编程注意事项。
解答:

1、 芯片内置上电复位电路,主程序开始先延时 200ms 时间,留给 CH395 足够的
上电复位时间,防止单片机上程序开始运行而 CH395 仍处于复位状态。
2、芯片内置上电复位电路芯片初始化之后,建议先做测试命令,确保基本通信正
常后再进行下面的操作。
3、假如程序中有设置 MAC 地址操作, 设置完成后需要延时 200ms 左右时间。
4、批量发送数据时,每次发送数据前要确保前一次数据已经发送完成(可通过查
询 SINT_STAT_SENBUF_FREE 中断来判断)。

CH392

问题 1CH392 初始化失败。
解答:

1、首先检查“check_exist”命令,正常情况下 CH392 会将该命令的输入值按位取
反后输出,若该命令不正常,则说明 CH392 的通讯接口有问题。首先检查
CH325 接口选择模式配置是否正确,即检查 TXD, SEL 电平状态是否正确;
其次检查通讯时序问题。
2、检查通讯时序, SPI 接口注意:每次发送命令之前,片选 CS 引脚必须先拉高
再拉低,产生下降沿;其次输入命令码与后面的参数之间,至少要间隔 2u S
3、 CH392 初始化参数设置好后,先延时 20ms 左右,再执行初始化命令。
4、注意 CH392 的网络参数的合法性,设置不规范的 ip 地址可能会导致 CH392
网络出错。


问题 2CH392 初始化之后,插网线网口灯不亮(CH392 硬件设计注意事项)。
解答:

1、首先检查网络初始化命令是否成功,若不成功则查看问题 1。

2、芯片 3.3V 供电,电源的纹波需要稳定在 50m V 以内。
3、芯片网络差分信号引脚 TXN , TXP, RXN, RXP, 不需要接 49.9Ω的上拉
电阻,该电阻在芯片内部已经内置。
4、芯片外接网络变压器,变压器的中心抽头需要接 3.3V。
5、检查网线是否有问题,换根网线重新尝试。
6、芯片外部 32M 晶振, 无需接负载电容,该电容芯片内部已经内置。

问题 3CH392 与电脑无法建立 TCP 连接。
解答:

1、检查电脑防火墙是否处于关闭状态,若没有关闭则关闭它。
2、检查网口灯是否亮闪,如果不亮查看问题 2.
3、使用电脑 ping CH392,如果 ping 不通,则检查 CH392 初始化的 IP 参数是否
正确,可以使用命令读取 CH392 的 IP 信息对比。
4、如果是在局域网内,则需要检查 CH392 是否存在 IP 冲突。
5、对于多网卡的电脑,在设置电脑端网络调试软件时要注意选择正确的网卡,最
好是打开软件前,将其他网卡都禁用。
6、检查 TCP 双方端口是否正确无误。
7、 TCP 正常连接成功时, CH392 的 INT 引脚会给出中断低电平信号,可以通过
读取命令来获取中断状态,查看是否有 TCP 连接成功中断。
8、若出现连接断开后不能再次连上的问题,则可能是因为 CH392 在检测到连接
断开后自动关闭了 socket,可以通过在 socket 断开与超时中断里重新打开
socket,重新开启连接。


问题 4CH392 无法收发网络数据。
解答: 1、 TCP 模式下先检查 TCP 连接是否成功,若不成功,查看问题 3。
2、若 CH392 接收到网络数据,会产生数据接收中断信号,检测 CH392 的 INT 引
脚是否有低电平产生,注意如果使用单片机外部中断,则触发位要设置为低电
平触发,不要使用边沿触发。若有中断信号,则读取中断状态,对照头文件里
的定义,获取中断含义。检查 CH392 接收中断的处理,正常流程是:获取中断、
读取数据长度,读取数据内容。
3、 UDP server 模式下的数据收发与其他模式不一样:
数据接收时, CH392 会在数据包前加上 8 个字节的信息,分别是数据包长度,
源端口,源 IP。在接收中断处理任务里,需要将这些信息分离并保存。
数据发送时, CH392 使用 CH392UDPSendTo()函数,函数参数需要使用上
面的信息。
4、 CH392 发送相关的中断有两个,分别是发送完成中断与发送缓冲区空闲中断;
单片机向 CH392 发送缓冲区写一包数据, CH392 会将数据复制到 MAC 缓冲区,
复制完毕后会产生发送缓冲区空闲中断; CH392 可能会将数据分装成若干包数
据包,每发送一包数据包, CH392 都会产生一次发送完成中断;因此在实际发
送时,必须要等到发送缓冲区空闲中断产生后,才能向 CH392 缓冲区填写下一
次数据。


问题 5CH392 以太网数据丢包。
解答: 1、 CH392 在收发数据的过程中不能被其他进程打断,如果 CH392 在数据收发中
被其他任务打断,则可能会导致数据丢包。

2、检查下定义接收缓冲区大小,读取接收长度,看是否超过了接收缓冲区。接收
缓冲区在定义的时候至少要大于定义的 TCP MSS 的值。
3、 UDP 模式下存在丢包的可能性,这是协议本身就存在的缺陷。


问题 6CH392 编程注意事项。
解答: 1、芯片内置上电复位电路,主程序开始先延时 200ms 时间,留给 CH392 足够的
上电复位时间,防止单片机上程序开始运行而 CH392 仍处于复位状态。
2、芯片内置上电复位电路芯片初始化之后,建议先做测试命令,确保基本通信正
常后再进行下面的操作。
3、假如程序中有设置 MAC 地址操作,设置完成后需要延时 200ms 左右时间。
4、批量发送数据时,每次发送数据前要确保前一次数据已经发送完成(可通过查
询 SINT_STAT_SENBUF_FREE 中断来判断)。

CH392/CH395常见问题解决方法指南的更多相关文章

  1. OpenStack安装部署管理中常见问题解决方法

    一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...

  2. Web Deploy发布网站及常见问题解决方法(图文)

    Web Deploy发布网站及常见问题解决方法(图文) Windows2008R2+IIs7.5 +Web Deploy 3.5 Web Deploy 3.5下载安装 http://www.iis.n ...

  3. Python爬虫编程常见问题解决方法

    Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes ...

  4. 老出BUG怎么办?游戏服务器常见问题解决方法分享

    在游戏开发中,我们经常会遇到一些技术难题,而其引发的bug则会影响整个游戏的品质.女性向手游<食物语>就曾遇到过一些开发上的难题,腾讯游戏学院专家团Wade.Zc.Jovi等专家为其提供了 ...

  5. VNC使用及其常见问题解决方法

    博主之前在博文(https://www.cnblogs.com/kangbazi666/p/14153604.html)中已经介绍了多人VNC的配置方法,下面将简单介绍其使用方法及常见问题的解决方法. ...

  6. QTP常见问题解决方法(一)

    1.对脚本的运行速度进行设置 TOOLS->OPTIONS->RUN->RUN MODE 设置就可以了:一般可以设置为500或者1000值,也就是毫秒: QTP 12.0版本: TO ...

  7. 转:在决定使用ClickOnce发布你的软件前,应该知道的一些事情(一些常见问题解决方法)

    1,无法有效避免非法的下载 使用ClickOnce部署,你的软件的更新版可以发布到Web服务器上,当用户从开始菜单启动软件时,ClickOnce自动到指定的URL去检测是否存在新版本,并且从这个地址下 ...

  8. Entity Framework表名默认自动变为复数形式等常见问题解决方法

    今天使用了一下手写EntityFramework,发现一些常见的问题,做个记录: 1.以前使用模板生成不太在意的问题,就是在定义实体类时,如果没映射注释,自动映射的表名会变成复数形式 如:表名==&g ...

  9. VC++6.0一些常见问题解决方法(打开多个窗口、行号、添加文件无响应、更改.exe图标及名称等等)

    背景: 最近使用VC++6.0做一个界面,供测试CAN通信使用.由于客户希望我们提供简单方便的函数接口让其最快速使用CAN,DLL(动态链接库)是不二之选.做DLL需要两个VC窗口进行测试才方便.可是 ...

  10. CString的GetBuffer用法,GetBuffer本质,GetBuffer常见问题解决方法

    一.函数原型 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); throw( CMemoryException ); Return V ...

随机推荐

  1. Java I/O(1):模型与流

    在1990年以前,有一帮工程师们认为未来(1990年以后)会有很多小型设备需要得到电脑操控(不得不说,想法非常超前),鉴于当时市面上并没有任何一款编程语言能够跨平台,而且能够在诸如烤面包机这种小型设备 ...

  2. Linux基础_5_文件管理

    创建 touch 文件名 #创建文件 stat 文件名 #查看文件属性 touch -am 文件名 #更改文件的访问时间及修改时间 删除 rm -rf s/* #递归强制删除s目录下的所有内容(包括文 ...

  3. 后端框架学习-----mybatis(4)

    文章目录 4.解决属性名和字段名不一致的问题 4.解决属性名和字段名不一致的问题 1.问题.数据库字段名和属性名不一致,导致查出的数据部分为空 2.resultMap(用于解决数据库表中的字段和属性) ...

  4. 设计模式常用的UML图------类图

    关系 UML将事物之间的联系归纳为6种,对应响应的图形 关联 定义:表示拥有的关系,具有方向性,一个类单向访问一个类,为单向关联.两个类可以相互访问,为双向关联. 聚合 定义:整体与部分的关系. 组合 ...

  5. Linux---配置新服务器的常见操作(CentOS7)

    修改 Centos7为字符界面 Centos7取消了之前的 inittab文件的作用,改用命令实现, systemctl get-default : 获得默认启动方式 systemctl set-de ...

  6. Python基础之模块:4、正则表达式和re模块

    目录 一.正则表达式 1.正则表达式前戏 2.字符组 3.特殊符号 4.量词 5.贪婪匹配与非贪婪匹配 6.转义符 7.正则表达式实战 二.re模块 1.模块导入 2.常见操作方法 1.findall ...

  7. Atcoder beginner contest 249 C-Just K(二进制枚举)

    题目大意:给你N个字符串,你可以从中选择任意数量的字符串,请统计在你的字串中,相同字母出现次数正好为K次的字母数.数据保证出现的字母都是小写字母. 1≤N≤15 1 ≤K≤N 一开始读题的时候读错了, ...

  8. PLC攻击(一):应用层攻击

    ​ 转载请注明出处:信安科研人please subscribe my official wechat :信安科研人获取更多安全资讯 参考文献: A Stealth Program Injection  ...

  9. 2022春每日一题:Day 30

    题目:[JSOI2009]电子字典 读完题后,暴力?确实,计算一下时间复杂度最坏情况下,20263*10000=1.5e8,卡一下常可以直接卡到7e7,最严格来说应该卡的过去,但是此题数据可以直接卡过 ...

  10. RAID5的配置流程及模拟硬盘损坏

    个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github‍:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying RAID5的配置流程及模拟硬盘损坏 1.在虚拟机中 ...