1. 课程导入与开发全景
工业现场正在经历一次典型的“控制下沉、算力上移”的结构变化:PLC 负责硬实时逻辑,而人机界面(HMI)与边缘控制终端则承担数据汇聚、协议转换、本地决策与云端协同。TI Sitara 系列处理器正是为这一层设计的——它既不是纯 MCU,也不是通用应用处理器,而是介于两者之间、兼顾实时控制与 Linux 应用生态的异构平台。理解它的定位,是后续所有开发工作的起点。
一、Sitara 在系统中的位置
典型的工业 HMI 与边缘控制终端,其硬件通常由四层构成:现场 I/O 与传感器层、实时控制层、边缘计算与显示层、云端/上位机层。Sitara 处理器位于第三层,向下通过工业总线(如 EtherCAT、CAN、RS-485、Modbus)与 PLC、变频器、仪表通信,向上通过以太网、Wi-Fi 或 4G/5G 与 MES、SCADA 或云平台交互,同时驱动本地 LCD 触摸屏完成人机交互。
以 AM335x、AM62x、AM64x 为例,它们的共同特征是:集成 ARM Cortex-A 应用核运行 Linux,部分型号还带有 Cortex-M4F 或 R5F 实时核,可运行 RTOS 或裸机程序处理硬实时任务。这种“A 核跑应用、M 核/R 核跑实时”的异构架构,使单颗芯片即可同时完成界面渲染、协议栈处理与毫秒级控制,减少板级器件数量与故障点。
二、典型应用场景
Sitara 在工业现场的应用可以归纳为三类。第一类是工业 HMI 面板:7~15 英寸触摸屏,运行 Qt 或 Chromium 界面,通过 Modbus TCP 或 OPC UA 读取 PLC 数据,同时提供配方管理、报警记录、趋势曲线。第二类是边缘控制终端:在 HMI 基础上增加本地逻辑判断,例如根据温度传感器数据直接控制冷却阀,而不必等待云端指令,典型响应时间要求 10~50 ms。第三类是协议网关:将现场多种总线协议统一转换为 MQTT 或 OPC UA,上传至云平台,同时支持远程配置与固件升级。
这三类场景对软硬件的要求各有侧重:HMI 重视图形性能与触摸响应;边缘控制重视实时性与确定性;协议网关重视多接口并发与网络稳定性。Sitara 的不同型号正是为覆盖这些差异而划分的。
三、软硬件协同开发流程
与纯单片机开发不同,Sitara 开发是“硬件设计—BSP 移植—应用开发—系统集成”四条线并行的过程。硬件线包括原理图设计、DDR 布线、电源时序、接口电平匹配;BSP 线包括 U-Boot 移植、Linux 内核裁剪、设备树配置、根文件系统构建;应用线包括 Qt 界面、通信协议栈、数据库与业务逻辑;集成线则负责将实时核固件与 Linux 应用通过 RPMsg 或共享内存打通。
一个常见的入门路径是:先使用官方 EVM 开发板跑通 SDK 提供的默认镜像,确认串口、网口、LCD 均正常;然后修改设备树,适配自己的屏幕分辨率与触摸芯片;接着在 Linux 侧编写一个读取 Modbus 寄存器并显示到界面的小程序;最后将一段电机控制逻辑放到 M4F 核上,通过 RPMsg 与 A 核交换数据。这条路径覆盖了从硬件确认到异构通信的完整闭环。
四、开发环境与工具链
TI 为 Sitara 提供的核心软件包是 Processor SDK,其中包含 U-Boot、Linux 内核、Yocto 构建系统、Qt 图形栈以及 Code Composer Studio(CCS)。Linux 侧通常使用 Yocto 生成定制镜像,通过 bitbake 命令构建;实时核固件则用 CCS 编译,生成 .out 或 .bin 文件后由 Linux 侧加载。调试手段包括串口终端、SSH、GDB、Tracealyzer(用于 RTOS 任务分析)以及示波器/逻辑分析仪(用于时序验证)。
# 典型 Yocto 构建流程(示例)
git clone https://git.ti.com/processor-sdk/processor-sdk-yocto.git
cd processor-sdk-yocto
MACHINE=am62xx-evm source setup-environment build
bitbake tisdk-default-image
# 生成镜像后通过 SD 卡启动,串口登录
# 查看设备树中 LCD 节点是否匹配
ls /proc/device-tree/display/
需要强调的是,Sitara 开发中大量问题最终会落到设备树和时钟树上。例如 LCD 不亮,可能是 pinmux 未配置为 LCD 功能,也可能是像素时钟分频不对;网口不通,可能是 PHY 地址与设备树不一致。因此,学会用 dmesg、devmem2 和示波器交叉验证,比记住某个具体命令更重要。