PRU家族介紹
PRU全稱是The Programmable Real-Time Unit Subsystem,也叫PRUSS。中文名為可編程實時單元,它是一個32位RISC處理器核心,與IO子系統(tǒng)進行了緊密集成,為其IO引腳提供了低延遲控制,具有本地的指令和數(shù)據(jù)RAM,并可尋址訪問整個片上系統(tǒng)資源。
TI(德州儀器)針對其家族設備的不同資源分配情況,提供了三種PRU子系統(tǒng),分別是:PRU-ICSS、PRU-ICSSG、PRU-SS。
PRU-ICSS:The Programmable Real-time Unit and Industrial Communication Subsystem
可編程的實時單元和工業(yè)通信子系統(tǒng)(PRU-ICS)由兩個32bit的RISC核心(PRU)組成,提供了共享數(shù)據(jù),指令存儲,內部和外圍功能子模塊,中斷控制器(INTC)等功能。相關控制器有AM335x、AM437x、AM57x、K2G。
PRU-ICSSG:The Programmable Real-time Unit and Industrial Communication Subsystem – Gigabit
可編程的實時單元和工業(yè)通信子系統(tǒng) - 千兆(PRU_ICSSG)是PRU-ICSS的功能加強版。除了擁有所有PRU-ICSS功能外,還增加了兩個輔助可編程實時單元(RTU)內核,兩個傳輸PRU(TX_PRU)內核,提供加速器,加快數(shù)據(jù)處理和數(shù)據(jù)流動,并新增更多的外圍設備。相關控制器有AM64x、AM65x。
PRU-SS: The Programmable Real-time Unit Subsystem
可編程的實時單元子系統(tǒng)(PRU-SS)是PRU-ICSS的刪減版。功能與PRU-ICSS類似,但不支持包括以太網(MII信號和MDIO信號)在內的工業(yè)通信子系統(tǒng)功能。相關控制器有AM62x。
PRU系統(tǒng)描述
PRU的核心是用精簡指令集來編程的。每個PRU可以獨立運行,也可以相互協(xié)調,也可以與CPU協(xié)同工作。處理器之間的交互是由加載到PRU的指令存儲器中的固件的性質決定的。關于PRU-ICSS/PRU-SS的系統(tǒng)描述如圖1 所示。
圖1 PRU-ICSS/PRU-SS系統(tǒng)描述
PRU-ICSSG擁有RTU,其處理核心與PRU相同,但是RTU與PRU有不同的資源、連接和加速器。例如,PRU可以訪問外部通用輸入和通用輸出(GPI/GPO)引腳,而RTU則不能。關于PRU-ICSSG的系統(tǒng)描述如圖2 所示。
圖2 PRU-ICSSG系統(tǒng)描述
PRU的功能特性
1. 快速I/O
PRU屬于標量處理器,在同一時間內只處理一條數(shù)據(jù);
采用非流水線設計,確保所有指令只能順序執(zhí)行;
本地內存映射,使用位于子系統(tǒng)內部的本地32位互連總線來訪問本地資源,以最大限度地減少訪問延遲。
2. 通用總線
PRU本身也有通用總線功能,如:UART、ECAP、PWM、ADC等。
3. 工業(yè)協(xié)議
TI根據(jù)工業(yè)行業(yè)應用,定制并兼容了多種工業(yè)通訊協(xié)議,如:EtherCAT、Profinet、Ethernet/IP等。
4. 運行環(huán)境
支持TI RTOS、TI Linux SDK及Code Composer Studio (CCS)的運行環(huán)境;
開發(fā)語言支持匯編指令及C/C++;
PRU固件是一種特定格式的文件,只能在系統(tǒng)對PRU資源進行初始化后,再把其固件加載到PRU核中運行。
PRU的使用場合
眾所周知,SoC很復雜,里面集成了不少東西。這個PRU就可以理解為一個協(xié)處理器,就是主處理器ARM或DSP之外的一個小東西,可以處理一些專門的任務,已達到高效快速(Real-Time)的目的,同時也減輕了主處理器的負擔。
而且,這個PRU是Programmable,也就是可以給安裝一個固件上去。這個固件會干些什么呢,由開發(fā)人員設計實現(xiàn)。在Sitara系列SoC里,TI提供了一些現(xiàn)成的固件,像實現(xiàn)EtherCAT(slave)協(xié)議的、Profinet通信的等等,這些都是工業(yè)通信的。在沒有PRU的情況下,想要做到類似的效果,就需要在外部增加一個ASIC或FPGA部件了?,F(xiàn)在整在SoC里的話,就可以把產品做得更小了,也更輕易達到高可靠性。更方便的是,通過內部總線,PRU可以訪問到SoC內部的各種資源,包括許多的外設。比如用PRU實現(xiàn)百兆網協(xié)議棧,大大擴展一個產品上的網口數(shù)量。如今,我司已經推出了M65x系列核心板,M65x系列系列核心板是ZLG致遠電子基于TI公司 AM6526處理器 和 AM6548處理器 開發(fā)的工控核心板,旨在滿足工業(yè)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系列核心板開發(fā)的高性能工控機,標配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、大數(shù)據(jù)和人工智能場景下的工業(yè)自動化、智能交通、智慧城市等行業(yè)應用。