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

pru,作为ti sitara系列处理的一个特色功能,那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可以独立运行,也可以相互协调,也可以与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的功能特性
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的使用场合
众所周知,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 所示。
图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更多的样例及特性请关注后续推文解锁。

Microchip PIC18(L)F25xx83系列MCU CAN应用开发方案
利用超小型ADC设计低功耗医疗设备方案
Nvidia AI剑走偏锋;MIT水泥破局出奇
麻省理工在HoloLens 2集成射频信号,实现被遮挡物体的感知识别
离子注入仿真用什么模型
【技术分享】带你认识什么是PRU
车载配件
移动发布《5G终端白皮书》 确保2020年全面成熟商用
极氪001FR发布:搭载卫星通信技术 定价或超百万
小米6和OPPOR11全面对比评测:你是买性价比神机的小米6还是买拍照神器OPPO R11?
高阻抗微弱信号测量原理及保护电路设计
未来iPad或iPhone或将使用VCSEL传感器和激光技术提高触屏体验
什么是DPC陶瓷基板?DPC陶瓷基板有哪些特点?
相比于其他的会议模式华为云WeLink会议空间有什么新突破
“安全即服务”效果凸显,三六零实现安全客户覆盖数量提升
基于TMS320VC5510的语音处理平台的设计
联想Z5Pro拆解 整体做工水平优秀具有更佳的解压属性
Intel透露雷电4速度跟雷电3一样 速度实际上还是40Gbps
日亚化为扩增LED产能 投160亿日元建新厂
无线模块的通讯距离一般会受到哪些因素的影响