How fast can the P2 read PORTA and save it to the hub repeatedly ?
Bean
Posts: 8,129
in Propeller 2
I am working on a project that needs to store the state of 32 pins as fast as possible.
Does anyone know how quickly this can be done on the P2 ?
Either with a loop or even straight line code ? Maybe the streamer ?
Thanks,
Bean
Does anyone know how quickly this can be done on the P2 ?
Either with a loop or even straight line code ? Maybe the streamer ?
Thanks,
Bean
Comments
Thanks Rayman.
Data rate is specified with SETXFRQ instruction. Transfer mode, data format and amount, and start timing controlled with XINIT/XCONT/XZERO instructions. The difference between them being only in the timing details.
Bean
We are spoiled
I mean, if I run the same digital signal to any two pins will they always read the same state ?
I want to put a 125pSec delay between P0 thru P31 such that P0 is the input signal, P1 has 125pSec delay, P2 has 250pSec delay an so on.
I am trying to get 125pSec pulse measurements.
Will that work ?
Thanks,
Bean
Any idea what the "worst case" difference would be ?
Thanks,
Bean
I remember reading ~850ps. I've been trying to find that email, but haven't located it, yet. They had a delay for each of the 64 pins.
-Phil
That would be useful, as then a combination of native pin-delays and external delays could get Bean closer to a nominally even step size.
The P2 may need thermal regulation if you wanted to reduce ambient variations, but maybe Bean is ok with a calibrate pass ?
Just so that each step is about the same and they all "trip" in order.
I am trying to measure 1ppb frequency change of each cycle of a 1MHz oscillator over a 100uSec shock pulse (100 cycles).
This won't get us there, but it is as least a start.
Bean
Do you know the rise time on the oscillator? There is also a different trigger threshold level for each pin
I'm not sure about the rise time, but that is a good point.
The advantage you have with time-of-flight is that you can repeat the measurement many times to "build-up" more resolution. I can't do that here because it is a one-shot event.
Bean
I've thought about using this type of thing before but haven't yet:
https://www.digikey.com/product-detail/en/rochester-electronics-llc/DS1021S-50/2156-DS1021S-50-MA-ND/11509952
There are tap increments down to 3 ps...
We could accurately work out the switching thresholds potentially using two DAC outputs to combine their signals (aiming for 16 bits theoretical). I think I worked out you need a 31k external resistor to create a 16 bit static dac by combining two dac outputs. Its a pity we lost physical pin B connection option, but then perhaps we can still do this with the Rev B silicon chips we have right now
The other problem is the internal delays will likely vary from cog to cog. I wonder whether it is possible to get those final synthesis propagation delay values from Wendy