初始化沁恒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模块
|