hardware cascade output | Cypress Semiconductor
hardware cascade output
How do I create a hardware machine that switches 1 to 2ms high signal sequencially to each of the 4 output pins?
One pin goes low the next pin goes high. After all 4 have had their turn going high then all low for 16000-1200-1400-1600-1800 = 10000 (10ms)
Then repeats the process every 16 ms, udr Timer 16000 to start the out put process.
Use Timer_1_thru_4 to time the 1.5ms high time for the output
so pin1 high, pin 1 low and pin2 goes high , pin 2 low and pin3 goes high ,
pin 3 low and pin4 goes high , then all stay low until Timer1600 TC---repeat starting with pin1
I am planning to use the Timer_1_thru_4 isr to reloaded the period and count to zero(0) each time an output goes low and restart the timer
| |__________________16ms edge detector start signal when pulse goes high
o1| |_________________ output 1 1.2ms
o2___| |______________ output 2 1.4ms
o3______| |___________ output 3 1.6ms
o4_________| |________ output 4 1.8ms
all low for 10ms then repeat sequence
If you have a better way to do it please suggest the method"s" that would be better.
possibly a mux or a logic switching circuit?
See the attached bundled project
I am a bit lost using hardware to make this work
I have built the same thing in software, but I get glitches as the ISRs required to make it work interrupt each others timing
Any help or suggestions would be appreciated