Detect falling edge of DIO. Drive another DIO low for Y cycles, X clock cycles later.
For reference I am using the Waveforms software in conjunction with the Digital Discovery.
I would like to perform the following using the digital pattern generator. Set up a DIO as an input and detect a falling edge on this signal. Once this falling edge is detected, I would like to drive another DIO low for Y clock cycles, X clock cycles later. This is depicted below.
I couldn't figure out a way to set this up in hardware using the settings in the Waveforms software. Started going down the path of setting this up on the ROM logic, basically making a truth table to enter into the state machine when DIO 1 goes low and create X states using a binary counter that would result in still holding DIO 2 HIGH, followed by Y states using a binary counter that would result in holding DIO 2 LOW, then set it HIGH again until the next falling edge of DIO 1.
I did use the SDK to try to achieve the same result, but running this logic through software seems much too slow. Would like a response within 100 to 200 ns if possible. Is this realistic?
I'm hoping there is a simpler solution to this, so wanted to ask if there was an easier way to achieve this goal before heading down this path.
Question
Mike4354
Detect falling edge of DIO. Drive another DIO low for Y cycles, X clock cycles later.
For reference I am using the Waveforms software in conjunction with the Digital Discovery.
I would like to perform the following using the digital pattern generator. Set up a DIO as an input and detect a falling edge on this signal. Once this falling edge is detected, I would like to drive another DIO low for Y clock cycles, X clock cycles later. This is depicted below.
I couldn't figure out a way to set this up in hardware using the settings in the Waveforms software. Started going down the path of setting this up on the ROM logic, basically making a truth table to enter into the state machine when DIO 1 goes low and create X states using a binary counter that would result in still holding DIO 2 HIGH, followed by Y states using a binary counter that would result in holding DIO 2 LOW, then set it HIGH again until the next falling edge of DIO 1.
I did use the SDK to try to achieve the same result, but running this logic through software seems much too slow. Would like a response within 100 to 200 ns if possible. Is this realistic?
I'm hoping there is a simpler solution to this, so wanted to ask if there was an easier way to achieve this goal before heading down this path.
Edited by Mike4354Clarification of HW/SW Used
Link to comment
Share on other sites
12 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now