UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Adam Taylor’s MicroZed Chronicles, Part 131: Introduction NI’s Zynq-based RIO Evaluation Kit, Part 2

by Xilinx Employee on ‎05-16-2016 10:15 AM (10,237 Views)

 

By Adam Taylor

 

 

Once we have installed the software for NI’s LabVIEW RIO Evaluation Kit, the next step is to turn on and configure the board for first use. We also need to set up the software environment so that we can play with the hardware and run the first example.

 

The first thing we have to do is connect the RIO hardware to our PC. Then the software can detect the RIO board and configure it correctly so that we can communicate with it. We have two options: we can either use an Ethernet or USB connection. To make is nice and simple, I decided to use the USB point-to-point connection cable supplied. The only real difference to using this is the static IP address of 172.22.11.2 (see below).

 

With the USB cable connected and power applied, we can complete the RIO Evaluation Kit setup and simply step through the stages to detection. Configure the IP settings and then transfer the software files required. Once this is completed, you should see the LCD screen on top of the RIO Eval board display the classical hello world message.

 

 

Image1.jpg

 

RIO board has been found

 

 

 

Image2.jpg

 

 

Configuring the setup - Click Apply Static IP

 

 

 

Image3.jpg

 

 

Final Configuration Step – Check the LCD

 

 

 

With the board detected, the next things we need to do are:

 

  • Use NI Max to connect to and update the software on the RIO board. We want to update the following:
    1. NI System Configuration
    2. Network Streaming
    3. Network Variable Engine
    4. Variable Client Support for LabVIEW RT
  • Use NI Max to configure the SSH
  • Open and configure the Eclipse environment

 

 

Image4.jpg

 

 

Configuring the RIO using NI Max

 

 

 

Full and detailed instructions of how to achieve this are contained within the NI Build Your Own Embedded System.

 

Once we have done all of this, we are ready to download the first example, which uses a pre-generated FPGA bit file for the PL (programmable logic) side of the on-board Zynq-7000 SoC. Once we have understood the example design’s basic framework, we can customize the PL configuration.

 

For those unfamiliar with LabVIEW, each design element consists of User Interface and a block diagram below it where the design is actually implemented. These design elements can be used hierarchically within a LabVIEW project.

 

Opening LabVIEW example 1, we will see the LED Intensity Picker user interface design. We open this example and click on the run arrow. The application will be downloaded to the RIO board and we can then control the LEDs. 

 

 

Image5.jpg

 

 

User Interface for the LED control application

 

 

Being able to run the application is one thing. However, we want to understand how the different elements of the design come together so that we can create our own designs.

 

From within the LED Picker example, we can open the block diagram below it by using the window -> show block diagram option:

 

 

 

Image6.jpg 

 

 

Block Diagram of the top level design for the first example

 

 

The design above uses a pre-compiled FPGA bit file for the PWM control, which is contained within the read/write control and comes with its own VI (LabVIEW Virtual Instrument) design.

 

Opening this up will show you a simple UI that contains two registers. These registers are the interfaces to the Zynq SoC’s PL for this design. These are the actual register interfaces used in the FPGA configuration. In other words, they’re real hardware registers, not virtual ones. (They are not values held in RAM somewhere.)

 

 

Image7.jpg

 

 

Zynq SoC’s PL register definition for the LED Picker Example

 

 

We can then open the FPGA design which also contains a further design for the PWM light-intensity modulator. Again, this comes with a UI that defines the interfaces to control the PWM in the block diagram.

 

 

Image8.jpg

 

 

FPGA design of the PWM Light-intensity modulator for the LED Picker example

 

 

 

Image9.jpg

 

Center-Aligned PWM

 

 

We’ve simply explored the organization and use of this example by downloading it to the RIO board within the LabVIEW framework. However, there is another way we can do this, which we will look at next time.

 

 

The code is available on Github as always.

 

If you want E book or hardback versions of previous MicroZed chronicle blogs, you can get them below.

 

 

 

  • First Year E Book here
  • First Year Hardback here.

 

 

 MicroZed Chronicles hardcopy.jpg

 

 

 

  • Second Year E Book here
  • Second Year Hardback here

 

 

 MicroZed Chronicles Second Year.jpg

 

 

 

You also can find links to all the previous MicroZed Chronicles blogs on my own Web site, here.

 

 

 

Labels
About the Author
  • Be sure to join the Xilinx LinkedIn group to get an update for every new Xcell Daily post! ******************** Steve Leibson is the Director of Strategic Marketing and Business Planning at Xilinx. He started as a system design engineer at HP in the early days of desktop computing, then switched to EDA at Cadnetix, and subsequently became a technical editor for EDN Magazine. He's served as Editor in Chief of EDN Magazine, Embedded Developers Journal, and Microprocessor Report. He has extensive experience in computing, microprocessors, microcontrollers, embedded systems design, design IP, EDA, and programmable logic.