Depending on the source clock used, the baudrate precision may be affected : internal RC oscillators are not very stable (several %), while oscillators offer a reasonable stability (a fraction of %) and quartz offer the best accuracy and temperature stability (tens of ppm).
We connected a logical analyzer (a small saleae logic clone) and observed the bytes on the board created by Nicolas (equiped with a 20MHz ceramic resonator).
Analyzing a 4 bits provided a quite good ajustment measurement.
When you want the measure the clock on which the chip is running, you can't connect an oscilloscope on the OSC pins... because you will more than probably disturb them : the OSCIN pin is very sensitive to power losses and capacitive changes, the OSCOUT also... because even though it's driven by the chip, the oscillator is designed so the power is very low and it's likely to be disturbed by a connected scope. The most reasonable way is to set the fuse CKOUT
(we do the calculation using the engbedded fuses calculator). This will output the clock on a pin (PB2
on ATtiny44
) that can be safely read.
As the logical analyzer has a maximum speed of 24Msps
, this is not enough for measuring the clock... so we had to use an oscilloscope. Those of the lab are old analog scopes and are have a quite low bandwidth too... so we did it at the Royal Meteorological Institute on a very performant Agilent DSO5014A
(now Keysight) : documentation can be found here
In this case, the board created by Nicolas has a LED and resistor connected to the PB2
pin : as the frequency is quite high (20 MHz
), the signal is not a perfect square at the output as you can see on the scope.