CH395常见使用问题汇总及解决

1、关于供电。

   CH395需要双电源供电,分别为3.3V 1.8V 。通信接口(并口,SPI口,UART口)为TTL电平,兼容5V3.3V


2、关于设置MAC地址。

   CH395芯片出厂时已经烧录了由IEEE分配的MAC地址,如非必要请勿设置MAC地址。

 

3、测试命令失败。

  1)硬件上,检查CH395接口选择模式配置是否正确,即检查TXDSEL电平状态是否正确。

  2)软件上,检查单片机端接口时序是否正确,可借助示波器查看。

  (3)串口条件下,检查波特率设置是否正确。CH395默认波特率为9600bps,可通过硬件引脚配置

       来修改串口波特率。

 

4CH395是否初始化成功。

   调用CH395GetIPInf()函数查看获取到的信息是否与设置的信息相同

   运行PING命令,查看是否成功,具体方法参考下文5-1)。

 

5、计算机端常用网络命令。

   (1)PING :验证与远程计算机的连接,可借助此命令验证CH395与计算机网络之间是否连通。

   以WINDOWS系统为例,依次点击“开始”-“所有程序”-“附件”-“命令提示符”,然后输入“PING xxx.xxx.xxx.xxx , 此处xxx.xxx.xxx.xxx CH395 IP。运行结果见下图:

ping.png

             aPING成功                        bPING失败

  (2ARP :显示计算机的IP与硬件物理地址(MAC)的对应列表,可借助该命令来查看CH395等网

       络模块MAC地址。

       在CMD窗口中输入“arp -a”,显示如下:  2.png

 

      由此可知,IP地址是192.168.1.200CH395,它的MAC地址是:84-c2-e4-f0-87-95

 

   (3)IPCONFIG:查看计算机网络参数信息。

      在CMD窗口中输入“ipconfig/all”,显示如下:

3.png

     由图中信息可知,这台计算机IP地址为:192.168.1.101,子网掩码为:255.255.255.0,网关

     为:192.168.1.1

 

 

6CH395跨网功能。

      CH395实现跨网功能 ,首先网络环境要搭建好。举个简单的例子。如下图:                                                                                               

 4.png

     CH395建立了TCP 客户端,在PC端建立 TCP 服务器。如果想要成功的建立连接,CH395 所在子

IP首先要能够PINGPC 端服务器IP。为方便调试,可以先用一台PC替换CH395进行PING测试,PING

测试成功后,按照此测试PC网络参数设置CH395(包括IP,子网掩码,网关等信息)。 此外在实现跨

网功能的时候一定要注意检查CH395 MAC地址是否有效,路由器会过滤掉MAC地址全为0xFF的网络数据

包。

 

7RJ45选择。

   由于CH395内置MACPHY,网络接口部分配合一内置网络变压器RJ45或者一个网络变压器器+一个不带变压器RJ45即可实现网络连接。

 

8、CH395TCP客户端模式,无法连接到服务器。

   CH395在客户端模式无法连接服务器,首先需要检查CH395 IP 是否能够PING通服务器IP 如果能够PING通,但仍然无法成功建立连接,检查TCP客户端的目的IP与目的端口是否设置正确,或者改变CH395源端口后再尝试去连接服务器。

 

9、CH395无法接收到数据。

   假如是TCP模式,检查连接是否建立成功。

   假如是UDP模式,检查源IP、源端口、目的IP、目的端口是否正确对应。

   假如是IPRAW模式, 确认目的IP地址、协议类型是否正确,防火墙是否关闭。

   假如是MACRAW模式,确认MAC地址是否正确,防火墙是否关闭。

 

10、芯片发热。

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

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

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

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

 

11、编程注意事项。

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

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

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

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