• Content Count

  • Joined

  • Last visited

  • Days Won


NAEastland last won the day on June 9 2016

NAEastland had the most liked content!

About NAEastland

  • Rank

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Well, the library is still in the works, but I've done a little testing to see how the chip outputs its readings. Regarding just the raw data value you will get from a reading, the device seems to set the minimum reading (0x00 or 0) at the bottom of the range determined by the configuration settings and just outputs the data linearly. So your midpoint value would be 0x800000. Now the actual voltage range that is readable by the device is slightly less straight forward. For an example, lets say you had the device configured for pseudo-differential inputs, bipolar mode, with a gain of 1. In this scenario my current setup is the PmodAD5 with the chipKIT Pro MX4. If i apply a voltage of 2.5V to the AINCOM pin (the reference pin for the analog inputs in pseudo mode), then the range of inputs around that 2.5V AINCOM reference is determined by the gain, which would be +-2.5V for the gain of 1 (so 0V to 5V in theory). With this setup, the applied input voltage of 2.5V gets me around the midrange (approx. 0x7FB500). Setting the device to unipolar mode sets the minimum value of the range to the 2.5V AINCOM reference, so an input of 2.5V should give you roughly 0, and an input of 5V would give the maximum value of 0xFFFFFF. (Side note, since the Pmod is powered by a 3.3V VDD, the upper limit ends up being around 3.3V, roughly 0xA00000/0x400000 bipolar/unipolar, instead of 5V). So I guess to summarize: the range is linear from min to max being 0x00 to 0xFF. the range boundaries are dependent on your settings as well as your supplied voltage Hope this is helpful! Nate
  2. Hey @SkeptoLogic, Testing the configuration and mode settings you provided, I am getting similar outputs to what you stated you were reading (if I am understanding your post correctly). I am currently working on a library for the pmodAD5, so as I finish it up I should be able to give you some more definitive answers. In my recent experience with the AD5 though, and having read through the datasheet as well, I too have been having some difficulty deciphering differences between certain actual outputs and my expectations. Sorry for not having a whole lot of info for you at the moment, but I should have something more next week as I look into this further (and hopefully a library to share). Regards, Nate
  3. Hey yassin, I haven't done much with petalinux in the past year, but unless there has been some dramatic changes petalinux itself has to be run in one of the supported Linux environments. So if you mean that you don't have a native Linux machine I would suggest setting up a Linux virtual machine and working with petalinux from there. I am not sure if there is a specific Sobel filter project you are referring to, but as for creating an image with petalinux that includes a Sobel filter, you could approach this a couple ways. Adding a filter block in Vivado to a block design would let you add a filter in hardware, or you could find some source code that implements one in software (in OpenCL for instance). It really depends. For specifics about using petalinux I suggest checking out this link, as Xilinx provides pretty thorough documentation on petalinux usage. -Nate
  4. Hey Dig2, So to your questions, the negative (alligator clip) of the BNC probe should not be connected arbitrarily, since it could lead to either erroneous measurements at best or damage to your devices at worst. A way I try to think about it is to ask what voltage do you want to measure? For instance, if you are measuring an AC output signal that you expect to swing between +/- 12V, you would not want to connect your reference point (alligator clip) to a voltage other 0V. If you connected your reference to -3V hypothetically, once the output signal reached its max you would actually get a reading of 12V - (-3V) = 15V, and the minimum output would read -12V - (-3V) = -9V. This is of course just a hypothetical example of an erroneous measurement. The worst case would be that you end up creating a short between the ground of your scope and the device you are measuring and you end up frying something. The sources that Hans has linked in his reply should help you with an explanation of what may have happened with your particular set up. In the video, Dave explains the couple cases where connecting the negative (alligator clip) end of the probe to wherever on does not make a difference (these being when the device you are measuring is isolated from the ground of your scope). He also explains how doing so will cause problems if both devices are connected to the ground of the mains voltage. As a general rule you should always connect the negative of the BNC probe to a ground/reference point on the device you are measuring. As you said though, you had the probe's negative clip connected to ground, so you should not have had a problem. Without having seen your set up I really can't say what happened (obviously something was shorted, but where), but yes, as the BNC probes are not differential the negative for the probe you are using should be connected to ground of the device you are measuring. Sorry this got a bit wordy, but I hope this and the info shared by Hans was more helpful than confusing. Regards, Nate
  5. Hey Brett, I'm glad you were able to find a solution to the problem. Thank you for sharing that information, we will see about getting that updated as soon as possible. Regards, Nate
  6. Hey Axe, There may be a quick solution that jumps out from those screen shots, but it's not readily apparent to me. Can you provide a link to the specific project you are following? If I can create the project or recreate the issue you are having hopefully we can find you a solution quickly. -Nate
  7. Hey Rohit, The USB host functionality on the Zybo runs between the multiplexed IO at the ARM processor to an IC at the USB OTG port. The communication between this PHY and the processor is not something that I would recommend trying to develop yourself. The fastest way to getting peripherals interfaced with the board would be to run an embedded Linux image on it, for which there already exists drivers that would handle communication with various USB peripheral devices (something through PetaLinux would be quick to implement). If, however, you are trying to bring in an existing design that is written all in programmable logic and uses a PS2 controller you have already written, then you would need to grab something like the PmodPS2, which would allow you to enable your controller in the FPGA. I may have assumed the specifics of your project incorrectly though, so if this does not get you pointed in the right direction please let us know what your specific usage is so he can better help you. -Nate
  8. Hey btb4198, The silk screen is a bit cramped and the header is one solid piece, so it is a bit hard to tell what's what. So the top two pins of that header are indicated as J6 and they do provide 5V. Similarly, the two bottom pins of the header are tied to ground and are marked as J15, so the second to last row are in fact pin 52 and 53 as you indicated. The pins in the rest of the header are split in two schematically. Header J8 includes the lower set of pins (from 38 to 53) and header J9 includes the upper set of pins (from 22 to 37). I hope this helps! -Nate
  9. I think for this example it might be helpful to frame what it is that is going on with your code. I am not sure this is correct, but I am assuming you are worried about a 'false' reset, meaning that the reset signal x1 is still high when the clock triggers the block. You can add another variable in your reset condition that indicates if x1 has been de-asserted, 'AND'ing those two signals together. This is just a suggestion though if you want to keep the design asynchronous, and I would encourage you as well to consider using synchronous resets if you can. -Nate
  10. Hey Can, I'd say your best bet would be to use the MPLAB X IDE for programming the Cerebot. It'll require a bit more work (determining register configurations and such) but you'll be able to program it with that. MPIDE would be more convenient if you just wanted to run a demo and tweak it a little, however the Cerebot will need to have a boot loader installed in order for you to program it with MPIDE. The boot loader is loaded during manufacturing for the successor to the Cerebot 32mx4 (the chipKIT MX4 Pro), however I am not certain if the Cerebot is compatible with the boot loader for the MX4. If you want to give it a try (just to make MPIDE or the Arduino IDE possible programming options) there are some instructions on page 4 of the MX4 reference manual that you can follow to see if it'll take it. The other files you may need for programming it with MPLAB X are the DSPI library and Board_defs.h and .c (possibly helpful) for the Cerebot. The DSPI folder in the MPIDE files is located under hardware/pic32/libraries, while the Cerebot files are under hardware/pic32/variants/Cerebot_32MX4. Between these and the example code Dan linked to you should have everything you need. I have not personally played with the PmodCLS myself, but I have gone through a similar process to get the PmodOLED to work through MPLAB X and it was fairly straight forward once the tools were set up. I hope this was more helpful than confusing, but let us know if you have any other questions. -Nate
  11. Hey jcdammeyer, Welcome to the forum, and it's good to hear you are enjoying your Analog Discovery 2! To your question, I believe the calibration routine is not intended to be run with 10X probes connected to the AD2 (the last time I ran it the prompts were for direct connections between various channels of the AD2). We were able to replicate the issue you are having. With both probes set to 10x (for your bench scope and the AD2) as you mentioned is when the erroneous reading occurs, however it only appears to be an issue with that case and not when either probe is set to 1x (at least in our replication here). I am not certain why it's doing this, but perhaps someone who is a bit more familiar with the inner workings of scopes could provide some insight if you begin another thread in the Scopes & Instruments section. Regards, Nate
  12. Hey Beamer, Sounds like a pretty cool project you're working on! I have spoken to one of our engineers for some clarification on a couple of your questions. So to answer your questions: The short answer is no, unfortunately. There may be some type of example project in the future, but at the moment I am not aware of any that will be available soon. As for simultaneous communication with SPI and JTAG, this specific module does not support that. I have been told that we do have a chip on certain products that is capable of supporting both simultaneously (on the Nexys Video for instance), but this one cannot. There are a couple points for your question here. First, depending on the Linux distro you are using, you could possibly be able to use Adept 2 SDK, however there are many varieties for which it will not work. I am not intimately familiar with all of its dependencies so I can't really speak to what you should look for to determine compatibility. Second, after asking the engineer who wrote Adept, it seems that it was only written to support a specific subset of Xilinx FPGAs, so it will not be able to program something like an UltraScale chip. I don't believe there would be any other software you would need, provided the prior answers don't render this question a nonissue. Yes, the 30 MHz speed is supported for both communication ports. Sorry for not having a whole lot of optimistic answers for you. If you are set on using a microcontroller to configure an FPGA you may look into the Slave Serial Mode for configuration of 7 series FPGAs. This is a mode that supports direct configuration from a microcontroller, and while I am not sure this configuration option is supported with the specific chip you are planning to use, it is worth looking into. I found the configuration document for the standard 7 series chips here. Also, if you are not totally set on this particular chip set, I might suggest looking into the Zynq UltraScale+ chips if you need a processing system and FPGA component to your project. I hope this helps! -Nate
  13. Hey Mehdim, There is an Instructable that is being written right now for implementing the Linux BD from the Digilent repo on the Zybo. I'll include the link in this thread for you once it is up. We are still at a stage where we are planning out our PetaLinux support material, but more will be coming soon! Regards, Nate
  14. Hey David, The USB OTG port is accessible through the processing system and not the FPGA portion of the Zynq chip, which is why you did not find anything for it in the .xdc file. You'll need to implement a Zynq block into a block design to make the processing system peripherals available for usage (USB-OTG, ethernet....possibly another). I'm not sure what functionality you need with your project, but there is a brief intro guide for the Zybo that we have. It does not use any peripherals, but it can serve to give you some insight into how you can leverage the processing system of the Zynq chip. Are you looking to simply use the keyboard as an input device? -Nate
  15. Hey Dakefeng, There is a way that this can be done in Linux. There is a utility called 'device tree compiler' that can compile .dts files into .dtb and vice versa. Xilinx has a wiki page that talks about this and its usage a little bit. I'm sure a quick search could also find you some more detailed information about it, but it is possible to do! -Nate