Search the Community

Showing results for tags 'spi'.

  • 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
    • Test and Measurement
    • 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







  1. pedro_uno


    Hello, I need to develop software to control an Magnetoresistive RAM (MRAM). I searched for an MRAM PMOD and found this item out of stock. The picture shows a Digilent board but I do not find it on your website. Do you have any of these on hand? Why don't they show on your site? Pete
  2. If I configure the SPI with mode 0 (polarity=0 and phase=0) and LSB in WaveForms SDK in the Digital Discovery or Analog Discovery 2, and I send the byte 163=0xA3=b10100011; I would see the following: Is it guaranteed that when there is a falling edge of SCLK, the MOSI takes the value just before the transition (the SCLK edge)? What I mean is; is the following image accurate:
  3. I have a device that has a single 16-bits SPI shift register (for both transmissions and receptions). It responds to falling edges of SCLK. The input of the shift register is connected to MOSI and the output to MISO, as the following figure. As the MOSI signal is input to the first flip-flop of the shift register, it should remain stable (not change) during a falling edge of SCLK, while MISO changes its value during a falling edge of SCLK. This way, MISO and MOSI signals are not synchronized. I want to communicate with this device using WaveForms SDK. Is there a w
  4. What is the good method transfering the eight bits via SPI to DPOT using a raspberry pi? spi.writebytes accepts int arrays only. many thnaks
  5. I am programming a Digital Discovery with WaveForms SDK (in Python) to communicate via SPI with an FPGA. The SPI comunication has 16 bit words. First, I have to send the address to read or write (the first bit of the 16 bit word indicates whether it is a read 0 or a write 1). Then, in the second 16 bit word, I read the data if it was a read operation, or I send the data if it was a write operation. I have the following code: # Imports from ctypes import * from dwfconstants import * import sys import time # Load dwf library if sys.platform.startswith("win"): dwf = cdll.LoadLibr
  6. I want to do the following with WaveForms SDK: communicate through 1.8 V SPI read 2 digital 1.8 V inputs generate a digital 1.8 V output generate a digital clock of 32768 Hz (low level 0 V and high level 1.8 V) Is this possible with a Digital Discovery or with an Analog Discovery 2 (or both)? I wanted to use an Analog Discovery 2, but I think I cannot set the digital voltage to 1.8 V (it is always 3.3 V). On the other hand, I do not know if a Digital Discovery does the trick, since: (Source:
  7. Dear All, Board in use: ARTY A7-100T Flash in use: FL128SAIF00 Spansion Goal: to write 10 bytes of user data to flash and then read it later to use it in code. Present status : I am using microblaze , along with axi quad spi, mig , clock wizard, small PL logic etc. in my block design. I am able to program the flash and I am able sucessfully use bootloader to load the srec image from flash when the board powers up. So flash reading/ writing is working for this purpose. Now I want to simply write few bytes to flash and then read it from microblaze code. For this I follow
  8. I'm having some difficulty setting up SPI to receive data from the the PmodALS. I'm using the 328PB board with the initialization and receive code below: void SPI_MasterInit(void) { DDRC |= (1<<PORTC1); //set SCK (PC1) to output. DDRC &= ~(1<<PORTC0); //Set MISO (PC0) as input. DDRE |= (1<<PORTE3) | (1<<PORTE2); // Set MOSI (PE3) to output and SS (PE2) to output // Enable SPI, Master SPCR1 |= (1<<SPE1) | (1<<MSTR1) | (1<<SPR10); //Set to /16 prescaler so peripheral PmodALS operate
  9. I would like to use 6 Pmod ISNS20 current sensors in a prototype application, and I would like to use an off-the-shelf interface board to connect to all the sensors. However, the Digilent Pmod HAT adapter (for Raspberry Pi) can only be used to connect to two SPI devices, so can't be used. Does anyone know of an interface board that I can use to connect to 6 SPI devices? I haven't selected a controller yet, so Arduino/Pi/etc boards would be Ok. I know that I can make an I/F board using GPIO pins to drive the various slave selects, and write software to handle this, but I would much prefer
  10. Hello I am creating a verilog module on the basys 3 board to interface with the Pmod DA3. I have tried running the module with the DA3 connected and wasn't getting any voltage reading. I have my sclk speed at 25Mhz. Below is my current code and screenshots of my test bench and the pmod outputs on an oscilloscope. Any help is appreciated. `timescale 1ns / 1ps module sclk( input clock, input reset, output sclk ); reg[24:0] count = 0; reg sclk = 0; always @ (posedge clock or posedge reset) begin if (reset ==1'b1)begin count <
  11. Hello, I tried posting this on the Xilinx forums but got no response. These forums look more active and friendly so hopefully somebody can help me. I am really stuck. I am trying to follow along with the "How To Store Your SDK Project in SPI Flash" tutorial (, but I cannot get it to work. I am using an Artix-7 35T Arty FPGA Evaluation Kit. I am running Vivado v2017.2 (64-bit) and SDK v2017.2 on a Windows 10 machine. First, I created a simple "Hello World" program by follo
  12. Arduino is the SPI Master and therefore provides the clock, SPICLK through a PMOD. How do I receive the clock in a good way on the FPGA? Vivado does not approve of checking rising_edge(SPICLK) so I though I'd put a clock buffer or something in between (not that I know why or what they do but it sounds like a good idea). At some point Vivado told me to add "set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets {SPICLK_IBUF}]" to the constraints file, but I still got warnings and it didn't recommend I proceed. If I have the top level SPICLK connected to an IBUF_IBUFDISABLE with the
  13. Hello, I am building an SPI proof of concept for the Analog Discovery 2 in LabVIEW and I am unable to get the entire thing working, despite other successful LabVIEW projects that use the Analog Discovery 2. The issue I am having is that I am capable of generating an SPI message output where the AD2 is the master, but I am unable to get the expected response in the Rx array. The pinout is the clock is on pin 2, the chip select is on pin 1, the MOSI_SISO is on pin 4 and these three outputs are connected to an oscilloscope for observation. The MISO is on pin 7 and is connected to a pu
  14. Hello everyone, I’m a newbie on working on zedboard, and I want to use my Zedboard to communicate with Pmod MIC3 this time. I did a few researches about how to use the Pmod MIC3, and I think I found something useful in another post, link: I’m really appreciate and thanks for their help, but unfortunately I still have no idea of how to make my Pmod MIC3 to run with my Zedboard. I know Pmod MIC3 is using SPI communication protocol and I read what SPI is, link:
  15. New Digital Discovery user. I did not purchase this device for its excellent documentation or thorough applications examples (which are not so great), but because it can capture SPI at 800MHz with the special adapter. I understand that the Digital Discovery will stream the captured data to memory and I can save it to disk. I'm debugging a difficult SPI issue, and need to see as much detail as possible (hence the 800MHz). Out test code captures some 30,000 rows of 14 consecutive 14-bit reads at an SPI clock speed of 27.5 MHz. This is a whole lot of data. We need to see the protocol capt
  16. Hi everybody! I got a new Digilent Cmod S7 Board (Spartan 7) and after some led blinking I'm trying to program a simple High Speed SPI transmitter (just sending "01010101" for the first attempt). For this I used the Vivado Clock-Wizzard to generate both a 300MHz clock (for internal signals) and the 150MHz SPI Clock itself out of my 12 MHz onboard oscillator using the "MMCM" and basically the standard settings. Now, my problem is, when I connect my Logic Analyzer (Digilent Digital Discovery) to the 150MHz SPI Serial Clock Pin (Pin 3, which is Package Pin M3) the Duty C
  17. Hi FPGA gurus ! Merry Christmas and happy new year to all of you FPGA lovers at Digilent ! I'm trying (unsuccessfully) to store Atlys HDMI demo to SPI/Flash so that whenever I turn the Atlys board on the project runs, without the need to upload and launch it through SDK. Atlys HDMI demo is a PLB based project and the only piece of info I can find about storing projects to SPI/Flash is for AXI based projects. Can anybody help me achieving this ? Any help would be greatly appreciated. Cheers
  18. azn103

    Cmod S6 Quad Spi

    I recently got a Cmod S6 and was able to program it just fine. Now I want to access the Quad SPI so I can load my program directly from the SPI rather than using the Digilent Adept program. The Cmod S6 did not show any references to how to program that part. How do you program the PROM?
  19. Hi With the waveforms tool is it possible using python scripting in the Waveforms platform to do the following ?? Use the Digilent Analogue discovery 2 - Attach a device like a PMOD device eg accelerometer using the Analogue discovery 2 ability to chat SPI & IC2 - pmod DEVICES SUPPORT 12-pin Pmod connector with SPI interface and 2×4-pin I²C interface - Then using the read information from the PMOD device treat it like an extra oscilloscope channel . Either as a Analog channel
  20. Hi there, I am in need of help communicating with my Pmod AD5 using the SPI on raspberry pi 3. I am pretty new to SPI and have troubleshooted and searched the web for solutions over the past week but have yet to solve this problem. Here are some of the steps that I have done: 1) managed to read values using the Arduino Library linked on the product page and with an Arduino UNO, by connecting VCC of Pmod AD5 to 5V (I am not sure what I cannot read anything when connected to 3.3V) 2) understood what SPI is about and what the Arduino Library is doing (or what I think was logical) - rea
  21. I am trying to use a DAQ to analyze I2C, SPI, and UART signals and then classify them, so they have to be the actual output signals from the Cora Z7 board. However, I am limited due to the project itself to use only the General Purpose I/O pins (IO0-IOA(IO42)). Is it possible to funnel the SPI, I2C, and UARt signals through these pins, or can you only use the specified pins, such as SDA/SCL, MISO/MOSI, or the USB UART bridge to do this?
  22. I am starting with working design for the CMOD S7 where I program the device through SDK and all functionality works as intended. Now where I am falling short is getting the program to run out of the SPI Flash. I have been following the "How To Store Your SDK Project in SPI Flash" guide from Digilent in order to put a Microblaze design into SPI Flash on the CMOD S7 located at the link here: There is a recommended offset of 0x00300000 for the CMOD A7 - My question is what is the recommended o
  23. Hello, I've been strugling with de micro-sd card in Nexys-4 for quite some time. I'm using the code at sd_spi.vhd by Lawrence Wilkinson, but the FPGA never gets a valid answer from the card so it keeps looping forever (CMD8) I think I've checked all the obvious things : - Trying an old card, just in case SDHC was not properly suported - Booting the FPGA from the SD card (not USB), to check that the physical circuits were working properly - Trying with 3 different Nexys 4 boards - Lowering clock frequency to only a few hertzs (normal speed should be 50MHz, and a c
  24. Hello I have a microblaze running a LwIP server adapted from the lwIP server example where everything works fine. LwIP stops working when I use another peripheral with an interrupt attached to it. In my case I have an SPI EEprom running perfectly, but after initialization LwIP stops working. The EEprom code is also standard code from the example. Interrupts are all connected to the microblaze with a concat IP. Has anybody experience in this topic?
  25. 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.