D@n

Members
  • Content count

    952
  • Joined

  • Last visited

  • Days Won

    81

D@n last won the day on April 14

D@n had the most liked content!

About D@n

  • Rank
    Community Super-Star

Contact Methods

  • Website URL
    https://github.com/ZipCPU

Profile Information

  • Gender
    Not Telling
  • Interests
    Building a resource efficient CPU, the ZipCPU!
  1. @BeamPower, I don't see why the A7 wouldn't be a good host ... the comms path is fairly simple between the PMIC and just about any PMod host. The ARTY should work just as well. Is it possible? Yes. You should be able to record sound at a rate of 1Msps, but I doubt you'd actually get that much bandwidth. I just recently plugged my own PMIC in, wrote up some code for it, but ... (sadly) I haven't tested it yet beyond a simple bench test. Still, you can find my work here. I've got it connected to a ZipCPU already, I just ... haven't done anything with it to know if it would really work or not. Dan
  2. @kmbm, If the light is blinking, you don't have any signals. You might want to place it even closer to the window, and then perhaps let it wait for a while. Cold starts can take a bit. Indeed, it can take 12+ minutes to download the full GPS information from the satellites. (Many modern receivers have a battery to maintain that information, PModGPS does not.) Dan
  3. @Tickstart, The difference between what you proposed above and what you've seen in the past is sometimes called a "logic loop". In your proposal above, you have logic depending upon itself with no clock. (This is bad) In the logic you've seen before, everything could eventually be traced back to clocked logic somewhere. The distance between the final piece of logic and the clock that started it off determines the minimum clock period (maximum clock rate) for your board. Dan
  4. @pamcheese, Why not use the TCK signal for your clock? Dan
  5. @zygot, Is that what that means? I've always gotten confused between the two terms. Clock Enable certainly makes more sense of a port labelled ACLKEN then circuit enable does. Dan
  6. @BeamPower, On that same command line, what answer does "which mb-gcc" give you? Equivalently, can you find a mb-gcc file on your computer anywhere? Dan
  7. @Tickstart, Can I try to answer your question, "Why does it need to be clocked?" Your count signal is 4-bits wide. When you wish to increment this, there's an "equation" or "logic" that needs to take place for all 4 bits. This function depends upon inc, dec, and the previous counter--so it is roughly a six bit equation. The problem you have without clocking is that some of those bits will be ready before others. Sure, they all require one LUT, but routine between them will be different. The earlier bits will then get used in the equation for the later bits and thus the inputs will not be stable until all of the outputs are determined. So ... what results will you expect from a function whose inputs are changing while the function is being evaluated? Dan
  8. @Yannick, Ok, now that I understand what you wish to do, try this: Tie ACLKEN on the DDS to 1. This will generate a signal at your system clock rate. It'll also look nice and pretty in the simulator as it comes out of the DDS. Tie ACLKEN on the FIR compiler so that it is 1 for one system clock 2.7M times per second. The result won't look so pretty going into the filter any more, but it will be at your desired sample rate. Tie m_axis_tdata_ready going into the DDS to 1. This will allow the DDS to free run, even though you are only looking at samples 2.7M times a second. Tie m_axis_tdata_ready going into your FIR to 1 as well. We won't use that. Now, on the output of the FIR compiler, you'll want to sample the data once every time ACLKEN is valid. This will then capture the sampling effects, and allow you to visualize how the sample rate is affecting things. You should see some fascinating things happen as you set the DDS to just less than 1/2 your sample rate through just greater than 1/2 your sample rate. Likewise, you may find setting the DDS to somewhere between just less than 2.7MHz and just greater than 2.7MHz should also be quite fascinating for you. Dan
  9. @zygot, I was only speaking from my own experience. Before installing the Xilinx driver, the FTDI chip came up with two serial ports in /dev. After installing the Xilinx drivers, only one serial port shows up in /dev. Dan
  10. @BeamPower, If your CModA7 is anything like my Arty (and, were I Digilent, I would re-use circuit designs), then what you are seeing is correct. The FTDI chip creates two ports, but a driver on your system quietly suppresses one port and leaves you with a serial port that you can use. The suppressed port is then used b Xilinx and Digilent tools to create a JTAG port that you can use for loading your device. As for the problem you are seeing, it looks like either 1) there's a bug in your C code for the microblaze, or 2) the microblaze compiler isn't properly installed on your system. I can't tell from what you are showing above. Is there any more information you can provide? Dan
  11. @zygot, The "on-board UART has issues"? I've never had issues with the on-board UART, and I depend upon it religiously. What are you referring to? Dan
  12. reveal analyzer

    @TechnoFolle, Glad you got it working! The bad USB cable is sadly a common occurrence. I haven't run the numbers, but ... I think I've seen more hardware failures due to bad USB cables than any other component breaking. Dan
  13. @Yannick, Ok ... I read your question, but ... I'm not sure I understand both the question and what you are doing. Can you please back up for me a touch? Dan
  14. @Yannick, Hmm ... okay, that's closer, but ... let's try connecting that ACLKEN to both the DDS and the FIR compiler and see if that doesn't get you any closer, Dan
  15. mysql

    @JovanYong, Ok, that makes perfect sense now. Thanks. The first step to success is going to be on your PC, not your WF32. On your PC, you should be able to telnet into your MySQL server. Do so. Look around. Figure out how to issue a command, and what letters and characters constitute that command from your PC. Map that out. Figure out the minimum command, and then come back here. You can find a touch of discussion regarding connecting to MySQL from TCP/IP here. That minimum command, the one necessary to add your measurements to your MySQL database, will be the command you need to send from your WF32. The next steps will be to 1) create a character string containing that command, 2) open a network connection to your MySQL server (just like you did with telnet), 3) send() the command, and then 4) close the connection. This latter part should actually be really easy. (I've at least done it often wish sockets, which make for somewhat of a POSIX interface--we can look up the MPIDE interface if you get stuck.) Sounds like a fun project though. Will you be posting your code when you are done? Either way, holler if/when you get stuck along the way, and we'll do what we can to get you "un-stuck". Dan