I have an existing custom made circuit/control board and proprietary software that I need to replace (I don't have the code for the software.) I was planning on using an Arduino Uno and software I write.
The overall project has two acquisition systems being time synced by a common TTL clock, with the TTL clock being gated through the control board connected to a handheld-trigger.
CURRENT SYSTEM (can be skipped):
It works by System-1 generating a 1kHz TTL clock (or 500 Hz, or 2kHz - user selected). The operator presses the trigger, passing a signal to System-1, creating "mark 1". At the same time the TTL is then allowed to pass through the control board to System-2. System-2 then takes data on each TTL pulse (1 kHz). The operator presses the trigger again, passing a signal to System-2, creating "mark 2". At the same time the TTL is not allowed to pass through the control board to System-2, halting acquisition.
System-1 and System-2 are on the same time basis because System-1 knows "when" the mark-1,2 come in (in terms of the TTL time basis), and System-2 is acquiring data triggered by the TTL.
PLAN OPTIONS TO COMMENT ON:
1.) So my plan was to have a trigger detected by Arduino, then send digital out which creates Mark-n in System 1 and drive open/close a relay to allow TTL to pass through to System 2. I haven't spec'd out a relay yet, but I think I'll need an SSR for the vibration exposure. And it will need to be fast b/c of the time/precision. If the TTL is 1 kHz, then a 1 ms response time is a full cycle. 10 us is 1% of a cycle.
2.) Could I avoid using an SSR by sending the TTL into pin-1, using attachInterupt() to detect the change, and doing a digitalWrite() to essentially pass the TTL out on another pin? The Interrupt Service Routine called by attachInterrupt would only operate if handheld-trigger was in correct state.
So is Option 2 feasible? From what I've read, the responsiveness of the seperate parts (attachInterrupt() and digitalWrite() ) rivals that of some SSR's I've found. The build would be simpler than Option 1 (no extra components, all on the Uno). But I'm not sure the Arduino for Option 2 would be as consistent as an SSR in Option 1.