您好,使用CH395Q EVT板测试时需要注意,如果接口使用SPI,要将板上Re1处短接,或者使用杜邦线将TXD和GND短接,切换到SPI模式,否则会出现测试命令返回FF的现象。
????您好,我已经将EVT板上面的Re1处用焊锡短接了,但是还是返回FF,另外我用网上另外一家做的CH395模块,还是一样的结果,请帮忙提供下其他解决思路。感谢,期待回复。
????如下是我的项目中CH395初始化代码,也请帮忙确认下是不是哪里配置有问题,感谢!
void?CH395_PORT_INIT(?void?)?? { //替换自己的端口初始化函数 SPI_InitTypeDef??SPI_InitStructure; GPIO_InitTypeDef?GPIO_InitStructure; /*?初始化SPI接口?*/ CH395_CONFIG_SPI_CLK(); CH395_CONFIG_GPIO_CLK(); /*?SCK引脚推挽输出功能?*/ GPIO_InitStructure.GPIO_Pin?=?CH395_CLK_PIN; GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode?=??GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType?=?GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL; GPIO_Init(?CH395_CLK_PORT,?&GPIO_InitStructure?); GPIO_PinAFConfig(?CH395_CLK_PORT,?GPIO_PinSource5,?GPIO_AF_SPI1?); /*?MISO引脚浮空输入功能?*/ GPIO_InitStructure.GPIO_Pin?=?CH395_MISO_PIN; GPIO_InitStructure.GPIO_Mode?=??GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType?=?GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_UP; GPIO_Init(?CH395_MISO_PORT,?&GPIO_InitStructure?); GPIO_PinAFConfig(?CH395_MISO_PORT,?GPIO_PinSource6,?GPIO_AF_SPI1?); /*?MOSI引脚推挽输出功能?*/ GPIO_InitStructure.GPIO_Pin?=?CH395_MOSI_PIN?; GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode?=??GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType?=?GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL; GPIO_Init(?CH395_MOSI_PORT,?&GPIO_InitStructure?); GPIO_PinAFConfig(?CH395_MOSI_PORT,?GPIO_PinSource7,?GPIO_AF_SPI1?); /*?CS引脚推挽输出功能,低电平有效?*/ GPIO_InitStructure.GPIO_Pin?=?CH395_CS_PIN; GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType?=?GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL; GPIO_Init(?CH395_CS_PORT,?&GPIO_InitStructure?); /*?RST引脚推挽输出功能,低电平有效?*/ GPIO_InitStructure.GPIO_Pin?=?CH395_RST_PIN; GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType?=?GPIO_OType_OD; GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL;? GPIO_Init(?CH395_RST_PORT,?&GPIO_InitStructure?); /*?中断引脚初始化,上拉输入功能,低电平有效?*/ GPIO_InitStructure.GPIO_Pin?=?CH395_INT_PIN; GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN; GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_UP;?? GPIO_Init(?CH395_INT_PORT,?&GPIO_InitStructure?); /*?CS?引脚置为高?*/ CH395_SPI_CS_HIGH(); /*?SPI?configuration?*/? SPI_InitStructure.SPI_Direction?=?SPI_Direction_2Lines_FullDuplex;?/*?SPI配置成两线的单向全双工通信?*/ SPI_InitStructure.SPI_Mode?=?SPI_Mode_Master; ? ???/*?SPI主机?*/ SPI_InitStructure.SPI_DataSize?=?SPI_DataSize_8b; ???/*?SPI8位数据格式传输?*/ SPI_InitStructure.SPI_CPOL?=?SPI_CPOL_Low; ?? ???/*?空闲时时钟为低电平??*/ SPI_InitStructure.SPI_CPHA?=?SPI_CPHA_1Edge; ???/*?数据在时钟第二个边沿时捕获,时钟信号偶数沿采样?*/ SPI_InitStructure.SPI_NSS?=?SPI_NSS_Soft; ? ???/*?内部NSS信号由SSI控制?*/ SPI_InitStructure.SPI_BaudRatePrescaler?=?SPI_BaudRatePrescaler_4;?/*?波特率预分频数为4?*/ SPI_InitStructure.SPI_FirstBit?=?SPI_FirstBit_MSB; ??? ???/*?传输时高位在前?*/ SPI_InitStructure.SPI_CRCPolynomial?=?7; ?? ???? SPI_Init(?USE_SPI,?&SPI_InitStructure?); /*?Enable?SPI??*/ SPI_Cmd(?USE_SPI,?ENABLE?); }
ch395初始化没有设置目标ip和端口号或者ip和端口号与pc端不一致,ch395接收不到UDP包,有人遇到过吗?我是想接收到第一包数后再根据源ip和端口重新设置ch395的目标ip和端口。
请问CH395Q可以完全兼容替换CH392吗?
@安。蓝 您好,CH395Q和CH392不能完全兼容替换,从硬件角度看,CH395是LQFP封装,CH392是QFN封装,两者在封装上不同,对于电源要求也不同。
@-- 您好,具体需要根据您的应用需求决定,如果是UDP单播(客户端)模式,一般情况下目标IP和端口号都是确定的,此时可与对端设备点对点通信;如果是UDP广播(服务器)模式,可与对端设备进行点对多通信,此时CH395收到的UDP数据会附带相应的对端设备的源IP和端口信息,可根据这些信息配置相应的目的IP和端口。
@. 根据图中SPI相关配置,暂未发现问题。针对您实际中命令返回FF,首先确保芯片工作正常,通过评估板上的UART接口,外接USB转串口工具,通过CH395 EVT中DEBUG395.EXE工具进行测试,看看此时有无数据返回,以及网络工作是否正常。如果UART接口正常,可以尝试将MCU的SPI主频降低,重新操作CH395;注意CS片选脚不要在命令收发过程中拉高;通过逻辑分析仪或示波器抓取SPI总线数据,看看SPI时序是否满足CH395要求。
您好,用DEBUGCH395.EXE调试CH395 EVT,需要切换成串口模式吗?还是SPI模式也可以直接调试?
您好,目前DEBUG395.EXE软件只支持串口调试,暂不支持SPI模式
请问392 395内部的固件支持升级版本吗?
您好,目前暂不支持用户自行升级。若您在使用中遇到问题,可联系wtf@wch.cn或025-52638370咨询
如果需要升级的话,是返回原厂升级,还是你们能够远程升级?
您好,若使用中遇到问题,可联系wtf@wch.cn或者025-52638370电话咨询。
你好,请问,两个CH395可以直接通过网线连接吗,中间不经过路由器或交换器,
我这里尝试两个CH395Q直接通过网线连接,然后不断检测CMD_GET_PHY_STATUS寄存器,当其中一个为连接状态时,另一个便从连接状态变为断开状态,就是两个CH395Q无法同时为连接状态
您好,两个CH395可以通过网线直连,本质上还是两个PHY之间的连接。可以这样进行测试,一个CH395跑tcp server,另一个跑tcp client,先打开服务器监听,看看此时客户端是否与服务器PHY建立连接,后续是否建立TCP连接,查询当前两个CH395的PHY状态