> it needs ten IOC pin. I can't find any MCU which has 10 IOC pin in Freescale.
MCF51QE128? It has 12 timer channels. It doesn't have USB though, and you want a chip with both.
> So I will use MC9S12XS128 to capture the input signal
I was worried you might be going to a slower CPU, but that one is 40MHz, so it shouldn't be too bad.
Getting "time sync" between the two micros (so they agree on when things happened) might be interesting. In fact getting two (or three) separate timers in the same CPU running with the same counters might not be possible. You may end up with constant offsets between different timers you may have to measure and correct for.
Here's another possibility you may not have considered. Depending on how fine a timer resolution you require, you might be able to get a CPU with USB and a DMA controller. Then trigger to DMA controller to read an I/O port at (say) 100 kHz and write it to a ring-buffer in memory. The DMA controller is then sampling 8 I/O pins with a 10us resolution. The CPU is then programmed to scan through the ring buffer measuring when the I/O pin transitions occurred.
I can't find any MCF51 chips with DMA and USB, but the MCF52211 has an 80MHz CPU, USB, DMA, 4 16-bit and 4 32-bit timers that can perform input capture, reassignable interrupt priorities and interrupt-pending registers.
> The frequency of input signal depends on its rpm.
And that maximum is?? Are you connecting to a 100,000 RPM centrifuge or a steam train? What is your calculated maximum interrupt latency? This is all a normal part of validating a system design and documenting it.
> I've tried if I don't transmit any data to PC through USB. It will not lost input signals.
So the timers can handle it, and it is the USB interrupt latency that is the problem.
That means the USB code is badly written. The interrupts should only take a very short time and signal background tasks to run, and that shouldn't interfere with your interrupts. It is doing things it shouldn't in the ISR. It might be possible to fix it or maybe you should buy a better one if the budget stretches to this.
Did you consider reassigning the USB interrupts in software like I suggested?
Tom