Search the Community

Showing results for tags 'Pmod'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments and the WaveForms software
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 211 results

  1. Hello, I'm a student and currently working on my final project including Basys 3 board and wifi pmod. I'm trying to get started working with the module to understand how it works. This is my first project working with Pmods. I've been using the Getting Started with Digilent Pmod IPs tutorials. I added the newest Vivado library including the PmodWifi IP and I bulit a block design with the MicroBlaze and other GPIO IPs. I followed the instructions of the tutorials and got to the part of validating the design, there I got a warning saying few of the wifi pmod pin are not connected. I've got a few other warnings and errors so I really don't understand what went wrong. If anyone know what the issue is and can help me, that would be awesome! Also I'm looking for an example project for wifi pmod using Microblaze to learn from. I'm attaching some screenshots of my project. thanks, Netanel.
  2. I purchased a PMOD-BT2 recently and since (according to your documentation) the SPI connector uses the same power as the regular PMOD connector, I though I could just connect it via the SPI header (not supplied), for programming. Strangely enough, the FPGA board (a Nexys4-DDR) would not power up. An investigation reveals a strange fact: according to an ohm-meter the power on the SPI header is reversed compared to your documentation. I would appreciate it if someone from Digilent could confirm this from the PCB schematics and update your documentation ASAP, as well as issue an errata, because connecting the power the wrong way round has a habit of blowing things up.
  3. I would like to know the crystal ppm for the crystal populated on PMOD-RTCC (using the MCP791410T real time clock calendar). Is a BOM available for this module?
  4. I'm working with a Xilinx Spartan-7 (Arty S7-25) FPGA and was wondering if the "P" and "N" for the PMOD differential pairs are reprogrammable or swappable? Will swapping them damage any components or just not work? I notice their naming scheme but is there any significance beyond that. The banks I'm referring to are the JA and JB PMOD connections (See JB bank below). Thank you!
  5. i wanted to interface multiple digital serialiser with arty A7 35T board through pmod pins. And transmit the same data through UART. help me with the verilog code and other resource.
  6. Trying to connect the MTDS PMOD to my CoraZ7-07S FPGA board. I used the Digilent MTDS IP but I'm having trouble figuring out how to connect it to PMOD port JB on the Cora board. Read on another answer that I should use JD by default but that's not an option in Cora. Vivado (2019.1) also warns that the IP was packaged for arty board but assume that's not an issue for me other than the JD issue. I saw on another post that I need to edit the XDC file to change the PMOD connector but I don't see how I can do that since the MTDS PMOD doesn't show on my constrains file. Thinking about wiring it manually. Any suggestions? Would appreciate any help.
  7. Hi Digilent staff, and fellow forum members, Just wondering if you guys had considered making a USB HID -> PS/2 PMOD board? I was thinking of something like the circuit on the Nexys 3,4 boards which uses a PIC to convert a USB keyboard to PS/2 compatible signals. Would be handy for using newer USB keyboards/mice on PMOD socket equipped FPGA boards. PS/2 devices are becoming harder to find brand new. I (for one) would be interested in a few. Kind regards, Leslie
  8. Hi, I would like to know what IO standard would I use if I want to input a differential signal to two adjacent PMOD headers on PMOD JB. This differential signal will be an input to a buffer on the FPGA. The current xdc file on github uses LVCMOS33 as a default standard as shown below. set_property -dict { PACKAGE_PIN E15 IOSTANDARD LVCMOS33 } [get_ports { Input_data }]; #IO_L11P_T1_SRCC_15 Sch=jb_p[1] set_property -dict { PACKAGE_PIN E16 IOSTANDARD LVCMOS33 } [get_ports { Input_data }]; #IO_L11N_T1_SRCC_15 Sch=jb_n[1] Would it be fine if I use LVCMOS33 or should I use another IO standard and if so which one should I use. I am using the Arty A7 100t board. Thank you
  9. Hello, I am looking for a simple PMOD breakout board so that I can wire a cable to it. The cable goes to an RF front end eval board that has inconvenient connections. I would like the break out board to plug directly into the 12 pin PMOD connectors of my FPGA board.
  10. We are using PL section of the Zynq7000 to transfer data to another module b y creating a SPI IP Inside the PL. We want to know that the PMOD pins availvalble on the Zybo-Z710 board are using open drain or push-pull configuration ? Do they have something like a internal pull-up resistor ? Please let me know.. Regards Amol
  11. I am learning how to operate an FPGA, and I have to input a signal (which in itself is the output of a discriminator), and analyze it through a Basys3 FPGA. Looking at the available ports on the board, I'm guessing that it could be done using the Pmod ports, but even after hours of googling and going through the manuals, I failed to know which data ports to use, and how to read the signal after I've input it through the board. I've got references to some boards, in which GPIO ports are explicitly labelled, but I don't see any such labeling on the Basys3. So, it'd be really helpful if someone can provide me with any insight regarding this. Any other references or links would also be greatly appreciated. I've already gone through the basic tutorials (like lighting the led using the switch. I just want to know how to use the input ports, and analyze my signal. Thank You
  12. Hello, I am currently working with the FPGA Board ZYBO Z7020. Part of my current task is: Apply a voltage to the AD2, the FPGA contains some logic and has to output the same Voltage with a DA2. I configured a VHDL I2C Master for communication with the AD2. I also attached an image with how I added the pullup Resistor in the schematic. I am using the internal voltage reference, which equals VCC = 3,3V. I am also watching the SDA Line with an oscilloscope to have a look at the data the ADC sends to me. I can apply an input voltage (DC) to the AD2 with a Waveform Generator. The AD2 works in High Speed mode (1MHz Clock). The configuration I use is: "00010011". The big problem with the SDA Data from the AD2 is: It reaches its maximum at 1,65V Input Voltage, so at 1,65V input voltage, all bits of the 12 bit data are '1'. I just can't figure out, why that's the case. The jumper on the AD2 board is set to "REF", the configuration tells the AD to use this reference and not an external one and the VCC at the PMOD surely delivers 3,3V. Any idea about what I am doing wrong? EDIT: I am only using Channel 0 for conversion.
  13. Hi all, This is a quick and dirty howto. This howto describes how to use I2C modules (onboard and through PMOD connector) under embedded Linux. I've chosen to build my own Linux distro based on Linux kernel source for MicroBlaze softcore and busybox project for the init RAM DISK. My board is the Nexys4 DDR board. If you respect the following requirements for the HW design compatible with Linux, you can use Petalinux too. HW Vivado requirements (according to Xilinx UG1144) design to boot Linux: MicroBlaze with MMU support by selecting either Linux with MMU or Low-end Linux with MMU configuration template in the MicroBlaze configuration wizard. External memory controller with at least 32 MB of memory. Dual channel timer with interrupt connected. UART with interrupt connected. Ethernet with interrupt connected. Note that all peripherals you use must be interrupt capable. For the UART peripheral, if you have not enabled interrupts, you have no Linux console outputs. For the Nexys4 DDR, you can follow this online tutorial: At this stage, for the Nexys4 DDR board, you can add the onboard i2C temperature sensor (ADT7420) that uses the AXI IIC IP block. I've added a second external temperature sensor (PMOD TMP3) connected to PMOD JA pins of the Nexys4 DDR board. I've chosen to connect SCL TMP3 pin to JA1 PMOD JA pin (C17 FPGA pin) and SDA MP3 pin to JA2 PMOD JA pin (D18 FPGA pin). You connect GND and 3V3 pins from PMOD JA connector to corresponding TMP3 pins. You have finally 4 pins to connect. You obtain the Vivado design shown below. Notice that both AXI IIC IP blocks have interrupts connected for Linux compatibility. For the TMP3 sensor, I have an external port named temp3_sensor. I've created a XDC file containing: set_property -dict { PACKAGE_PIN D5 IOSTANDARD LVCMOS33 } [get_ports { eth_ref_clk }]; # Sch=eth_ref_clk set_property -dict { PACKAGE_PIN C17 IOSTANDARD LVCMOS33 } [get_ports { tmp3_sensor_scl_io }]; set_property -dict { PACKAGE_PIN D18 IOSTANDARD LVCMOS33 } [get_ports { tmp3_sensor_sda_io }]; You can see that: tmp3_sensor_scl_io signal is for SCL I2C signal. tmp3_sensor_sda_io signal is for SDA I2C signal Please respect notation: xxx external I2C port gives xxx_scl_io and xxx_sda_io signal names in the XDC file. Generate .bit file. Launch Vivado SDK tool, install the device tree plugin and generate Device Tree files. You can follow this link: Copy the generated pl.dtsi file (under project_1/project_1.sdk/device_tree_bsp_0/ directory) into arch/microblaze/boot/dts/ Linux directory. Use the generated system-top.dts file (under project_1/project_1.sdk/device_tree_bsp_0/ directory) to create the xilinx.dts file into arch/microblaze/boot/dts/ Linux directory. Be carefull with stdout options in the xilinx.dts file if you want Linux output enabled. Mine is: /dts-v1/; /include/ "pl.dtsi" / { chosen { bootargs = "console=ttyUL0,9600"; linux,stdout-path = &axi_uartlite_0; stdout-path = &axi_uartlite_0; }; aliases { ethernet0 = &axi_ethernetlite_0; serial0 = &axi_uartlite_0; i2c0 = &axi_iic_0; i2c1 = &axi_iic_1; }; memory { device_type = "memory"; reg = <0x80000000 0x8000000>; }; }; &axi_ethernetlite_0 { local-mac-address = [00 0a 35 00 00 00]; }; Generate your init RAM Disk for root File sytem. I suppose that you can do this. Generate your Linux kernel. I suppose that you can do this: $ make ARCH=microblaze CROSS_COMPILE=microblazeel-xilinx-linux-gnu- simpleImage.xilinx -j 4 Program the FPGA device and download the simpleImage.xilinx file (kernel + init RAM Disk) under arch/microblaze/boot directory into RAM with the JTAG interface and finally execute. That's all folks! Ramdisk addr 0x00000000, Compiled-in FDT at c03ad4f8 Linux version 4.14.0-00493-gb68293ad2c93-dirty ([email protected]) (gcc version 8 setup_cpuinfo: initialising setup_cpuinfo: Using full CPU PVR support wt_msr_noirq setup_memory: max_mapnr: 0x8000 setup_memory: min_low_pfn: 0x80000 setup_memory: max_low_pfn: 0x88000 setup_memory: max_pfn: 0x88000 Zone ranges: DMA [mem 0x0000000080000000-0x0000000087ffffff] Normal empty Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000080000000-0x0000000087ffffff] Initmem setup node 0 [mem 0x0000000080000000-0x0000000087ffffff] On node 0 totalpages: 32768 free_area_init_node: node 0, pgdat c0525af4, node_mem_map c07a2000 DMA zone: 256 pages used for memmap DMA zone: 0 pages reserved DMA zone: 32768 pages, LIFO batch:7 pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 pcpu-alloc: [0] 0 Built 1 zonelists, mobility grouping on. Total pages: 32512 Kernel command line: console=ttyUL0,9600 PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 121948K/131072K available (3765K kernel code, 121K rwdata, 1312K rodata) Kernel virtual memory layout: * 0xffffe000..0xfffff000 : fixmap * 0xffffe000..0xffffe000 : early ioremap * 0xf0000000..0xffffe000 : vmalloc & ioremap NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 irq-xilinx: /amba_pl/[email protected]: num_irq=5, edge=0x6 /amba_pl/[email protected]: irq=1 clocksource: xilinx_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_is xilinx_timer_shutdown xilinx_timer_set_periodic sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 21474836475ns Calibrating delay loop... 49.15 BogoMIPS (lpj=245760) pid_max: default: 4096 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) random: get_random_u32 called from bucket_table_alloc+0x2e4/0x35c with crng_ini0 clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 191s NET: Registered protocol family 16 clocksource: Switched to clocksource xilinx_clocksource NET: Registered protocol family 2 TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 2, 20480 bytes) TCP: Hash tables configured (established 1024 bind 1024) UDP hash table entries: 128 (order: 0, 6144 bytes) UDP-Lite hash table entries: 128 (order: 0, 6144 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. random: fast init done Skipping unavailable RESET gpio -2 (reset) workingset: timestamp_bits=30 max_order=15 bucket_order=0 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) io scheduler mq-deadline registered io scheduler kyber registered Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled 40600000.serial: ttyUL0 at MMIO 0x40600000 (irq = 5, base_baud = 0) is a uartlie console [ttyUL0] enabled brd: module loaded libphy: Fixed MDIO Bus: probed xilinx_emaclite 40e00000.ethernet: Device Tree Probing xilinx_emaclite 40e00000.ethernet: Failed to register mdio bus. xilinx_emaclite 40e00000.ethernet: MAC address is now 00:0a:35:00:00:00 xilinx_emaclite 40e00000.ethernet: Xilinx EmacLite at 0x40E00000 mapped to 0xF02 i2c /dev entries driver NET: Registered protocol family 17 Freeing unused kernel memory: 2296K This architecture does not have kernel memory protection. Hostname : nexys4ddr Kernel release : Linux 4.14.0-00493-gb68293ad2c93-dirty Kernel version : #120 Thu Dec 6 16:51:57 CET 2018 Please press Enter to activate this console. nexys4ddr:/# For the first I2C sensor (onboard ADT7420 sensor of the Nexys4 DDR board), we must use the /dev/i2c/0 (or /dev/i2c/i2c-0) character driver file (Major=89 minor=0). For the second I2C sensor (external TCN75A PMOD TMP3 sensor), we must use the /dev/i2c/1 (or /dev/i2c/i2c-1) character driver file (Major=89 minor=1). nexys4ddr:/# i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- 4b -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- nexys4ddr:/# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- You can now use the Linux API for reading the I2C sensors... Pat.
  14. Hi, this is my first try to interact with a chip, so please bear with me if my question is dumb. I'm using Basys3 with the pmod MIC3. The ADC gives back 4 leading zeros and 12 bits of data. I can get this out of pmod. But how to interpret this data? I understand the main principle of the ADC - I get a relative value between 0 and 2^12. The pmod's reference says that this value is representative of the volume and frequency. I assume that this is a kind of composite value, like X high bits are the frequency, and the rest are for volume, or similar - but couldn't find anything about such things. I was looking at all reference documentation and sample codes I could find, but maybe I was looking at wrong places. How do I get the volume and frequency separately out of the retrieved 12 bit value? Thanks
  15. Hi guys, I've just bought a Pynq board. Could anyone help and give the main steps to follow to add a new PMOD device to the default overlay? I'd like to add the DA3 PMOD DAC that is currently missing. Many thanks!
  16. I've been working on a project and it is looking pretty nice. It is an ESP32 microcontroller, talking SPI to a PMOD AD5 that has two inputs across a 1 ohm 5W current sense resistor. At the highest ADC gains the steps are 2.5nA, but full range is about 20mA. I am currently currently running with a gain of 8, and can measure currents from a few nA through to about 300mA. Below is a graph of the startup current of another ESP32, with a spike a little after 30s when I get an image over WiFi - for now the data is just logged to a serial port at 50S/s and then I graphed in a Google Sheet. I intend to use it to test the deep-sleep performance in various modes, and to see the impact of firmware changes.
  17. I'm trying to run the PMOD SD IP core on a Nexys 4 DDR, using simple drag and drop from the board tap. I also add a microblaze and an UARTlite for communication. I wish to run the SDK (autogenerated) example of the SD PMOD IP core. I have used the same approach with the OLED and several other PMOD and it worked out fine. But with the SD card it fails, I get these critical warnings. I am surprised there is a problem at all, since I only used the PmodSD IP core, written by Digilent. See below. The file of concern below: Thanks for any help!
  18. hello, I am new to designing with pmod wifi. I want to send audio files from pc to the zybo via pmod wifi and then process it then play it via output port. is it as easy as that example showed here? Bests, Meysam Sh.
  19. So for my senior design project we're using a microblaze to poll a number generator and then write that data to an SD card. I've adapted the demo code provided in the PMOD microsd driver files to take input variables and write them to a string. Then I take that string and write it to the SD card. My problem is that no matter what I try I can't print to multiple lines. I've looked in the DFATFS.h file where all the functions are abstracted but I'm at a bit of a loss. I'll attach a text file containing the subroutine that writes to the SD card (it gets called when ever there is a new value to write). Let me know if theres any other details i didn't provide. sd write.txt
  20. varun332

    Pmod CMPS2

    Hi, I am working with the Pmod CMPS2 and an Arduino Uno to get an accurate reading of the direction a user is facing for a personal project. I am having trouble writing the code since the code on the website on Reference Materials is giving me a lot of errors. Is there any other code I can try?
  21. Hi all I'm currently working on a project based on ultrasound. I've created a pulsetransmitting board already which hooks into the zedboards FMC-LPC connector (I needed 64 high-speed channels), yet now I need to make a receiving side as well. Since returning signals are in the range of 250-300kHz, I was looking into ADCs of around [email protected] or 14bits. (max. 4 channels needed) Now is the problem that I can't find any spec on the frequency the zedboard PMODs can handle. Is it possible to have speeds of approx 20MHz or is this out of range of the (high-speed) PMOD connectors? Would it be a better idea to make a board with a female-male connector on top of each other so I can pass the signals which need to be passed to the previous made board (as I only need a couple of its transmitting channels, stack the boards with the FMC-LPC connector) and use the other connections for an ADC board, since the FMC should be capable of higher speeds? any thoughts? Thanks!
  22. Hi! A couple of months ago, I bought a ZYBO Z7-10 board for one of my university labs. Just recently, I was using the JE PMOD ports to interface with an external LCD display. The board was programmed through QSPI Flash through the micro USB port. Unfortunately, a external 5 volt supply leaked into the 3v3 JE PMOD peripheral when the board was powered through the micro USB port. I immediately turned off the power supply and the ZYBO board once this had happened. After turning back on the ZYBO with all PMOD connections detached (to test if the board was still functional), the default demo program that the FPGA should run (with flashing all LEDs in a smooth manner) is a very erratic version of what it once was (LEDs flash randomly). While in the QSPI Flash mode (after the incident), I am not able to reprogram my FPGA design as Vivado does not recognize the ZYBO board anymore through the USB connection. When I change the programming mode jumper to either TJAG or MicroSD, Vivado CAN recognize the ZYBO board and I can successfully field-program the board and run the program. Is it possible that I have permanently damaged the QSPI Flash (or even something worse). If not, is there anything I could do to fix this?
  23. Hi, I am working on Zybo and not entirely sure how the outputs will behave when 2 leds are connected as the figure shows. Pins JE1 and JE2 are configured as PWM outputs for the PL on the same port (JE single-ended standard Pmod port) and the VCC and GND pins shown in the figure are located on the same port as well. The usual thing to do is to supply energy to the external led as shown on the left of the figure, but can I connect a second led as shown on the right at the same time? I understand the if the pin is an output, then current should exit from it, but what happens when current enters? By the way.. I've tested both circuits independently (i'll wait an answer to connect both circuits at the same time) and they turn on the led with the respective duty cicle of each PWM, but still why does it work when a current enters the output pin?
  24. NiLo

    Nexys 3 Pmod Nav Problem

    Hi, I am doing a project on Nexys 3 FPGA board and I am trying to connect Pmod Nav in order to display barometric pressure on PmodOLEDrgb. I am in trouble with Pmod Nav. I have created a Controller that reads via SPI Protocol the 24 bits of 3 data registers and then I have divided this result with value 4097 counts/hPa as it is mentioned in LPS25HB, in order to take the absolute pressure in hPa. The final value should be in range of 260- 1260 hPa. The problem is that the final absolute value of barometric pressure, that I take, is 4095, which means that all bits are stored in 3 registers PRESS_OUT_H, PRESS_OUT_L and PRESS_OUT_XL take the value of '1'. The pins that I have connected are SDI, SDO, SPC, CS_ALT. I have no idea on how to deal with this problem. I would appreciate if someone helped me. Thank you Nik
  25. Serial digital interface (SDI) is a digital video interface used with the most of professional video cameras. It uses BNC connector and operates at speeds of 3 Gb/s or about, depending on the standard. The more detailed specification can be found in wikipedia. Most of the SDI adapters for FPGA use FMC connectors, like this one. There is no FMC connector on Zybo Z7 board, but it does have multiple PMOD ports. Could they probably substitute? If some simple extra circuitry is required, we maybe could build it on the top of some generic PMOD adapter like this. My major doubts are, would such interface be fast enough? I am not aware at which frequency Zybo PMOD port and the custom circuitry attached to it could operate.