Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Duane Benson

Discovering FPGAs: Powering-Up My Papilio

Duane Benson
Page 1 / 3   >   >>
Duane Benson
Duane Benson
1/28/2013 1:54:45 PM
User Rank
Blogger
Re: Papilio
Detox - Thanks for your comments. The Papillio is an interesting product. I originally bought it for the Arduino capabilities, but have used it more as an FPGA learning tool.

50%
50%
Detox
Detox
1/27/2013 10:55:13 PM
User Rank
Beginner
Re: Papilio
Im just goofing around with Papilio and some wings, using VHDL, Verilog, and C-style code(whilst im in the Andruino like IDE for Papilio).  Just starting to get it  to do fun stuff and see how far I can take it.  Im not a hippie but im loving this open source stuff, and I want to thank you Duane for this excellent article.  I downlaoded your code and complied it with ISE and its working great.  Im going to check out all your other stuff as you seem like a real expert.


By the way I tried to compile Mr. Gassetts VHDL code for the Button_Led but it seemed to have a lot of extraneous inputs and outputs in the code and when I used a simple 8 net(4 button in, 4 led out) constraints file which I extrapolated from his (posssibly superfluous?) code, but it gave me a ton of erros.


Another way to implement this same result is with the Button_Led example provided as part of the Papilio/Arduino IDE located within examples folder - just in case your readers didnt know.

50%
50%
tomii
tomii
1/14/2013 3:42:56 PM
User Rank
Blogger
Re: Debouncing.
will do.  Just didn't want to bog things down too much right away.  I've got my thinking cap on (which, amazingly doesn't include pizza or beer right now)...  I'm starting the 1st seps of making my own logic analyzer using the Opal Kelly stuff.  It'll be a lotmore involved, though, since I'll have to write a bit of software, too...

50%
50%
Duane Benson
Duane Benson
1/14/2013 3:39:28 PM
User Rank
Blogger
Re: Debouncing.
Tomii - I don't think there is a personal messaging system, but you can email me at "duane benson @ hot mail . com" (remove all spaces). Still, don't hesitate to ask questions live on the site here if the answer might benefit others.

50%
50%
tomii
tomii
1/14/2013 2:25:21 PM
User Rank
Blogger
Re: Debouncing.
Seems like an excellent way to screw with your users.  Just speed up the keypress timer after they've been using it a while.  They'll swear it's *really* fast...

 

PS:  I'm curious about your clock wizarding stuff...  Do you know of a way to PM here on the site?  I'd hate to broadcast my e-mail...

50%
50%
Duane Benson
Duane Benson
1/14/2013 2:22:55 PM
User Rank
Blogger
Re: Debouncing.
Tomii - "...happened before they pressed the button"

Now that is an interesting effect.

100%
0%
tomii
tomii
1/14/2013 2:11:32 PM
User Rank
Blogger
Re: Debouncing.
This whole discussion reminds me of this article I read some time ago...

Interesting article, but the part I'm distinctly recallis is this:

The cohesiveness of consciousness is essential to our judgments about cause and effect—and, therefore, to our sense of self. In one particularly sneaky experiment, Eagleman and his team asked volunteers to press a button to make a light blink—with a slight delay. After 10 or so presses, people cottoned onto the delay and began to see the blink happen as soon as they pressed the button. Then the experimenters reduced the delay, and people reported that the blink happened before they pressed the button.

50%
50%
Duane Benson
Duane Benson
11/7/2012 9:13:40 PM
User Rank
Blogger
Re: Debouncing.
Rfindley - Now that makes a lot of sense. I'd never thought of that, but it would allow the debounce to start a lot earlier. I'm not sure how long it takes on average to lift your finger up and press it back down when jabbing a button, but rather than just having that time to debounce, you've added the down dwell time as available for de-bounce. I like it.

50%
50%
rfindley
rfindley
11/7/2012 5:48:21 PM
User Rank
Blogger
Re: Debouncing.
I've experimented with the method shown in that video, and there's one thing I didn't like about it:  the output is always delayed from the input by whatever the filter time is.  If your switch needs relatively large debounce, this creates visible 'lag'.  I've found that even 10ms creates a slightly uncomfortable lag.  Many MIDI musicians are familiar with this 10ms barrier, because it is the point at which your brain starts having trouble 'hiding' the delay between when you press a note on the keyboard and when your ear starts to hear the corresponding note.

So the method I use is:

At the first glitch from the input (as the switch begins making or breaking contact), I change the output state immediately, and I simply ignore the input for the next xx milliseconds while the switch completes its noisy transition.

The result is a crisp response, and no bounce.

50%
50%
Duane Benson
Duane Benson
11/7/2012 10:22:20 AM
User Rank
Blogger
Re: Debouncing.
William - That video is pretty interesting. The circuit described is similar to the pair of flip-flops I've been using for synchronization, but with an added inverter and AND gate. Basically, she's combining a multi-stage synchronizer and de-bounce circuit. She also had some examples of edge detection circuitry.

50%
50%
Page 1 / 3   >   >>
More Blogs from Duane Benson
Now it's time to delve deeper into the state machine I'm using to control my I2C interface.
The three states associated with bi-directional "inout" pins can cause confusion for the unwary.
It's time to jump into unexplored territory -- the state machine that will control Duane Benson's I2C interface.
We're now ready for the I2C master to transmit a command set to a remote device.
Duane Benson has his SPI interface working. At some point, he'll want to rewrite the Verilog code, but first he wants to get the I2C interface up and running.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS