PeteBlackerThe3rd
New member
I'm trying to use a Teensy4.1 to control and read an image from a STAR 1000 radiation hardened image sensor.
Reading from this sensor requires setting input pins correctly at a frequency between 10-20MHz, and simultaneously reading a 10 bit bus at precise times of this control sequence.
To generate the control signals I was thinking of using the AD_B1_00 - AD_B1_15 GPIO pins driven using DMA so the pattern of control signals can be stored in RAM. I have not managed to find a single GPIO port left over at this point which contains 10 pins. However B0_xx and B1_xx combined could be used if it is possible to use DMA to read both these ports at the same time.
I was also considering the option of ditching DMA and writing a single loop with NOP's to control timing, which would write to AD_B1_xx and then read from B0_xx and B1_xx. I'm concerned that cache hit/misses would wreak the timing if this read from a large block of memory.
Sorry for the rambling ideas, I'm trying to work out if my project is possible. Thanks.
Reading from this sensor requires setting input pins correctly at a frequency between 10-20MHz, and simultaneously reading a 10 bit bus at precise times of this control sequence.
To generate the control signals I was thinking of using the AD_B1_00 - AD_B1_15 GPIO pins driven using DMA so the pattern of control signals can be stored in RAM. I have not managed to find a single GPIO port left over at this point which contains 10 pins. However B0_xx and B1_xx combined could be used if it is possible to use DMA to read both these ports at the same time.
I was also considering the option of ditching DMA and writing a single loop with NOP's to control timing, which would write to AD_B1_xx and then read from B0_xx and B1_xx. I'm concerned that cache hit/misses would wreak the timing if this read from a large block of memory.
Sorry for the rambling ideas, I'm trying to work out if my project is possible. Thanks.