![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||||
|
The Raspberry Pi (RasPi) is a good teaching/learning tool due to the massive discussions around the world. However, the BeagleBone Black (BBB) is, IMHO, far superior for hard real-time applications.------------------------------------------ http://www.raspberrypi.org/products/raspberry-pi-2-model-b/ 900MHz quad-core ARM Cortex-A7 CPU 1GB RAM Micro SD card slot 1x 40-pin header ------------------------------------------ ------------------------------------------ http://beagleboard.org/BLACK http://www.ti.com/product/am3358 http://www.ti.com/tool/beaglebk http://www.ti.com/product/am3359 (even though the schematic and the BOM show an AM3358B, whatever) AM3358BZCZ100, 1GHz ARM Cortex-A8 CPU 512MB DDR3 RAM 4GB 8-bit eMMC on-board flash storage (boots MUCH faster) 2x 46-pin headers (many more I/O pins) 2x PRU 32-bit microcontrollers (on-chip real-time co-processors) ------------------------------------------ The primary factor in the BBB superiority for hard real-time applications is the fact that it has two (2) PRUs (Programmable Real-time Units); these are on-chip real-time co-processors that communicate with the ARM Cortex-A8 via shared memory and cross-coupled interrupts, along with on-chip speed access to the on-chip I/O sections. For hard real-time IOC applications, the 2x RPUs of the BBB are FAR MORE VALUABLE than the extra RAM and quad-cores of the RasPi. The pair of PRUs can be programmed as dedicated interrupt handlers and hardware bit-bangers, almost completely isolated from the multi-user timing of Linux running on the ARM Cortex-A8. Of course, you can use the RTEMS (Real-Time Executive for Multiprocessor Systems), however, native-compiling is so much easier for development and long-term support, if, with the 2x PRUs, Linux on the ARM Cortex-A8 can get the job done. For an EPICS IOC (Input Output Controller) application do not use the LCD/HDMI and you will get twenty (20) additional I/O pins (real handy for parallel I/O chips). The BBB has 2x 46-pin headers; for an EPICS IOC, the more I/O pins the better. Also, the BBB development is easier because it uses a USB virtual Ethernet adapter instead of a serial port dongle with the RasPI. Another also, because the BBB has a single core ARM Cortex-A8, it draws less than 0.5 Amps from the USB virtual Ethernet adapter port, so you do NOT need a separate power supply. Your laptop, a BBB, and a USB cable (that comes with the BBB), is all you need for software development (no power supply or serial port dongle required). When you want to remotely access your BBB based IOC,just use Ethernet and change the IP address to what your router provides the BBB via DHCP. It is helpful to configure your router DHCP to assign IP addresses based on MAC addresses. For the application under discussion, four (4) AD7622 16-bit ADCs at two (2) MSPS, the BBB, with its 1GHz Cortex-A8 and its pair of PRUs handling interrupts and buffering, supported by an CPLD (Complex Programmable Logic Device) doing ADC data multiplexing and synchronization glue logic, will probably get the job done. Thanks, Keith W. Parker <[email protected]> ============================================================= On Wed, Feb 10, 2016 at 10:28 AM, Phil Atkin <[email protected]> wrote:
| ||||||||||||||||
ANJ, 15 Jul 2016 |
![]() · Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |