资讯详情

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

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 公司的STM32H以750为核心,配置了一个Xilinx spartan6 FPGA。产品满足工业领域现场使用的可靠性和实时性要求,支持各种网络协议和高性能IO接口。支持原型设计、模拟和生产部署。

为什么增加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 学习。

产品特点

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 引脚连接,可实现特定的硬件接口。

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

硬件

  • 处理器 STM32H750XB,支持的主要接口

以太网

USB

FD-CAN

UART

SD 卡座

RTC 时钟

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

  • FPGA Xilinx spartan 6

软件

  • 国产RT-Thread OS 操作系统
  • 支持FPGA 配置
  • 支持FPGA IP 驱动程序库
  • IEC61499 运行时,与4diac IDE 兼容性支持动态功能块库

网络协议

支持各种常见接口

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

系统架构

FPGA与STM32 的接口

STM32/FPGA 之间的数据传输接口有两种方法:

  • BANK1 –连接外部SDRAM
  • BANK2 –连接FPGA

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

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

FPGA 配置

        modular-2 能够在线升级FPGA 逻辑,对于Spartan-6 芯片而言,使用SelectMAP 并行接口实现。

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

RT-Thread OS  的扩展

    要利用RT-thread 模块化特点,扩展对FPGA 的支持。包括FPGA 的配置,FPGA的数据交换以及各种常见FPGA IP 核的支持(例如PWM,FFT,数字滤波,电机驱动)。实现对SoC/FPGA 异构计算平台的支持。

结束语

上述内容只是一个初步的想法,抛砖引玉。感兴趣的读者可以共同探讨。

标签: 精密型高传输速率usb电连接器pc引脚插座连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台