1MHz+ Quadrature Divider for attiny13

This untested code, along with an Eagle schematic and board layout, are for a quadrature divider that polls at over 1MHz. The R and S test points are used to program the device.

Like the 400kHz triple divider, this program uses a state table generated by "mkstate.py", and is GPL software.

For real-world use, external pull-ups should probably be added to the board's input side, according to the directions of the encoder manufacturer.

Update, 6/2014: Some notes from Paul M:

I noticed in the source you have PORTB and PINB used at the bottom of quad-tiny13.S where you're reading the pins, operating the state table and outputting. I think these should be PORT & PIN, which is to say the converted addresses. I had to change these (using gcc-avr, avrdude in linux etc) for it to work. Also the quick out statement works fine. Nice job lining up the bits, that's pretty cool!

Files currently attached to this page:

quad-tiny13.S4.6kB
quadrature_divider.brd6.8kB
quadrature_divider.sch48.5kB
quadrature_divider_brd-small.png24.9kB
quadrature_divider_brd.png7.7kB
quadrature_divider_sch-small.png16.6kB
quadrature_divider_sch.png4.1kB



Entry first conceived on 3 June 2006, 15:25 UTC, last modified on 11 June 2014, 0:07 UTC
Website Copyright © 2004-2024 Jeff Epler