Wiki

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
resources:fpga:xilinx:interposer:ad5232 [28 Sep 2012 11:29] – Added common section for describing the evaluation setup and System Demonstration Platform Adrian Costinaresources:fpga:xilinx:interposer:ad5232 [16 Oct 2013 15:20] – Fix some typos. Istvan Csomortani
Line 11: Line 11:
 ====== Overview ====== ====== Overview ======
  
-This document presents the steps to setup an environment for using the **[[adi>AD5232|EVAL-AD5232SDZ]]** evaluation board together with the Xilinx KC705 FPGA boardthe Xilinx Embedded Development Kit (EDK) and the [[http://micrium.com/page/products/tools/probe|Micrium µC-Probe]] run-time monitoring tool. Below is presented a picture of the EVAL-AD5232SDZ Evaluation Board with the Xilinx KC705 board.+This document presents the steps to setup an environment for using the **[[adi>AD5232|EVAL-AD5232SDZ]]** evaluation board together with the Xilinx KC705 FPGA board and the Xilinx Embedded Development Kit (EDK). Below is presented a picture of the EVAL-AD5232SDZ Evaluation Board with the Xilinx KC705 board.
  
 {{ :resources:fpga:xilinx:interposer:ad5232.jpg?400 }} {{ :resources:fpga:xilinx:interposer:ad5232.jpg?400 }}
Line 29: Line 29:
   * [[adi>/static/imported-files/user_guides/UG-347.pdf|EVAL-AD5232SDZ evaluation board user guide]]   * [[adi>/static/imported-files/user_guides/UG-347.pdf|EVAL-AD5232SDZ evaluation board user guide]]
   * [[http://www.xilinx.com/products/boards-and-kits/EK-K7-KC705-G.htm | Xilinx KC705 FPGA board]]   * [[http://www.xilinx.com/products/boards-and-kits/EK-K7-KC705-G.htm | Xilinx KC705 FPGA board]]
-  * [[http://micrium.com/page/products/tools/probe|Micrium uC-Probe]] 
  
 ====== Getting Started ====== ====== Getting Started ======
Line 43: Line 42:
 ===== Required Software ===== ===== Required Software =====
  
-  * Xilinx ISE 13.4 (Programmer (IMPACT) is sufficient for the demo and is available on Webpack)+  * Xilinx ISE 14.6
-  * [[http://micrium.com/page/products/tools/probe|uC-Probe]] run-time monitoring tool+  * UART Terminal (Termite/Tera Term/Hyperterminal), baud rate 115200.
  
 ===== Downloads ===== ===== Downloads =====
 +<WRAP round download 80%>
 +\\
 +  * **AD5232 Driver:** https://github.com/analogdevicesinc/no-OS/tree/master/device_drivers/AD525x
 +  * **AD5232 Commands:** https://github.com/analogdevicesinc/no-OS/tree/master/device_commands/AD525x
 +  * **Xilinx Boards Common Drivers:** https://github.com/analogdevicesinc/no-OS/tree/master/platform_drivers/Xilinx/SDP_Common
 +  * **EDK KC705 Reference project:** https://github.com/analogdevicesinc/fpgahdl_xilinx/tree/master/cf_sdp_kc705
 +\\
 +</WRAP>
  
-  * {{:resources:fpga:xilinx:interposer:ad5232_evalboard.zip|Reference Design Files}}+===== Hardware setup =====
  
-The following table presents a short description the reference design archive contents.+<WRAP round important 80%> 
 +\\ 
 +Before connecting the ADI evaluation board to the Xilinx KC705 make sure that the VADJ_FPGA voltage of the KC705 is set to 3.3V. For more details on how to change the setting for VADJ_FPGA visit the Xilinx KC705 product page. 
 +</WRAP>
  
-**Folder** ^ **Description** ^ +  Use the FMC-SDP interposer to connect the ADI evaluation board to the Xilinx KC705 board on the FMC LPC connector
-| Bit | Contains the KC705 configuration file that can be used to program the system for quick evaluation. | +  * Connect the JTAG and UART cables to the KC705 and power up the FPGA board.
-| Microblaze | Contains the EDK 13.4 project for the Microblaze softcore that will be implemented in the KC705 FPGA. | +
-| Software | Contains the source files of the software project that will be run by the Microblaze processor.| +
-| uCProbeInterface | Contains the uCProbe interface and the .elf symbols file used by uC-Probe to access data from the Microbalze memory|+
  
-====== Run the Demonstration Project ======+===== Reference Project Overview ===== 
 +The following commands were implemented in this version of EVAL-AD5232 reference project for Xilinx KC705 FPGA board. 
 +^ Command ^ Description ^ 
 +| **help?** | Displays all available commands. | 
 +| **rdac=** | Load the wiper register with a give value. Accepted values:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register.\\ value:\\ 0 .. 255 - value to be written in register. | 
 +| **rdac?** | Read back the value of the wiper register. Accepted values:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **reset!** | Reset all wiper register to its stored values | 
 +| **restore=** | Restore the specified wiper register setting form the memory. Accepted value:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **save=** | Save the given wiper register settings to the memory. Accepted value:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **writemem=** | Write to one of the user memory address. Accepted value:\\ address: a value between 0x2 and 0xE.\\ data: a value between 0 and 255.|   
 +| **readmem=** | Read data from the EEMEM memory. Accepted value:\\  address: a value between 0x2 and 0xE. | 
 +| **decrdacdb=** | Decrement a given wiper register by 6dB. Accepted value:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **decrdacdball!** | Decrement all wiper register by 6dB. | 
 +| **decrdac=** | Decrement a given wiper register by one. Accepted value:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **decrdacall!** | Decrement all wiper register by one. | 
 +| **incrdacdb=** | Increment a given wiper register by 6dB. Accepted value:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **incrdacdball!** | Increment all wiper register by 6dB. | 
 +| **incrdac=** | Increment a given wiper register by one. Accepted value:\\ channel:\\ 0 - select RDAC 1 wiper register.\\ 1 - select RDAC 2 wiper register. | 
 +| **incrdacall!** | Increment all wiper register by one. | 
 +| **setwp=** | Set the state of the Write Protect (WP) pin. Accepted value:\\ desired state:\\ 0 - inactive\\ 1 - active | 
 +| **getwp?** | Return the current value of the Write Protect (WP) pin | 
 +| **sethwreset=** | Set the state of the Hardware Override Preset (PR) pin. Accepted value:\\ 0 - inactive\\ 1 - active | 
 +| **gethwreset?** | Return the current value of the Hardware Override Preset (PR) pin | 
 +| **tolerance=** | Read one of the Tolerance register. Accepted value:\\ 0x0 - this device has one tolerance register | 
  
-{{page>ucprobe_common}}+Commands can be executed using a serial terminal connected to the UART peripheral of Xilinx KC705 FPGA.
  
-===== Demonstration Project User Interface =====+The following image shows a generic list of commands in a serial terminal connected to Xilinx KC705 FPGA's UART peripheral. 
 +{{ :resources:fpga:xilinx:interposer:Terminal_KC705.jpg? }}
  
-The following figure presents the **uC-Probe** interface that can be used for monitoring and controlling the operation of the **EVAL-AD5232SDZ** evaluation board. +===== Software Project Setup ===== 
- +{{page>import_workspace}}
-{{ :resources:fpga:altera:bemicro:ad5232interface.png?700 }} +
- +
-**Section A** is used to activate the board and monitor activity. The communication with the board is activated / deactivated by toggling the **//ON/OFF//** switch. The **//Activity//** LED turns green when the communication is active. If the **//ON/OFF//** switch is set to **//ON//** and the **//Activity//** LED is **//BLACK//** it means that there is a communication problem with the board. See the **Troubleshooting** section for indications on how to fix the communication problems. +
- +
-**Section B** is used to send commands specific for the two RDAC channels available in the AD5232. Toggling to **//On//** the switches under a specific RDAC will send the command only to that RDAC. The following commands can be sent to the two RDAC channels individually: +
-  * **//+6dB//** - increments the RDAC value by 6dB +
-  * **//-6dB//** - decrements the RDAC value by 6dB +
-  * **//+1 Step//** - increments the RDAC value by 1 +
-  * **//-1 Step//** - decrements the RDAC value by 1 +
-  * **//Store//** – stores the value of the RDAC into the corresponding EEPROM +
-  * **//Restore//** – restores into the RDAC the value from the corresponding EEPROM +
-  * **//Write//** – writes into the RDAC the value selected in Section D by the slider Value for RDAC write +
-Below the individual command options there is a set of generic switches which are used to send commands to both RDACs simultaneously. The following commands can be sent simultaneously to both RDACs: +
-  * **//+1 Step//** - increments the RDACs values by 1 +
-  * **//-1 Step//** - decrements the RDACs values by 1 +
-  * **//+6dB//** - increments the RDACs values by 6dB +
-  * **//-6dB//** - decrements the RDACs values by 6dB +
-  * **//Reset//** - resets the values stored in both RDACs to 0 +
- +
-**Section C** is used to send generic commands to the AD5232. The command list is available in table 7 from the AD5232 datasheet, page 16 (AD5232 Rev. B). The request values will be updated based on the switch selections and displayed in the **//Request//** numeric boxes. The command is sent by toggling the **//Send Command//** switch to **//On//**. After the command a NOP will be sent on and the values from the SDO will be displayed in the **//Response//** numeric boxes. +
- +
-**Section D** is used for setting the values for **//Write//** requests both for RDAC wiper writes and memory writes. In case of RDAC writes, the **//Address//** value is not used. In case of memory writes, the **//Address//** value is used to select the memory location. +
- +
-**Section E** is used to toggle the hardware pins. The functionality of the pins is described in the AD5232 datasheet, Table 5 at page 8. When the **//Write Protect//** switch is sent to **//On//** it isn’t possible to write to the memory nor change the RDAC values. Exceptions are the **//Restore/Reset//** function and toggling the **//\PR//** switch. In all cases the RDACs wipers will be reloaded with the values from the memory. +
- +
-===== Troubleshooting ===== +
- +
-In case there is a communication problem with the board the follwing actions can be perfomed in order to try to fix the issues: +
-  * Check that the evaluation board is powered as instructed in the board's user guide. +
-  * In uC-Probe refresh the symbols file by right-clicking on the **//System Browser//** window and selecting **//Refresh Symbols//**. +
-  * If the communication problem persists even after performing the previous steps, restart the uC-Probe application and try to run the interface again.+
  
 ====== More information ====== ====== More information ======
   * [[resources:tools-software:linux-drivers:misc:dpot|AD5232 Digital Potentiometer Linux Driver]]   * [[resources:tools-software:linux-drivers:misc:dpot|AD5232 Digital Potentiometer Linux Driver]]
 {{page>ez_common}} {{page>ez_common}}
resources/fpga/xilinx/interposer/ad5232.txt · Last modified: 09 Jan 2021 00:48 by Robin Getz