跳转至

CatST Hardware:固定硬件、维护口与外设 Profile

CatST 依赖规范硬件。硬件不是通用开发板,而是公司内部固定控制器平台:出厂固化 Bootloader,保留串口维护口,固定 IO 和扩展外设,通过 Profile 向 CatST 工具链声明可用资源。


1. 硬件设计目标

硬件目标:

  1. 固定 MCU 系列和板级资源。
  2. 固定串口维护口,支持现场下载和监控。
  3. 出厂固化 Bootloader,现场不需要 J-Link。
  4. IO、通信、RTC、存储、急停、输出使能等资源受控暴露。
  5. 不同硬件差异通过 Profile 表达。

硬件不承担:

现场任意固件调试
现场任意 SWD 操作
动态外设发现
通用 PLC 模块化扩展
CatST 解释执行

2. 推荐硬件包络

标准平台建议:

STM32F407 主控
16 路 24V 光耦输入
8 路 24V 晶体管输出
4 路继电器输出
RS485-1 上位机/维护口
RS485-2 扩展或现场总线
RS232 调试或兼容设备
TTL UART Bootloader 备用维护
RTC
FRAM/EEPROM 参数存储
看门狗
急停输入
输出总使能
PWR/RUN/ERR/COM 指示灯
SWD 仅用于研发和生产烧录

低成本平台可以剪裁:

减少通信口
减少 IO 数量
取消 A/B App
减少故障记录
减少在线监控深度
减少 M/D/T/C 数量

3. 维护口要求

现场维护口必须满足:

  1. 可稳定连接上位机。
  2. 支持 GET_DEVICE_INFO、GET_STATUS、STOP、RUN、下载和在线变量。
  3. 下载中不依赖 App 正常运行。
  4. Bootloader 模式下仍可通信。
  5. 有固定兜底波特率。
  6. 建议有明确的进入 Bootloader 硬件方式,例如按键、拨码或上电窗口命令。

推荐优先级:

优先级 接口 用途
1 RS485-1 主维护、下载、监控
2 TTL UART Bootloader 备用恢复
3 RS232 调试或兼容
4 SWD 研发/生产,不作为现场维护方式

4. Bootloader 固化策略

空白芯片首次固化 Bootloader 可以使用:

SWD/J-Link/ST-Link
STM32 ROM Bootloader
生产烧录工装
芯片预烧录服务

现场维护阶段不再要求 J-Link。

Bootloader 必须固化:

  1. 分区表。
  2. 维护协议版本。
  3. 设备型号和硬件版本读取能力。
  4. App CRC 校验。
  5. 下载失败保护。
  6. 默认安全输出策略。

Bootloader 第一版默认不现场升级自身。若以后支持 Bootloader 升级,必须独立设计双重保护。


5. Profile 文件

每个硬件型号必须提供 Profile:

{
  "name": "F407_STANDARD",
  "mcu": "STM32F407",
  "maintenancePort": "RS485-1",
  "fallbackBootPort": "TTL-UART",
  "xCount": 16,
  "yCount": 8,
  "rCount": 4,
  "mCount": 128,
  "dCount": 128,
  "tCount": 32,
  "cCount": 32,
  "supportsABSlot": true,
  "supportsCommImage": false,
  "maxUserLogicBytes": 65536
}

Profile 是工具链、Runtime、协议和测试的共同依据。


6. 硬件安全要求

硬件必须支持:

  1. 上电输出默认关闭。
  2. MCU 复位期间输出关闭。
  3. STOP/ERROR/DOWNLOAD 时输出关闭。
  4. 急停输入可由 Runtime 读取并触发安全关闭。
  5. 输出总使能可硬件或驱动层控制。
  6. 通信故障不能导致输出误动作。
  7. 下载期间物理输出保持关闭。

CatST 写输出映像不能绕过硬件和 Runtime 安全链路。