0
\$\begingroup\$

I need to create a clock divider which has 2 inputs: n(12 bit) , clock. For every even N it needs to divide the clock frequency by that number. (2,4,6,8 etc). However I have run into some problems. First of all I created the following divider.

enter image description here

However if I need to do this for 12 bits its going to be too much work. It feels like so much work that there has to be a better way. Also this doesn't cover a lot of values. I do have a question about this design which is: Are you supposed to connect ~Q to the clock input of the next flip flop or should I have connected Q to the clock input?

I thought about a better design and came up with the following. enter image description here

I will give some explanation: I used a counter which counts untill it equals a number X in the comparator. Then the Comparator sends a 1 to the flip flop and the flip flop outputs this. But here I have the following problems: - Doesn't auto reset. - It turns on the flipflop after lets say 4 ticks, but it doesn't switch it off.

The auto reset should be easy to fix. But the fact that my flipflop does not turn off after x ticks is less great. My question is am I on the right course or do I need a new approach? If my second design has the right idea please give me some advice on how to get it working.

\$\endgroup\$
1
  • \$\begingroup\$ A register to store n. A counter with same number of bits. A digital comparator whose equal output goes to the clock of a T flip-flop. \$\endgroup\$ Commented Nov 28, 2017 at 3:37

1 Answer 1

1
\$\begingroup\$

I'd use a down counter that you can preset with a value.

You then have a latch to store N/2.

Each time the counter reaches zero you toggle a D-type output latch and reload the counter.

The output from the D-Type will then be 50% mark-space clock at your desired frequency.

schematic

simulate this circuit – Schematic created using CircuitLab

BTW: This is basically how every timer works in common micros.

\$\endgroup\$
2
  • \$\begingroup\$ Okey so if I understand correctly. I will use the counter in a reverse way the same way I did to count up. So first I count up the latch is activated. And then it will deactivate after counting down to 0? Also thanks for your reply \$\endgroup\$ Commented Nov 28, 2017 at 12:08
  • \$\begingroup\$ @gomi. Normally you would make it reload the counter when the counter wraps round to -1. that is, use the most significant bit of the counter to reload the counter and toggle the D-Type. If it is synchronous you would need to detect the zero state. \$\endgroup\$ Commented Nov 28, 2017 at 12:12

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.