Analogue, Mixed Signal, LSI


Analog MCU generates programmable digital waveforms

30 April 2008 Analogue, Mixed Signal, LSI

Many systems require fixed or programmable digital clock waveforms. In applications where PCB area is constrained, the microcontroller typically generates these signals. Three methods for generating a clock using an ADuC702x 'analog microcontroller' from Analog Devices are presented in this article. This microcontroller is optimised for analog applications and combines precision analog functions, such as high resolution ADCs and DACs, a voltage reference and temperature sensor, with an industry-standard microcontroller and flash memory.

Using general-purpose outputs

A classic solution for clock generation is to toggle one of the microcontroller's general-purpose outputs. If a timer is available, it can be configured to complement the general-purpose output in the interrupt service routine, each time it overflows. This type of fully programmable digital waveform generation allows for a programmable duty cycle, but the interrupt latency limits its speed and precision. The ARM7 based ADuC702x has a variable interrupt latency. This variation creates jitter on the generated signal. Another liability of this method is that the timer interrupt has to be serviced with high priority in order to maintain correct timing. Ideally, the digital waveform generation should not involve the core.

Using pulse-width modulation

One solution that does not involve the core uses an integrated PWM (pulse-width modulator). This method also allows variable duty cycles. The clock resolution depends on the size of the PWM switching frequency register and core clock frequency. The main advantages of this solution are that there is no CPU load, and that a wide range of frequencies can be generated - from a few hertz to tens of megahertz. The ADuC702x family integrates a PWM block.

The disadvantages of this solution are that the precision of the PWM generated clock is dependent on the precision of the internal clock, and that it uses a full 3-phase PWM block that was not intended originally for this purpose. The accuracy can be improved by using an external 32 kHz crystal instead of the ±3% accurate on-chip oscillator, but this adds to the cost, size, and power budgets.

Using a flip-flop

A smaller solution consists of using a gate and flip-flop. The ADuC702x family includes a programmable logic array (PLA) that can be used to implement glue logic. This PLA consists of 16 programmable gates and flip-flops that are entirely configurable by software. A very simple clock can be programmed using only a NOT gate and a flip-flop, as shown in Figure 1.

Figure 1. Programmable clock using  the PLA
Figure 1. Programmable clock using the PLA

The flip-flop can be clocked from the core clock, the internal 32 kHz oscillator, Timer1, or a general-purpose input. The clock frequency can be very flexible, but the duty cycle cannot be programmed. The big advantage of this solution is that it ties up only a very small block of the chip.

The integration of uncommitted gates on the ADuC702x allows great flexibility. The table below summarises the characteristics of the three approaches. While each approach has advantages, only the application can determine which one is the most appropriate solution.

Comparison of three methods on the ADuC702x series
Comparison of three methods on the ADuC702x series





Share this article:
Share via emailShare via LinkedInPrint this page

Further reading:

High-speed PIN diode
Altron Arrow Analogue, Mixed Signal, LSI
Vishay’s new high-speed Silicon PIN diode is able to detect both visible and near infra-red radiation over a wide spectrum range from 350 to 1100 nm.

Read more...
Analogue front end for sensor measurements
Electrocomp Analogue, Mixed Signal, LSI
The NJU9103 AFE from Nisshinbo is a tiny analogue front end, with a 16-bit resolution ADC and up to 512 x signal amplification from the programmable gain amplifier.

Read more...
Single-channel software configurable I/O
Altron Arrow Analogue, Mixed Signal, LSI
These use cases of the AD74115H include analogue output and input, digital output and input, resistance temperature detector (RTD), and thermocouple measurement capability.

Read more...
Current-sense amplifier with PWM rejection
Altron Arrow Analogue, Mixed Signal, LSI
Analog Devices’ AD8410A is a high voltage, high bandwidth current-sense amplifier that features an initial gain of 20 V/V and a 2,2 MHz bandwidth.

Read more...
Combining a LPF and ADC driver for a 20 Vp-p signal
Altron Arrow Analogue, Mixed Signal, LSI
A mixed-signal ADC driver circuit’s optimum performance depends on multiple variables: the driver’s settling time, the RC filter’s time constant, driving impedance, and the ADC sampling capacitor’s kickback current, all interact during acquisition time and contribute towards sampling errors.

Read more...
Pressure sensor with NextNav certification
EBV Electrolink Analogue, Mixed Signal, LSI
STMicroelectronics’ LPS22DF pressure sensor has received a NextNav certification, which guarantees performance and reliability for geolocation and other types of applications.

Read more...
Reference design for Raspberry Pi analogue I/O
Analogue, Mixed Signal, LSI
Analogue Devices has published a reference design for ±10 V analogue input and ±15 V analogue output for Raspberry Pi platforms.

Read more...
Multi-zone distance sensor with 90° field of view
Avnet Silica Analogue, Mixed Signal, LSI
STMicroelectronics has revealed a new FlightSense multi-zone distance sensor, with 90° field of view, to bring lifelike situational awareness to applications like home automation, computers, robots, and smart equipment.

Read more...
Six-axis IMU with Qvar sensing channel
Altron Arrow Analogue, Mixed Signal, LSI
The LSM6DSV16X from STMicroelectronics is a high-performance, low-power six-axis IMU, featuring a three-axis digital accelerometer and a three-axis digital gyroscope.

Read more...
Bidirectional current-sense amplifier with PWM
RS South Africa Analogue, Mixed Signal, LSI
The MAX49925 from Analogue Devices is a bidirectional current-sense amplifier (CSA) with an input common-mode range that extends from -40 to 76 V, making it suitable for 48 V HEV applications where there are large automotive transients.

Read more...