EasyManua.ls Logo

Analog Devices ADuCM356 User Manual

Analog Devices ADuCM356
312 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #187 background imageLoading...
Page #187 background image
Reference Manual ADuCM356
FLASH CONTROLLER
analog.com Rev. A | 187 of 312
Read of Erased Location
When erased, the flash memory holds a value of all 1s, including the ECC byte appended to every 6-bit data word. The proper ECC metadata
for 64 1s is not 0xFF. As such, in its erased state, the flash memory holds data and ECC metadata representing some number of bit errors. For
this reason, any flash reads of erased locations automatically bypass the ECC engine. If user code reads a location with all 1s in both the 64-bit
data word and the ECC byte, the read returns data without indicating any ECC errors.
CLOCK AND TIMINGS
The flash controller is preconfigured to provide safe timing parame-
ters for all flash operations for core clock frequencies of 26 MHz or
less, and a reference clock frequency of 13 MHz.
FLASH OPERATING MODES
The flash memory used by the ADuCM356 processor supports the
following power optimizing features.
Sleep Mode
The user code can put the flash IP into a low-power sleep mode by
writing the sleep command to the CMD register. The flash controller
wakes the flash IP from sleep automatically on the first flash access
following a sleep command. The user code can observe the sleep
state of flash by reading STAT, Bit 6.
A flash wake-up event is triggered by the cache controller, DMA
reads, user code, or other peripherals, which may also attempt to
read flash memory at any time. Ensure that user code occasionally
polls STAT, Bit 6 to verify that the flash IP is still sleeping when the
user expects it to be.
The flash controller does not honor any new commands while
the flash IP is in sleep mode. The only supported commands
in this mode are idle and abort. DMA write requests are stalled
automatically by entering sleep mode.
System interrupt-based aborts (as configured through the
ABORT_EN_LO register) are generally used to abort any ongoing
flash commands in the event of an enabled system interrupt. How-
ever, such an interrupt does not wake the flash from sleep mode.
If the system interrupt can be serviced by accessing the flash, it
remains in sleep mode. If servicing the interrupt requires accessing
the flash, the flash access itself serves to wake the flash IP.
Waking from sleep incurs an approximately 5 μs latency before
executing any reads or commands. This latency is a requirement of
the flash IP. User code can wake the flash IP early by executing an
idle command. This command wakes the flash IP without any other
effect on the controller.
For consistency, the abort command can also be used to wake the
flash IP. Waking with the abort command differs from waking by the
idle command only in that the status register reports STAT, Bits[5:4]
= 11 to match expected user code checks for status register values.
Power-Down Mode Support
The ADuCM356 processor automatically powers down the flash
IP when the device hibernates. To support this feature, the flash
controller operates with the power management unit and delays
hibernation until any ongoing flash accesses are completed. User
code is responsible for reading and evaluating flash status registers
prior to entering hibernate mode because status registers are not
retained in hibernate mode. The abort command can be used to
abruptly end an ongoing flash command. Use abort commands
sparingly to avoid eventual damage to the flash array.
Clock Gating
A series of clock gates are inserted into the flash controller to
automatically gate off unused components of the module. No user
configuration or control is required. Unused portions of the flash
controller are automatically gated off when appropriate. For exam-
ple, while in sleep mode, the majority of the flash controller is gated
off to save power.
Flash Interrupts and Exceptions
The flash controller can selectively generate interrupts for many
events. Table 222 outlines the events that may generate interrupts
and bit fields of the IEN register used to control interrupt generation
for each event.
Table 222. Interrupts and Bit Fields
Name (Bit Field) Description
ECC_ERROR IRQ is generated when 2-bit ECC errors are observed and when this field is set to 2.
ECC_CORRECT IRQ is generated when 1-bit ECC corrections are observed and when this field is set to 2.
CMDFAIL IRQ generated when a command or write operation completes with an error status.
WRALCMPLT IRQ generated when an active flash write is nearly complete and the keyhole registers are open for another write. If fulfilled in time, a burst write
occurs.
CMDCMPLT IRQ generated when a command or flash write operation completes.

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the Analog Devices ADuCM356 and is the answer not in the manual?

Analog Devices ADuCM356 Specifications

General IconGeneral
BrandAnalog Devices
ModelADuCM356
CategoryMicrocontrollers
LanguageEnglish

Summary

PREFACE

SCOPE

Provides a detailed description of the functionality and features of the ADuCM356.

CLOCKING ARCHITECTURE

DIGITAL DIE CLOCK FEATURES

Details the clock sources, dividers, and gating for the digital die system clock.

ANALOG DIE CLOCK FEATURES

Details the clock sources, dividers, and gating for the analog die system clock.

POWER MANAGEMENT UNIT

Active Mode

Describes the fully active operating mode where the Arm Cortex-M3 executes from flash and SRAM.

Flexi Mode

Describes the mode where the Arm Cortex-M3 is disabled, allowing peripherals to operate.

Hibernate Mode

Describes the low-power mode where the digital core and most analog blocks are powered down.

SYSTEM RESETS

DIGITAL DIE RESET OPERATION

Explains the reset sources and operation for the digital die, including software resets.

PROGRAMMING, PROTECTION, AND DEBUG

Debug Features

Details the SWD port, flash patch breakpoints, and data watchpoint/trigger units for debugging.

SYSTEM EXCEPTIONS AND PERIPHERAL INTERRUPTS

CORTEX-M3 AND FAULT MANAGEMENT

Describes the system exceptions and fault handling features integrated with the Cortex-M3 processor.

ANALOG DIE CIRCUITRY SUMMARY

ADC, HIGH-SPEED DAC, AND ASSOCIATED AMPLIFIERS OPERATING MODE CONFIGURATION

Configures the operating modes for ADC, High-Speed DAC, and associated amplifiers.

ADC CIRCUIT

ADC CIRCUIT FEATURES

Lists the key features of the ADuCM356's fast multichannel, 16-bit ADC.

LOW-POWER POTENTIOSTAT AMPLIFIERS AND LOW-POWER TIAS

LOW-POWER POTENTIOSTAT AMPLIFIERS

Details the two low-power potentiostat amplifiers for setting external sensor bias voltage.

HIGH-SPEED DAC CIRCUITS

HIGH-SPEED DAC OUTPUT SIGNAL GENERATION

Explains how to generate high-speed DAC output voltage via direct write or waveform generator.

PROGRAMMABLE SWITCHES CONNECTING THE EXTERNAL SENSOR TO THE HIGH-SPEED DAC AND HIGH-SPEED TIA

DX SWITCHES

Selects pins for the high-speed DAC excitation amplifier output, used for impedance measurements.

SEQUENCER

SEQUENCER COMMANDS

Describes the two types of commands: write commands and timer commands (wait, timeout).

SLEEP AND WAKE-UP TIMER

CONFIGURING A DEFINED SEQUENCE ORDER

Defines the order of sequence execution periodically using the SEQORDER register.

USE CASE CONFIGURATIONS

HIBERNATE MODE WHILE MAINTAINING A DC BIAS TO THE SENSOR

Details setup for hibernate mode while maintaining sensor bias voltage.

DMA CONTROLLER

DMA FEATURES

Lists the features of the ADuCM356's dedicated and independent DMA channels.

FLASH CONTROLLER

SUPPORTED COMMANDS

Summarizes the commands supported by the flash controller for read, write, erase, and signature operations.

REGISTER DETAILS: FLASH CACHE CONTROLLER (FLCC)

COMMAND REGISTER

Allows execution of specified flash commands like write, erase, abort, and signature generation.

DIGITAL INPUTS AND OUTPUTS

DIGITAL INPUTS AND OUTPUTS OPERATION

Explains how to configure, read, and write digital input and output pins.

I2C SERIAL INTERFACE

I2C OPERATION

Details the steps required to run the I2C peripheral, including startup and modes.

SERIAL PERIPHERAL INTERFACES

SPI OPERATION

Describes the operation of the SPI interface, including initiator and target modes.

REGISTER SUMMARY: SPI0/SPI1

STATUS REGISTERS

Provides status information for SPI0 and SPI1, including ready, overflow, and error conditions.

REGISTER DETAILS: UART

INTERRUPT ENABLE REGISTER

Configures which interrupt sources generate an interrupt for the UART.

DIGITAL DIE GENERAL-PURPOSE TIMERS

GENERAL-PURPOSE TIMER OPERATIONS

Explains the operation of timers in free running mode and periodic mode.

REGISTER SUMMARY: ANALOG DIE GENERAL-PURPOSE TIMERS

CONTROL REGISTER

Controls timer operation, including clock source, mode, and event selection.

REGISTER DETAILS: DIGITAL DIE WAKE-UP TIMER

STATUS 0 REGISTER

Provides status information for WUT operation, including synchronization and pending writes.

CYCLIC REDUNDANCY CHECK

CRC OPERATING MODES

Details the core access and DMA access modes for CRC calculation.

REGISTER SUMMARY: CRC

CRC CONTROL REGISTER

Controls the CRC peripheral, including enabling, mirroring, and calculation order.

HARDWARE DESIGN CONSIDERATIONS

SERIAL WIRE DEBUG INTERFACE

Describes the SWD interface for debugging and programming, replacing JTAG.