AM3356/7/8/9 (如 BeagleBone Black) 都有 PRU-ICSS (Programmable Real-Time Unit Subsystem and Industrial Communication Subsystem)。
- Supports Protocols such as EtherCAT®, PROFIBUS, PROFINET, EtherNet/IP™, and More
- 2x PRU:兩個額外有自己的程式碼和記憶體的處理器,可用來作接近硬體的、即時的工作,減輕主處理器的負擔。
- 32-Bit Load/Store RISC Processor @ 200 MHz
- 8KB of Instruction RAM With Single-Error Detection (Parity)
- 8KB of Data RAM With Single-Error Detection (Parity)
- Single-Cycle 32-Bit Multiplier With 64-Bit Accumulator
- Enhanced GPIO Module Provides Shift-In/Out Support and Parallel Latch on External Signal
- 12KB of Shared RAM With Single-Error Detection (Parity)
- Three 120-Byte Register Banks Accessible by Each PRU
- Interrupt Controller (INTC) for Handling System Input Events
- Local Interconnect Bus for Connecting Internal and External Masters to the Resources Inside the PRU-ICSS
- 內部週邊
- 1x UART Port With Flow Control Pins, Supports up to 12 Mbps
- 1x Enhanced Capture (eCAP) Module
- 2x MII Ethernet Ports that Support Industrial Ethernet, such as EtherCAT
- 1x MDIO Port
應用
- 實作 25 PWM、4 軟體 UART、步進馬達驅動等。
- BeagleLogic:14-channel, 100Msps Logic Analyzer
- kernel 模組透過 remoteproc 驅動 PRU 取樣到記憶體 (/dev/beaglelogic)。
- 如果搭配 sigrok 函式庫可解析超過 30 種不同協定。
- 網頁
- Sample Size: 8-bit 或 16-bit [最多 14 個輸入: P8-39:46、P8-27:30、P8-20:21 (需停用 eMMC)]
- 由於 IO 耐壓 3.3V,可用 74LVCH16T245 隔離,OEn 是 pull up 接 SYS_RESETn N-MOSFET 開關,確保不影響 system boot pin 功能。
- Using the Beaglebone PRU to achieve realtime at low cost
- An Introduction To The BeagleBone PRU
- https://beagleboard.org/pru
- PRUCAPE
- Slide: PRU Hardware Overview (Oct 2014)
- Slide: PRU Firmware Development (Oct 2014)
- Slide: Enhancing Real-time Capabilities with the PRU (有提到 remoteproc 及 rpmsg)
- http://processors.wiki.ti.com/index.php/PRU-ICSS (PRU 文件集散地)
- http://elinux.org/Ti_AM33XX_PRUSSv2
- http://keystone-workshop.googlecode.com/svn/trunk/preliminary/Working/presentations/Sitara/PRU%20in%20Sitara%20Device.pptx
- http://www.eetimes.com/author.asp?section_id=36&doc_id=1319628
參考
沒有留言:
張貼留言