打印
[其他ST产品]

构建基于RT-Thread高性能工业电脑

[复制链接]
420|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
  RT-Thread OS 社区最近在讨论工业应用。笔者认为前提是要有一个开放型通用硬件平台。RT-Thread OS目前仍然是为Cortex-M ARM 通用嵌入式SOC为主的嵌入式应用设计的。如果**将RT-Thread 应用于类似PLC/PAC 这样的工业控制器中,提高通用SoC 的处理能力是非常重要。

        嵌入式SOC厂商为各种应用开发了系列齐全的芯片。在单颗SOC芯片上集成了各种个样的IO外围电路,它们包括以太网,CAN,SPI,UART ,ADC等等。以至于要通过引脚复用的方式来提高IO外设的种类和数量。嵌入式工程师就像进入了一个自助餐宴会,一切都为你准备好了,不能想的太多。为嵌入式系统选择一片合适的SOC芯片变成了非常棘手的问题。

        但是嵌入式SOC芯片缺乏灵活性,实时性,确定性受到MCU 算力的限制。使用STM32这样的SOC来构建工业控制器时,无法满足许多高实时任务。比如伺服电机驱动器中,都包含了一个FPGA芯片。现代FPGA技术已经将传统的FPGA 演变成为了计算和AI处理器,能够实现更强大的算法,例如人脸识别,AI,快速傅里叶变换,数字滤波等。使用硬件实现算法,大大提高实时运算能力,并且更具有灵活性。

        我们使用STM32/FPGA 异构架构来实现高性能模块化嵌入式工业电脑,并且运行国产RT-Thread 实时操作系统。FPGA 强大的可编程能力能够实现IO接口模块化。

        尽管现代FPGA芯片中已经融入了软、硬核处理器,比如Xilinx公司的ZYNQ器件。但是出于成本和提高研发效率等因素,我们在modular-2 嵌入式工业电脑中增加了基于STM32/FPGA 架构的产品。选择STM32 作为SoC 芯片是因为大量的工程师对该芯片的软硬件应用具有丰富的经验,许多大学的课程也是以STM32 为背景。与此同时,国内厂商开发的嵌入式处理器与STM32 的架构类似。所以这种结构能够方便的移植到国产芯片上。

        modular-2 RTT 是为国产操作系统RT-Thread OS 设计的一台嵌入式模块化计算机。它基于ST 公司的STM32H750为核心,并且配置了一颗Xilinx spartan6 FPGA。产品符合工业领域现场使用的可靠性,实时性要求,支持多种网络协议和高性能IO接口。支持从原型设计,仿真和生产部署。

使用特权

评论回复
沙发
慢动作|  楼主 | 2023-6-28 00:25 | 只看该作者
为什么增加FPGA
        对于大多数开发嵌入式系统的公司而言,通常是采用嵌入式芯片厂商开发的各种嵌入式处理器来开发嵌入式设备。著名的嵌入式处理器芯片厂商有NXP,TI,ST,Microchip等等。

        嵌入式SOC厂商为各种应用开发了系列齐全的芯片。在单颗SOC芯片上集成了各种个样的IO外围电路,它们包括以太网,CAN,SPI,UART ,ADC等等。以至于要通过引脚复用的方式来提高IO外设的种类和数量。嵌入式工程师就像进入了一个自助餐宴会,一切都为你准备好了,不能想的太多。为嵌入式系统选择一片合适的SOC芯片变成了非常棘手的问题。

  但是工业领域特殊的IO接口多,有些ASIC 芯片的接口需要增加额外的逻辑电路才能提高系统的性能(例如高分辨率ADC 高速数据采集,电机驱动,编解码器,PWM)系统中增加一颗FPGA 能够极大地增加系统的灵活性。

  另一方面,FPGA 能够实现算法加速,实现某些算法的硬件化(例如数字滤波,FFT 等)。modular-2 系统运行IEC61499 运行时,为了提高运行时的实时性和确定性,可以使用FPGA 实现IEC61499 功能块的硬件加速。

  modular-2 嵌入式电脑的一个重要的领域是教育行业,在一个电脑是包含了SoC和FPGA 双核架构,实现在一台设备上实现嵌入式系统和FPGA 学习。

使用特权

评论回复
板凳
慢动作|  楼主 | 2023-6-28 00:25 | 只看该作者
产品特点
        modular-2 RTT 基于SoC/FPGA 异构计算架构。第一代产品使用STM32H750/Xilinx Spartan-6.通过配置不同的FPGA 芯片。能不断提升工业电脑的性能。

     为了满足各种工业应用的需求,modular-2 采取了模块化结构。它能够扩展一个处理器IO模块和四个FPGA IO模块。

   处理器IO模块支持SoC 的外围接口,包括Ethernet,FDCAN,UART,USB和SDCard 卡座。FPGA IO模块通过40pin 插座直接与FPGA 引脚相连,能够实现特定的硬件接口。例如

高速ADC 数据采集
PWM/脉冲计数
电机驱动接口
光电解码器接口

使用特权

评论回复
地板
慢动作|  楼主 | 2023-6-28 00:25 | 只看该作者
硬件
处理器 STM32H750XB,支持的主要接口
以太网

USB

FD-CAN

UART

SD 卡座

RTC 时钟

SPI Flash (用于存储FPGA bit file和其它参数文件)

FPGA  Xilinx spartan 6

使用特权

评论回复
5
慢动作|  楼主 | 2023-6-28 00:26 | 只看该作者
软件
国产RT-Thread OS 操作系统
支持FPGA 配置
支持FPGA IP 驱动程序库
IEC61499 运行时,与4diac IDE 兼容,支持动态功能块库

使用特权

评论回复
6
慢动作|  楼主 | 2023-6-28 00:26 | 只看该作者
网络协议
支持各种常见的接口

UDP,TCP/IP
IEEE1588/PTP 精密时钟协议
modbus/TCP
MQTT

使用特权

评论回复
7
慢动作|  楼主 | 2023-6-28 00:26 | 只看该作者
系统架构

使用特权

评论回复
8
慢动作|  楼主 | 2023-6-28 00:26 | 只看该作者
FPGA与STM32 的接口
STM32/FPGA 之间的数据传输接口有两种方法:

高速口-FMC

BANK1 –连接外部SDRAM
BANK2 –连接FPGA
采用FMC 接口与FPGA 连接,能够提高SOC/FPGA之间数据交换的速率。

低速 -SPI

  数据采集系统需要SOC/FPGA 之间高速传输数据,而控制系统而言,SOC/FPGA 之间主要传递配置和状态。并不需要非常高的带宽。

使用特权

评论回复
9
慢动作|  楼主 | 2023-6-28 00:26 | 只看该作者
FPGA 配置
        modular-2 能够在线升级FPGA 逻辑,对于Spartan-6 芯片而言,使用SelectMAP 并行接口实现。

        STM32 FMC 的D0~D15 连接到FPGA 的SelectMAP 脚。这样FMC既能够实现FPGA 的配置,又能够实现SOC/FPGA 之间的数据交换。

使用特权

评论回复
10
慢动作|  楼主 | 2023-6-28 00:27 | 只看该作者
RT-Thread OS  的扩展
    要利用RT-thread 模块化特点,扩展对FPGA 的支持。包括FPGA 的配置,FPGA的数据交换以及各种常见FPGA IP 核的支持(例如PWM,FFT,数字滤波,电机驱动)。实现对SoC/FPGA 异构计算平台的支持。

使用特权

评论回复
11
小小蚂蚁举千斤| | 2023-6-30 16:05 | 只看该作者
系统是一个层面,软件生态设计还得有人进行设计开发,整体来说单独的一个系统生态其实挺难的

使用特权

评论回复
12
szt1993| | 2023-6-30 16:13 | 只看该作者
小小蚂蚁举千斤 发表于 2023-6-30 16:05
系统是一个层面,软件生态设计还得有人进行设计开发,整体来说单独的一个系统生态其实挺难的 ...

确实如此,系统生态需要大量的人员进行相关开发适应工作

使用特权

评论回复
13
Undshing| | 2023-7-1 22:37 | 只看该作者
难的是做好生态

使用特权

评论回复
14
周半梅| | 2023-12-30 07:03 | 只看该作者

每个电容与纹波电流源的引线阻抗一样

使用特权

评论回复
15
Pulitzer| | 2023-12-30 08:06 | 只看该作者

时间片轮的设计思想

使用特权

评论回复
16
童雨竹| | 2023-12-30 10:02 | 只看该作者

大大减小与其他引线之间的容性耦合

使用特权

评论回复
17
Wordsworth| | 2023-12-30 11:05 | 只看该作者

需要在做项目的过程中经历磨难

使用特权

评论回复
18
Clyde011| | 2023-12-30 12:08 | 只看该作者

硬件设计和软件设计本来就是鱼和熊掌的关系,两者不可兼得

使用特权

评论回复
19
公羊子丹| | 2023-12-30 13:01 | 只看该作者

与电感和续流二极管相连

使用特权

评论回复
20
万图| | 2023-12-30 14:04 | 只看该作者

结构化模块化的程序设计的思想,使最基本的要求

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

699

帖子

0

粉丝