QUARC Linux QDrone 2 Target QUARC Linux RT ARMv7 Target navigation bar

Table of Contents

QUARC Linux Raspberry Pi Generic Target

The Linux Raspbian target currently supports the Raspbian O/S running on a Raspberry Pi™ board. There are two variants of this target: a QUARC Linux Raspberry Pi Generic Target designed for the Raspberry Pi 0, Pi 2 or Pi 3 and a QUARC Linux Raspberry Pi 3 Target that is optimized for the Pi 3. It is highly recommended that the Pi 3 Target be used with the Pi 3, particularly when video capture and image processing is being performed. This section provides a general description of the QUARC Linux Raspberry Pi Generic Target in addition to limitations and requirements for this target type. Please use the following list to refer to each topic:

Description

The QUARC Linux Raspberry Pi Generic Target currently supports the Linux Raspbian Operating System (OS) running on a Raspberry Pi 0, Pi 2 or Pi 3 board. The Raspberry Pi boards are offered by the Rasberry Pi Foundation. The Pi 3 board contains a quad-core 1.2 GHz 64-bit CPU with 1 GB RAM, along with GPIO, USB, HDMI, WiFi and miniature camera support. It is a larger board suitable for more computationally intensive applications. The Pi 0 W board is smaller and contains a single core 1 GHz CPU with 512 MB RAM and GPIO, USB, HDMI, WiFi and miniature camera support. The full suite of Raspberry Pi boards and their specifications may be found from the Rasberry Pi website.

The QUARC Linux Raspberry Pi Generic Target is a soft real-time system. The Raspbian Linux operating system is not designed to guarantee that events are always processed within a particular timeframe, as in a hard real-time system. Thus, if an operation misses its deadline, it is considered "less" than correct but not an application or system failure. The system simply tolerates the missed deadline and performs the operation with delay. In real-time applications, this behaviour is undesirable since all operations must meet their deadlines. In particular, real-time control applications expect the sampling rate of the controller to be maintained, and no samples to be missed.

To minimize the delays in processing real-time events, the QUARC Linux Raspberry Pi Generic Target assigns the highest possible priority to a model's real-time code. The threads of the real-time code will preempt the threads of all other processes, including operating system processes performing important tasks, such as networking. Hence, a real-time process that executes for more than a brief interval may cause for example networking to be unresponsive.

Please keep in mind that using QUARC with a QUARC Linux Raspberry Pi Generic Target still requires a Windows host. Details on this requirement are given in the Requirements section of this page.

The Raspberry Pi target supports hardware data acquisition drivers for the Pi 0 and Pi 3, as well as the Pi 3 in conjunction with a NAVIO 2 daughterboard for additional I/O geared towards drone applications. For more information about the data acquisition "cards" supported by the QUARC Linux Raspberry Pi Generic Target, please refer to the QUARC Data Acquisition Card Support reference section in the QUARC documentation.

Limitations

There are a number of limitations imposed on the QUARC Linux Raspberry Pi Generic Target. The following is a list of these limitations:

Real-Time Performance

Warning The QUARC Linux Raspberry Pi Generic Target is a soft real-time system. For real-time processes with critical time constraints (e.g. advanced robotics), this target may not be suitable.

Sampling Rates

Warning While fast sampling rates may be specified, rates faster than 2 kHz are not recommended as jitter increases at faster sample rates. The Pi 0 will not sustain sample rates as fast as the Pi 3 due to its slower processor.

Requirements

Code is generated in QUARC on a remote Windows host for the Raspberry Pi target, as MATLAB and Simulink do not run natively on the Raspberry Pi. Hence, MATLAB, Simulink and QUARC are required on a Windows host PC. Please note that even though QUARC must be installed on the Windows host, it is still necessary to have QUARC installed on the Raspberry Pi target, since the QUARC Target Manager must be present where the generated code is running.

Please note that if your only intended target is a Raspberry Pi, the QUARC Windows target is not required and you can select not to install that component when installing QUARC. However the QUARC Simulink Development Environment component is required to generate code from your Simulink models.

Once the code is generated on the Windows host, it is automatically downloaded to the Raspberry Pi target. In order to achieve this, QUARC must also be installed on the Raspberry Pi. The QUARC installer for the Raspberry Pi is found on QUARC installation disk under the quarc\linux_raspbian folder.

Technical Support Package

Warning Due to the high flexibility and customizability of a Raspberry Pi-based system, Quanser only provides limited technical support. If required, please contact the Quanser Sales department for more details regarding running QUARC on a Raspberry Pi board interfacing with your own application(s). The following is a link to the Quanser Support site.

 

navigation bar