Heterogeneous Multicore SoC Handles Control and HMI Chores
Texas Instruments’ Sitara AM57x (Fig. 1) family incorporates multiple instances of four different types of CPU cores including a 1.5 GHz ARM Cortex-A15, 750 MHz C66x DSP, 213 MHz Cortex-M4, and a TI programmable real-time unit (PRU). It also includes 2D and 3D graphics cores, plus the ability to deliver 1080p60 video to an HDMI output plus three LCD screens. There is even 2.5 Mbytes of RAM on-chip plus a pair of 32-bit DDR3/3L controllers. Both have ECC support.
Sounds like the kitchen sink. Then again, kitchen sinks get more use than just about anything in the kitchen, and the AM57x can be used for just about anything as well.
Having two Cortex-A15 and two C66x DSP cores is not an uncommon approach these days, but pairing them with the two Cortex-M4 and PRUs is. The latter two can handle real-time chores from motor control to industrial Ethernet. The PRUs can also be programmed to handle most fieldbus standards like MODBUS as well as real-time Ethernet interfaces like EtherCAT.
The PRU Ethernet options are for 10/100 Ethernet, but the chip also has a pair of dedicated 1 Gbit/s Ethernet ports as well. Other peripheral support is extensive as well. It includes two PCI Express ports USB 3.0 and USB 2 support, SATA, two DCAN interfaces, QSPI, 5 I2C interfaces, 8 McASP ports, and 10 UARTs.
The video support handles 1080p60 HD streams and the two SGX544 GPUs support OpenCL, allowing them to be used for compute as well as display chores. The GC320 block handles 2D chores like overlays. The chip can even handle half a dozen camera inputs.
Hardware security is not overlooked. There is a hardware random number generator (RNG) and support for AES, SHA-256/-512, and 3DES.
The AM57x comes in a number of different, pin-compatible flavors (Fig. 2) from the basic AM5716 with single cores and more limited user interface support to the AM5728 with a full complement of cores and interfaces.
The family is supported by TI’s Processor SDK for Sitara. The SDK is designed to provide code reuse across the Sitara family, not just the AM57x. It supports the Linaro tool chain and the software support is compatible with the Yocto Project. This includes Linux support as well as TI’s own TI-RTOS. The CPUs and GPUs support Khronos OpenCL.
The AM57x and the entire Sitara family enjoys extensive third-party support. Real-time operating systems, middleware, and development tools are available from the likes of Green Hill Software, Wind River, Mentor Graphics, QNX, and Microsoft.
The BeagleBoard-X15 is the larger cousin to the popular BeagleBone module. Of course, the BeagleBoard-X15 (Fig. 3) is home to an AM57x with one Cortex-A15, one C66x, two Cortex-M4s, and four PRUs. It adds 2 Gybtes of DRAM and 4 Gbytes of eMMC flash storage. Not bad for $199.
The TI $599 AM57x Evaluation Module is based on the BeagleBoard-X15. It adds features like a 7-in. LCD touchscreen and a 3 Mpixel camera. It also has a miniPCIe, mSATA, and WiLink 8 connector.
The BeagleBoard-X15’s sibling, BeagleBoard-xM, is based on a 1 GHz AM37x. It has the same form factor as the BeagleBoard-X15, but only had 512 Mbytes of DRAM and a Cortex-A8 plus a C64+ DSP core. Expansion headers for both boards are found on the bottom.