【技术分享】带你认识什么是PRU

描述

PRU,作为TI Sitara系列处理的一个特色功能,那PRU具体有什么特性?能帮助我们解决什么问题?

 

PRU  PRU家族介绍

PRU全称是The Programmable Real-Time Unit Subsystem,也叫PRUSS。中文名为可编程实时单元,它是一个32位RISC处理器核心,与IO子系统进行了紧密集成,为其IO引脚提供了低延迟控制,具有本地的指令和数据RAM,并可寻址访问整个片上系统资源。

TI(德州仪器)针对其家族设备的不同资源分配情况,提供了三种PRU子系统,分别是:PRU-ICSS、PRU-ICSSG、PRU-SS。

  • PRU-ICSS:The Programmable Real-time Unit and Industrial Communication Subsystem

可编程的实时单元和工业通信子系统(PRU-ICS)由两个32bit的RISC核心(PRU)组成,提供了共享数据,指令存储,内部和外围功能子模块,中断控制器(INTC)等功能。相关控制器有AM335x、AM437x、AM57x、K2G。

  • PRU-ICSSG:The Programmable Real-time Unit and Industrial Communication Subsystem – Gigabit

可编程的实时单元和工业通信子系统 - 千兆(PRU_ICSSG)是PRU-ICSS的功能加强版。除了拥有所有PRU-ICSS功能外,还增加了两个辅助可编程实时单元(RTU)内核,两个传输PRU(TX_PRU)内核,提供加速器,加快数据处理和数据流动,并新增更多的外围设备。相关控制器有AM64x、AM65x。

  • PRU-SS: The Programmable Real-time Unit Subsystem

可编程的实时单元子系统(PRU-SS)是PRU-ICSS的删减版。功能与PRU-ICSS类似,但不支持包括以太网(MII信号和MDIO信号)在内的工业通信子系统功能。相关控制器有AM62x。


 

PRU  PRU系统描述

PRU的核心是用精简指令集来编程的。每个PRU可以独立运行,也可以相互协调,也可以与CPU协同工作。处理器之间的交互是由加载到PRU的指令存储器中的固件的性质决定的。关于PRU-ICSS/PRU-SS的系统描述如图1 所示。

PRU

图1 PRU-ICSS/PRU-SS系统描述

PRU-ICSSG拥有RTU,其处理核心与PRU相同,但是RTU与PRU有不同的资源、连接和加速器。例如,PRU可以访问外部通用输入和通用输出(GPI/GPO)引脚,而RTU则不能。关于PRU-ICSSG的系统描述如图2 所示。

PRU

图2 PRU-ICSSG系统描述


 

PRU  PRU的功能特性

1. 快速I/O

PRU属于标量处理器,在同一时间内只处理一条数据;

采用非流水线设计,确保所有指令只能顺序执行;

本地内存映射,使用位于子系统内部的本地32位互连总线来访问本地资源,以最大限度地减少访问延迟。

2. 通用总线

PRU本身也有通用总线功能,如:UART、ECAP、PWM、ADC等。

3. 工业协议

TI根据工业行业应用,定制并兼容了多种工业通讯协议,如:EtherCAT、Profinet、Ethernet/IP等。

4. 运行环境

支持TI RTOS、TI Linux SDK及Code Composer Studio (CCS)的运行环境;

开发语言支持汇编指令及C/C++;

PRU固件是一种特定格式的文件,只能在系统对PRU资源进行初始化后,再把其固件加载到PRU核中运行。


 

PRU  PRU的使用场合

众所周知,SoC很复杂,里面集成了不少东西。这个PRU就可以理解为一个协处理器,就是主处理器ARM或DSP之外的一个小东西,可以处理一些专门的任务,已达到高效快速(Real-Time)的目的,同时也减轻了主处理器的负担。

而且,这个PRU是Programmable,也就是可以给安装一个固件上去。这个固件会干些什么呢,由开发人员设计实现。在Sitara系列SoC里,TI提供了一些现成的固件,像实现EtherCAT(slave)协议的、Profinet通信的等等,这些都是工业通信的。在没有PRU的情况下,想要做到类似的效果,就需要在外部增加一个ASIC或FPGA部件了。现在整在SoC里的话,就可以把产品做得更小了,也更轻易达到高可靠性。更方便的是,通过内部总线,PRU可以访问到SoC内部的各种资源,包括许多的外设。比如用PRU实现百兆网协议栈,大大扩展一个产品上的网口数量。如今,我司已经推出了M65x系列核心板,M65x系列系列核心板是ZLG致远电子基于TI公司 AM6526处理器 和 AM6548处理器 开发的工控核心板,旨在满足工业4.0嵌入式产品的复杂处理需求。核心板使用的AM6548处理器具有四个主频高达1.1GHz的Cortex-A53内核和两个主频400MHz的Cortex-R5F内核,M65x系列核心板可选1GB或2GB DDR3L内存以及可选DDR ECC功能,eMMC存储器可选4GB或8GB。具体型号有M6526-1GF4GLI-T、M6526-2GF8GLI-T、M6548-1GF4GLI-T、M6548-2GF8GLI-T,产品图片如图3 所示。

PRU

图3 M65x系列核心板

EPCM5300A-LI(如图4)工控机是广州致远电子有限公司基于M6548系列核心板开发的高性能工控机,标配M6548-2GF8GLI-T工控核心板。它是一台可堆叠、可扩展的工控机,分为上下两层,其中下层是工控机的核心部分,上层则是PRU扩展部分。工控机既可以下层单独工作,也可以和上层扩展一起工作。

PRU

图4 EPCM5300A-LI

EPC5300A-LI主机集成了大量的外设和接口资源,正面接口包括电源接口和按键开关、LED指示灯、复位按键、USB接口、SD卡接口和SIM卡接口,背面接口包括CAN-FD接口、千兆以太网、LVDS接口、RS232接口和4G天线接口。在主机内部还有预留MiniPCIe插座接口,支持4G模块或MiniPCI设备(如PCIe转SATA);扩展PRU模块EPCM5300A-PRU,可用于扩展千兆以太网和串口,最多可扩展6路千兆以太网和18路串口、以及RGB LCD接口和MIPI-CSI摄像头接口。EPCM5300A-LI工控机可以满足5G、大数据和人工智能场景下的工业自动化、智能交通、智慧城市等行业应用。

在未来一段时间里,我司将陆续推出更多的支持PRU的核心板(如:M64x系列、M62x系列)及主板,关于PRU更多的样例及特性请关注后续推文解锁。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • PRU

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分