JColvin

Administrators
  • Content Count

    3305
  • Joined

  • Last visited

  • Days Won

    115

Everything posted by JColvin

  1. Hi DrK, All of our FPGA boards that Digilent currently offers are capable of SPI communication and have 20+ IO pins. At this point, (I'll confirm this and let you know otherwise if this isn't the case) I do not think NI nor LabVIEW MakerHub has designed any VI's or firmware to be able to program any of our FPGA boards. From what I can see on the LabVIEW MakerHub website, LINX only supports this list of Digilent boards, including the chipKIT WF32. Let me know if you have any more questions. Thanks, JColvin
  2. Hi JakeM, Digilent primarily focuses on Electrical Engineering and Computer Engineering Education, so unfortunately the large majority of the members here on this forum will probably not be able to specifically help you. Thanks, JColvin
  3. Hi Pluto, The source code language for our FPGA boards is dependent on who wrote it and in this case it happened to be written in VHDL. So no, unfortunately we do not have a verilog version available. Thanks, JColvin
  4. Hi DrK, The Analog Discovery is the only module that we have that is compatible with the Waveforms software that we developed. However, the new version of the Waveforms software, Waveforms 2015, can support SPI communication through a script. Let me know if you have any more questions. Thanks, JColvin
  5. Hi Timoleon, That sounds like an interesting project. I'm not sure that Digilent specializes in the solution you're looking for, but perhaps we can help. Could you tell me a little bit more about what you're hoping to do? Thanks, JColvin
  6. Hi c64, I have escalated this question to our support team who will get back to you here on the forum. Thanks, JColvin
  7. Hi Vladimir, I am not the most experienced with FPGAs so I will not necessarily be able to offer any specific help in terms of the code. As for better letting you know that the program has been completed, perhaps you can turn on one of the LEDs on the Basys 2 once the "done" parameter is true. From what I can tell from your code, there is currently nothing else to do once done = 1, so I'm not sure what part of the code is being avoided. In terms of improvement, it would depend if there is something else you want your program to do. If you wanted it to cycle through different output voltage levels, you could write some code to do that with a command3 and command4 (if you so choose to use those parameter names) and and some sort of delay inbetween the changes. You will not be able to output a negative voltage with this Pmod; it can only output a voltage between 0V and the supplied reference voltage. (2.5V in our case since we essentially have to use the internal reference voltage) I looked through the book you mentioned, but I didn't see any exercise that involved voltage over time, but I'll presume you have something. As you know, for the PmodDA4, you will have to keep loading new voltage values when you want the voltage to change. In terms of having them change with time, you can do it in one of two ways (at least as far as I am aware). You may use an external timer of some sort and then press a button or flip a switch (or something similar) on the FPGA when you want the voltage value to change. I would probably instead try to create an internal timer in the FPGA that sends a new command once the set time (or delay) is reached. Let me know if you have any more questions. Thanks, JColvin
  8. Hi Evocati, I have escalated this question to our support team who will get back to you here on the forum. Thanks, JColvin
  9. Hi Jason, I'm thinking the last suggestion you had with the right angle connector, JTAG HS3, and USB cable may be your best option. I'm not aware any other single-item solutions that will meet your needs. You may be able to find some ribbon cable with a right angle header to give you some more reach in terms of distance, but Digilent doesn't offer a cable like that, at least as far as I am aware. Good luck! ~JColvin
  10. JColvin

    JTAG HS2/Adept and Qt5?

    Hi algae, I have escalated this question to our support team who will get back to you here on the forum. Thanks, JColvin
  11. Hi jheinecke, From my understanding the difference between the B.2 and B.3 in terms of revisions is due to a minor change that does not affect board performance. After talking with Digilent engineers, I found out that in this particular case, the board was released to the public as B.2, but the schematic for the ZYBO did not get updated with the minor change from the original, prerelease board, so when the schematic was updated to then accurately reflect the board (due to a "no load" resistor or a similar minor change), it technically went through a minor revision making it B.3 So to answer your question, I guess the answer is that the board is both B.2 and B.3 since they both represent the same board. Let me know if you have any more questions. Thanks, JColvin
  12. Hi Jonathan, As you can see in a screenshot of the Basys 2 reference manual in this other forum post, the primary oscillator (mclk) is flexible in the fact that you can choose a variety of frequencies, but it lacks the frequency stability of a crystal oscillator. The biggest difference you'll notice would be when you're driving a frequency sensitive application, such as a VGA monitor, where you'll probably see an improvement in the image stability if you instead use a crystal oscillator in IC6 as your secondary oscillator (uclk). As indicated, the secondary oscillator (which you'll have to purchase separately), if it's a crystal oscillator, will have better frequency stability than the primary silicon oscillator. But if you're not planning on driving a frequency sensitive application, you probably won't need to use a secondary oscillator. Let me know if you have any more questions. Thanks, JColvin
  13. From my understanding, the Instructables website only offers pdf downloads of the Instructable guides to their Pro members, which you can choose to be when you sign up for an account with them. If you do not wish to become a Pro member, you will have to click on the next and previous buttons (or view all steps button) on Kaitlyn's Instructable so you can read through the guide that she has provided on her own time on converting a ucf file to an xdc file. Thanks, JColvin
  14. Hi Leo, I have escalated this question to our support team who will get back to you here on the forum. Thanks, JColvin
  15. Hi hwynters, I looked around online for a convenient adapter, but there doesn't appear to be any that would work nicely with your particular board. Digilent has three different boards that supply a VHDCI connector, although they are being replaced by newer options so they all have limited availability. They are the Genesys, the Atlys, and the Nexys 3. Let me know if you have any questions. Thanks, JColvin
  16. Ok. Are you referring to a specific file within the Instructable, such as the demo.ucf file? Or are you trying to do a pdf download of the document?
  17. Hi Vladimir, You only need to send the 32-bit command for using the internal voltage once for each time the Pmod is connected to a power source. If you only want the maximum voltage output on all 8 outputs, you will also only need to send that command once for each time the PmodDA4 is connected to a power source. If you disconnect the Pmod from a power source, you will need to send the two commands again because the on-board Analog Devices chip will revert to it's default settings. Let me know if you have any more questions. Thanks, JColvin
  18. JColvin

    Zybo HDMI sink

    Hi Hao, I have escalated this question to our support team who will get back to you here on the forum. Thanks, JColvin
  19. JColvin

    nexys2 fpga board usb

    Hi vport, I have escalated this to our support team who will get back to you here on the forum. Thanks, JColvin
  20. Hi Vladimir, You probably already saw this, but I replied to your comment on the other thread you mentioned. Thanks, JColvin
  21. Hi Vladimir, From my understanding, you have the right idea on how to get the data sent to the PmodDA4. What I do notice is that you have combined the two commands together; both the command to use the internal voltage along with the command to send a maximum output voltage on all of the channels. The Analog Devices chip present on the PmodDA4 is not able to handle both commands simultaneously. So what you will need to do instead is to send the two commands separately. First the internal voltage command (don't care bits - 0000, then Command bits -1000, then some more don't care bits in the place of address bits - 0000, then more don't care bits in the place of the output voltage 000000000000, and then the final 8 bits - 00000001) will need to be sent by itself. Then you may send the command to produce the maximum voltage on all available outputs (don't care bits - 0000, command bits - 0011, address bits - 1111, ouptut voltage bits - 111111111111, more don't care bits - 00000000) Let me know if you have any more questions. Thanks, JColvin
  22. Hi moez, The datasheet does not actually say that you will get four simultaneous channels of conversion for the AD7991 (which is on the PmodAD2). Rather, if you maintain the default setting of all of the channels enabled, the chip will instead cycle through each channel individually (as indicated in Tables 10 and 11 in the datasheet). So you will need to perform four reads in a row to have the module perform a conversion on each of it's channels. Let me know if you have any more questions. Thanks, JColvin
  23. Hi, Which file are you having trouble downloading? One of the files provided in the Instructable or a different one? Thanks, JColvin
  24. Hi jbirriel84, Presuming you have the bootloader back on your board, the issue you're running into is that the MPIDE does not recognize the pin names you are naming since each button and LED has a set name that is already predefined. You can find out these names that MPIDE will recognize by going into your main MPIDE folder>hardware>pic32>variants>name_of_the_board_you're_using>Board_defs.h and then finding where it has LED Declarations and Button Declarations. For your reference, here are the names (and pin numbers that you would use if you so chose) of the LEDs and Buttons on the chipKIT Pro MX4 #define PIN_LED1 64 #define PIN_LED2 65 #define PIN_LED3 66 #define PIN_LED4 67 #define PIN_BTN1 42 #define PIN_BTN2 43 Let me know if you have any more questions. Thanks, JColvin
  25. Hi Marcel, Thank you for your feedback! Let me see if I can help clarify some things. Within this particular section, the goal is to determine the largest amount of power that can be delivered to the load so that it can do some form of work for us. In my mind then, the maximum efficiency of the circuit (where I calculate efficiency shown here) would be when the maximum amount of power is delivered to the component (and correspondingly the maximum amount of power that the supply could provide) so it can do as much work as it can. So, if we wanted to calculate the power used/going through a component, we would want to use the general power equation. Presuming we had circuit such as the one in Figure 4.15 on page 38, we can then show the Thevenin equivalent of this circuit in Figure 4.16, where VOC is the Overall circuit voltage (and is an ideal voltage source because RS is accounted for), RTH is the Thevenin resistance (the resistance of the voltage source), and VL and RL are the voltage across the load and the resistance of the load, respectively. We can calculate the voltage across the load via a voltage divider (eq. 4.13) Using our power equation, we can then calculate the amount of power delivered to the load (equation 4.14) We can then graph this equation by picking a VOC and a RTH (RS) and varying the load resistance both above and below the value of RS. We can then determine where at what value of RL this peak occurs by differentiating the equation we had with respect to RL and setting it equal to zero (so that we find the peak). The equation is satisfied if either VOC2 is zero (which would imply no voltage, and thus no power by P=V*i) or by having the numerator be equal to 0. Following along with the text on page 39, we see that we will achieve this peak when RL = RTH. The same result is achieved if we instead solved for the maximum power delivered by our source. We can confirm this by choosing a VOC and plugging in various combinations of RL and RS. Thus in my mind, when we do not get the maximum power we cannot achieve the maximum efficiency of the circuit, but again this is all based on the assumption that efficiency is referring to how much work we can get out of the component receiving energy from the source. If instead efficiency is determined by the minimum amount of power dissipated by the source, then yes, I definitely agree that a RL greater than the RS would be more efficient. However, it follows that with larger and larger values of RL, less current will be flowing through the circuit, leading to the conclusion that the power supply that dissipates the least amount of heat is also the one that is hooked up to an infinite load (an open circuit), which I find to be of limited use. Please let me know if you have any questions. Thanks, JColvin