Posts

Showing posts from June, 2017

Using the XADC Header to Read Voltages

Image
First and foremost the most important thing to specify for the XADC Header are the pinouts. Looking at the Zedboard head on, the xadc header pins correspond to the picture directly above. Vn being the pin at the top right of the xadc header. For this project we will be reading the difference between two voltage inputs within the terminal. The pins are deferentially paired and you will get the difference between Vaux8p and Vaux8n. We will be connecting Vaux8P and Vaux8N to voltages and then Vref and all three AGNDs to ground. **Note: After further investigation we found that you should only need both Vaux pins and the three AGND and it should work the same.  We created two voltage dividers to provide the input voltages for the Vaux8 pins. We ended up inputting about 0.75 Volts into Vaux8P and about 0.50 Volts into Vaux8N. Below is a picture of the outputs from within the terminal: In the terminal, Vaux8 should be reading the difference between the inputs fo...

XADC Pinouts

Image
To connect the pins of the XADC header to anything, such as a voltage divider, we use the following image:     The image of the pins are actually opposite than what is posted in the Zedboard User Guide. If you are looking at the Zedboard straight on, it is the upside down image of the one that is in the User Guide. Attached above are the correct images of the way the pins should be connected.

Github

We created a Github to store our projects. SienaFPGA2017. The following link provides a helpful tutorial for using Github directly: https://guides.github.com/activities/hello-world/ *********************************************************************************** The following link provides a helpful tutorial for using the terminal to upload a project to Github: https://www.howtoforge.com/tutorial/install-git-and-github-on-ubuntu-14.04/ Some of the basics: gedit ---- Creates a file where you can copy and paste in something like a code or just write a brief description. git add ---- Adds the created files into the index git commit -m "some_message" ---- Commits changes made in the index git remote add origin "copy https from newly made github repository" ---- connects the files to the github web address git push origin master ---- Moves the files to githuhb

Having Issues Launching Older Version of SDK?

Often times a version of a program can have random glitches that prevent us from executing simple tasks that wouldn't normally be an issue. We encountered this problem when trying to launch SDK 2016.2 in the newer version of Ubuntu. To avoid this glitch: - Navigate to /opt/Xilinx/SDK/2016.2 in the terminal - ls - You should see a file, settings.sh - Type command ./settings64.sh - Type command export SWT_GTK3=0 - Now type /opt/Xilinx/SDK/2016.2/bin/xsdk SDK SHOULD LAUNCH!! https://www.xilinx.com/support/answers/68490.html

External Mux Continued

Image
After exporting the design to SDK and importing Adam Taylor's Software Files, we can now import a signal (voltage). First we must modify Adam's .h and .c files to read the VP and VN. In helloworld.c change:  XSysMon_SetSeqChEnables( SysMonInstPtr,                                               XSM_SEQ_CH_AUX00|                                               XSM_SEQ_CH_AUX08); to... XSysMon_SetSeqChEnables( SysMonInstPtr,                XSM_SEQ_CH_VPVN ); AND ...

Adam Taylor MicroZed Chronicles: The XADC's External Mux

Image
Continuing with Adam Taylor's tutorials in his MicroZed Chronicles on the XADC. This post relates to issue 182 , which can be found using the link at the bottom of the page. What I learned from Adam's Tutorial: The XADC has external analog multiplexer capability. It can interface with up to 17 analog inputs. One being the the Vp/Vn pair of inputs and the other 16 auxiliary differential pairs that share pins with the logic I/O. So, we can sample up to 17 different analog signals along with the on-chip supply voltages and temperatures. An External Multiplexer provides the ability to sample up to 16 analog inputs. We only need 4 I/O lines for the multiplexer address because the Vp/Vn pair are dedicated and are outside of the multiplexer address. Integrated Logic Analyzers (ILAs) monitor the internal signals of the design. Vivado Create New Block Design Add Zynq Processing System Add xadc wizard Add 2 ILAs Double Click ila_1 Select Native > Change the number...

Opening/Importing Projects in SDK

To open a project in SDK you must import it: Open SDK > Choose workspace File > Import > General > Existing Projects into Workspace > Next Browse for the root directory that contains your project Select copy projects into Workspace > Finish Click on the Workspace icon to open your project if it doesn't open automatically Helpful Link for importing an existing Software Project:  https://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/SDK_Doc/tasks/sdk_t_import_exist_proj.htm

Adam Taylor Microzed Chronicles: Combining XADC and Inerrupts with Real World Signals

Image
Continuing with Adam Taylor's tutorials in his MicroZed Chronicles on the XADC. This post relates to issue 107 , which can be found using the link at the bottom of the page. What I learned from Adam's Tutorial: This tutorial is a continuation of issue 105 and 106. We can now define the hardware we want to pull into SDSoC from Vivado. Knowing and designing for latency has ensured that we will never miss an XADC sample. Recall from Issue 104 that we can sample at 961.54 ksamples/sec (ksps) using a 100MHz AXI clock frequency. So, a new sample and corresponding interrupt will occur every 1.04 microseconds. Vivado Modifying our Vivado design from the interrupt latency posts. We will remove axi_timer_0 and replace it with the xadc_wiz. Be sure to save this as a new project so you don't lose the old design.  1. Delete axi_timer_0 2. Add xadc_wiz > Run Connection Automation 3. Right Click on Vp_Vn and make external 4. Connect (xadc_wiz) ip2intc_irpt to (PS) core0...

Installing Waveforms

Image
On Mac OSX 1. Go to digilentinc.com 2. Find Waveforms 2015 > Download Here The top tab should read: Diligent Documentation > Reference > Software > Waveforms > Waveforms 2015 3. Go to the latest downloads and select the download for Mac OSX 4. Download and then double click to open 5. Drag Waveforms into Applications 6. To support analog discovery install the followng driver: Double click DigilentFtdiDriver.pkg 7. We need to change the security settings if it can't download. 8. Go to the apple in the top left hand corner of your screen > System Preferences > Security and Privacy > Open Anyway > Continue > Continue > Continue > Agree to terms > Install > Enter password for the computer > Install software 9. Open Applications folder > double click on Waveforms to open Again, we must change the security and privacy settings. 10. Security Systems > open anyway > open. On Linux (Ubuntu) 1. Go to digilentinc.com 2. Fi...