This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:fpga:xilinx:pmod:ad5628 [30 Aug 2013 14:14] – Added ZedBoard Alexandru.Tofan | resources:fpga:xilinx:pmod:ad5628 [09 Jan 2021 00:49] (current) – user interwiki links Robin Getz | ||
---|---|---|---|
Line 6: | Line 6: | ||
**HW Platform(s): | **HW Platform(s): | ||
- | * [[http://www.xilinx.com/products/ | + | * [[xilinx>products/ |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
Line 15: | Line 15: | ||
==== Required Hardware ==== | ==== Required Hardware ==== | ||
- | * [[http://www.xilinx.com/products/ | + | * [[xilinx>products/ |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
Line 28: | Line 28: | ||
==== 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/ | + | <WRAP center round tip 80%>If you are not familiar with LX9 and/or Xilix tools, please visit\\ [[xilinx>products/ |
If you are not familiar with Nexys™3 and/or Xilix tools, please visit\\ [[http:// | If you are not familiar with Nexys™3 and/or Xilix tools, please visit\\ [[http:// | ||
If you are not familiar with ZedBoard and/or Xilix tools, please visit\\ [[http:// | If you are not familiar with ZedBoard and/or Xilix tools, please visit\\ [[http:// | ||
Line 131: | Line 131: | ||
</ | </ | ||
+ | <WRAP round important 80%> | ||
+ | When using the ZedBoard reference design in order to develop your own software, please make sure that the following options are set in " | ||
+ | |||
+ | <code c> | ||
+ | // Select between PS7 or AXI Interface | ||
+ | #define USE_PS7 1 | ||
+ | // SPI used in the design | ||
+ | #define USE_SPI 1 | ||
+ | // I2C used in the design | ||
+ | #define USE_I2C 0 | ||
+ | // Timer (+interrupts) used in the design | ||
+ | #define USE_TIMER 1 | ||
+ | // External interrupts used in the design | ||
+ | #define USE_EXTERNAL | ||
+ | // GPIO used in the design | ||
+ | #define USE_GPIO | ||
+ | </ | ||
+ | |||
+ | </ | ||
===== Downloads ===== | ===== Downloads ===== | ||
Line 145: | Line 164: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | + | * [[https:// |
* [[https:// | * [[https:// | ||
| | ||
</ | </ | ||
+ | <wrap hide> | ||
+ | ====== Linux Device Driver ====== | ||
+ | |||
+ | Connect PmodDA4 to the JB1 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:// | ||
+ | * Follow the instructions on the following wiki page, but use the device tree downloaded on the previous step | ||
+ | * [[/ | ||
+ | |||
+ | 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 a serial terminal | ||
+ | |||
+ | ===== 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: | ||
+ | < | ||
+ | cd / | ||
+ | ls | ||
+ | iio:device0 iio:device1 trigger0 | ||
+ | cd iio\: | ||
+ | cat name | ||
+ | ad5628-1 | ||
+ | </ | ||
+ | |||
+ | If the **cat name** command doesn' | ||
+ | < | ||
+ | cd .. | ||
+ | cd iio\: | ||
+ | cat name | ||
+ | </ | ||
+ | |||
+ | To see the list of options that the AD5628 driver provides, type: | ||
+ | < | ||
+ | ls | ||
+ | dev out_voltage4_powerdown_mode | ||
+ | name | ||
+ | out_voltage0_powerdown | ||
+ | out_voltage0_powerdown_mode | ||
+ | out_voltage0_raw | ||
+ | out_voltage0_scale | ||
+ | out_voltage1_powerdown | ||
+ | out_voltage1_powerdown_mode | ||
+ | out_voltage1_raw | ||
+ | out_voltage1_scale | ||
+ | out_voltage2_powerdown | ||
+ | out_voltage2_powerdown_mode | ||
+ | out_voltage2_raw | ||
+ | out_voltage2_scale | ||
+ | out_voltage3_powerdown | ||
+ | out_voltage3_powerdown_mode | ||
+ | out_voltage3_raw | ||
+ | out_voltage3_scale | ||
+ | out_voltage4_powerdown | ||
+ | </ | ||
+ | |||
+ | To set the raw output voltage for channel A, type: | ||
+ | < | ||
+ | echo 1200 > out_voltage0_raw | ||
+ | </ | ||
+ | |||
+ | To check that the raw output voltage has been set, you can type: | ||
+ | < | ||
+ | cat out_voltage0_raw | ||
+ | 1200 | ||
+ | </ | ||
+ | |||
+ | If you want to set the voltage for another channel, replace **out_voltage0_raw** with, for example, **out_voltage1_raw**. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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. | ||
+ | {{: | ||
+ | </ | ||
===== More information ===== | ===== More information ===== | ||
* [[ez> | * [[ez> | ||
* Example questions: {{rss> | * Example questions: {{rss> |