STM32F412开发板DK60-STM32F412RE


开发板介绍

开发板DK60-STM32F412RE主要功能有:

  • 1路USB转TTL串口(CH340N)。
  • 2路RS485。
  • 2路CAN。
  • 1路以太网,使用W5500实现。
  • 4个运行指示灯(RUN/COM/ERR/LINK)。
  • 4个输入按键。
  • 4个输出指示灯。
  • 1个铁电存储芯片MB85RC64。
  • 1个FLASH存储芯片W25Q128。
  • OLD显示屏,SSD1306(选配)。
  • 4G-CAT1模块,FS-MCore-E600NLA(选配)。

基于开发板DK60-STM32F412RE,可以完成以下功能演示:

  • PLC系统编程与监控(使用KQD Application Editor)。
  • 西门子S7-200 SMART兼容系统(使用STEP 7-MicroWIN SMART)。
  • 人机界面的组态与编程。
  • Profinet协议(W5500工作于RAWMAC模式)。
  • Kqdnet:PLC程序的远程监控与更新;作为路由对第三方的PLC程序进行远程监控与更新。
  • Mqtt/Json:物联网协议MQTT支持。

通讯端口

串口

在开发板上,板载了3个串口:

  • USB转TTL串口(CH340N)。
  • RS485转TTL串口(MAX485)。
  • RS485转TTL串口(MAX485)。

连接示意图:

如图所示,3个串口分别连接MCU的USART1、USART2、USART3,其中MAX485采用自动收发切换,无需单片机控制。

以太网

开发板DK60-STM32F412RE板载一路以太网,使用W5500实现。W5500与单片机的连接如图所示:

CAN

开发板DK60-STM32F412RE板载2路CAN通讯,使用TJA1050实现。如图所示:

输入输出

4个运行指示灯(RUN/COM/ERR/LINK)

开发板DK60-STM32F412RE板载4个运行指示灯,使用MCU管脚直接驱动。如图所示:

  • RUN:快速闪烁表示PLC运行,慢速闪烁表示PLC停止。
  • ERR:PLC系统存在错误。
  • COM:有效的通讯报文接收或发送。
  • LINK:用于Profinet站点的指示。

4个输入按键

开发板DK60-STM32F412RE板载4个输入按键,当按键被按下时MCU管脚拉高,如图所示:

4个输出指示灯

开发板DK60-STM32F412RE板载4个输出指示灯,使用MCU管脚直接驱动。如图所示:

非易失数据存储

目前KQD平台支持以下几种方式进行数据的保存:

  • EEPROM存储AT24系列芯片。
  • 铁电存储FM25系列芯片。
  • EEPROM存储AT25系列芯片。

开发板DK60-STM32F412RE板载2种存储芯片,分别是:

  • 1个铁电存储芯片MB85RC64(与AT24兼容)。
  • 1个FLASH存储芯片W25Q128。

其中,MB85RC64通过I2C连接到单片机;连接电路如下图所示:

其中,W25Q128通过SPI连接到单片机;连接电路如下图所示:

KQD通过NvM模块来管理所有的数据存储。因为STM32系列单片机在修改片内FLASH数据时,CPU的运行会被阻塞(CPU运行代码也在片内FLASH上),所以KQD暂时不支持将数据保存到片内FLASH,必须借助外部芯片来完成。

KQD的数据存储充分考虑到了以下几个方面:

  • 因为通讯存在干扰,数据读取时可能因为干扰存在造成数据误读,因此读取数据可选二次确认,即读取两次数据,如果两次读取的数据一致,则认为读取数据有效。
  • 因为通讯存在干扰,数据写入时可能因为干扰存在造成数据误写,因此写入数据可选二次确认,即写入后立即读取,如果读取的数据与写入的数据一致,则认为写入数据有效。
  • 每次写入数据前,需要判断写入的数据与现有的数据是否一致,如果一致,并不需要真正的执行擦除和写入操作,可以直接返回写入成功。
  • 不论是EEPROM还是FLASH,在进行数据写入时都必须先擦除数据,擦除完成后如果还没有来得及写入新数据时控制器发生了掉电,则数据被破坏。因此在没有电源管理系统的控制器上,建议数据有多个写入备份,其中一个数据备份损坏,不影响另一个数据备份的有效性。
  • 当数据有多个备份时,为了判断数据备份的有效性,必须支持对数据进行完整性校验。
  • 考虑到单个存储芯片损坏的可能,同一份数据的备份可以位于不同的芯片甚至是不同的物理介质类型上。
  • 数据和备份可以被保留,即保存本次数据和备份时,不擦出上次的数据和备份,只有在数据区域存储介质快要消耗完时,才擦出最旧的数据和备份。这样的好处一方面是即使本次存储发生了异常,NvM依然可以恢复最近的一次数据备份,另一方面是减少了数据擦除的频率,提高了EEPROM或FLASH的使用寿命。当然,为了判断数据备份的新旧,需要额外的空间保存数据的ID。

显示屏

KQD提供液晶屏驱动和菜单编辑工具。客户可以基于现有的驱动和工具快速开发具有液晶屏人机界面的产品。其使用方式基本和市面上的通用文本屏无异,但是数据不走通讯方式进行交换,液晶屏模块直接读取单片机内存中的PLC数据进行显示。好处是速度快且成本低廉,缺点是必须做成一体机,显示部分和控制部分只能安装在一起。

目前支持的液晶屏模块:

  • 基于ILI9341的LCD显示屏
  • 基于SSD1306的OLED显示屏
  • 基于ST7565R的LCD显示屏
  • 基于ST7735S的LCD显示屏
  • 基于UC1701X的LCD显示屏

以上几种屏均采用SPI通讯模式,因为屏幕刷新数据量比较大且速度高,在配置时尽量开启DMA传输模式以减小单片机的负担。

开发板DK60-STM32F412RE板载的SSD1306位于开发板的左上:

与单片机连接如图:

此连接座也可以兼容ST7735的IPS彩屏:

与单片机连接如图:

4G-CAT1模块

开发板DK60-STM32F412RE板载的4G-CAT1模块FS-MCore-E600NLA位于开发板的右下:

与单片机连接如图:

借助4G-CAT1模块,开发板可以连接到Kqdnet服务器,完成PLC程序的远程监控与更新,或者是作为路由对第三方PLC的程序进行远程监控与更新。如果配置了MQTT协议,借助4G-CAT1模块,开发板可以将数据发布到MQTT服务器并从MQTT服务器订阅数据。