• 0

Stopping ZMOD DAC


Go to solution Solved by Ana-Maria Balas,

Question

Hello,

I am working on a project where I need to control the ZMOD DAC 1411 to generate arbitrary waveforms. I am able to load the desired waveform into the buffer and start the DAC. But, when I try to use the stop() function available in the ZMOD library, the DAC does not stop. I can set the DAC output to 0V to mimic turning off (I could not find any data on the impedance offered by the DAC when it is off), but would like to know why the stop() function does not work.

The zmod library can be found here.

Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0
  • Solution

Hello @NithinA,

I added the changes to the AXI_Zmod_DAC1411 IP on branch feature/zmod-support in vivado-library repository.

https://github.com/Digilent/vivado-library/tree/feature/zmod-support

If you want to update the hardware project with upgraded IP, you will have to:

1. git checkout the hw for the zmod_dac demo

2. cd into repo/vivado-library

3. git checkout feature/zmod-support with the latest changes

4. go to Vivado tcl console and create the hw project:

set argv ""; source digilent-vivado-scripts/digilent-vivado-checkout.tcl

5. in Reports/Report IP Status verify that /ZmodDAC_0/AXI_ZmodDAC1411_v1_0_0 has the Rev.23 (latest revision)

6. generate bitstream

7. update the sw project with new bitstream

In case you don't want to follow the above steps for creating the hardware project, here is the new bitstream file for ZmodDAC1411_Demodesign_1_wrapper.hdf.

 

Link to post
Share on other sites
  • 0
On 10/26/2021 at 9:41 AM, NithinA said:

@Ana-Maria Balas I tried both the hdf file and the tcl scripts. The DAC is still not turning off. Should I update anything in the ZMOD library as well?

 

In the Eclypse-SW project, did you right click design_1_wrapper_hw_platform_0 -> Change Hardware Platform Specification -> then selected the downloaded design_1_wrapper.hdf from above?

image.thumb.png.ea69b2d610f1228224b616326e1568bf.png

Then regenerate the BSP sources:

image.thumb.png.14cd424b7215e3f11863b3ae2347f2c1.png

Link to post
Share on other sites
  • 0
1 hour ago, NithinA said:

@Ana-Maria Balas I was using the DAC demo for Linux. I tried executing the baremetal demo using the .hdf file you provided. The DAC is stopping in the baremetal project, but not in the Linux project.

This is happening because the Linux project is using the old hardware. You have to update the Petalinux project with the new hardware I provided here, build it, then you can use the Linux demo application from Xilinx SDK.

Follow the steps (see each title below) from readme https://github.com/Digilent/Eclypse-Z7-OS/tree/zmod_dac/master#readme

1. Setup (You have to install Petalinux 2019.1 see Installation Requirements to install all the necessary packages from the table and Run PetaLinux Tools Installer)

2. Source the Petalinux Tools

3. Download the Petalinux Project

4. Next Steps (import the new hardware design provided here into the project to build upon)

5. Build the Petalinux Project

6. I believe you are using our prepared image with Debian 10 rootfs, in this case you only need to replace the BOOT.BIN and image.ub in the boot partition of the SD card with the newly built files located in <repo-location>/images/linux/.

 

 

Link to post
Share on other sites
  • 0

Steps I followed

1) cloned the petalinux project

git clone -b zmod_dac/master --single-branch https://github.com/Digilent/Eclypse-Z7-OS

2) Sourced the petalinux tools

3) Imported the new hardware (did not make any change in the configuration)

petalinux-config --get-hw-description=<path to directory containing new .hdf>

4) Built the project

petalinux-build

5) Packaged the project

petalinux-package --boot --force --fsbl images/linux/zynq_fsbl.elf --u-boot

6) Copied the BOOT.BIN and image.ub into the boot partition of the SD card. (I am using the Debian 10 rootfs image)

7) Established the TCF agent in XSDK and ran the demo.

I am seeing an error in the console saying "That is not a valid UIO device or map number. Check /sys/class/uio for more information about the available UIO devices".

Can you point out the steps which are missing?

Link to post
Share on other sites
  • 0

In boot partition please set in uEnv:

#Zmod configuratio to use: adc, dac, adc-dac
zmod=dac

Also go to Petalinux <repo-location>/images/linux/ and copy somewhere the additional files: system.bit and system.dtb then rename them to zm-dac.bit and zm-dac.dtb and then copy these files to boot partition (replace the existing ones).

So you have to use all 4 files from <repo-location>/images/linux/:

BOOT.BIN

image.ub

zm-dac.bit

zm-dac.dtb

Edited by Ana-Maria Balas
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now