I’m trying to read information from an external device onto the TX2. The external device is outputting unencoded digital streams of data and its clock signal. The data is valid on the falling edge of the clock. I’d like to read the data streams through the GPIO pins into a buffer on the TX2, sampling on each falling edge of the clock. Usually I’d use interrupts, or the poll() function, to do this, but the clock speed is on the order of 40 MHz. Lowering the clock speed isn’t an option, and I need to be sure to get exactly one sample per bit. From what I’ve read, the poll() function doesn’t have the necessary accuracy at this high of a speed.
Is there a good way to do this on board, or do I need to buy a daughter board? If I need to buy an external piece of hardware, what would meet these specifications?