CH392/CH395常见问题解决方法指南

CH395

 


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

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

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

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

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


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

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


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

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


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

 


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

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

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

1RSETE 引脚下拉电阻改为 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 接口选择模式配置是否正确,即检查 TXDSEL 电平状态是否正确;
其次检查通讯时序问题。
2、检查通讯时序, SPI 接口注意:每次发送命令之前,片选 CS 引脚必须先拉高
再拉低,产生下降沿;其次输入命令码与后面的参数之间,至少要间隔 2u S
3CH392 初始化参数设置好后,先延时 20ms 左右,再执行初始化命令。
4、注意 CH392 的网络参数的合法性,设置不规范的 ip 地址可能会导致 CH392
网络出错。

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

1、首先检查网络初始化命令是否成功,若不成功则查看问题 1
2、芯片 3.3V 供电,电源的纹波需要稳定在 50m V 以内。
3、芯片网络差分信号引脚 TXN TXPRXNRXP不需要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 双方端口是否正确无误。
7TCP 正常连接成功时, CH392 INT 引脚会给出中断低电平信号,可以通过
读取命令来获取中断状态,查看是否有 TCP 连接成功中断。
8、若出现连接断开后不能再次连上的问题,则可能是因为 CH392 在检测到连接
断开后自动关闭了 socket,可以通过在 socket 断开与超时中断里重新打开
socket,重新开启连接。

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

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

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








posted @ 2021-03-09 14:29  我叫搞事情  阅读(4253)  评论(0编辑  收藏  举报