Tuesday, 7 February 2017

Does an Oscilloscope's bandwidth need to match or exceed the microcontroller's/processor's clock speed?


Looking to buy an oscilloscope for home use, I've seen the questions on here in regards to bandwidth. I'm interested in prototyping microprocessors with clock speeds 800+ MHz, but I shouldn't need an oscilloscope with that bandwidth, correct? Only for the external buses/peripherals, so if the memory bus was 100MHz then I'd need a scope with at least 100MHz bandwidth, so on and so forth. Do I have the right idea??



Answer



Processor are complex chips regarding their clock : they use a crystal/oscillator as a primary clock source. But this primary clock source is lower than 100MHz, so a PLL is used to multiply and "clean" the clock signal. Then the clock will be used in two domains : core clock and bus/peripheral clock, with the core clock running at the highest frequency.


As far as I seen, the core clock is rarely routed on a pin, so you can't observe it. And, actually, we don't care if it's available externally or not : you don't have access to the internal CPU either.


So what is important is what is going in and out of the chip, not what is inside. What are the bus and communication protocols used ? What are their speed and bandwidth ? Are they serial / parallel / differential ?



  • Oscilloscope bandwidth:



As Rolf Ostergaard said : \$BW = \frac{0.35}{t_{rise}}\$


If you don't know the rise time, for instance when there is no minimum rise time in the datasheet, you have two cases :



  • Quick look at a signal : in this case at least 5 times the signal frequency is good.

  • Detailed observation (rise/fall, measurement) : in this case at 10 times will be necessary (like AngryEE said)


That's what I'm trying to do at work, but most of the time I have 500 MHz / 1 GHz oscilloscope for under 50 MHz signals, so I'm always good



  • Oscilloscope sample rate:



Just check that the sample rate is 3 to 4 times the oscilloscope bandwidth (or your signal frequency)



Don't forget the probes ! Check for their bandwidth too. Also as signals higher than 100MHz are frequently differential, you may need a differential probe.


A good feature when looking for glitch is the FastAcq (Tektro), WaveStream (Lecroy) : this is a statistical representation of the waveforms.


Logic Analyzer are not used to observe a waveform but to analyze timings, hence the name. With an oscilloscope you will check the signal integrity of the clock and data signal of your bus, whereas with your logic analyzer you will check the timings.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...