CH395常见问题汇总及解答(持续更新)

您好,导致ping出现延时的因素有很多,比如网络流量、路由跳数、网络带宽、处理内存等,直连电脑的时候设备对报文进行硬件转发,速度非常快,因此延迟比较小,过交换机或路由器报文需要被处理且其中还会有其他的数据包,因此有的包延迟会比较大,395与另一台电脑的网络带宽与处理内存也存在差异因此表现可能会不同。即使存在延迟TCP会有流量控制与重传机制,UDP也可在应用层实现重传机制或其他辅助机制保证数据可靠传输,因此并不会影响应用层的数据传输。


请教一下:CH395模块工作在uart的MACRAW模式下,芯片固件版本:0x49,串口波特率:9600;经过测试发现,发送数据时,需要发送的实际数据长度和实际需要发送的数据长度不匹配,永远不会产生发送完成中断和发送缓冲区空闲中断。比如,我发60字节数据,发送 数据长度60,实际发送数据需要63字节,芯片的发送完成中断才会产生并实际发出,而如果我按照实际数据长度60发出,芯片不会产生中断,数据也没有发出?不知道这个是否是贵司该芯片版本的固件有bug呢?(值得注意的是:在这期间,对于功能参数 CMD_SET_FUN_PARA 配置项,我保持默认配置,即没有涉及该选项任何操作


您好,使用macraw模式需要注意其帧格式,这边通过编写程序将CH395的socket0设置为macraw模式并发送60字节数据,能够产生发送完成中断,并且通过wireshark能够观测到实际发送的数据为60字节。附上程序供您参考。

1694693239465747.png

1694693239572973.jpg

icon_rar.gifSocket0-MAC RAW.zip


好的,非常感谢您的帮助,经过排查,发现确实是我这边数据格式排版的问题。


请问 UDP 怎么获取远端 IP 地址。??


已解决


使用CH395时遇到了CH395初始化成功,能读取到版本号,但是PHY一直连不上,CH395未反馈PHY状态改变状态码为0x08的状态,轮询PHY状态时CH395一直反馈0x01的状态吗,请问有遇到过这个问题吗?求指导,谢谢。


使用CH395时遇到了CH395初始化成功,能读取到版本号,但是PHY一直连不上,CH395未反馈PHY状态改变状态码为0x08的状态,轮询PHY状态时CH395一直反馈0x01的状态吗,请问有遇到过这个问题吗?求指导,谢谢。


您好,请问两个CH395q模块可以用网线直接相连,不用交换机吗?


@凡心 您好能读到版本号仅能表明硬件与通信部分软件正常并不能表示395初始化成功,在读到395的版本后可按如下步骤初始化395,如还不能PHY连接成功或遇到其他问题可通过邮箱沟通(zl@wch.cn)

image.png


@lbw 您好,CH395是以太网协议栈管理芯片,用于单片机系统进行以太网通讯,可以通过网线直连对端设备,不过交换机或路由器也可以建立通信。


@TECH48 您好,我是先按照初始化流程进行初始化操作,且初始化成功后出现的这个问题


@凡心  您好,邮件已回复


@TECH48 

您好,

我的ch395驱动参考了官方例程的EXAM0,使用两个ch395一个做TCP Sever一个做TCP Client。

我使用一根网线连接两ch395,但只有此网线两头分别为T568B和T568A 时才能正常工作,使用通常的2头均为T568B的网线无法实现直连,必须通过交换机。

在ch395的数据手册中,phy应该是默认使用自动协商模式进行连接,支持 MDI/MDIX 线路自动转换的。

关于这点我很疑惑,是代码需要改进还是其他方面有一定需求?



您好,CH395 是以太网协议栈管理芯片,用于单片机系统进行以太网通讯,支持 10/100M,全双工/半双工自适应,支持 MDI/MDIX 线路自动转换。我们实测两个395评估板通过双A或双B线直连都可以建立通信,您可以申请评估板测试,也可将原理图发给我们,查一下看是否是硬件存在问题(zl@wch.cn)。


只有登录才能回复,可以选择微信账号登录