Hi all, this is my first time to post on this forum and I will greatly appreciate any guidance offered. The project I'm working on is proprietary so I can't describe certain aspects, but the key challenge I face is finding a microcontroller(s) that can handle the following:
1) A total of 960 sensors, each with single digital detect/no detect output need to be monitored at 40us intervals. These are partitioned to 12 pcbs, 80 sensors each. The plan for the board is to capture the sensors' output in parallel, then use daisy-chained shift registers to serialize and provide to the mcu, one 80-sensor board at a time.
2) Of the total 960, a nominal worst case loading is about 10% or 100 sensors actually registering a detection over any 40us interval. Furthermore, typical loading condition is about 1%.
3) The environment involves significant dynamics; imu data must be updated a minimum of 100us, with high angle rates periodicaly involved,
4) Output is less demanding, and it's not really the focus at this point, but there will be occasional bursts of a couple vectors over approximately 30ms intervals, spaced by several seconds, but this data must be routed thru wireless with minimal latency. Also, the system must output 1 second heartbeat data.
5) A critical issue is of course the loading demand related to what's to be done with the data. What's to be done, basically, is some high resolution motion simulation over short time durations. I get to reduce usage of data for consecutive repeat registry for a specific sensor, which will cut down some considerable amount of sensor detections that need to be processed (tbd). Of course, they would still need to be touched... but I could provide the boards with discrete logic to "pre-sniff" whether any of its 80 sensors has registered a detect, if necessary. This could be checked before the whole board is polled; no detects at all and the board doesn't need to be read at all. It's not preferred because of the slight degradation to probality of detection, but would be acceptable.
My first question: can the teensy 3.6 handle this? I'm not sure how much of the 180 mHz teensy 3.6 I'll need but suspect even 1/4 of it's duty cycle will be adequate. But I'm not sure how much will be left after this level of IO. The input from just the sensor rate (without pre sniff, and excluding imu data) presents an apparent steady state demand of 24Mbits/sec. I've looked and found some good info on this site that seems to indicate it's plausible over short intervals, correct? And what about for steady state?
2nd question: Is there an obvious better way, given the limited information I've described here?
Again, much thanks for any feedback.
J
1) A total of 960 sensors, each with single digital detect/no detect output need to be monitored at 40us intervals. These are partitioned to 12 pcbs, 80 sensors each. The plan for the board is to capture the sensors' output in parallel, then use daisy-chained shift registers to serialize and provide to the mcu, one 80-sensor board at a time.
2) Of the total 960, a nominal worst case loading is about 10% or 100 sensors actually registering a detection over any 40us interval. Furthermore, typical loading condition is about 1%.
3) The environment involves significant dynamics; imu data must be updated a minimum of 100us, with high angle rates periodicaly involved,
4) Output is less demanding, and it's not really the focus at this point, but there will be occasional bursts of a couple vectors over approximately 30ms intervals, spaced by several seconds, but this data must be routed thru wireless with minimal latency. Also, the system must output 1 second heartbeat data.
5) A critical issue is of course the loading demand related to what's to be done with the data. What's to be done, basically, is some high resolution motion simulation over short time durations. I get to reduce usage of data for consecutive repeat registry for a specific sensor, which will cut down some considerable amount of sensor detections that need to be processed (tbd). Of course, they would still need to be touched... but I could provide the boards with discrete logic to "pre-sniff" whether any of its 80 sensors has registered a detect, if necessary. This could be checked before the whole board is polled; no detects at all and the board doesn't need to be read at all. It's not preferred because of the slight degradation to probality of detection, but would be acceptable.
My first question: can the teensy 3.6 handle this? I'm not sure how much of the 180 mHz teensy 3.6 I'll need but suspect even 1/4 of it's duty cycle will be adequate. But I'm not sure how much will be left after this level of IO. The input from just the sensor rate (without pre sniff, and excluding imu data) presents an apparent steady state demand of 24Mbits/sec. I've looked and found some good info on this site that seems to indicate it's plausible over short intervals, correct? And what about for steady state?
2nd question: Is there an obvious better way, given the limited information I've described here?
Again, much thanks for any feedback.
J