FrostShimmer 发表于 2025-6-29 17:35

初始化沁恒CH394Q的SPI接口

初始化沁恒CH394Q的SPI接口认识某5500多年,也苦其多年。终于结识沁恒CH394Q,应用一下,以太网世界变简单了!看似wifi应用与部署相对简单,成本也不高,但在工业控制领域,有线通讯相对抗干扰性、稳定性与安全性在有线方式上更容易部署。CH394Q的特点非常明显:(下面是引自官方网页的特点)
[*]内部自带以太网介质传输层MAC和物理层收发器PHY
[*]支持10/100M,全双工/半双工自适应,兼容IEEE802.3协议
[*]支持MDI/MDIX线路自动转换
[*]I/O口支持3.3V、2.5V、1.8V、1.2V供电,兼容多种电压标准的单片机
[*]内置50Ω阻抗匹配电阻,内置25MHz晶体振荡器所需电容,外围电路精简
[*]内置TCP/IP协议簇,支持IPv4、ARP、ICMP、IGMP、UDP、TCP协议
[*]CH394Q支持IPv4模式和IPv6模式,默认使用IPv4模式
[*]CH394Q支持8个Socket,CH394L支持4个Socket,可以同时进行数据收发
[*]支持MACRAW模式和IPRAW模式
[*]提供最高62MHz速度的SPI设备接口(SPI模式0或3),高位在前
[*]支持网络唤醒模式(WOL)和掉电模式
[*]提供LED状态显示(Link,ACT,10/100M,全双工/半双工等)
[*]内置32K RAM,可用于以太网数据收发,每个Socket收发缓冲区可以自由配置
[*]提供LQFP48无铅封装
在这些特性中,我们重点关注CH394Q的SPI接口速率支持高达62MHz,支持SPI模式0。所以,相对于普通的MCU可以轻松借助它连接上网。初始化软件代码如下(软件代码来源沁恒官网CH394EVT\CH394QEVT\EXAM\CH394Q_TCP_CLIENT示例):    CH394Q_GPIO_Init();
    CH394Q_SPIPort_Init(); // SPI pin initialization
    CH394Q_ResetHW(); // CH394Q hardware reset
    printf("\r\n CH394Q EVT Test Demo \r\n");
    i = CH394Q_GetCHIPV();
    printf(" CH394Q CHIPV : %2x\r\n", i);
    CH394Q_PHY_Check();                                                             // PHY Connection Check
    CH394Q_InfParam(CH394Q_IPAddr, CH394Q_IPMask, CH394Q_GWIPAddr, CH394Q_MACAddr); // Set CH394Q network parameters
    CH394Q_SocketBuf_Init(TX_BUFF, RX_BUFF);                                        // Initialize buffer size
    CH394Q_SetGINTE(0XFF);                                                          // Enable global interrupt
    CH394Q_SetSINTE(0XFF);                                                          // Enable socket interrupt刚刚讲了软件代码,行数不多,实现也不复杂。相较于某5500,沁恒的CH394Q还内置了PHY芯片,25MHz的晶振。不仅可以节省外围器件,减少BOM成本,还缩小了PCB面积。最后,给大家秀一下,我从沁恒展台“申请(shun)”回来的CH394Q模块




页: [1]
查看完整版本: 初始化沁恒CH394Q的SPI接口