电子说
PRU家族介绍
PRU全称是The Programmable Real-Time Unit Subsystem,也叫PRUSS。中文名为可编程实时单元,它是一个32位RISC处理器核心,与IO子系统进行了紧密集成,为其IO引脚提供了低延迟控制,具有本地的指令和数据RAM,并可寻址访问整个片上系统资源。
可编程的实时单元和工业通信子系统(PRU-ICS)由两个32bit的RISC核心(PRU)组成,提供了共享数据,指令存储,内部和外围功能子模块,中断控制器(INTC)等功能。相关控制器有AM335x、AM437x、AM57x、K2G。
可编程的实时单元和工业通信子系统 - 千兆(PRU_ICSSG)是PRU-ICSS的功能加强版。除了拥有所有PRU-ICSS功能外,还增加了两个辅助可编程实时单元(RTU)内核,两个传输PRU(TX_PRU)内核,提供加速器,加快数据处理和数据流动,并新增更多的外围设备。相关控制器有AM64x、AM65x。
可编程的实时单元子系统(PRU-SS)是PRU-ICSS的删减版。功能与PRU-ICSS类似,但不支持包括以太网(MII信号和MDIO信号)在内的工业通信子系统功能。相关控制器有AM62x。
PRU系统描述
PRU的核心是用精简指令集来编程的。每个PRU可以独立运行,也可以相互协调,也可以与CPU协同工作。处理器之间的交互是由加载到PRU的指令存储器中的固件的性质决定的。关于PRU-ICSS/PRU-SS的系统描述如图1 所示。
图1 PRU-ICSS/PRU-SS系统描述
PRU-ICSSG拥有RTU,其处理核心与PRU相同,但是RTU与PRU有不同的资源、连接和加速器。例如,PRU可以访问外部通用输入和通用输出(GPI/GPO)引脚,而RTU则不能。关于PRU-ICSSG的系统描述如图2 所示。
图2 PRU-ICSSG系统描述
PRU的功能特性
PRU属于标量处理器,在同一时间内只处理一条数据;
采用非流水线设计,确保所有指令只能顺序执行;
本地内存映射,使用位于子系统内部的本地32位互连总线来访问本地资源,以最大限度地减少访问延迟。
2. 通用总线
PRU本身也有通用总线功能,如:UART、ECAP、PWM、ADC等。
TI根据工业行业应用,定制并兼容了多种工业通讯协议,如:EtherCAT、Profinet、Ethernet/IP等。
支持TI RTOS、TI Linux SDK及Code Composer Studio (CCS)的运行环境;
开发语言支持汇编指令及C/C++;
PRU固件是一种特定格式的文件,只能在系统对PRU资源进行初始化后,再把其固件加载到PRU核中运行。
PRU的使用场合
众所周知,SoC很复杂,里面集成了不少东西。这个PRU就可以理解为一个协处理器,就是主处理器ARM或DSP之外的一个小东西,可以处理一些专门的任务,已达到高效快速(Real-Time)的目的,同时也减轻了主处理器的负担。
图3 M65x系列核心板
EPCM5300A-LI(如图4)工控机是广州致远电子有限公司基于M6548系列核心板开发的高性能工控机,标配M6548-2GF8GLI-T工控核心板。它是一台可堆叠、可扩展的工控机,分为上下两层,其中下层是工控机的核心部分,上层则是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更多的样例及特性请关注后续推文解锁。
原文标题:【技术分享】带你认识什么是PRU
文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !