TARGET APPLICATIONS
Refrigerator and Air Conditioner Compressors,
Washing Machines
Industrial Variable Speed Drives, HVAC
MOTOR TYPES
Permanent Magnet Synchronous Motors (PMSM),
Brushless DC Motors (BDCM), AC Induction Motors
(ACIM), Switched Reluctance Motors (SRM)
FEATURES
20 MHz Fixed-Point DSP Core
Single Cycle Instruction Execution (50 ns)
ADSP-21xx Family Code Compatibility
Independent Computational Units
ALU
Multiplier/Accumulator
Barrel Shifter
Multifunction Instructions
Single Cycle Context Switch
Powerful Program Sequencer
Zero Overhead Looping
Conditional Instruction Execution
2 Independent Data Address Generators
FUNCTIONAL BLOCK DIAGRAM
ADSP-21xx BASE
ARCHITECTURE
DATA
ADDRESS
GENERATORS
DAG 1 DAG 2
PROGRAM
SEQUENCER
PROGRAM MEMORY ADDRESS
DATA MEMORY ADDRESS
PROGRAM MEMORY DATA
DATA MEMORY DATA
MEMORY BLOCK
PROGRAM
ROM
4K 24
PROGRAM
RAM
512 24
Memory Configuration
512 16-Bit Data Memory RAM
512 24-Bit Program Memory RAM
4K 24-Bit Program Memory ROM
4K 24-Bit Total Program FLASH Memory
(ADMCF340 only)
3 Independent FLASH Memory Sectors
3584 24 Bit, 256 24 Bit, 256 24 Bit
Low Cost Pin Compatible ROM Option
16-Bit Watchdog Timer
Programmable 16-Bit Internal Timer with Prescaler
2 Double Buffered Serial Ports with SPI Mode
Support
Integrated Power-On Reset Function
3-Phase 16-Bit PWM Generation Unit
16-Bit Center-Based PWM Generator
Programmable PWM Pulsewidth
Edge Resolution of 50 ns
Programmable Narrow Pulse Deletion
153 Hz Minimum Switching Frequency
Double/Single Update Mode Control
Individual Enable and Disable for Each PWM
Output
High Frequency Chopping Mode for
Transformer-Coupled Gate Drives
(continued on page 8)
MOTOR CONTROL PERIPHERALS
PROGRAM
FLASH
4K 24
DATA
MEMORY
512 16
ADC SUBSYSTEM
V
ANALOG
REF
2.5V
INPUTS
10
I
SENSE
AND TRIP
SHA
TIMERS
3
AMP
16-BIT
THREE-
PHASE
PWM
6
ARITHMETIC UNITS
SHIFTER
MACALU
DashDSP is a registered trademark of Analog Devices, Inc.
POR
TIMER
REV. A
Information furnished by Analog Devices is believed to be accurate and
reliable. However, no responsibility is assumed by Analog Devices for its
use, nor for any infringements of patents or other rights of third parties that
may result from its use. No license is granted by implication or otherwise
under any patent or patent rights of Analog Devices.
(VDD = 5%, GND = 0 V. For ADMCF340, TA = –40C to +85C.
ANALOG-TO-DIGITAL CONVERTER
ParameterMinTypMaxUnitConditions/Comments
Signal Input0.33.5VVAUX0, VAUX1, VAUX2
Resolution
Linearity Error
Zero Offset
Comparator Delay600ns
ADC High Level Input Current
ADC Low Level Input Current
NOTES
1
Resolution varies with PWM switching frequency (double update mode) 78.1 kHz = 8 bits, 4.9 kHz = 12 bits.
2
2.44 kHz sample frequency, VAUX0, VAUX1, VAUX2.
3
Extrapolated point outside of operating range. 2.44 kHz sample frequency.
Specifications subject to change without notice.
1
2
3
2
2
–320+7mV
–10µAV
For ADMC340, TA = –40C to +125C. CLKIN = 10 MHz, unless otherwise noted.)
Low Level Input Voltage0.8V
High Level Input Voltage2V
Low Level Input Voltage
High Level Input Voltage2.60V
Low Level Output Voltage
Low Level Output Voltage
High Level Output Voltage4VI
Low Level Input Current RESET Pin
Low Level Input Current–10µAV
High Level Input Current RESET Pin
High Level Input Current
High Level Input Current10µAV
High Level Three-State Leakage Current
Low Level Three-State Leakage Current6–10µAV
Supply Current (Idle)
Supply Current (Dynamic)
Supply Current (Idle)
Supply Current (Dynamic)
1
2
3
4
4
5
7
7
7
7
–100µAV
6
1.75V
0.4VI
0.8VI
30µAV
100µAV
100µAV
2 mA
OL =
= 2 mA
OL
= 0.5 mA
OH
= 0 V
IN
= 0 V
IN
= V
IN
= V
IN
= V
IN
= V
IN
= 0 V
IN
DD
DD
DD
DD
35mAVDD = 5.25 V (ADMC340 only)
60mAVDD = 5.25 V (ADMC340 only)
55mAVDD = 5.25 V (ADMCF340 only)
135mAVDD = 5.25 V (ADMCF340 only)
REV. A
–3–
ADMC(F)340
TIMING PARAMETERS
ParameterMinMaxUnit
Clock Signals
Signal TCK is defined as 0.5 t
a frequency equal to half the instruction rate; a 10 MHz input clock (which is
equivalent to 100 ns) yields a 50 ns processor cycle (equivalent to 20 MHz).
When T
values are within the range of 0.5 t
CK
substituted for all relevant timing parameters to obtain specification value as
in the following example:
CLKOUT Width Low0.5 TCK – 10ns
CLKOUT Width High0.5 TCK – 10ns
CLKIN High to CLKOUT High020ns
Control Signals
Timing Requirement:
t
RSP
RESET Width Low5 TCK*ns
PWM Shutdown Signals
Timing Requirement:
t
PWMTPW
*Applies after power-up sequence is complete.
Specifications subject to change without notice.
PWMTRIP Width LowT
. The ADMC(F)340 uses an input clock with
CKIN
period, they should be
CKIN
CK
ns
CLKIN
CLKOUT
t
CKIN
t
CKIL
t
CKL
Figure 1. Clock Signals
t
t
CKOH
CKH
t
CKIH
–4–
REV. A
ADMC(F)340
TIMING PARAMETERS
ParameterMinMaxUnit
Serial Ports
Timing Requirements:
t
SCK
t
SCS
t
SCH
t
SCP
Switching Characteristics:
t
CC
t
SCDE
t
SCDV
t
RH
t
RD
t
SCDH
t
SCDD
t
TDE
t
TDV
t
RDV
Specifications subject to change without notice.
SCLK Period100ns
DR/TFS/RFS Setup before SCLK Low15ns
DR/TFS/RFS Hold after SCLK Low20ns
SCLKIN Width40ns
CLKOUT High to SCLK
OUT
0.25 T
0.25 TCK + 20ns
CK
SCLK High to DT Enable0ns
SCLK High to DT Valid30ns
TFS/RFS
TFS/RFS
Hold after SCLK High0ns
OUT
Delay from SCLK High30ns
OUT
DT Hold after SCLK High0ns
SCLK High to DT Disable30ns
TFS (Alt) to DT Enable0ns
TFS (Alt) to DT Valid25ns
RFS (Multichannel, Frame Delay Zero) to DT Valid30ns
CLKOUT
SCLK
DR
RFS
TFS
RFS
OUT
TFS
OUT
DT
TFS
(ALTERNATE
FRAME MODE)
(MULTICHANNEL MODE,
FRAME DELAY 0 [MFD = 0])
RFS
t
CC
IN
IN
t
t
SCDE
t
TDE
t
RH
t
RD
SCDV
t
TDV
t
RDV
t
CC
t
SCDD
t
t
t
SCS
SCH
t
SCDH
SCP
t
SCK
t
SCP
Figure 2. Serial Port Timing
REV. A
–5–
ADMC(F)340
WARNING!
ESD SENSITIVE DEVICE
ABSOLUTE MAXIMUM RATINGS*
Supply Voltage (VDD) . . . . . . . . . . . . . . . . . . –0.3 V to +7.0 V
Supply Voltage (AV
Input Voltage . . . . . . . . . . . . . . . . . . . . –0.3 V to V
Output Voltage Swing . . . . . . . . . . . . . –0.3 V to V
) . . . . . . . . . . . . . . . . . –0.3 V to +7.0 V
*Stresses greater than those listed may cause permanent damage to the device.
These are stress ratings only; functional operation of the device at these or any
other conditions greater than those indicated in the operational sections of this
specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.
1
AGND
2
DGND1
3
RESET
4
PB6
5
CH
6
PB7
7
PB8
8
CL
9
PB9
10
PB10
11
BH
12
PB11
13
PB12
14
BL
15
NC
16
NC
NC = NO CONNECT
PIN CONFIGURATION
NC
ICONST
VAUX7
VAUX2
VAUX6
VAUX1
VAUX5
VAUX0
61
59
60
ADMC(F)340
20
22
21
PB14ALPB15
58
57
56
TOP VIEW
(Not to Scale)
23
24
25
PA8/(AUX0/CLKOUT)
PA7/(AUX1/PWMSYNC)
63
64
PIN 1
IDENTIFIER
18
17
NC
AH
62
19
PB13
SENSE1
VAUX4
I
55
26
2
DD
DV
PWMSR
V1
54
27
DGND2
53
28
SENSE2
SENSE3
I
V2
I
V3
50
52
51
31
29
30
PA6/DR1
PWMPOL
PA5/(FL1/DT1)
PA4(SCLK1/SCLK0)
PWMTRIP
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
PA3/TFS0
AV
DD
DVDD1
XTAL
NC
CLKIN
NC
PB5
PB4
PA0/DR0
PB3
PB2
PA1/DT0
PB1
PB0
PA2/RFS0
NC
ORDERING GUIDE
TemperatureInstructionPackagePackage
ModelRangeRateDescriptionOption
ADMC(F)340BST–40°C to +85°C20 MHz64-Lead Thin Plastic Quad FlatpackST-64
(LQFP)
ADMC(F)340-EVALKITN/AN/ADevelopment Tool Kit
ADMC340VST-XXX-XXXX–40°C to +125°C20 MHz64-Lead LQFPST-64
CAUTION
ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000 V readily
accumulate on the human body and test equipment and can discharge without detection. Although
the ADMC(F)340 features proprietary ESD protection circuitry, permanent damage may occur on
devices subjected to high energy electrostatic discharges. Therefore, proper ESD precautions are
recommended to avoid performance degradation or loss of functionality.
Protection (Usable as 3 Dedicated Analog Inputs)
3 Simultaneous Converting Voltage Inputs
7 Muxed Auxiliary Analog Inputs
Internal Voltage Reference (2.5 V)
Acquisition Synchronized to PWM Switching
Frequency
25-Lead Digital I/O Port
Bit Configurable as Input or Output
Change of State Interrupt Support
2 16-Bit Auxiliary PWM Timers
Synthesized Analog Output
Programmable Frequency
0% to 100% Duty Cycle
2 Programmable Operation Modes
Independent Mode/Offset Mode
GENERAL DESCRIPTION
The ADMC(F)340 is a low cost, single-chip DSP-based
controller suitable for permanent magnet synchronous, ac
induction, switched reluctance, and brushless dc motors. The
ADMC(F)340 integrates a 20 MHz, fixed-point DSP core with
a complete set of motor control and system peripherals for fast,
efficient development of motor controllers.
The DSP core of the ADMC(F)340 is completely code compatible
with the ADSP-21xx DSP family and combines three computational units, data address generators, and a program sequencer.
The computational units comprise an ALU, a multiplier/accumulator (MAC), and a barrel shifter. There are special instructions
for bit manipulation, multiplication (x squared), biased rounding,
and global interrupt masking. The system peripherals are the
power-on reset circuit (POR), the watchdog timer, and two
synchronous serial ports. The serial ports are configurable
and double buffered, with hardware support for UART, SCI,
and SPI port emulation. The ADMC(F)340 provides 512 × 24-bit
program memory RAM, 4K × 24-bit program memory ROM,
4K × 24-bit program FLASH memory, and 512 × 16-bit data
memory RAM. The user code will be stored and executed from
the flash memory. The program and data memory RAM can be
used for dynamic data storage or can be loaded through the
serial port from an external device as in other ADMCxx family
parts. The program memory ROM contains a monitor function
as well as useful routines for erasing, programming, and verifying
the flash memory.
The motor control peripherals of the ADMC(F)340 provide a 12-bit
analog data acquisition system with 13 analog input channels,
three dedicated I
functions (combining internal amplifi-
SENSE
cation, sampling, and overcurrent PWM shutdown features),
and an internal voltage reference. In addition, a three-phase,
16-bit, center-based PWM generation unit can be used to produce
high accuracy PWM signals with minimal processor overhead. The
ADMC(F)340 also contains two 16-bit auxiliary PWM timers
and 25 lines of programmable digital I/O.
Several functions, such as the auxiliary PWM and the serial
communication ports, are multiplexed with the nine PORTA
(9, PIO) programmable input/output (PIO) pins. The other 16
programmable digital I/O pins are dedicated. The pin functions
can be independently selected to allow maximum flexibility
for different applications.
DATA
ADDRESS
GENERATOR
No. 1
INPUT REGS
ALU
OUTPUT REGS
DATA
ADDRESS
GENERATOR
No. 2
INPUT REGS
OUTPUT REGS
MAC
INSTRUCTION
REGISTER
PM ROM
4K 24
PROGRAM
SEQUENCER
16
R BUS
14
14
24
BUS
EXCHANGE
16
INPUT REGS
SHIFTER
OUTPUT REGS
PM RAM
512 24
CONTROL
LOGIC
Figure 3. DSP Core Block Diagram
–8–
PMA BUS
DMA BUS
PMD BUS
DMD BUS
COMPANDING
CIRCUITRY
FLASH
PROGRAM
MEMORY
4K 24
TRANSMIT REG
RECEIVE REG
SERIAL
PORT
6
DM RAM
512 16
TIMER
REV. A
ADMC(F)340
DSP CORE ARCHITECTURE OVERVIEW
Figure 3 is an overall block diagram of the DSP core of the
ADMC(F)340. The flexible architecture and comprehensive
instruction set allow the processor to perform multiple operations
in parallel. In one processor cycle (50 ns with a 10 MHz CLKIN),
the DSP core can:
• Generate the next program address
• Fetch the next instruction
• Perform one or two data moves
• Update one or two data address pointers
• Perform a computational operation
This all takes place while the processor continues to:
•
Receive and transmit through the serial ports
•
Decrement the interval timer
•
Generate three-phase PWM waveforms for a power inverter
•
Generate two signals using the 16-bit auxiliary PWM timers
•
Acquire four analog signals
•
Decrement the watchdog timer
The processor contains three independent computational units:
the arithmetic and logic unit (ALU), the multiplier/accumulator
(MAC), and the shifter. The computational units process 16-bit
data directly and have provisions to support multiprecision com-
putations. The ALU performs a standard set of arithmetic and
logic operations as well as provides support for division primitives.
The MAC performs single-cycle multiply, multiply/add, and
multiply/subtract operations with 40 bits of accumulation. The
shifter performs logical and arithmetic shifts, normalization,
denormalization, and derive-exponent operations. The shifter
can be used to efficiently implement numeric format control,
including floating-point representations. The internal result (R)
bus directly connects the computational units so that the output
of any unit may be the input of any unit on the next cycle.
A powerful program sequencer and two dedicated data address
generators ensure efficient delivery of operands to these compu-
tational units. The sequencer supports conditional jumps and
subroutine calls and returns in a single cycle. With internal loop
counters and loop stacks, the ADMC(F)340 executes looped code
with zero overhead; no explicit jump instructions are required to
maintain the loop.
Two data address generators (DAGs) provide addresses for
simultaneous dual operand fetches from data memory and pro-
gram memory. Each DAG maintains and updates four address
pointers (I registers). Whenever the pointer is used to access
data (indirect addressing), it is post-modified by the value in
one of four modify (M) registers. A length value may be associated
with each pointer (L registers) to implement automatic modulo
addressing for circular buffers. The circular buffering feature is also
used by the serial ports for automatic data transfers to and from
on-chip memory. DAG1 generates only data memory addresses and
provides an optional bit-reversal capability. DAG2 may generate
either program or data memory addresses but has no bit-reversal
capability. Efficient data transfer is achieved with the use of five
internal buses:
• Program memory address (PMA) bus
• Program memory data (PMD) bus
• Data memory address (DMA) bus
• Data memory data (DMD) bus
• Result (R) bus
REV. A
–9–
Program memory can store both instructions and data, permitting
the ADMC(F)340 to fetch two operands in a single cycle—one from
program memory and one from data memory. The ADMC(F)340
can fetch both an operand from on-chip program memory and the
next instruction in the same cycle. The ADMC(F)340 writes
data from its 16-bit registers to the 24-bit program memory by
using the PX Register to provide the lower eight bits. When it reads
data (not instructions) from 24-bit program memory to a 16-bit
data register, the lower eight bits are placed into the PX Register.
The ADMC(F)340 can respond to a number of distinct DSP core
and peripheral interrupts. The DSP interrupts comprise a serial port
receive interrupt, a serial port transmit interrupt, a timer interrupt, and two software interrupts. Additionally, the motor control
peripherals include two PWM interrupts and a PIO interrupt.
The serial port (SPORT0) provides a complete synchronous
serial interface with optional companding in hardware and a wide
variety of framed and unframed data transmit and receive modes of
operation. SPORT0 and SPORT1 can generate an internal
programmable serial clock or accept an external serial clock.
A programmable interval counter is also included in the DSP core
and can be used to generate periodic interrupts. A 16-bit count
register (TCOUNT) is decremented every n processor cycle,
where n – 1 is a scaling value stored in the 8-bit TSCALE Register.
When the value of the counter reaches zero, an interrupt is
generated and the count register is reloaded from a 16-bit period
register (TPERIOD).
The ADMC(F)340 instruction set provides flexible data moves
and multifunction (one or two data moves with a computation)
instructions. Each instruction is executed in a single 50 ns
processor cycle (for a 10 MHz CLKIN). The ADMC(F)340
assembly language uses an algebraic syntax for ease of coding
and readability. A comprehensive set of development tools
supports program development. For further information on the
DSP core, refer to the ADSP-2100 Family User’s Manual, Third
Edition, with particular reference to the ADSP-2171.
SERIAL PORTS
The ADMC(F)340 incorporates two synchronous serial ports
(SPORT1 and SPORT0) for serial communication and multiprocessor communication. SPORT1 is primarily intended for
the interfacing of the debugging tools and/or code booting from
an external serial memory.
The following is a brief list of capabilities of the ADMC(F)340
SPORTs:
• SPORTs are bidirectional and have a separate, doublebuffered transmit and receive section.
• SPORTs can use an external serial clock or generate their
own serial clock internally.
• SPORTs have independent framing for the receive and
transmit sections. Sections run in a frameless mode or with
frame synchronization signals internally or externally
generated. Frame synchronization signals are active high or
inverted, with either of two pulsewidths and timings.
• SPORTs support serial data-word lengths from three bits to
16 bits and provide optional A-law and µ-law companding
according to ITU (formerly CCITT) recommendation G.711.
• SPORTs’ receive and transmit sections can generate unique
interrupts on completing a data-word transfer.
• SPORTs can receive and transmit an entire circular buffer
of data with only one overhead cycle per data-word. An
interrupt is generated after a data buffer transfer.
ADMC(F)340
• SPORT0 has one pin, SCLK0, shared with SPORT1.
During a boot phase (SPORT1 Boot Mode enabled by a bit
in the MODECTRL Register), the serial clock of SPORT1 is
externally available. The serial clock of SPORT0 is externally
available when the SPORT1 is configured in UART Mode.
• SPORT0 can be configured as a SPI Port (master mode only).
Refer to Table XI for more information. The clock phase and
polarity are programmable through the MODECTRL Register.
Refer to Table XI for pin configuration.
• SPORT0 has a multichannel interface to selectively receive
and transmit a 24-word or 32-word time division multiplexed
serial bit stream.
• SPORT1 is the default port for program/data memory boot
loading and for the development tools interface. The DT1/FL1
pin can be configured as the SROM/E
2
PROM reset signal.
The ADMC(F)340 is available in a 64-lead LQFP package.
PIN FUNCTION DESCRIPTION
Table I. Pin List
Pin GroupNo. of Input/
NamePinsOutput Function
PWMPOL1IPWM Polarity
PWMSR1I PWM Switched
Reluctance Mode
RESET1I Processor Reset Input
SPORT1
SPORT0
1
1
2I/OSerial Port 1 Pins
(DT1/FL1, DR1)
5I/OSerial Port 0 Pins
(DT0, DR0, RFS0,
CLKOUT
TFS0, SCLK1/
1
1
1
I/OProcessor Clock
SCLK0
2
)
Output
CLKIN, XTAL2I/OExternal Clock or
Quartz Crystal
1
PORTA0–PORTA8
PORTB0–PORTB15 16I/ODigital I/O Port Pins
AUX0–AUX1
1
9I/ODigital I/O Port Pins
2O Auxiliary PWM
Connection Point
Outputs
AH-CL6OPWM Outputs
PWMTRIP1I PWM Trip Signal
V1 to V33II
I
SENSE1 to ISENSE3
3I Analog Inputs
SENSE
Inputs
VAUX0-VAUX77IAuxiliary Analog Inputs
ICONST1OADC Constant
Current Source
DV
AV
DD
DD
3I Power Supply
3I Power Supply
GND3IGround
NOTES
1
Multiplexed pins, individually selectable through PORTA_SELECT and
PORTA_DATA Registers.
2
SCLK1/SCLK0 multiplexed signals, selectable through MODECTRL
Register Bit 4.
INTERRUPT OVERVIEW
The ADMC(F)340 can respond to 34 different interrupt sources
with minimal overhead, seven of which are internal DSP core
interrupts and 27 of which are from the motor control peripherals.
The seven DSP core interrupts are SPORT1 receive (or IRQ0)
and transmit (or IRQ1), SPORT0 receive and transmit, the
internal timer, and two software interrupts. The motor control
peripheral interrupts are the 25 programmable I/Os and two from
the PWM (PWMSYNC pulse and PWMTRIP). All motor control
interrupts are multiplexed into the DSP core through the peripheral IRQ2 interrupt. The interrupts are internally prioritized and
individually maskable. A detailed description of the entire interrupt
system of the ADMC(F)340 is presented in the Interrupt
Control section, which follows the detailed descriptions of each
peripheral block.
MEMORY MAP
The ADMC(F)340 has two distinct memory types: program
and data. In general, program memory contains user code and
coefficients, while the data memory is used to store variables and
data during program execution. Three kinds of program memory are
provided on the ADMC(F)340: RAM, ROM, and FLASH. The
motor control peripherals are memory mapped into a region of the
data memory space starting at 0x2000. The complete program and
data memory maps are given in Tables II and III, respectively.
Table II. Program Memory Map
Memory
Address RangeTypeFunction
0x0000–0x002FRAMInternal Vector Table
0x0030–0x01FFRAMUser Program Memory
0x0200–0x07FFReserved
0x0800–0x17FFROMReserved Program Memory
0x1800–0x1FFFReserved
0x2000–0x20FFFLASHUser Program Memory
The ADMC(F)340 has 4K × 24-bit user-programmable, nonvolatile flash memory. A flash programming utility is provided with the
development tools and performs the basic device programming
operations: erase, program, and verify.
The flash memory array is portioned into three asymmetrically
sized sectors of 256 words, 256 words, and 3,584 words, labeled
Sector 0, Sector 1, and Sector 2, respectively. These sectors are
mapped into external program memory address space.
Four flash memory interface registers are connected to the DSP.
These 16-bit registers are mapped into the register area of data
memory space. They are named Flash Memory Control Register
(FMCR), Flash Memory Address Register (FMAR), Flash
Memory Data Register Low (FMDRL), and Flash Memory Data
Register High (FMDRH). These registers are diagrammed
beginning with Figure 21. They are used by the flash memory
programming utility. The user program may read these registers
but should not modify them directly. The flash programming
utility provides a complete interface to the flash memory.
Note that from the point of view of 2171 core, the flash memory
is placed externally. It means the core accesses them through an
external memory interface that multiplexes the program memory
and data memory buses into a single external bus. Therefore, if
more than one external transfer must be made in the same
instruction, there will be at least one overhead cycle required.
Special Flash Registers
The flash module has four nonvolatile 8-bit registers called Special
Flash Registers (SFRs) that are accessible independently of
the main flash array via the flash programming utility. These
registers are for general-purpose, nonvolatile storage. When
erased, the Special Flash Registers contain all 0s. To read
Special Flash Registers from the user program, call the read_reg
routine contained in the ROM. Refer to the ADMCF34x DSPMotor Controller Developers’ Reference Manual for an example.
Boot-from-Flash Code
A security feature is available in the form of a code that when set
causes the processor to execute the program in flash memory at
power-up or reset. In this mode, the flash programming utility and
debugger are unable to communicate with the ADMC(F)340.
Consequently, the contents of the flash memory can be neither
programmed nor read.
The boot-from-flash code may be set via the flash programming
utility when the user’s program is thoroughly tested and loaded
into flash program memory at Address 0x2200. The user’s program must contain a mechanism for clearing the boot-from-flash
code if reprogramming the flash memory is desired. The only
way to clear boot-from-flash is from within the user program, by
calling the flash_init or auto_erase_reg routines that are included
in the ROM. The user program must be signaled in some way to
call the necessary routine to clear the boot-from-flash code. An
example would be to detect a high level on a PIO pin during
startup initialization and then call the flash_init or auto-erase-reg
routine. The flash_init routine will erase the entire user program
in flash memory before clearing the boot-from-flash code, thus
ensuring the security of the user program. If security is not a
concern, the auto_erase_reg routine can be used to clear the
boot-from-flash code while leaving the user program intact.
Refer to the ADMCF34x DSP Motor Controller Developers’Reference Manual for further instructions and an example of
using the boot-from-flash code.
FLASH PROGRAM BOOT SEQUENCE
On power-up or reset, the processor begins instruction execution
at Address 0x0800 of internal program ROM. The ROM monitor
program that is located there checks the boot-from-flash code. If
that code is set, the processor jumps to location 0x2200 in external
flash program memory, where it expects to find the user’s
application program.
If the boot-from-flash code is not set, the monitor attempts to
boot from an external device as described in the ADMCF34x
DSP Motor Controller Developers’ Reference Manual.
SYSTEM INTERFACE
Figure 4 shows a basic system configuration for the ADMC(F)340
with an external crystal.
22pF
10MHz
22pF
Figure 4. Basic System Configuration
Clock Signals
CLKOUT
CLKIN
ADMC(F)340
RESET
XTAL
The ADMC(F)340 can be clocked either by a crystal or a TTL
compatible clock signal. For normal operation, the CLKIN
input cannot be halted, changed during operation, or operated
below the specified minimum frequency. If an external clock is
used, it should be a TTL compatible signal running at half the
instruction rate. The signal is connected to the CLKIN pin of
the ADMC(F)340. In this mode, with an external clock signal,
the XTAL pin must be left unconnected. The ADMC(F)340
uses an input clock with a frequency equal to half the instruction rate; a 10 MHz input clock yields a 50 ns processor cycle
(which is equivalent to 20 MHz). Normally, instructions are
executed in a single processor cycle. All device timing is relative to the internal instruction rate that is indicated by the
CLKOUT signal when enabled.
Because the ADMC(F)340 includes an on-chip oscillator feedback
circuit, an external crystal may be used instead of a clock source,
as shown in Figure 2. The crystal should be connected across the
CLKIN and XTAL pins with two capacitors (see Figure 2). A
parallel-resonant, fundamental frequency, microprocessor-grade
crystal should be used. A clock output signal (CLKOUT) is
generated by the processor at the processor’s cycle rate of twice
the input frequency.
REV. A
–11–
ADMC(F)340
Reset
The ADMC(F)340 DSP core and peripherals must be correctly
reset when the device is powered up to ensure proper unitization.
The ADMC(F)340 contains an integrated power-on-reset (POR)
circuit that provides a complete system reset on power-up and
power-down. The POR circuit monitors the voltage on the
ADMC(F)340 V
in reset while V
When this voltage is exceeded, the ADMC(F)340 is held in reset
for an additional 2
this time (T
RST
pin and holds the DSP core and peripherals
DD
is less than the threshold voltage level, V
DD
16
DSP clock cycles (T
in Figure 5). During
RST
RST
.
), the supply voltage must reach the recommended
operating condition. On power-down, when the voltage on the
pin falls below V
V
DD
RST
–V
, the ADMC(F)340 will be
HYST
reset. Also, if the external RESET pin is actively pulled low
at any time after power-up, a complete hardware reset of the
ADMC(F)340 is initiated.
V
RST
V
RESET
DD
T
RST
V
V
RST
HYST
–
Figure 5. Power-On Reset Operation
The ADMC(F)340 sets all internal stack pointers to the empty
stack condition, masks all interrupts, clears the MSTAT Register,
and performs a full reset of all the motor control peripherals.
Following a power-up, it is possible to initiate a DSP core and
motor control peripheral reset by pulling the RESET pin low.
The RESET signal must be the minimum pulsewidth specification,
. Following the reset sequence, the DSP core starts executing
t
RSP
code from the internal PM ROM located at 0x0800.
DSP Control Registers
The DSP core has a system control register, SYSCNTL, memorymapped at DM (0x3FFF). SPORT1 must be configured as a
serial port by setting Bit 10. SPORT0 and SPORT1 are enabled
by setting Bit 11 and Bit 12.
The DSP core has a wait state control register, MEMWAIT,
memory-mapped at DM (0x3FFE). The default value of this
register is 0xFFFF. For proper operation of the ADMC(F)340,
this register must always contain the value 0x8000. This value
sets the minimum access time to the program memory.
The configurations of both the SYSCNTL and MEMWAIT
Registers of the ADMC(F)340 are shown in Figure 30.
THREE-PHASE PWM CONTROLLER
Overview
The PWM generator block of the ADMC(F)340 is a flexible,
programmable, three-phase PWM waveform generator that can
be programmed to generate the required switching patterns to
drive a three-phase voltage source inverter for ac induction motors
(ACIM) or permanent magnet synchronous motors (PMSM).
In addition, the PWM block contains special functions that
considerably simplify the generation of the required PWM
switching patterns for control of electronically commutated
motors (ECM), brushless dc motors (BDCM), or switched
reluctance motors (SRM).
The six PWM output signals consist of three high side drive
signals (AH, BH, and CH) and three low side drive signals (AL,
BL, and CL). The switching frequency, dead time, and minimum
pulsewidths of the generated PWM patterns are programmable
using, respectively, the PWMTM, PWMDT, and PWMPD
Registers. In addition, three registers (PWMCHA, PWMCHB,
and PWMCHC) control the duty cycles of the three pairs of
PWM signals.