JColvin

Administrators
  • Content Count

    2963
  • Joined

  • Last visited

  • Days Won

    87

Everything posted by JColvin

  1. Hello, None of us here at Digilent have any experience porting material to risc-v material, but the Xilinx materials that we have on the Digilent GitHub for the PmodSF3 is based off of the Arduino styled material for the SF3 (link to PmodSF3 Resource Center), so you might look there for easier to interpret material. I'm sorry we couldn't be of more help. Thanks, JColvin
  2. Hi @Ufuk Keskin, The same github user has a SPI slave version here: https://github.com/Nematollahi/SPI-FPGA-VHDL/blob/master/hdl/spi_slave.vhd. Additionally, remember that in HDL, everything happens simultaneously rather than sequentially so the HDL you have written where you assign data_out as all 1's and then in following line assign data out to one of two options can potentially happen at the same time; so I believe the resulting circuit that is implmented when the code is synthesized will not assign dat_out as all ones and then check the if statement after that. Thanks, JColvin
  3. JColvin

    DMC60c CAN Bus

    Hi @opethmc, I have reached out to some of our other engineers more familiar with the DMC60c CAN protocol about this. Thanks, JColvin
  4. Hi @mkj, I apologize for the delay. I asked our firmware engineer if they had any sample CSV files available for the OpenLogger (simulated or otherwise) and they informed me that they did not have this material at this point in time. Thanks, JColvin
  5. Hi @TSch, Thanks for sharing what you did to get it working!
  6. Hi @Ufuk Keskin, Could you attach your test bench? Right now your code looks like it is set up just so that the dat_out is being fed with the data and filling MISO (so your slave device, the Basys 3, would be sending out data) and the dat_reg is getting data from MOSI, which makes sense, but something is isn't quite right in your design. I would also recommend taking a look at this SPI design to reference to ensure everything is set up correctly. Thanks, JColvin
  7. Hi @bacif, Based on your picture and the voltages you gave me for the capacitors, my best guess at the moment is that some ESD was applied to the FMC connector (which is much easier to do with the FMC breakout board you have attached with all of the exposed pins and the FMC connector in general is very sensitive to this, i.e. no protection, to maintain high speed data throughput), causing the damage you experienced. I'm not certain where the connections have all been made with regards to connecting to the 3.3V to 5V on the initial HEF4104BP, but from what I can tell they look reasonable to me (i.e. nothing jumping out at me with regards to power and ground shorting each other out). The good news is that I'm also fairly sure that it is just IC27 that is damaged (as opposed to the entire Zedboard) as the two capacitors that were not at the expected voltage were C340 (measuring the VADJ voltage) and C368 which measures PG-ALL. PG-ALL (which controls the "power good" LED, hence why it is off), is controlled by a couple of voltage rails (both of which were fine based on the capacitor voltages I requested you check) and VADJ-FB, which if the VADJ supply is not working, would likely lead to the feedback for it not working properly as well. For peace of mind though, it wouldn't hurt to load a different project onto the Zedboard to confirm that the other components are working as intended. One aspect you may not be able to readily test is the PS side of things as PG-ALL does also control Power-On-Reset button for the PS, so if that is not properly being initialized upon power up, it probably will not work as intended. From your second post though, it seems that you have a second Zedboard with a similar set of issues? Thanks, JColvin
  8. Hi @sus-e, As per this thread, the maximum SPI frequency is 3.5 MHz for a PIC32 and a 4 MHz for an AVR chip; anything faster than that will start to cause erratic behavior with the implemented state machine on the embedded PIC32MZ on the MTDS, especially if the touch screen functionality is being used. Thanks, JColvin
  9. Hi @air6pilot, I've moved your thread to a more appropriate section of the Forum (the Project Vault is for completed projects you want to share with the community). The demo project for both the Zybo Z7-20 and the Zybo Z7-10 are available for download here. Instructions for getting the project running can be found here, https://reference.digilentinc.com/learn/programmable-logic/tutorials/github-demos/start; this project isn't directly on GitHub at the moment, so you can jump to step 2. Let me know if you have any questions. Thanks, JColvin
  10. Hi @bacif, If you just using the logic analyzer or the oscilloscope tools on the Analog Discovery 2, then I think it would be very unlikely that connecting those pins would cause an issue, especially considering that you already have the grounds connected. Do you happen to have a picture of the physical connection of the Analog Discovery 2 to your system? Because you said that you had VADJ set to 3.3V, I presume that means you soldered on your own connector for it? Was there a particular reason you needed VADJ at 3.3V? The reason I ask is because the mezzanine card you linked to appears to just be a breakout board for a FMC LPC connector. Additionally, I am a little confused by your picture; where exactly is the mezzanine card? I realize that it would be attached to the FMC connector, but it looks like in your image that the Analog Discovery 2 is instead attached to the HEF4104B? Is this one way voltage translator connected to anything? I realize it's a custom made ADC board so there likely isn't a datasheet or general schematic available for it, but what logic type and voltage levels does it use? I ask because the Pmod ports run at 3.3V CMOS and that is the same voltage rail that powers the "Power good" LED as well as the bank that controls the user LEDs. In the interest of determining what all is happening on the power regulators, could you check the voltage on the following capacitors while the system is connected and powered? Near IC27 on the bottom left on the underside of the board: - C330 (should be 5V): - C335 (should be 3.3V): - C340 (should be whatever VADJ is set to): Near IC28 on the bottom right on the underside of the board: - C351 (should be 1.5V): - C356 (should be 1.0V): Near IC29 on the center right on the underside of the board: - C368 (should be 5V): Near IC30 on the top left on the topside of the board: - C366 (should be 1.8V): - C369 (should be 5V): Near IC30 on the top right on the underside of the board: - C388 (should be 12V): - C392 (should be 5V): Thank you, JColvin
  11. Hi @hello.parth, The J8 connector is not connected with the USB JTAG circuitry as illustrated in section 4 of the Arty A7 reference manual here: https://reference.digilentinc.com/reference/programmable-logic/arty-a7/reference-manual#fpga_configuration. The JTAG HS2, as noted on the Digilent store page, includes the USB JTAG circuitry that is natively present on Digilent made boards. Thanks, JColvin
  12. Hi @Bilal29, If you go to the Resource Center Jon linked to, you will see that it links to Digilent GitHub page for the Nexys Video XADC demo, https://reference.digilentinc.com/learn/programmable-logic/tutorials/nexys-video-xadc-demo/start#downloads, which will have that material. Thanks, JColvin
  13. Hi @stran, Unfortunately we will not be able to assist with the JTAG Boundary Scan test as we do not commonly develop these types of tests to use on our boards. Thank you, JColvin
  14. Hi @JeffJ, Are you able to write text in this >240 region? Otherwise, based on the MTDS Library Programmer's Reference Manual, the SetDisplayOrientation function describes that the portrait and landscape modes switch which sides (long and short) are the x and y axes. Did you also switch the axis for your create button function to account for this, since keeping the old y axis value on the new y axis (which is now shorter in landscape mode) would be attempting to render the button outside of the display area. Thanks, JColvin
  15. Hi @stran, I am not certain what you are asking. Are you wanting to know how to use our JTAG cables/programmers (list of them here) with your system board or are you wanting to know something else? Thank you, JColvin
  16. Hi @mkj, There are currently not any plans for an SDK like the Discovery line has or similar scripting capabilities. As for the non-browser software, the local app (that's part of the Digilent Agent if I recall correctly) is what we have available, though as you probably expect, the most current version will be the one available on waveformslive.com. Let me know if you have any more questions. Thanks, JColvin P.S. Glad to hear you are a fan of the Analog Discovery products!
  17. Hi @conanandai100, I'm not sure how much of a difference it makes since they are both TCP based, but based on the screenshots you have provided it looks like you are using a wired TCP server and a WiFi echo client, so they may not be directly compatible; I haven't gotten to try this directly though, but it may be worth trying. Since you are using the Pmod Wifi, I would use the WiFi variants of both the server and client. From your first error (0x10003A00), line 81 in the deIP.h (which defines what the status values could be) shows that this is an Adapter error that is specific to the adapter. The second error (268450304 in decimal) converts to the same hex value as the first error (0x10003A00), though I am not certain what the adapter would be in this situation since the MRF24 datasheet does not indicate that it would be the adapter. Thanks, JColvin
  18. Hi @cesarasdf, Do you have a picture of your setup that you can attach? Specifically, I would like to know the jumper settings used for powering the Nexys 4 DDR on jumper J12 as well as how the gearmotors and ultrasonic sensors are attached to the Nexys 4 DDR. Thank you, JColvin
  19. Hi @HYH, @attila will be better suited to answer this more fully, but my understanding is that the DwfCmd is still compatible with the current WaveForms, based on this thread from earlier this year. I don't know the answers on editing of the script file or the config.ini though. Thanks, JColvin
  20. Hi @Yani, What time base are you using in the images you attached? From what I can guess in your images (at least the fist one that has some information about the sampling rate) you seem to have a custom timebase between 2 and 5 milliseconds/division. The reason I ask is because at lower sampling rates (which can be set by larger timebases) that are measuring a "noisy" signal (not necessarily white noise) that oscillates around a center point and is a much higher frequency than the oscilloscope is set to effectively measure, will look similar to the images you attached, making it very difficult to guess what sort of waveform is being generated. I have attached a couple of images of what the noise generated using the settings attila provided at a couple of different timebases to illustrate this, which I realize you have tried already but am attaching for the sake of other curious readers. If you have some more details about the waveform you are capturing (i.e. is it from an external source and if so what are you measuring), please let us know so we can better inform you how you could generate that signal in WaveForms. Thanks, JColvin
  21. Hi @Luigi Salamandra, I agree that it looks like the impedance tool in WaveForms only lets you control one Waveform Generator directly, so I will actually defer to @attila to see if there is a way to nicely do this for two channels within Impedance tool. Naturally, you can just use the WaveForm generator tool itself and have the two channels be synchronized directly and then measuring the data you want with the oscilloscope tool, though perhaps it might not get the data view you want directly. Thanks, JColvin
  22. Hi @benl, I apologize for the delay; the header that I have been provided is available on this post here: https://forum.digilentinc.com/topic/17904-read-out-log-file-from-openlogger/, though I personally don't know when the material will be going up on GitHub yet. Thanks, JColvin
  23. Hi @Luigi Salamandra, I know with the LabForms VI set (link to Instructable detailing it's use) you can generate two signals and measure them at the same time. However, all that was implemented was the simple function generation (such as Sine and Triangle waves), so the sweep and modulation functions that are normally in WaveForms that can be used with the Analog Discovery 2 WaveForm Generator are not implmented within the VI (along with a number of other features and configurations). If you need the ability to adjust the waveforms with more finesse, I would probably recommend is to take advantage of the WaveForms SDK through LabVIEW or use the scripting capabilities of WaveForms, both of which are documented within the WaveForms download on it's Resource Center. If you need a spectrogram view though, I believe you will need to use the WaveForms software itself to get this (unless LabVIEW has it's own VI to receive and display the needed data as appropriate). Let me know if you have any questions about this. Thank you, JColvin
  24. Hi @NicoLlamas, I apologize for the delay. Unfortunately, I don't think there is a nice way to use the BNC probes with the Impedance Analyzer analyzer adapter. It is possible to just some additional wires to connect the BNC Adapter inputs to the inputs on the Impedance Analyzer, but at that point you will probably lose any extra stability and resolution that was gained with using a specific adapter board with it's traces, though I do not know this for certain. Let me know if you have any questions about this. Thanks, JColvin
  25. Hi @Phil_D, The post was one level deeper forum wise than it needed to be, so I've moved it to where @attila will be looking for questions. I'm not certain if there is more to it, but based on the Oscilloscope section of the reference manual, it appears that the high gain is used when the difference between the positive and negative inputs are less than 7V, though I'm not certain how the Spectrum Analyzer tool calculates/determines what to use before-hand when selecting the attenuation. Thanks, JColvin