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

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content