基于IMX6UL和MT7688的工业网关软硬件产品开发

一个基于FSL imx6ul Cortex-A7 单核的软硬件设计, 适用于网关类型产品, 双网卡. 用于工业级网关数据转发处理与控制下发。

IMX6UL版本最开始使用的是buildroot来构建Rootfs,但是鉴于可定制性,以及功能全面性, 以及我们的Flash将会使用256MB或者512MB,容量足够,因此换成了Yocto。

而MT7688则使用的是OpenWRT。

考虑到Rootfs需要升级, 而且有些应用场景是没有外网的离线环境, 因此除了app的升级外, 还加入了整个Rootfs离线升级的功能, 使用buildroot构建.以备在需要的时候可以对整个系统升级.

这个专门用于升级的Rootfs放到了单独的一个分区, 占用的size很小(<5MB).

系统启动的时候可以根据key以及文件情况,自动判断并进入到Rootfs upgrade模式中,类似于Android系统中的fastboot.

直接使用的是OpenWRT自带的来升级。

为了保证内核在有Bug的情况下可以离线升级, 对kernel也做了升级功能.同样的, 需要有对应的key才能进行升级,而且升级文件也进行了加密处理.以防传输过程中的被盗用/反编译等风险.

  • 双网卡: 独立Mac地址
  • WiFi + 蓝牙:使用AP6210 SDIO方式提供WiFi, 使用UART使用蓝牙
  • -40摄氏度~85摄氏度宽温:经过高低温测试
  • 4G通讯支持: 额外做了Air724模块用于4G通讯
  • 485:实测支持预期的挂载Modbus Slave设备数

在整体上,硬件上对于EMC/EMI均进行了考研与相关设计,以及器件的处理, 如基本的TVS/PTC等防护.

走线layout部分对等长,差分,阻抗匹配均按照要求进行了处理, 所有功能均正常.

  • 5个网卡: 兼具路由器功能
  • 商业级温度支持
  • 4G通讯支持: 支持mini-PCIE接口的4G模块,例如SIM7100, EC20
  • 485:用于挂载Modbus 485 slave 设备
  • Lora: 用于连接Lora远程节点

定做了金属外壳, 效果还可以:

Board with shell

Board with shell

网关在应用现场(场馆应用场景,位于控制柜中)

Board with shell

带有4G模块,第一版:

Board with shell

第二版:

Board with shell

没有外壳,天线较多:

Board with shell