資料介紹
Table of Contents
Analog Devices High Speed Converter Toolbox For MATLAB and Simulink
ADI maintains a set of tools to model, interface, and target with ADI high-speed converter devices within MATLAB and Simulink. These are combined into single Toolbox which contains a set of Board Support Packages (BSP). The list of supported boards is provided below.
Quick Start with Toolbox
The current stable Toolbox can be downloaded from the High Speed Converter Toolbox GitHub Release Page. Download the latest mltbx file then open that file within MATLAB. Opening the file will automatically install the Toolbox, adding the necessary components to your MATLAB path. The “Analog Devices, Inc. High Speed Converter Toolbox” will appear in your Add-Ons Explore within MATLAB.
To interface and stream data with hardware will require installation of libiio and one of two Hardware Support Packages from MathWorks. The libiio library can be obtained on the Github page of the project.
Libiio Installers
- Installer for latest nighty build (Windows 32-bit / 64-bit) (may be unstable / buggy)
Installation of either:
is required to use the streaming system objects or blocks. These support packages provide the necessary libIIO MATLAB bindings used by ADI's system objects.
Building the Toolbox Manually
The toolbox can only be built under Linux or with Cygwin on a Windows platform. Conveniently, the entire process is automated with a Makefile located in the CI/scripts folder of the repository. The following is required on the system before the build process can be run:
- A supported MATLAB version installed in the default location (/usr/local/MATLAB)
- A supported Vivado version installed in the default location (/opt/Xilinx)
- Packages: git zip unzip tar make wget sed
First clone the repo and move into it:
git clone https://github.com/analogdevicesinc/HighSpeedConverterToolbox.git cd HighSpeedConverterToolbox
To build the toolbox run the following:
make -C CI/scripts build
To create a installable tlbx file run:
make -C CI/scripts gen_tlbx
Device Control and Data Streaming
Device interfaces which provide control and data streaming are implemented with MATLAB System Objects and Simulink Blocks. These System Objects can be access under the “adi” namespace in MATLAB and are followed by their part number or board name and finally Tx or Rx:
adi..
For example, to instantiate an AD9144 object to control the high speed converter it can be created as follows:
tx = adi.AD9144.Tx;
All supported boards are derived from low level objects based on their parts. For example, the DAQ2 Evaluation board actually contains an AD9680 and AD9144. Therefore, it simply uses AD9680 and AD9144 objects under the hood. However, to interact with the more familiar DAQ2 interface naming the Rx side can be instantiated like above as:
rx = adi.DAQ2.Rx;
For example usage of certain objects, it can be useful to inspect their related test code which exercises initiations in different configurations. The available code is available in the GitHub repo folder here, where object tests have the naming convention
To get a list of currently available objects with the BSP installed simply run:
help adi
To get more information on a given object run:
help adi..
or
doc adi..
Common Attributes
There are some common attributes that need to be set for system objects and parts.
uri
Context address of IIO device. Possible options include:- IP with usage
rx.uri = 'ip:192.168.2.1'
- USB with usage
rx.uri = 'usb:1.2.3'
Extending Interfaces
If a driver attribute or setting is not available in the standard objects it can be easily extended to cover more IIO attributes. See this guide.
HDL Targeting with HDL-Coder
The Analog Devices Toolbox for MathWorks HDL Workflow Advisor is a collection of board definitions and reference designs that provide to the MathWorks HDL Workflow Advisor support to:
- Generate IP blocks compatible with Analog Devices HDL reference designs for various Analog Devices platforms
- Automatically insert the generated IPs into the Analog Devices Vivado HDL reference designs
This Analog Devices Toolbox is based on the MathWorks Board and Reference Design Registration System.
Functionality
The MathWorks HDL Workflow Advisor enables users to automatically generate HDL code from a Simulink model. The user can choose from a selection of several different Target Workflows, including “ASIC/FPGA”, “FPGA-In-The-Loop”, and “IP Core Generation”. Target Platform selections include Xilinx Evaluation Boards and Altera Evaluation Boards as well as other custom evaluation boards.
The Analog Devices BSP for HDL Workflow Advisor extends the set of Target Workflows for IP Core Generation with the Analog Devices boards listed in the Supported Platforms section. The BSP consists of a set of board definitions that specify all the characteristics needed by the HDL Workflow Advisor to be able to incorporate a board in the code generation flow, as well as a set of Xilinx Vivado reference designs that are used by the Workflow Advisor to automatically insert the generated IPs into the Vivado designs. All the Analog Devices Vivado HDL reference designs have inside a ‘donut hole’ to accommodate custom IPs. Each design exposes a set of interface signals to which the IP can connect to. All these signals are specified in the board definition and are available in the Workflow Advisor GUI to connect to the generated IP’s ports.
When running the Workflow Advisor the first step if to select the Target Platform. The figure below shows some of the available Analog Devices target platforms.
The next step is to configure the interfaces between the IP and the reference design. Each target platform has a set of interface signals that are accessible in the Target Platform Interfaces drop down boxes form step 1.2 (Set Target Interface) of the HDL Workflow Advisor. The figure below shows an example of how to configure the target interface for a specific model.
All the Analog Devices platforms have similar interface signals and they are dependent on the type of flow that is selected – receive (Rx) or transmit (Tx). The table below describes the interface signals for the AD9361 based SDR platforms.
Receive flow (Rx)
Signal name | Width | Description |
---|---|---|
IP Data 0 OUT | 16 | Custom IP data output signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data 1 OUT | 16 | Custom IP data output signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data 2 OUT | 16 | Custom IP data output signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data 3 OUT | 16 | Custom IP data output signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data Valid OUT | 1 | Data valid signal from the custom IP. Used to signal to the rest of the design that the IP data out channels have valid data. The duration must be 1 clock cycle. |
AD9361 ADC Data I0 | 16 | AD9361 ADC I0 channel data. |
AD9361 ADC Data Q0 | 16 | AD9361 ADC Q0 channel data. |
AD9361 ADC Data I1 | 16 | AD9361 ADC I1 channel data. |
AD9361 ADC Data Q1 | 16 | AD9361 ADC Q1 channel data. |
Transmit flow (Tx)
Interface signal name | Width | Description |
---|---|---|
IP Data 0 IN | 16 | Custom IP data input signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data 1 IN | 16 | Custom IP data input signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data 2 IN | 16 | Custom IP data input signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Data 3 IN | 16 | Custom IP data input signal. This signal is connected to a DMA channel in the ADI reference design. |
IP Load Tx Data OUT | 1 | Custom IP output signal used to notify the design that the IP is ready to receive new input data. The duration must be 1 clock cycle. |
AD9361 DAC Data I0 | 16 | AD9361 DAC I0 channel data. To be used as input into the custom IP. |
AD9361 DAC Data Q0 | 16 | AD9361 DAC I0 channel data. To be used as input into the custom IP. |
AD9361 DAC Data I1 | 16 | AD9361 DAC I0 channel data. To be used as input into the custom IP. |
AD9361 DAC Data Q1 | 16 | AD9361 DAC I0 channel data. To be used as input into the custom IP. |
The custom IP always runs at the sample clock and must be able to process / generate a sample every clock cycle.
Once the target interface has been defined, make sure to select the “Target Language” as Verilog (defaults to VHDL) in Step 3.1.1 of the HDL Workflow Advisor. All the other settings of steps 2 and 3 of the HDL Workflow Advisor can be left in their default state and the project generation process can be started by running step 4.1 (Create Project). The result of this step is a Vivado project which has the custom IP core integrated into the Analog Devices HDL reference design. The bitstream for the design can be generated either by running step 4.4 (Create bitstream) or by compiling the generated Vivado Project directly in Vivado. The project can be found in the hdl_prj/vivado_ip_prj folder.
Further Reading
Creating a BOOT.BIN from HDL Workflow Advisor
Unlike the support package provided by MathWorks, the update process for the bitstreams requires the creation of a BOOT.BIN file which will be compatible with the ADI SD card.
First, make sure you have a valid SD card for your platform with the necessary device tree and kernel image selected. Follow this process here.
Once your SD card is ready, in step 4.3 “Build FPGA Bitstream” of HDL Workflow Advisor select a custom Tcl file for synthesis build. Utilize this adi_build.tcl file for Linux or this adi_build_win.tcl file for Windows located within the BSP as your custom tcl file.
Once the bitstream is built it will generate the BOOT.BIN necessary for booting your system. Place the generated BOOT.BIN in the root of your ADI SD card's BOOT partition.
Simulation Models of Hardware
The HSX toolbox has behavioral simulation models of the following parts.
Part | Type | Initial Supported Release |
---|---|---|
AD9081 | Behavioral | R2019b |
These models are available under the adi.sim
namespace in MATLAB and can be instantiated as follows:
model = adi.sim..
Examples of using these models are located in the hsx_examples
folder which ships with the toolbox, which is also available on GitHub. The tests folder will also contain usage examples that are primarily used for testing functionality but can be useful to learn different configurations.
Supported Boards
The following have device-specific implementations in MATLAB and Simulink. If a device has an IIO driver, MATLAB support is possible, but a device-specific MATLAB or Simulink interface may not exist yet.
Evaluation Card | FPGA Board | Streaming Support | Targeting | Variants and Minimum Supported Release |
---|---|---|---|---|
DAQ2 (AD9680/AD9144) | ZC706 | Yes | No | ADI (2019a) |
ZCU102 | Yes | Yes | ADI (2019a) | |
Arria10 SoC | Yes | No | ADI (2019a) | |
AD9081/AD9082 | ZCU102 | Yes | No | ADI (2020a) |
VCU118 | Yes | No | ADI (2020a) | |
AD9988/AD9986 | ZCU102 | Yes | No | ADI (2020a) |
VCU118 | Yes | No | ADI (2020a) | |
AD9209/AD9209/AD9177 | ZCU102 | Yes | No | ADI (2020a) |
VCU118 | Yes | No | ADI (2020a) | |
QuadMxFE (AD9081 x4) | VCU118 | Yes | No | ADI (2020a) |
AD9467 | Zedboard | Yes | No | ADI (2018b) |
Examples
Examples for streaming data and targeting FPGAs are listed within the Toolbox documentation itself. To view run the following with MATLAB:
doc adi
Help & Support
- Questions? Ask Help & Support.
- MATLAB自動駕駛工具箱使用
- MATLAB環(huán)境下構建的系統(tǒng)辨識仿真工具箱的介紹和原理與實現(xiàn)資料說明 8次下載
- 使用MATLAB遺傳算法工具箱實現(xiàn)控制系統(tǒng)的設計與仿真資料說明 10次下載
- Matlab工具箱以及其它組件 10次下載
- Matlab工具箱應用 蘇金明編 0次下載
- MATLAB軟件符號語言工具箱簡介 0次下載
- matlab模糊控制工具箱的使用 17次下載
- MATLAB 常用工具箱 14次下載
- MATLAB_HMM工具箱 21次下載
- 基于Matlab遺傳工具箱的高強混凝土配合比優(yōu)化
- GPS工具箱(坐標轉換,線路設計)
- matlab的其他工具箱及SIMULINK 0次下載
- 基于Matlab FIS工具箱的模糊自整定PID控制系統(tǒng)的設
- matlab神經網(wǎng)絡源程序工具箱
- matlab遺傳工具箱下載
- 如何利用Matlab進行神經網(wǎng)絡訓練 761次閱讀
- MATLAB信號處理常用函數(shù)詳解 971次閱讀
- 信道編碼器與譯碼器原理仿真 785次閱讀
- 如何在Python或MATLAB環(huán)境中使用ACE快速評估數(shù)據(jù)轉換器 439次閱讀
- 基于整數(shù)規(guī)劃工具箱的幾個典型例子 527次閱讀
- 如何在MATLAB中使用線性規(guī)劃求解不同的問題 689次閱讀
- 如何使用Matlab自帶的相控陣工具箱寫波束形成算法 1415次閱讀
- 不同的設備類別和新興設備趨勢和解決方案工具箱 850次閱讀
- 滲透測試工具箱siusiu的特性及使用 2555次閱讀
- 基于FIFO存儲器實現(xiàn)高速AD轉換器與ARM處理器的接口設計 2353次閱讀
- 降壓-升壓轉換器能否成為實現(xiàn)DC/DC電壓轉換的通用工具? 2326次閱讀
- 您的SEED工具箱中所有必要的部分有哪些? 4436次閱讀
- MATLAB程序調試的方法及工具介紹 6644次閱讀
- MATLAB基礎知識MATLAB的簡介,編程環(huán)境和基本操作的詳細概述 7382次閱讀
- 高速模數(shù)轉換器的轉換誤差率解密 2102次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多