Raspberry Pi 3 Model B in detail
Bluetooth and Serial Interfaces
The RPi3 supports Bluetooth 4.1, both Bluetooth Classic as well as Bluetooth Low Energy (BLE). This Bluetooth support makes it possible to connect a large selection of peripheral devices, ranging from mice and keyboards to headsets and smartphones. As a result, the user can play music via wireless connections, exchange data between the Rasp Pi and other Bluetooth-capable devices, and share the Internet connection of a smartphone with the Raspberry Pi. BLE is especially relevant for IoT and Smart Home applications. Sensors used with this technology need only a small battery to keep functioning for years. The selection of devices ranges from step counters to smoke alarms to switched plugs.
Depending on the application, Bluetooth under Linux requires installation of additional packages and an appropriate system configuration. For instance, a Bluetooth headset first needs the pulseaudio-module-bluetooth package. Simon Long, the user experience designer for the Raspberry Pi Foundation, is currently investigating how to best integrate the Bluetooth user interface into Raspbian. If you are hoping for a Plug and Play experience with Bluetooth, you'll have to wait for a later release.
In tests with the Kodi distribution OpenELEC, I could only get Bluetooth to work with a Bluetooth keyboard. My attempt to connect a smartphone or diverse headsets failed and generated the message Bluetooth Error protocol not available. See the box titled "Connecting keyboards via Bluetooth" before you get started with Bluetooth in Raspbian.
The Bluetooth module is mounted on the PL011 UART interface of the Rasp Pi. UART (Universal Asynchronous Receiver Transmitter) is an interface that provides serial sending and receiving via a data line. Until now, this interface was available as a serial interface using pins 8 and 10 of the GPIO port. The decision to change this arrangement came about because Raspberry Pi engineer Phil Elwell believed it was necessary to address stability and performance issues. Pins 8 and 10 now support mini UART. (For more information, see the box titled "Mini UART Notes.")
Mini UART Notes
The mini UART now works with a baud rate of 115,200 and is thus eight times as slow as the PL011 UART. Also, mini UART does not support parity. The mini UART feature is connected to the core frequency of VideoCore IV, so the baud rate varies with its clock rate. Elwell recommends setting the clock rate to a constant 250MHz. Alternatively, the two interfaces can be exchanged or Bluetooth can be turned of with the device tree overlay. If the user wants to use the serial interface via the GPIO, it is important to consider the existing restrictions and adjust the settings accordingly. If a GPIO extension uses only the first couple of pins of the Raspberry Pi, it will probably use the serial port.
The current Bluetooth standard is version 4.2, and it includes several security improvements. The speed has doubled for some connections, and IPv6 support is now included for end devices. Some of the new possibilities in version 4.2 will be available through a software update of the Bluetooth stack BlueZ [4].
The New BCM2837 CPU
The latest Rasp Pi also comes with a new CPU – the ARM Cortex A53 – which continues to work as a quad-core component but is clocked for 1.2GHz and supports 64-bit operations. The Raspberry Pi Foundation chose the ARM Cortex A53 because it is also a very, very good 32-bit core. You can clock the A53 at a higher rate, and it uses fewer clock cycles to perform operations. In synthetic benchmarks, the results show a 50 percent increase in performance in comparison with the BCM2836. Table 1 compares the RPi3 with the recent RPi2B and RPi1B+ models. (The Whetstone and Dhrystone benchmarks come from the current edition of MagPi [5].)
Table 1
Comparing Raspberry Pis by Generation
| Raspberry Pi 3B | Raspberry Pi 2B | Raspberry Pi 1B+ |
---|---|---|---|
SoC |
BCM2837 |
BCM2836 |
BCM2835 |
Processor |
|||
Cores |
4 |
4 |
1 |
Type |
ARM Cortex-A53 |
ARM Cortex-A7 |
ARM1176JZF-S |
Architecture |
64-bit ARMv8-A |
32-bit ARMv7-A |
32-bit ARMv6 |
Clock Rate |
1.2GHz |
900MHz |
700MHz |
DMIPS/MHz |
4x2.3 |
4x1.9 |
1x1.25 |
Floating-Point Performance (Whetstone) |
711.4 |
437.2 |
232.5 |
Integer Performance (Dhrystone) |
2458.1 |
1671.6 |
847.1 |
Performance Comparable to |
Pentium M 1.4GHz |
AMD Duron 900MHz |
Pentium II 300MHz |
RAM |
|||
Size |
1024MB |
1024MB |
512MB |
Clock Rate |
900MHz (450MHz DDR) |
900MHz (450MHz DDR) |
800MHz (400MHz DDR) |
VideoCore IV |
|||
Clock Rate |
400MHz |
250MHz |
250MHz |
SD Card |
|||
Clock Rate |
50MHz |
50MHz |
50MHz |
Write Performance |
11.65MBps |
11.33MBps |
10.64MBps |
Read Performance |
19.81MBps |
19.68MBps |
17.79MBps |
Interface |
|||
10/100Mbps Ethernet |
Yes |
Yes |
Yes |
WiFi 802.11b/g/n |
Yes |
No |
No |
Bluetooth 4.1 Classic + Low Energy |
Yes |
No |
No |
ARM focused on real application scenarios when developing the Cortex A53. These scenarios include things like improvements in the cache infrastructure and more intelligent algorithms for reloading data from RAM. The RPi3 works up to twice as fast as its predecessor and 10 times as fast as a first-generation Rasp Pi when performing tasks such as text editing. (See the box titled "Performance Notes."
Performance Notes
The performance curve for the Rasp Pi CPU has closely followed the curve for desktop processors with a 10-year delay. The current state of CPU performance is about that of 2006 desktops. Starting around 2008, desktop CPU performance increases leveled off, because it became more and more difficult to increase clock rates. If this pattern for CPU development continues to hold, performance increases for individual cores of a hypothetical RPi4 could be smaller. At that point, the Foundation might concentrate on better connections for peripherals for the next Rasp Pi generation, although such conjectures are purely speculation at this point.
Applications also profit from the doubling and tripling of the NEON performance of the Cortex A53. The increased performance makes it possible to process similar datasets in parallel with a single command, which helps with applications such as software-based video decoders. The four Cortex A53 cores were implemented on the BCM2837 with 32KB Level 1 and 512KB Level 2 caches. According to Upton, the hardware crypto speed-up of the Cortex A53 CPU in the BCM2837 was deactivated to avoid causing problems with restrictive governmental export and import regulations.
Compatibility is one of the most important considerations for the Raspberry Pi Foundation. The Foundation wants to take a look at whether a 64-bit version of Raspbian makes sense given the compatibility issues and the increased overhead of maintaining two versions. A 64-bit edition would offer significant advantages, such as access to the vector CPU with double-precision floating point, a larger selection of registers (which would improve performance by decreasing stack usage), and optimized access to RAM.
Buy this article as PDF
(incl. VAT)