Compatibility with Previous Releases
The technology underpinning the features and workflows of the Communications Toolbox™ Support Package for USRP™ Embedded Series Radio was updated in release R2019b. In releases before R2019b, the support package uses Analog Devices® no-OS drivers to control RF devices. Starting in release R2019b, the support package uses Analog Devices industrial I/O (IIO) drivers and the corresponding libiio library for interfacing with Linux® IIO devices. This transition gives access to more advanced device properties.
To run a design based on objects or blocks released before R2019b, you must update your design by replacing pre-R2019b objects and blocks with objects and blocks released in R2019b or later. All objects and blocks released before R2019b have been removed.
The next sections highlight compatibility considerations and describe how to update a design based on features released before R2019b.
How to Replace Radio Objects
In releases before R2019b,
interfacing with the E310 or E312 radio hardware is through the
comm.SDRDevE310
radio object. For example,
in this code, devE310
is a
comm.SDRDevE310
radio object.
% Before R2019b devE310= sdrdev('E310');
Starting in release R2019b and
later, you can interface with the E310 or E312 radio hardware by
using the comm.SDRDevE3xx
radio object. To create this
object, call the sdrdev
function with argument
'E3xx'
.
% From R2019b and later dev = sdrdev('E3xx');
Starting in release R2019b and
later, you must also specify a radio hardware name identifier when
calling the downloadImage
function. Specify the radio
hardware name identifier as 'E310'
or
'E312'
.
% From R2019b and later downloadImage(dev,'BoardName','E312');
Replace pre-R2019b radio objects by following these guidelines.
Functionality Removed in R2020a | Use Instead | Compatibility Considerations |
---|---|---|
comm.SDRDevE310 radio
object | comm.SDRDevE3xx radio object |
|
How to Replace System Objects
In releases before R2019b,
sending or receiving data in MATLAB® using the E310 or E312 radio hardware is through the
comm.SDRTxE310
or
comm.SDRRxE310
System objects,
respectively. For example, in this code, rxE310
is a comm.SDRRxE310
receiver System object™.
% Before R2019b rxE310 = sdrrx('E310');
Starting in release R2019b and
later, to receive data in MATLAB using the E310 or E312 radio hardware, use the comm.SDRRxE3xx
receiver System object. To send data from MATLAB to the E310 or E312 radio hardware, use the comm.SDRTxE3xx
transmitter System object. To create the corresponding System objects, call the
sdrrx
or sdrtx
functions with argument
'E3xx'
.
% From R2019b and later rx = sdrrx('E3xx'); tx = sdrtx('E3xx');
Replace pre-R2019b System objects by following these guidelines.
Functionality Removed in R2020a | Use Instead | Compatibility Considerations |
---|---|---|
| comm.SDRRxE3xx receiver System object |
|
comm.SDRTxE310 transmitter
System object | comm.SDRTxE3xx transmitter System object |
|
How to Replace Blocks
In releases before R2019b, sending or receiving data in Simulink® using the E310 or E312 radio hardware is through the E310 Transmitter and E310 Receiver blocks, respectively. You can replace these blocks with E3xx blocks by following these guidelines.
Functionality Removed in R2020a | Use Instead | Compatibility Considerations |
---|---|---|
E310 Receiver block | E3xx Receiver block |
|
E310 Transmitter block | E3xx Transmitter block |
|
Hardware-Software Co-Design Considerations
To enable hardware-software co-design, follow the updated instructions in Installation for Hardware-Software Co-Design.
HDL Code Generation
Because the underlying FPGA image changed in R2019b, you must regenerate your FPGA bitstreams for your updated model. For FPGA targeting, follow the instructions in Step 4. Generate HDL IP Core Using HDL Workflow Advisor. For hardware-software co-design, follow the instructions in Step 7. Generate FPGA Bitstream and Program Zynq Hardware.
Software Interface Models
If you want to deploy a new hardware-software co-design model, follow the instructions in Hardware-Software Co-Design Workflow.
If you have a software interface model generated using a release before R2019b, you can update the generated software model by following these steps.
Replace the pre-R2019b blocks with the E3xx blocks by following the steps in How to Replace Blocks.
On the Advanced tab of the E3xx Receiver block mask, select the Override automatic sample time parameter. Specify the value of the ARM Frame Rate block for the Sample time parameter. Delete the ARM Frame Rate block.
Reconfigure the software interface model. On the Hardware tab, in the Prepare section, click Hardware Settings and select
Xilinx Zynq-7000 Based IIO Radio
from the Hardware board list.