vacaloca Posted December 6, 2014 Report Share Posted December 6, 2014 I'm a bit of a beginner in the FPGA world and wanted to ask a few questions in regards to the Papilio DUO and how it compares to the One/Pro models. I'm fairly confident it will work for our design and the price point is right, but wanted to ask a few questions before purchase. First a bit of background. We currently have an Arduino Mega 2560 R3 taking a clock signal as an input (164 microsecs/pulse) and we drive an electrical switch with five TTL outputs from the Arduino depending on which port we want to sample from. Important point - data only is contained on the rising edge of the clock signal, and this is what we acquire with our digitizer board... more on that below. Currently we interface with the Arduino via its native serial port -- we store some settings in it's EEPROM according to a configurable LabView VI. Next, a second program is loaded that reads those stored EEPROM values and outputs the logic signals that drive the switch and outputs a 'state line' which indicates which port we are sampling from. This 'state line' and switch output are jointly digitized with a PC board at 5MHz. An important point is that our input/output clock signals are TTL logic (0 V = LOW, 5 V = high) compatible. From what I can tell, FPGA pins are meant to take in at most by default, which could be solved by a voltage divider, just at first thought, but my understanding is that converting 3.3V -> 5V will need external circuitry if the switch needs close to 5V instead of 3.3V to trigger a 'high' signal. Because the Arduino method is only so flexible, we want to move to an FPGA to be able to expand our design to additional switch modules which require additional outputs to drive them. Another perk of the FPGA is that (I assume) we should be able to send a serial command to start executing the code, and reset it after either some time or clock pulses has elapsed (more likely easier) or reset it via another serial command sent to it. Or for that matter, we'd like to use another TTL encoder signal to start/stop executing the code -- i.e. when the FPGA sees the first pulse of that signal, it starts cycling through the switch output states, and when the pulse train ends, it stops cycling, resets to the initial state and waits until the next pulse is seen to start over again. This approach would eliminate the need to sample the 'state line' mentioned previously. The encoder signal can be a higher frequency than the clock signal, but not even close to our digitizer's sampling rate. Estimating, for every clock rising edge, the encoder signal has at most 4 pulses in our application. Now that the background is out of the way, here are the questions: 1) Do I have an advantage/reason to use a particular Papilio board for the above implementation?1a) One possible advantage for the DUO -- we are currently using a screw shield for easily connecting wires to the Arduino 2560 Mega R3, so I assume this would be compatible with the DUO1b) From what I understand the DUO has the additional software to (more) easily prototype circuit design called DesignLab. However, when I look at the promo video, that functionality seems to exist in the Xilinx ISE with the Papilio libraries, even with older boards. Is DesignLab a separate software? Is it only compatible with the DUO or will it work with Pro/One boards, and if it is separate, how does it differ from using the Papilio libraries in Xilinx ISE?1c) Do I benefit from additional SRAM? What is SRAM used for specifically in the FPGA? Is that related to the number of logic devices/gates that can be programmed at the same time, or... ? (sorry. noob question and I can't seem to find an answer online)1d) If I pre-order a Papilio DUO board now, when should I expect to receive it? 2) What sort of circuitry could we use to achieve TTL 0-5V output capability on the output pins driven by the FPGA design done by ISE/DesignLab, if needed? (each clock signal pulse lasts 164 microsecs) 3) Before I stumbled upon your design, I found the Mojo dev-board, which seems very similar to the Papilio line of boards. What advantage(s) do the Papilio boards have over that other alternative? (I don't necessarily expect an answer to this in the forum, you can PM one if you'd like or edit my post to remove this question altogether if you feel like it, haha) 4) Not related to the Papilio itself, but... in the future we might want to time multiplex an analog LF (up to 5MHz) signal before it gets sent to the digitizer. (i.e. the output a signal not connected to a switch, sampled every 0.2 microseconds) Would a mux like this work? https://www.sparkfun.com/datasheets/IC/CD74HC4067.pdf I think that about covers everything. Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.