Oscilloscope Watch Teardown Agenda • History and General overview • Hardware design: – – – – – Block diagram and general overview Choice of the microcontroller Design of the analog frontend Design of the waveform generator Design of the power stage • Firmware design: – – – – Maximize use of the peripherals High speed sampling using the DMA Low power techniques to maximize the battery life Using the XMEGA event system to offload the CPU • Questions and answers Oscilloscope Watch history Xprotolab: World’s Smallest Oscilloscope Xprotolab Watch? Concept image Oscilloscope Watch Features • • • • • • • • Mixed Signal Oscilloscope: 2 analog and 8 digital channels Advanced Trigger Meter Mode: Average, Peak to peak and Frequency XY Mode FFT Mode (Spectrum Analyzer) Horizontal and Vertical Cursors Arbitrary Waveform Generator with Sweep Curve tracer function General Overview Block diagram and general overview Choice of the microcontroller 8bit vs 32bit ? Choice of the microcontroller • Critical parameters: – The speed of the ADC – DAC included – The size of the package • Advantages of keeping the 8bit AVR: – Proven design – No porting of code • Disadvantages: – Limited RAM – Expansion limited Design of the Front End Analog Frontend 𝑉𝑜𝑢𝑡 = 𝑉𝑖𝑛 + 1.024𝑉 10 Additional gain is done in the micro’s ADC Design of the Front End Front end bandwidth Approximately 320kHz, but the micro’s capacitance and ADC characteristics lowers it to about 200kHz Design of the waveform generator AWG Amplifier 𝑉𝑂𝑈𝑇 = −4 ∙ 𝑉𝐷𝐴𝐶 + 4.096𝑉 Design of the waveform generator AWG Bandwidth Bandwith is 50kHz, determined by the RC feedback Design of the power stage AN1149 description of the circuit Battery supplies system load when power source is absent Load sharing Design of the power stage - Very low quiescent current - Switch to 1.8V when display is off Digital Power Battery Monitor - Battery monitor can be disabled, so it doesn’t draw current - Output impedance of 10kΩ Design of the power stage Analog Power - This section generates +5V and -5V from the input voltage - The analog power section is disabled when in watch mode Maximize use of the peripherals Architecture block diagram High speed sampling using the DMA - “High Speed” for an 8bit microcontroller running at 32MHz… - Instead of polling or using interrupt handlers to read and process the result registers, the XMEGA’s DMA is used to move data from the result registers to memory buffers. - This moving of data is done without CPU intervention. Low Power techniques - Maximize the time spent in Sleep mode - Use the highest CPU clock speed, unless the task requires a specific amount of time (e.g. serial communication), in which case, avoid using a higher CPU speed than needed - Turn off unused peripherals Microcontroller's Power Budget Low Power techniques • Use the RTC with the 1024Hz from the 32768Hz external crystal • Set I/Os at a known state • Disable the digital input buffer on pins that are connected to analog sources • Disable the BOD - or better, disable it while in sleep - to reduce power consumption. Use sampled mode if only slow changes in operating voltage are likely. • Disable the On Chip Debugging and the JTAG interface • Enable power reduction mode for EEPROM and Flash to reduce power consumption in ACTIVE mode • Use page-wise writing to EEPROM rather than byte-wise Low Power techniques - LCD • The DMA is used to send data to the SPI. • Redundant transfers are removed in the SPI. • The next frame is rendered during the SPI transfer, this is performed using the DMA’s double buffering. • Graphics are pre-rendered and stored in RAM. XMEGA event system to offload the CPU - CH0: TCE0 overflow used for ADC CH1: ADCA CH0 conversion complete CH2: EXT Trigger or logic pin for freq. measuring CH3: TCD1 overflow used for DAC CH4: TCC0 overflow used for freq. measuring CH5: TCC1 overflow used for freq. measuring CH6: CLKPER / 32768 -> every 1.024ms CH7: TCD0L underflow: 40.96mS period - 24.4140625 Hz Questions?