Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
resources:fpga:xilinx:pmod:ad7091r [01 Oct 2013 09:23]
Alexandru.Tofan [FPGA Configuration for ZedBoard]
resources:fpga:xilinx:pmod:ad7091r [09 Jan 2021 00:49] (current)
Robin Getz user interwiki links
Line 6: Line 6:
  
 **HW Platform(s):​** ​ **HW Platform(s):​** ​
-   * [[http://www.xilinx.com/products/​boards-and-kits/​AES-S6MB-LX9.htm|Spartan-6 LX9 Microboard (Avnet)]] ​+   * [[xilinx>products/​boards-and-kits/​AES-S6MB-LX9.htm|Spartan-6 LX9 Microboard (Avnet)]] ​
    * [[http://​www.digilentinc.com/​Products/​Detail.cfm?​NavPath=2,​400,​897&​Prod=NEXYS3|Nexys™3 Spartan-6 FPGA Board (Digilent)]]    * [[http://​www.digilentinc.com/​Products/​Detail.cfm?​NavPath=2,​400,​897&​Prod=NEXYS3|Nexys™3 Spartan-6 FPGA Board (Digilent)]]
    * [[http://​www.em.avnet.com/​en-us/​design/​drc/​Pages/​Zedboard.aspx|Avnet ZedBoard]] \\    * [[http://​www.em.avnet.com/​en-us/​design/​drc/​Pages/​Zedboard.aspx|Avnet ZedBoard]] \\
Line 15: Line 15:
  
 ==== Required Hardware ==== ==== Required Hardware ====
-  * [[http://www.xilinx.com/products/​boards-and-kits/​AES-S6MB-LX9.htm|Spartan-6 LX9 Microboard (Avnet)]]+  * [[xilinx>products/​boards-and-kits/​AES-S6MB-LX9.htm|Spartan-6 LX9 Microboard (Avnet)]]
   * [[http://​www.digilentinc.com/​Products/​Detail.cfm?​NavPath=2,​400,​897&​Prod=NEXYS3|Nexys™3 Spartan-6 FPGA Board (Digilent)]]  ​   * [[http://​www.digilentinc.com/​Products/​Detail.cfm?​NavPath=2,​400,​897&​Prod=NEXYS3|Nexys™3 Spartan-6 FPGA Board (Digilent)]]  ​
   * [[http://​www.em.avnet.com/​en-us/​design/​drc/​Pages/​Zedboard.aspx|Avnet ZedBoard]]  ​   * [[http://​www.em.avnet.com/​en-us/​design/​drc/​Pages/​Zedboard.aspx|Avnet ZedBoard]]  ​
Line 26: Line 26:
 ==== Running Demo (SDK) Program ==== ==== Running Demo (SDK) Program ====
  
-<WRAP center round tip 80%>If you are not familiar with LX9 and/or Xilix tools, please visit\\ [[http://www.xilinx.com/products/​boards-and-kits/​AES-S6MB-LX9.htm]] for details.\\+<WRAP center round tip 80%>If you are not familiar with LX9 and/or Xilix tools, please visit\\ [[xilinx>products/​boards-and-kits/​AES-S6MB-LX9.htm]] for details.\\
 If you are not familiar with Nexys™3 and/or Xilix tools, please visit\\ [[http://​www.digilentinc.com/​Products/​Detail.cfm?​NavPath=2,​400,​897&​Prod=NEXYS3]] for details.\\ If you are not familiar with Nexys™3 and/or Xilix tools, please visit\\ [[http://​www.digilentinc.com/​Products/​Detail.cfm?​NavPath=2,​400,​897&​Prod=NEXYS3]] for details.\\
 If you are not familiar with ZedBoard and/or Xilix tools, please visit\\ [[http://​www.em.avnet.com/​en-us/​design/​drc/​Pages/​Zedboard.aspx]] for details.</​WRAP>​ If you are not familiar with ZedBoard and/or Xilix tools, please visit\\ [[http://​www.em.avnet.com/​en-us/​design/​drc/​Pages/​Zedboard.aspx]] for details.</​WRAP>​
Line 117: Line 117:
     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​cf_ad7091r_zed|XPS Project]]\\     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​cf_ad7091r_zed|XPS Project]]\\
     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​cf_lib/​edk/​pcores/​axi_ad7091r_v1_00_a|AD7091R IPCore]] \\     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​cf_lib/​edk/​pcores/​axi_ad7091r_v1_00_a|AD7091R IPCore]] \\
-    * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​Common/​cf_lib|Required Project Libraries]]\\+    * [[https://​github.com/​analogdevicesinc/​fpgahdl_xilinx/​tree/​master/​cf_lib|Required Project Libraries]]\\
     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6|PmodAD6 Driver Files]]\\     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6|PmodAD6 Driver Files]]\\
     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​bin|Programming Script]]\\     * [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​bin|Programming Script]]\\
     ​     ​
 </​WRAP>​ </​WRAP>​
 +<wrap hide>
 +====== Linux Device Driver - Custom HDL PCore ======
  
 +Connect PmodAD6 to the JD1 connector of the ZedBoard (upper row of pins).
 +
 +===== Preparing the SD Card =====
 +
 +In order to prepare the SD Card for booting Linux on the ZedBoard:
 +    * Download the device tree: [[https://​github.com/​analogdevicesinc/​no-OS/​blob/​master/​Pmods/​PmodAD6/​dts/​zynq-zed-adv7511-pmod-ad6-ipcore.dts|PmodAD6 Linux devicetree]]
 +    * Download the Xilinx XPS project: [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​cf_ad7980_zed|PmodAD6 Linux XPS Project]]
 +    * Download the AD7091R IPcore: [[https://​github.com/​analogdevicesinc/​no-OS/​tree/​master/​Pmods/​PmodAD6/​cf_lib/​edk/​pcores/​axi_ad7091r_v1_00_a|AD7091R IPCore]] \\
 +    * Download the project libraries: [[https://​github.com/​analogdevicesinc/​fpgahdl_xilinx/​tree/​master/​cf_lib|Required Project Libraries]]\\
 +    * Follow the instructions on the following wiki page, but use the device tree and project downloaded on the previous step
 +        * [[/​resources/​tools-software/​linux-drivers/​platforms/​zynq?​s=adv7511&​s=linux|Linux with HDMI video output on the ZED and ZC702]].
 +
 +Make sure you have an HDMI monitor connected to the ZedBoard, plug in the SD Card and power on the board.
 +If everything is correct, the system should boot up. If you don't have an HDMI monitor, connect to the board via UART, Baud Rate 115200.
 +
 +There are 2 ways to test the driver.
 +    * Using the terminal window
 +    * Using the ADI IIO Oscilloscope
 +
 +===== Using the terminal window =====
 +
 +Open a new terminal window by pressing **Ctrl+Alt+T**.
 +
 +Navigate to the location of the device and identify it using the following commands:
 +<​code>​
 +cd /​sys/​bus/​iio/​devices/​
 +ls
 +iio:device0 iio:device1 trigger0
 +cd iio\:​device0
 +cat name
 +AD7091R
 +</​code>​
 +
 +If the **cat name** command doesn'​t return **ad7091r**,​ then change the number of the iio:device, and check again.
 +<​code>​
 +cd ..
 +cd iio\:​device1
 +cat name
 +</​code>​
 +
 +To see the list of options that the AD7980 driver provides, type:
 +<​code>​
 +ls
 +buffer ​ dev  name  power  scan_elements ​ subsystem ​ uevent
 +</​code>​
 +
 +To read the raw input voltage, type:
 +<​code>​
 +cd buffer
 +echo 128 > length
 +echo 1 > enable
 +hexdump -x /​dev/​iio\:​device0
 +0000000 ​   0000    dc3e    0000    dc1b    0000    dc3f    0000    dc4a
 +0000010 ​   0000    dc2c    0000    dc3e    0000    dc25    0000    dc3d
 +0000020 ​   0000    dc38    0000    dc2f    0000    dc2c    0000    dc22
 +0000030 ​   0000    dc03    0000    dc1a    0000    dbfe    0000    dbff
 +0000040 ​   0000    dc25    0000    dc29    0000    dc22    0000    dc05
 +0000050 ​   0000    dc20    0000    dc2a    0000    dc09    0000    dc2e
 +0000060 ​   0000    dc12    0000    dc0c    0000    dc2c    0000    dc2b
 +0000070 ​   0000    dc3b    0000    dc2f    0000    dc2a    0000    dc14
 +</​code>​
 +
 +{{:​resources:​fpga:​xilinx:​pmod:​ad7091r_custom_linaro_terminal.jpg?​600|AD7091R Read Voltage from Terminal}}
 +
 +The commands written above can also be used if not using an HDMI monitor and a wireless keyboard, by using a serial terminal, and typing the commands after the system boot-up is complete.
 +
 +{{:​resources:​fpga:​xilinx:​pmod:​ad7091r_custom_linux_serial.jpg?​600|AD7091R Read Voltage from Serial Terminal}}
 +
 +===== Using the ADI IIO Oscilloscope =====
 +
 +Install the ADI IIO Oscilloscope using the instructions from the following wiki page:
 +    * [[/​resources/​tools-software/​linux-software/​iio_oscilloscope|IIO Oscilloscope]]
 +
 +Launch the ADI IIO Oscilloscope.
 +
 +Select **AD7091R** from the **Device** drop-down menu. Set the desired number of samples in the **Sample Count** tab. Click the **Green Play Button** in order to start capturing and displaying data. Click **Stop** to stop the process.
 +
 +{{:​resources:​fpga:​xilinx:​pmod:​ad7091r_custom_iio_plot.jpg?​600|AD7091R IIO Oscilloscope Plot}}
 +</​wrap>​
 ===== More information ===== ===== More information =====
   * [[ez>​community/​fpga|ask questions about the FPGA reference design]]   * [[ez>​community/​fpga|ask questions about the FPGA reference design]]
   * Example questions: {{rss>​http://​ez.analog.com/​community/​feeds/​allcontent/​atom?​community=2061 5 author 1d}}   * Example questions: {{rss>​http://​ez.analog.com/​community/​feeds/​allcontent/​atom?​community=2061 5 author 1d}}
resources/fpga/xilinx/pmod/ad7091r.1380612209.txt.gz · Last modified: 01 Oct 2013 09:23 by Alexandru.Tofan