• 901Air724UG模块(4G全网通GPRS开发)Air724UG(4G)使用SPI控制CH395Q(以太网模块)实现TCP/IP通信


    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnAir724UG" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    说明

    这节测试一下Air724UG(4G)使用SPI控制CH395Q(以太网模块)实现TCP/IP通信

    CH395Q模组链接: https://item.taobao.com/item.htm?ft=t&id=641683643515

    CH395Q教程链接: https://www.cnblogs.com/yangfengwu/p/14583830.html

     

    关于CH395Q以太网芯片

    CH395芯片自带10/100M 以太网介质传输层(MAC)和物理层(PHY),完全兼容IEEE802.3 10/100M 协议,

    内置了IP、DHCP、ARP、ICMP、IGMP、UDP、TCP等以太网协议栈。单片机系统可以方便的通过CH395芯片进行网络通讯。
    CH395支持三种通讯接口:8 位并口、SPI接口或者异步串口,单片机/DSP/MCU/MPU等控制器可以通过上述任何一种通讯接口控制CH395芯片进行以太网通讯。
    下图为CH395的应用框图:

      • 内部自带以太网介质传输层(MAC)和物理层(PHY)。
      • 支持10/100M,全双工/半双工自适应,兼容802.3协议。
      • 支持多种模式的地址过滤。
      • 与 802.3x全双工流控和半双工背压流控完全兼容。
      • 支持MDI/MDIX线路自动转换。
      • 内置TCP/IP协议簇,支持IPv4、DHCP 、ARP、ICMP、IGMP、UDP、TCP协议。
      • 提供8个独立的Socket对,可以同时进行数据收发。
      • 提供高速8位被动并行接口,支持连接到单片机的并行数据总线。
      • 提供最高30MHz速度的SPI设备接口,支持连接到单片机的SPI串行总线。
      • 提供最高3Mbps速度的异步串口,支持连接到单片机的串行口,支持通讯波特率动态调整。
      • 支持低功耗模式。
      • 内置24K RAM,可用于以太网数据收发,每个Socket收发缓冲区可以自由配置。
      • 内置4KB EEPROM。
      • 支持8路GPIO。
      • 提供LQFP64M和LQFP128无铅封装,兼容RoHS。

    CH395Q模块引脚说明

    1.引脚说明

    RSTI 引脚是复位模块的引脚,低电平有效,默认内部10K上拉.

    RDY 引脚在模组复位正常工作以后输出低电平(复位模组以后检查此引脚为低电平时即可和模组进行通信)

    SEL 和 TXD 引脚控制模组以哪种通信口通讯,引脚默认高电平(默认使用串口通讯)

    INT引脚是芯片的输出引脚,当模组接收到数据时,该引脚产生一个下降沿.

    单片机利用此引脚让单片机产生中断,然后读取数据

    这个引脚不是必须的,单片机可以采用轮训的方式查询数据

     

    TXD 和 RXD 作为串口通信的引脚

    SCS  引脚为模组SPI片选引脚

    SCK  引脚为模组SPI时钟引脚

    SDI   引脚为模组SPI数据输入引脚

    SDO 引脚为模组SPI数据输出引脚

    2.通信连接(串口方式)

    INT(数据中断引脚) 根据自己的需求决定是否连接.

    图示其它未连接的引脚保持悬空即可.

    初始化流程:

    1.单片机上电以后保持其RX引脚为高电平(拉高模组的TX引脚)

    2.单片机控制和模组RSTI相连接的IO输出低电平,等待50ms及其以上.

    3.单片机控制和模组RSTI相连接的IO输出高电平,等到100ms及其以上

    4.模组进入串口通讯模式.

    3.通信连接(SPI方式)

    INT(数据中断引脚) 根据自己的需求决定是否连接.

    图示其它未连接的引脚保持悬空即可.

    初始化流程:

    1.单片机上电以后控制和模组TX相连接的IO输出低电平

    2.单片机控制和模组RSTI相连接的IO输出低电平,等待50ms及其以上.

    3.单片机控制和模组RSTI相连接的IO输出高电平,等到100ms及其以上

    4.模组进入SPI通讯模式.

    提示

    外挂以太网模块其实就是4G模组作为单片机控制以太网模块实现网络通信.

    其实就相当于外接了个传感器一样的道理哈......

    测试准备工作

    1.接线

    CH395Q模组可以使用Air724模组的VBAT供电

    CH395Q模组的TXD引脚直接接到GND上, 默认就是SPI通信方式了(图示黑线)

    连接上SPI引脚:

    Air724模组的GPIO9引脚 <----> CH395Q模组的SCK引脚

    Air724模组的GPIO10引脚 <----> CH395Q模组的SCS引脚

    Air724模组的GPIO11引脚 <----> CH395Q模组的SDI引脚

    Air724模组的GPIO12引脚 <----> CH395Q模组的SDO引脚

    连接中断和复位引脚:

    Air724模组的GPIO2引脚 <----> CH395Q模组的INT引脚

    Air724模组的GPIO3引脚 <----> CH395Q模组的RST引脚

     

    2.保证电脑连接路由器或者交换机; 同时也使用网线把CH395连接上该路由器或者交换机

    3.在电脑上运行网络调试助手,开启TCP服务器(自己随意找个就可以)

    我设置监听的端口为8888

    5.查看自己电脑的IP地址

    我的为 192.168.1.93

    所以我的TCP服务器地址为 192.168.1.93,端口号为8888

    下载测试

    说明, 用户先直接根据我的步骤, 烧写我提供的例程测试哈.

    后面会有详细的从官网下载源码并测试的过程.

    1,打开源码里面的socketTask.lua 文件

    2,更改为自己的TCP服务器的ip地址和端口号

    3,把这节的代码下载到模组里面

    注意哈,一定要使用这节里面的lib库函数, 把所有的文件都添加进去就可以

    4,调试助手会显示连接, 服务器给客户端发送消息, 客户端会返回接收的消息

    5,上面就实现了Air724控制控制CH395Q实现TCP客户端和服务器进行通信

    程序呢也很简单, 官方都封装好了, 咱就是直接用

    现在看正常的获取程序的步骤, 下载例程

    1.要实现此功能需要下载最新的lib库和demo

    https://gitee.com/openLuat/Luat_Lua_Air724U/tree/beta/script_LuaTask

    2.注意哈,下载的资料的lib和demo是全新的

    3.例程路径如下

    其它功能大家伙自己去测试就可以了

  • 相关阅读:
    Spring Controller参数为空串的处理方式
    netstat用法
    zookeeper的配置项
    C++ Lambda表达式用法
    java命令行运行jar里的main类
    Random的nextInt用法
    【JAVA】删除某个目录及目录下的所有子目录和文件
    Centos7设置keepAlived开机自启动
    linux设置nginx开机自启动
    window.open()方法
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/15898799.html
Copyright © 2020-2023  润新知