logo

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

一、CH395外围电路设计注意

    1.CH395的PHY是电压型,网络变压器的中心抽头要接3.3V

    2.CH395的电源引脚退耦电容不可少,而且要靠芯片周围摆放

    3.CH395支持串口,SPI和并口(仅CH395L支持)接口,在芯片上电时,395根据SEL和TXD引脚的电平来决定采    用哪种方式

    4.为了在电源上电期间有效复位并减少外部干扰,可以在RSTI引脚与地之间接一个0.1UF的电容。

    5.具体接法可以上沁恒官网(www.wch.cn)上搜索“CH395EVT”

二、395初始化失败

    1.首先检查“check_exist”命令,正常情况下395会将该命令的输入值按位取反后输出,

      若该命令不正常,则说明395的通讯接口有问题,请注意接口时序,检查CH395接口选择模式配置是否正确,即检查TXD,SEL电平状态是否正确。。

    2.395初始化参数设置好后,先延时20ms左右,再执行初始化命令.

    3.注意395的网络参数的合法性,设置不规范的ip地址可能会导致395网络出错

 三、395与电脑无法建立TCP连接

    1. 连接之前先将电脑的网络防火墙关闭。

    2.对于多网卡的电脑,在设置电脑端网络调试软件时要注意选择正确的网卡,最好是打开软件前,将其他网       卡都禁用。

    3.先ping一下395,若ping不通,则先检查网口的指示灯是否亮着,若不亮则换一根网线再试;若网口灯亮,则可能395初始化没有正确完成

    4.检查395初始化配置的信息是否正确,目的ip与端口是否与电脑端设置相同`,TCP连接要注意ip地址处于同一网段,如果是在路由器局域网环境下,还要考虑395ip地址避免冲突。

    5.TCP正常连接时,395的INT引脚会给出中断低电平信号,可以通过读取命令来获取中断状态

    6.若出现连接断开后不能再次连上的问题,则可能是因为395在检测到连接断开后自动关闭了socket,可以通过在socket断开与超时中断里重新打开socket。

    7.初始化socket之前没有将socket配置信息表清空

  四、395数据接收与发送问题

    1.若395接收到数据,会产生数据接收中断信号,检测395的INT引脚是否有低电平产生,注意如果使用单片机外部中断,则触发位要设置为低电平触发。若有中断信号,则读取中断状态,对照头文件里的定义,获取中断含义

    2.检查395接收中断的处理,正常流程是:获取中断、读取数据长度,读取数据内容。

    3.UDP server 模式下的数据收发与其他模式不一样:

      数据接收时,395会在数据包前加上8个字节的信息,分别是数据包长度,源端口,源ip。在接收中断处理任务里,需要将这些信息分离并保存。数据发送时,395使用395UDPSendTo()函数,函数参数需要使用上面的信息

    4.与395发送相关的中断有两个,分别是发送完成中断与发送缓冲区空闲中断;单片机向395发送缓冲区写一包数据,395会将数据复制到MAC缓冲区,复制完毕后会产生发送缓冲区空闲中断;CH395可能会将数据分装成若干包数据包,每发送一包数据包,395都会产生一次发送完成中断;因此在实际发送时,必须要等到发送缓冲区空闲中断产生后,才能向395缓冲区填写下一次数据

    5.395在数据收发过程中出现数据丢包现象:

      (1)395在收发数据的过程中不能被其他进程打断,如果395在数据收发中被其他任务打断,则可能会导致数据丢包

      (2)检查下定义接收缓冲区大小,读取接收长度,看是否超过了接收缓冲区。接收缓冲区在定义的时候至少要大于定义的TCP MSS的值。

   五、芯片发热。

       由于CH395内部集成MAC和PHY,发热量稍大,但不会影响芯片稳定性。可通过以下方式改进:

     (1)芯片RSETE 脚参考电阻18K。

     (2)改善电源,如使用DC电源代替LDO,减小部分功耗。

     (3)启用CH395低能耗模式。

六、编程注意事项。

     (1)、芯片内置上电复位电路,主程序开始先延时200ms时间,留给CH395足够的上电复位时间,防止单片机上程序开始运行而CH395仍处于复位状态。

     (2)、芯片初始化之后,建议先做测试命令,确保基本通信正常后再进行下面的操作。

     (3)、假如程序中有设置MAC地址操作,需要延时200ms左右时间。

     (4)、批量发送数据时,每次发送数据前要确保前一次数据已经发送完成(可通过查询SINT_STAT_SENBUF_FREE中断来实现)。



用CH395制作的设备,开启DHCP后,已自动获得了配置信息,在路由器的DHCP客户端列表当中已经存在,只是客户端名显示为Unknown。请问如何给设备命名?


七、CH395在使用过程中死机、无法通讯等问题。

 1、     首先检查CH395网口的灯的状态是否正常,如果灯处于熄灭状态,请检查网线是否插紧,板子供电是否正常;另外,如

    果板子上面有较大的压降作用于芯片的RSTI引脚,会导致CH395芯片复位,也会造成网口灯的状态异常,此时复位一下主控    

    芯片即可恢复正常。   

 2、     检查能否ping通CH395,如果不能ping通,请检查局域网内是否有和CH395ip地址相同的设备造成IP冲突;再读出CH395  

    的ip地址,检查ip是否有异常

 3、     如果TCP一直连不上,检查SOCKET的ip和端口配置信息,如果对方是电脑,检查电脑防火墙是否关闭,TCP端口是否打开,如果对

        方是云服务器/平台,请先用电脑连接云服务器/平台,确认服务能连通

  4、         如果数据收不到,请检查INT#引脚的电平,另外注意INT#引脚如果采用外部中断的方式,要将中断触发方式设置为低电平触发,不要设

        为边沿触发



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