ADUC7039BCP6Z-RL Analog Devices Inc, ADUC7039BCP6Z-RL Datasheet - Page 61

no-image

ADUC7039BCP6Z-RL

Manufacturer Part Number
ADUC7039BCP6Z-RL
Description
Flash 64k ARM7 Dual 16-Bit ADC LIN I.C.
Manufacturer
Analog Devices Inc
Series
MicroConverter® ADuC7xxxr
Datasheet

Specifications of ADUC7039BCP6Z-RL

Core Processor
ARM7
Core Size
16/32-Bit
Speed
20.48MHz
Connectivity
LIN, SPI
Peripherals
POR, Temp Sensor, WDT
Number Of I /o
6
Program Memory Size
64KB (64K x 8)
Program Memory Type
FLASH
Ram Size
4K x 8
Voltage - Supply (vcc/vdd)
3.5 V ~ 18 V
Data Converters
A/D 2x16b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 115°C
Package / Case
32-LFCSP
Lead Free Status / RoHS Status
Lead free by exemption / RoHS compliant by exemption
Eeprom Size
-
Lead Free Status / RoHS Status
Lead free by exemption / RoHS compliant by exemption

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ADUC7039BCP6Z-RL
Manufacturer:
NS/国半
Quantity:
20 000
As can be seen from Figure 23, the MMR logic and core timer
logic reside in separate and asynchronous clock domains. Any
data coming from the MMR core-clock domain and being
passed to the internal timer domain must be synchronized to
the internal timer clock domain to ensure it is latched correctly
into the core timer clock domain. This is achieved by using two
flip-flops as shown in Figure 24 to not only synchronize but also
to double buffer the data and thereby ensuring data integrity in
the timer clock domain.
As a result of the synchronization block, while timer control
data is latched almost immediately (with the fast, core clock) in
the MMR clock domain, this data in turn will not reach the core
timer logic for at least two periods of the selected internal timer
domain clock.
PROGRAMMING THE TIMERS
Understanding the synchronization across timer domains also
requires the user code to carefully program the timers when
stopping or starting them. The recommended code controls the
timer block when stopping and starting the timers and when
using different clock domains. This can be in particular very
critical if timers are enabled to generate a IRQ or FIQ exception,
An example, using Timer1 follows.
Example Code
It is assumed Timer1 is halted as previously described.
T1LD = 0x1;
T1CON = 0x001F;
Delay(100us);
T1CLRI = 0 ;
IRQEN = WAKEUP_TIMER_BIT;
CORE CLOCK (FCORE) DOMAIN
UNSYNCHRONIZED
SIGNAL
// Reload timer
// Enable timer, Low power oscillator, 32768 prescaler, periodic
// Include delay to ensure T1CON bits take effect
//* Clear Timer IRQ
// Unmask Timer1
Figure 24. Synchronizer for Signals Crossing Clock Domains
TARGET CLOCK
SYNCHRONIZER FLIP-FLOPS
Rev. B | Page 61 of 92
Halting Timer1
When halting Timer1, it is recommended that IRQEN bit for
Timer1 be masked (using IRQCLR). This prevents unwanted
IRQs from generating an interrupt in the MCU before the T1CON
control bits have been latched in the Timer1 internal logic.
IRQCLR = WAKEUP_TIMER_BIT;
T1CON = 0x00;
Starting Timer1
When starting Timer1, it is recommended to first load Timer1
with the required TxLD value. Next, start the timer by setting
the T1CON bits as required. This enables the timer but only
once the T1CON bits have been latched internally in the
Timer1 clock domain. Therefore, it is advised that a delay of
more than three clock periods (that is, 100 μs for a 32 kHz timer
clock source) is inserted to allow both the T1LD value and the
T1CON value to be latched through the synchronization logic
and reach the Timer1 domain. After the delay, it is recom-
mended that any (inadvertent) Timer1 interrupts are now
cleared using T1CLRI = 0x00. Finally, the Timer1 system
interrupt can be unmasked by setting the appropriate bit in
the IRQEN MMR. An example of this code follows.
SYNCHRONIZED SIGNAL
TIMER 2 LOW POWER
CLOCK DOMAIN
// Masking interrupts
// halting the timer,
ADuC7039

Related parts for ADUC7039BCP6Z-RL