The DSM2190F4 is a system memory device for
use with the Analog Devices ADSP-2191 DSP.
DSM means Digital signal processor System
Memory. A DSM device brings In-System Programmable (ISP) Flash memory, param eter storage, programmable logic, and additional I/O to
DSP systems. The result is a simple and flexible
two-chip solution for DSP designs. DSM devices
provide the flexibility of Flash memo ry and smart
JTAG programming technique s for both manu facturing and the field. On-chip integrated memory
decode logic makes it easy to map dual banks of
Flash memory to the ADSP -2191 in a variety of
ways for bootloading, code execution, data recording, code swapping, and parameter storage.
JTAG ISP reduces development time, simplifies
manufacturing flow, and lowers the cost of field upgrades. The JTAG ISP interface eliminates the
need for sockets and pre-programmed memory
and logic devices. For man ufacturing, end products may be assembled with a blank DSM device
soldered to the circuit board and programmed at
the end of the manufacturing line in 10 to 25 seconds with no involvement of the DS P. This a llows
efficient means to test product and manage inventory by rapidly programming test code, then appli-
cation code as determined by inventory
requirements (Just-In Time inv entory). A ddi tionally, JTAG ISP reduces development time by turning
fast iterations of DSP code in the lab. Code updates in the field require n o disassembly o f product. The FlashLINK
TM
JTAG programming cable
costs $59 USD and plugs into any PC or notebook parallel port.
In addition to ISP Flash memory, DSM devices
add programmable logic (PLD) and up to 16 configurable I/O pins to the DSP system. The state of
each I/O pin can be driven by DSP software or
PLD logic. PLD and I/O configuration are programmable by JTAG I SP, just like the Flash m emory.
The PLD consists of more than 3000 gates and
has 16 macro cell registers. Common uses for the
PLD include chip selects for external devices,
state-machines, simple shifters and counters, keypad and control panel interfaces, clock dividers,
handshake delay, multiplexers, etc. This eliminates the need for small external PLDs and l ogic
devices. Configuration of PLD, I/O, and Flash
memory mapping are easily entered in a pointand-click environment using the software development tool, PSDsoft Express
available at no charge from
TM
. This software is
www.st.com/psm
.
Figure 2. System Block Diagram, Two-C hip Solution
16 FLAGS
TIMER/
CAPTURE
SERIAL
DEVICE
SERIAL
DEVICE
SERIAL
DEVICE
UART
DEVICE
HOST
MCU
ANALOG
DEVICES
DSP
ADSP-2191
22 ADDRESS
WR, RD, BMS, MSx, IOMS
8 DATA
JTAG DEBUG
DSP SYSTEM MEMORY
LOGIC
ADDR & DECODE
16 MACROCELL PLD
POWER MANAGEMENT
CONTENT SECURITY
DSM2190F4
PRIMARY
FLA SH MEMORY
256K X 8
SECONDARY
FLA SH MEMORY
32K X 8
I/O CONTROL
8 I/O
I/O, PLD, CHIP SELECTS
PORTS
I/O BUS
8 I/O
PORTS
JTAG
ISP TO
ALL
AREAS
I/O, PLD, CHIP SEL
JTAG ISP
AI04959B
4/61
Page 5
DSM2190F4
The two-chip combination of a D SP and a DSM
device is ideal for systems which have limitations
on size, EMI levels, and power consumption. DSM
memory and logic are “zero-power”, meaning they
automatically go to standby between memory accesses or logic input changes , producing low active and standby current consumption, which is
ideal for battery powered products.
Table 1. DSM2190F4V DSP Memory S ystem Devi ces
Secondar y
Flash
Memory
32KBytes =
4 sectors x
8KByte
32KBytes =
4 sectors x
8KByte
PLD
16
macro
-cells
16
macro
-cells
Part Number
DSM2190F4VV15T6
DSM2190F4VV15K6
Main Flash
Memory
256KBytes =
8 sectors x
32KByte
256KBytes =
8 sectors x
32KByte
Table 2. Compatible Analog Devices DSP
DSP Part Number
A programmable security bit in the DSM protects
its contents from unauthorized viewing and copying. When set, the security bit will block access of
programming devices (JTAG or others) to the
DSM Flash memories and PLD configuration. The
only way to defeat the security bit is to erase the
entire DSM device, after which the device is blank
and may be used again. The DSP will always have
access to Flash memory contents through the 8-bit
data port even while the security bit is set.
I/O
Ports
Up to
16
Up to
16
and I/O
V
CC
3.3V ±10% 150 ns
3.3V ±10% 150 ns
Operating Voltage, V
Mem
Speed
Package
52-pin
PQFP
52-pin
PLCC
CC
Operating
Temp
o
C to
–40
o
+85
o
C to
–40
o
+85
I/O Capability
C
C
ADSP-2191M2.5V2.5 - 3.6V
Figure 3. PLC C C onnection sFigure 4. PQFP C onnection s
These DSP signals attach directly to the DSM for
a glueless connection. An 8-bit data connection is
formed and all 22 DSP address lines can be decoded as well as DSP memory strobes;
IOMS, and MSx. There are many different ways the
DSM2190F4 can be configured and used depending on system requirements. One convenient way
is to combine the function of t he
the
BMS signal. Doing this allows the DS P core t o
MSx signals into
access DSM memory at runtime even after the
boot process is complete using only the
nal. Comb ining
MSx and BMS consumes less I/O
pin(s) on the DMS device. See Analog Devices
ADSP-2191 DSP Hardware Reference Manual,
Chapter 7, Code Example: BMS Runtime Access.
Alternatively, any of the
MSx signals may also be
used to decode any of the sectors of DSM Main
Flash or Secondary flash memories.
Main Flash Memory
The 2M bit (256K x 8) Flash memory is divided into
eight equally-sized 32 K byte s ect ors t hat are i ndividually selectable through the Decode PLD. Each
Flash memory sector can be located at any address as defined by the user with PSDsoft Express. DSP code and data is easily placed in flash
memory using the P SDsoft Express software development tool.
Secondary Flash Memory
The 256K bit (32K x 8) Flash memory is divided
into eight equally-sized 8K byte sectors that are individually selectable through the Decode PLD.
Each Flash memory sector can be located at any
address as defined by the user with PSDsoft Express. DSP code and data can also be placed
Secondary Flash memory using the PSDsoft Express development tool.
Secondary flash memory is good for storing dat a
because of its small sectors. Additionally, software
EEPROM em ulation techniques can be used for
small data sets that change frequently on a byteby-byte basis.
Secondary flash may also be used to store custom
start-up code for applications that do not “boot” using DMA, but instead start executing code from external memory upon reset. Storing code here can
keep the entire Main Flash free of initialization
code for clean software partitioning. If only on e or
more 8K byte sectors are needed for start-up
code, the remaining sectors of Secondary Flash
may be used for data storage.
BMS,
BMS sig-
Secondary Flash may also be used as an extension to Main Flash memory producing a total of
288K bytes
Miscellaneous: Main and Secondary Flash memories are totally independent, allowing concurrent
operation if needed. The DSP can read from one
memory while erasing or programming the other.
The DSP can erase Flash memories by individual
sectors or the entire Flash memory array may be
erased at one time. Each sector in either Flash
memory may be individually write protected, blocking any writes from the DSP (good for boot and
start-up code protection). The Flash memories automatically go to standby between DSP read or
write accesses to conserve power. Maximum access times include sector decoding time. Maximum erase cycles is 100K and data retention is 15
years minimum. Flash memory, as well as the entire DSM device may be programmed with the
JTAG ISP interface with no DSP involvement.
Programm a b le Logic (PLD s)
The DSM family contains two PLDS that m ay optionally run in Turbo or Non-Turbo mode. PLDs operate faster (less propagation delay) while in
Turbo mode but consume more power than NonTurbo mode. Non-Turbo mode allows the PLDs to
automatically go to standby when no inputs are
change to conserve power. The Turbo mode setting is controlled at runtime by DSP software.
Decode PLD (DPLD). This is programmable logic used to select one of the eigh t individual Main
Flash memory segments, one of four individual
Secondary Flash memory segments, or the group
of control registers within the DSM device. The
DPLD can also optionally drive external chip select
signals on Port D pins. DPLD input signals include:
DSP address and control signals, Page Register
outputs, DSM Port Pins, CPLD logic feedback.
Complex PLD (CPLD). This programmable logic
is used to c reate bo th combinatorial and sequential general purpose logic. The C PLD contains 16
Output Macrocells (OMCs) and 16 Input Macrocells (IMCs). PSD Macrocell registers a re unique
in that that have direct connection to the DSP data
bus allowing them to be loaded and read directly
by the DSP at runtime. This di rect access is g ood
for making small peripheral devices (shifters,
counters, state machines, etc.) that are accessed
directly by the DSP with little overhead. DPLD inputs include DSP address and control signals,
Page Register outputs, DSM Port Pins, and CPLD
feedback.
6/61
Page 7
Figure 5. Block Diagram
DSM2190F4
SECURITY
LOCK
DSP
ADDR
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
AD8
AD9
AD10
AD11
AD12
AD13
AD14
AD15
PD0
PD1
PD2
DSP
CONTROL
CNTL0
CNTL1
CNTL2
PC2
RST\
INTERNAL ADDR, DATA, CONTROL BUS LINKED TO DSP
MAIN FLASH MEMORY
PAGE REG
DECODE PLD
(DPLD)
EXTERNAL
CHIP SELEC T S
COMPL EX PLD
PLD INPUT BUS
PIN FEEDBACK
NODE FEED BACK
(CPLD)
ARRAY
AND
FS0-7
CSBOOT0-3
CSIOP
EXTERNAL CHIP SELECTS, ESC0-2
ABA
B
BCBCBCBCBCBCBCB
16 Output Macrocells
BBB
CCCCBCBCBCBC
fs7
fs0
8 SEGMENTS, 32 KB
256 KBytes TOTAL
2nd FLASH MEMORY
csboot3
csboot0
4 SEGMEN T S, 8 KB
32 KBytes TOTAL
RUNTIME CONTROL
CSIOP REGISTER FILE
POWER MANAGEMENT
ABABABABABA
B
16 Input
Macrocell
B
C
JTAG-ISP
TO ALL AREAS
OF CHIP
ALLO-
CATOR
DSM2190F4
DSP SYS T EM
MEMORY
DSP
DATA
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
I/O PORT
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
I/O PORT
PC0
PC1
PC3
PC4
PC5
PC6
PC7
OMCs: The general structure of the CPLD is similar in nature to a 22V10 PLD device wit h t he familiar sum-of-products (AND-OR) construct. True
and compliment versions of 64 input signals are
available to a large AND array. AND array outputs
feed into a multiple product-term O R gate within
each OMC (up to 10 product-terms for each
OMC). Logic output of the OR gate can be passed
on as combinatorial logic or combined with a flipflop within in each OMC to realize sequential logic.
OMCs can be used a s a buried nodes with feedback to the AND array or OMC output can be routed to pins on Port B or PortC.
IMCs: Inputs from pins on Port B or Port C are
routed to IMCs for conditioning (clocking or latching) as they enter the chip, which is good for sampling and debouncing inputs. Alternatively, IMCs
can pass Port input signals directly to P LD inputs
without clocking or latching. The DSP may read
the IMCs at any time.
AI04960B
Runtime Control Registers
A block of 256 byt es is decoded inside the DSM
device as DSM control and status registers. 27
registers are used in the block of 256 locations to
control the output state of I/O pins, to read I/O
pins, to control p ower managem ent, to read /write
macrocells, and other functions at runtime. See
Table 4 for description. The base address of these
256 locations is referred to in this data sheet as
csiop
(Chip Select I/O Port). Individual registers
within this block are accessed with an offset from
csiop
the base address. The DSP accesses
ters using I/O memory with the
IOMS strobe.
regis-
csiop
registers are accessed as bytes.
Memory Page Register
This 8-bit register can be l oaded and read b y the
csiop
DSP at runtime as one of the
registers. Its
outputs feed directly into the PLDs. The page register can be used for special memory mapping requirements and also for general logic.
7/61
Page 8
DSM2190F4
I/O Po r t s
The DSM has 19 individually configurable I/O pins
distributed over the three ports (Ports B, C, and D).
Each I/O pin can be individually configured for different functions such as standard MCU I/O p orts
or PLD I/O on a pin by pin basis. (MCU I/O means
that for each pin, its output state can be controlled
or its input value can be read by the DSP at runt-
csiop
ime using the
registers like an MCU would
do.)
Port C hosts the JTAG ISP signals. Sinc e JTAG-
ISP does not occur frequently during the life of a
product, those Port C pins are under-utilized. In
applications that need every I/O pin, JTAG signals
can be multiplexed with general I/O signals to use
them for I/O when not performing ISP. See section
titled “Programming In-Circuit using JTAG ISP” on
page 40 for muxing JTAG pins on Port C, and Application Note
The static configuration of all Port pins is d efined
with the PSDsoft Express
AN1153
.
TM
software development tool. The dynami c ac tion of th e P orts p ins is
controlled by DSP runtime software.
JTAG ISP Port
In-System Programming (ISP) can be pe rformed
through the JTAG signals on Port C. This serial interface allows programming of the entire DSM device or subsections (that is, only Flash memory but
not the PLDs) without the participation of the DSP.
A blank DSM device soldered to a circuit board
can be completely programmed i n 10 to 25 seconds. The basic JTAG signals; TMS, TCK, TDI,
and TDO form the IEEE-1149.1 interface. The
DSM device does not implement the IEEE-1149.1
Boundary Scan functions. The DSM uses the
JTAG interface for ISP only. However, the DSM
device can reside i n a standard JTAG chain with
other JTAG devices (including the ADSP-2191)
and it will remain in BYPASS mode while other devices perform Boundary Scan.
ISP programming time can be reduced as much as
30% by using two more signals on Port C, TSTAT
and TERR
in addition to TMS, TCK, TDI and TDO.
TM
The FlashLINK
JTAG programming cable is
available from STMicroelectronics for $59USD
and PSDsoft Express software is available at no
charge from
www.st.com/psm
. That is all that is
needed to program a DSM device using the parallel port on any PC or note-book. See section titled
“Programming In-Circuit using JTAG ISP” on page
40.
Power Management
csiop
The DSM has bits in
control registers that
are configured at run -time by the DSP to reduce
power consumption of the CPLD. The Turbo bit in
the PMMR0 register can be set to logic 1 and the
CPLD will go to Non-Turbo mode, meaning it will
latch its outputs and go to sleep until the next transition on its inputs. There is a slight penalty in PLD
performance (longer propagation delay), but significant power savings are realized.
Additionally, bits in two
csio p
registers can be set
by the DSP to selectively block signals from entering the CPLD which reduces power consumption.
See section titled “Power Management” on page
37.
Security and NVM Sector Protection
A programmable security bit in the DSM protects
its contents from unauthorized viewing and copying. When set, the security bit will block access of
programming devices (JTAG or others) to the
DSM Flash memory and PLD configuration. The
only way to defeat the security bit is to erase the
entire DSM device, after which the device is blank
and may be used again.
Additionally, the content s of ea ch in dividual F lash
memory sector can be write protected (sector protection) by configuration with PSDsoft Express
TM
This is typically used to protect DSP boot code
from being corrupted by inadvertent writes to
Flash memory from the DSP.
Pin Assign m ent s
Pin assignment are shown for the 52-pin PLCC
package in F igure 3, and the 5 2-pin PQFP package in Figure 4.
PA0-7I/OEight data bus signals connected to DSP pins D8 - D15.
PB0-7I/O
PC0-7I/O
PD0-2I/O
V
CC
GNDGround pins
Active low reset input from system. Resets DSM I/O Ports, Page Register contents, and other
In
DSM configuration registers. Must be logic Low at Power-up.
Eight configurable Port B signals with the following functions:
1. MCU I/O – DSP may write or read pins directly at runtime with csiop registers.
2. CPLD Output Macrocell (McellAB0-7 or McellBC0-7) outputs.
3. Inputs to the PLDs (Input Macrocells).
Note: Each of the four Port B signals PB0-PB3 may be configured at run-time as either standard
CMOS or for high slew rate. Each of the four Port B signals PB3-PB7 may be configured at
run-time as either standard CMOS or Open Drain Outputs.
Eight configurable Port C signals with the following functions:
1. MCU I/O – DSP may write or read pins directly at runtime with csiop registers.
2. CPLD Output Macrocell (McellBC0-7) output.
3. Input to the PLDs (Input Macrocells).
4. Pins PC0, PC1, PC5, and PC6 can optionally form the JTAG IEEE-1149.1 ISP serial
interface as signals TMS, TCK, TDI, and TDO respectively.
5. Pins PC3 and PC4 can optionally form the enhanced JTAG signals TSTAT and TERR
respectively. Reduces ISP programming time by up to 30% when used in addition to the
standard four JTAG signals: TDI, TDO, TMS, TCK.
6. Pin PC3 can optionally be configured as the Ready/Busy output to indicate Flash memory
programming status during parallel programming. May be polled by DSP or used as DSP
interrupt to indicate when Flash memory byte programming or erase operations are
complete.
Note 1: Port C pin PC2 input (or any PLD input pin) can be connected to the DSP IOMS
Note 2: When used as general I/O, each of the eight Port C signals may be configured at run-time
Note 3: The JTAG ISP pins may be multiplexed with other I/O functions.
Three configurable Port D signals with the following functions:
Note 1: Port D pin PD0 (or any PLD input pin) can be connected to the DSP A16 output. See
Note 2: Port D pin PD1 (or any PLD input pin) can be connected to the DSP A17 output. See
Note 3: Port D pin PD2 (or any PLD input pin) can be connected to the DSP A18 output. See
Supply Voltage
See Figure 6.
as either standard CMOS or Open Drain Outputs.
1. MCU I/O – DSP may write or read pins directly at runtime with csiop registers.
2. Input to the PLDs (no associated Input Macrocells, routes directly into PLDs).
3. CPLD output (External Chip Select). Does not consume Output Macrocells.
4. Pin PD1 can optionally be configured as CLKIN, a common clock input to PLD.
5. Pin PD2 can optionally be configured as CSI
memory. Flash memory is disabled to conserve more power when CSI
connect CSI
Figure 6
Figure 6.
Figure 6
to ADSP-218X PWDACK output signal.
) from the DSP
) from the DSP.
) signal from the DSP.
, an active low Chip Select Input to select Flash
output.
is logic high. Can
9/61
Page 10
DSM2190F4
TYPICAL CONNECTIONS
Figure 6 shows a typical connection scheme.
Many connection possibilities exist since many
DSM pins are multipurpose. This scheme illustrates the use of a com bined function
(functions as
BMS and MSx), and many I/O pins. It
also illustrates how to chain the DSM and DSP devices together on the JTAG bus. The J TAG connector definition depends on development and
production environment requi reme nts. A s pe cially
defined connector can be devised to combine the
signals of the FlashLINK and the Analog Devices
emulator. Alternatively, two separate JTAG connectors can be used, one matching the pin out of
FlashLINK and the other matching the emulator pinout.
Keep in mind that signals
BMS, IOMS, MSx,
ADDR16, ADDR17, ADDR18 can be connected to
any DSM pin t hat is a PLD input. I /O pins on Po rt
B and Port C are m ore capable (more PLD functions) than Port D pins. It is recommended to use
Port D pins primarily for decode inputs first, leaving pins on Port B and Port C available for general
BSM signal
logic. Figure 6 illustrates a com mon way to m ake
connections.
Following are connection options to consider:
Port C JTAG: Figure 6 shows four JTAG signals
(TMS, TCK, TDI, TDO) connected to the DSM. Alternatively, using six-pin JTAG (two m ore signal s,
TSTAT and
TERR) can reduce ISP time by as
much as 30% compared to four-pin JTAG. Other
JTAG options include multiplexing JTAG pins with
general I/O (see “Programming In-Circuit using
JTAG ISP” on page 40 and Application Note
AN1153
), or not using J TAG at all. If no JTAG is
used, the DSM device has to be programmed on a
conventional programmer before it is installed on
the circuit board. Using no JTAG makes more
DSM I/O available.
Pins PC2 and PD2. If not all 288K a ddress locations need to be decoded in the DSM, then
ADDR18 on pin P D2 is n ot needed. In t his case,
IOMS signal can be connected to pin PD2, free-
the
ing pin PC2 for general I/O usage.
10/61
Page 11
Figure 6. Typical Connections
DSM2190F4
DSM2190F4
PA0
PA1
PA2
PA3
PA4
I/O
PB0
PA5
I/O
PB1
PA6
I/O
PB2
PA7
I/O
I/O
PB3
PB4
CNTL0
I/O
CNTL1
I/O
PB6
PB5
CNTL2
PC2
I/O
PB7
CONNECTOR
DSM JTAG
VCC
JTAG_TDI
10k ohm
33 ohm
I/O
I/O
I/O
PC7
PC3
PC4
ADIO0
ADIO1
ADIO2
ADIO3
ADIO4
optional _TERR
optional TSTAT
TMS
TCK
TDI
TDO
PC1
PC0
PC6
PC5
ADIO5
ADIO6
ADIO7
ADIO8
ADIO9
ADIO10
ADIO11
ADIO12
ADIO13
ADIO14
ADIO15
PD1
PD2
PD0
_RESET
_RESET
DSP JTAG
JTAG_TMS
JTAG_TCK
JTAG_TDO
CONNECTOR
AI04961B
JTAG_TRST
EMULATOR STATUS
33 ohm
DATA1
DATA0
D0D1D2
_BR
BUS_REQUEST
DATA4
DATA2
DATA3
D3D4D5D6D7
ADSP-2191
_BG
_BGH
GRANT_HUNG
BUS_GRANT
DATA6
DATA5
CLKOUT
BYPASS
CLOCK OUT
PLL BYPASS
READ
WRITE
DATA7
I/O MEM SELECT
BOOT MEM SELECT
_RD
_WR
_MSx
_BMS
_IOM S
ADDR1
ADDR0
ADDR2
A0A1A2A3A4A5A6A7A8
ACK
ADDR4
ADDR6
ADDR8
ADDR10
ADDR3
ADDR5
ADDR7
ADDR13
ADDR9
ADDR11
ADDR12
ADDR14
ADDR15
ADDR16
ADDR17
ADDR18
RESET
A9
A12
A13
A14
A15
A18
A16
A10
A11
A17
_RESET
CLKIN
XTAL
PF1
PF2
PF3
PF0
I/O
I/O
I/O
I/O
I/O
XTAL
CLOCK or
PF8
PF9
PF6
PF10
PF7
PF4
PF5
I/O
I/O
I/O
PF11
PF12
PF13
PF14
PF15
SPORT0
SERIAL CHN
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
SERIAL
DEVICE
SPORT1
SERIAL CHN
DEVICE
SERIAL CHN
SERIAL
DEVICE
SPORT1
SERIAL
RxD, TxD
UART
DEVICE
JTAG TDI
TDI
JTAG TDO
TDO
TIMER/
JTAG TCK
TCK
TMR2-0
CAPTURE
JTAG _TRST
JTAG TMS
EMULATOR STATUS
TMS
_EMU
_TRST
BMODE0
BMODE1
OPMODE
Hx
HOST
PORT
11/61
Page 12
DSM2190F4
TYPICAL MEMORY MAP
There many different ways to plac e (or map) the
addresses of DSM memory and I/O depending on
system requirements. The DP LD al lows com plete
mapping flexibility. Figure 7 shows one possible
system memory map. In this case, the DSP will
bootload (via DMA) the contents of Main Flash
memory upon reset. The Secondary Flash memory can be used for parameter storage or additional
code storage. BMS and MS x are conf igured in the
DSP to be combined into the
the DSP to access both Flash memories at runtime (after DMA boot). The DSP may execute code
BMS signal, allowing
directly from the DSM and well as erase and write
new code or data to DSM Flash.
The nomenclature
fs0..f s 7
are designators f or the
individual sectors of Main Flash memory, 32K
bytes each.
csboot0..csboot3
are designators for
the individual Secondary Flash memory segments, 8K bytes each.
csiop
designates the DSM
control register block.
The designer may easily specify memory mapping
in a point-and-click software environment using
PSDsoft Express
TM
.
12/61
Page 13
Figure 7. Typ ic a l Sy st em Mem ory Map
DSM2190F4
56000-57FFF
54000-55FFF
52000-53FFF
50000-51FFF
4FFFF
48000
47FFF
40000
3FFFF
38000
37FFF
30000
2FFFF
28000
27FFF
20000
1FFFF
18000
17FFF
10000
DSP Boot Memory
Space (BMS)
csboot
, 8KB 2nd Flash
csboot
, 8KB 2nd Flash
csboot
, 8KB 2nd Flash
csboot
, 8KB 2nd Flash
fs7
32K bytes Main Flash
fs6
32K bytes Main Flash
fs5
32K bytes Main Flash
fs4
32K bytes Main Flash
fs3
32K bytes Main Flash
fs2
32K bytes Main Flash
fs1
32K bytes Main Flash
fs0
32K bytes Main Flash
DSP I/O Memor y
Space (IOMS)
csiop
256 CONTROL REGS
02000-020FF
AI04962
13/61
Page 14
DSM2190F4
SPECIFYING THE MEMORY MAP WITH PSDSOFT EXPRESS
The memory map shown in Figure 7 can be easily
implemented using PSDsoft Express
and-click environment. PSDsoft Express
TM
in a point-
TM
will
statemen ts of the ABEL language. Figure 8 shows
the resulting equations generated by PSDsoft ExpressTM.
TM
generate Hardware Definition Language (HDL)
Figure 8. HDL Statements Generated from PSDsoft Express to Implement Memory M ap
specify the equation for the 32K Byt e Fl ash mem-
fs2
ory se gment,
. Notice
fs2
is qualified with the
signals
BMS. This specif ication proces s is repeat-
ed for all other Flash memory segments, the
register block, and any external chip select signals
that may be needed (ADC, etc.).
csiop
Figure 9. PSDsoft Express
TM
Memory Mapping
14/61
Page 15
RUNTIME CONTROL REGISTER DEFINITION
There are up to 256 addresses decoded inside the
DSM device for control and status information. 27
of these locations contain registers that the DSP
can access at runtime. The base address of this
block of 256 locations is referred to in this manual
as
csiop
(Chip Select I/O Port). Table 4 lists the 27
registers and their offsets (in hexadecimal) from
csiop
the
base address needed t o acc ess in dividual DSM control and status registers. The DSP will
access these registers in I/O memory space using
DSM2190F4
its
IOMS strobe. These regis ters are accesses in
bytes, so the DSP should ignore the upper byte of
its 16-bit I/O access.
Note1: All
reset.
Note2: Do not write to unused locations within the
csiop
logic zero.
csiop
registers are cleared to logic 0 at
block of 256 registers. They should remain
Table 4.
Data In 01 10 11
Data Out 05 12 13
Direction 07 14 15
Drive Select 09 16 17
Input Macrocells0B 18 Read to obtain state of IMCs. No writes.
Enable Out 0D 1A 1B
Output Macrocells AB 20
Output Macrocells BC 21
Mask Macrocells AB22
Mask Macrocells BC23
CSIOP
Register Name Port B P ort C Port D Other Description
Registers and their Offsets (in hexadecimal)
MCUI/O input mode. Read to obtain current logic level of
Port pins. No writes.
MCU I/O output mode. Write to set logic level on Port
pins. Read to check status.
MCU I/O mode. Configures Port pin as input or output.
Write to set direction of Port pins.
Logic 1 = out, Logic 0 = in. Read to check status.
Write to configure Port pins as either standard CMOS or
Open Drain on some pins, while selecting high slew rate
on other pins. Read to check status.
Read to obtain the status of the output enable logic on
each I/O Port driver. No writes.
Read to get logic state of output of OMC bank AB.
Write to load registers of OMC bank AB.
Read to get logic state of output of OMC bank BC.
Write to load registers of OMC bank BC.
Write to set mask for loading OMCs in bank AB. A logic
1 in a bit position will block reads/writes of the
corresponding OMC. A logic 0 will pass OMC value.
Read to check status.
Write to set mask for loading OMCs in bank BC. A logic
1 in a bit position will block reads/writes of the
corresponding OMC. A logic 0 will pass OMC value.
Read to check status.
Main Flash Sector
Protection
Security Bit and
Secondary Flash
Sector Protection
JTAG Enable C7
PMMR0 B0 Power Management Register 0. Write and read.
PMMR2 B4 Power Management Register 2. Write and read.
Page E0 Memory Page Register. Write and read.
Read to determine Main Flash Sector Protection
C0
Setting. No writes.
Read to determine if DSM devices Security Bit is active.
Logic 1 = device secured.
C2
Also read to determine Secondary Flash Protection
Setting status. No Writes.
Write to enable JTAG Pins (optional feature). Read to
check status.
15/61
Page 16
DSM2190F4
DETAILED OPERATION
Figure 5 shows major functional areas of the device :
■ Flash Memories
■ PLDs (DPLD, CPLD, Page Register)
■ DSP Bus Interface (Address, Data, Control)
■ I/O Por ts
■ Runtime Control Registers
■ JTAG ISP Interface
The following describes these functions in more
detail.
Flash Memories
The Main Flash memory array is divided into eight
equal 32K byte sectors. The Secondary Flash
memory array is divided into four equ al 8K byte
sectors. Each sector is selected by the DPLD can
be separately protected from program and erase
cycles. This configuration is specified by using PSDsoft Express
Memory Sector Select Signals. The DPLD generates the Select signals for all the internal memory blocks (see Figure 14). Each of the twelve
sectors of the Flash mem ories has a sel ec t signal
FS0-FS7, or CSBOOT0-CSBOOT3
(
tains up to three product terms. Having t hree product terms for each select signal allows a given
sector to be mapped into multiple ar e as of system
memory if needed.
Ready/Busy
output the Ready/
output on Ready/
Flash memory array is being written,
ther Flash memory array is being erased. The output is a 1 (Ready) wh en no Write o r Erase cycle is
TM
.
) which con-
(PC3 ). This signal can be used to
Busy status of the device. The
Busy is a 0 (Busy) when either
or
when ei-
in progress. This signal may be polled by the DSP
or used as a DSP interrupt to indicate when an
erase or program cycle is complete.
Memory Operation. The Flash memories are accessed through the DSP Address, Data, and Control Bus Interface.
DSPs and MCUs cannot write to Flash memory as
it would an SRAM device. Flash memory must first
be “unlocked” with a special sequence of byte
write operations to invoke an internal algorithm,
then a single data byte is written to the Flash memory array, then programming status is chec ked by
a byte read operation or by checking the Ready/
Busy pin (PC3). Table 5 lists all of the special in-
struction sequences to program (write) data to the
Flash memory arrays, erase the arrays, and check
for different types of status from the arrays. These
instruction sequences are different combinations
of individual byte write and byte read operations.
IMPORTANT: The DSP may not read and execute
code from the same Flash memory array for which
it is directing an instruction sequence. Or more
simply stated, the DSP may not read code the
same Flash array that is writing or erasing. Instead, the DSP must execute code from an alternate memory (like its own internal SRAM or a
different Flash array) while sending instructions to
a given Flash array. Since the two Flash memory
arrays inside the DSM device are completely independent, the DSP may read code from one array
while sending instructions to the other.
After a Flash memo ry array is programmed (written) it will go to “Read Array” mo de, then th e DSP
can read from Flash mem ory just as if would from
any 8-bit ROM or SRAM device.
16/61
Page 17
DSM2190F4
Table 5. Instruction Sequences
Instruction
Sequence
Cycle 1Cycle 2Cycle 3Cycle 4Cycle 5Cycle 6Cycle 7
1,2,3,4
Read byte
Read Memory
Contents
5
from any
valid Flash
memory addr
Read Flash
Identifier (Main
Flash only)
6,7
Read Memory
Sector Protection
6,7,8
Status
Program a Flash
Byte
Flash Bulk Erase
Flash Sector
10
Erase
Write AAh to
XX555h
Write AAh to
XX555h
Write AAh to
XX555h
Write AAh to
9
XX555h
Write AAh to
XX555h
Write 55h
to XXAAAh
Write 55h
to XXAAAh
Write 55h
to XXAAAh
Write 55h
to XXAAAh
Write 55h
to XXAAAh
Write 90h
to XX555h
Write 90h
to XX555h
Write A0h
to XX555h
Write 80h
to XX555h
Write 80h
to XX555h
Read identifier
with addr lines
A6,A1,A0 =
0,0,1
Read identifier
with addr lines
A6,A1,A0 =
0,1,0
Write
(program)
data to addr
Write AAh to
XX555h
Write AAh to
XX555h
Write 55h
to XXAAAh
Write 55h
to XXAAAh
Write 10h
to XX555h
Write 30h
to another
Sector
Write 30h
to another
Sector
Write B0h to
Suspend Sector
11
Erase
address that
activates any
of FS0 - FS7
Write 30h to
Resume Sector
12
Erase
addr that
activates any
of FS0 - FS7
Write F0h to
Reset Flash
6
address that
activates any
of FS0 - FS7
Note: 1. All val ues are in hexadecimal, X = Don’t Care
2. A d esired int ernal Flash memory sec tor select signal (FS0 - F S 7 or CSBOO T 0 - CSBOOT3 ) m ust be acti ve for each write or read
cycle. Only one of these sector select signals will be active at any given time depending on the address presented by the DSP and
the memory mapping defi ned in PSDs oft Express. FS0 - FS7 and CSBOOT0- CS BOOT3 are act i ve high logic internal l y.
3. DS P addres ses A18 thr ough A12 ar e Don’t Care during t he instruc tion sequ ence de coding . Only addre ss bits A 11-A0 are used
during Fl ash memo ry instructio n sequence decoding b us cycles . The individ ual sector select sign al (FS0 - F S7 or CSB OOT0CSBOOT3) which is active during the instruction sequences determines the complete address.
4. For write operations, addresses are latched on the falling edge of Write Strobe (WR
Write Strobe (WR
5. No Unlock or In st ruction cycl es are required when the device is in the Read Arr ay mode. Operation is like reading a ROM device.
6. The Reset Flash instruction is required to return to the normal Read Array mode if the Error Flag (DQ5) bit goes High, or after reading the Flash I dentifier or after read i ng t he Sector Protection Status.
7. The DSP cannot invoke this instruction sequence while executing code from the same Flash memory as that for which the instruction sequence is intended. The DSP must fetch, for example, the code from the DSP SRAM when reading the Flash memory Identifier or Sector Protection Status.
8. The da ta is 00h for an unprote cted sector, and 01h for a pr otected sec tor. In the fo urth cycle, th e Sector Sele ct is active, and
(A1,A0)= (1,0)
9. Di recting this comma nd to any in dividua l active Flash memory seg ment (FS 0 - FS7) will invoke th e bulk era se of all eight Flash
memory sectors.
10. DS P wr ites c omma nd s eque n ce t o init ial s egme nt t o be erase d, t hen wr ite s the byte 30h to ad diti onal sect ors to b e er ased . Th e
byte 30h must be addressed to one of the other Flash memory segments (FS0 - FS7) for each additional segment (write 30h to any
address within a desir ed sector). No more than 80uS can elaps e between su bsequent additional sector erase commands .
11. The s y stem ma y perfo rm R ead an d P rogra m c ycl es in n on- erasi ng s ecto rs, read t he Flas h ID o r read t he Se ctor Protec t S tatu s,
when in the Suspend Sector Erase mode. The Suspend Sector Erase instruction sequence is valid only during a Sector Erase cycle.
12. The Resume Sector Erase instru ction sequence is valid only during the Suspend Sector Erase mode.
, CNTL0)
, CNTL0), Dat a i s latched on the risin g e dge of
17/61
Page 18
DSM2190F4
Instruction Sequences
An instruction sequence consists of a sequence of
specific write or read operations. Each byte written
to the device is received and sequentially decoded
and not executed as a standard write operation to
the memory array. The instruction sequence is executed when the correct number of bytes are properly received and the time between two
consecutive bytes is shorter than the time-out period. Some instruction sequences are structured to
include read operations after the initial write operations.
The instruction sequence must be followed exac tly. Any in valid com binatio n of ins truction bytes o r
time-out between two consecutive bytes while addressing Flash memory resets the device logic into
Read Array mode (Flash memory is read like a
ROM device). The device s upports the instruction
sequences summarized in Table 5:
Flash memory:
■ Erase memory by chip or sector
■ Suspend or resume sector erase
■ Program a Byte
■ Reset to Read Array mode
■ Read primary Flash Identifier value
■ Read Sector Protection Status
These instruction sequences are detailed in Table
5. For efficient decoding of the instruction sequences, the first two bytes of an i nstruction sequence are the coded cycles and are followed by
an instruction byte or confirmation byte. The coded
cycles consist of writing the data AAh to address
XX555h during the first cycle and data 55h to address XXAAAh during the second cycle. Address
signals A18-A12 are Don’t Care during the instruction sequence Write cycles. However, the appropriate internal Sector Select (
CSBOOT0-CSBOOT3
) must be selected internal-
FS0-FS7 or
ly (active, which is logic 1).
Reading Flash Memory
Under typical conditions, the D SP may read the
Flash memory using read operations just as it
would a ROM or RAM device. Alternately, the DSP
may use read operations to obtain status information about a Program or Erase cycle that is currently in progress. Lastly, the DSP may use
instruction sequences to read special data from
these memory blocks. The following sections describe these read instruction sequences.
Read Memory Contents. Flash memory is
placed in the Read Array mode after Power-up,
chip reset, or a Reset Flash memory instruction
sequence (see Table 5). The DSP can read the
memory contents of the Flash memory by using
read operations any time the read operation is not
part of an instruction sequence.
Read Main Flash Identifier. The Main Flash
memory identifier is read with an instruction sequence composed of 4 operations: 3 specific write
operations and a read operation (see Table 5).
During the read operation, address bits A6, A1,
and A0 must be 0,0,1, respectively, and the appropriate internal Sector Select (
FS0-FS7
) must be
active. The identifier is 0xE7. Not Applicable to
Secondary Flash.
Read Memory Sector Protection Status. The
Flash memory Sector Protection Status is read
with an instruction sequence composed of 4 operations: 3 specific write operations and a read operation (see Table 5). During the read operation,
address bits A6, A1, and A0 must be 0,1,0, respectively, while internal Sector Sele ct (FS0-FS7
or CSBOOT0-CSBOOT3) designates the Flash
memory sector whose protection has to be verified. The read operation produces 01h if the Flash
memory sector is protected, or 00h if th e sector is
not protected.
The sector protection status can also be read by
the DSP accessing the Flash memory Prot ection
csiop
registers in
space. See the section ent itled
“Flash Memory Sector Protect” for register definitions .
Table 6. Status Bit Definition
Functional Block
Flash Memory
Note: 1. X = Not guaranteed value, can be rea d ei t her 1 or 0.
2. DQ7-DQ0 represent the Data Bus bits, D7-D0.
FS0-FS7, or
CSBOOT0-CSBOOT3
Active (the desired
segment is selected)
DQ7DQ6DQ5DQ4DQ3DQ2DQ1DQ0
Data
Polling
Reading the Erase/Program Status Bits. The
device provides several status bits to be used by
the DSP to confirm the completion of an Erase or
18/61
Toggle
Flag
Error
Flag
Erase
X
Time-
out
XXX
Program cycle of Flash memory. These st atus bits
minimize the time that the DSP spends performing
these tasks and are defined in Table 6. The status
bits can be read as many times as needed.
Page 19
DSM2190F4
For Flash memory, the DS P can perform a read
operation to obtain these status bits while an
Erase or Program instruction sequence is being
executed by the embedded algorithm. See the
section entitled “Programming Flash Memory”, on
page 19, for details.
Data Polling Flag (DQ7). When erasing or programming in Flash memory, the Data Polling Flag
(DQ7) bit outputs the co mplem ent of the bit bei ng
entered for programming/writing on the Data P olling Flag (DQ7) bit. Once the Program instruction
sequence or the write operation is c ompleted, t he
true logic value is read on the Data Polling Flag
(DQ7) bit (in a read operation).
Flash memory instruction features.
■ Data Polling is effective after the fourth Write
pulse (for a Program instruction sequence) or
after the sixth Write pulse (for an Erase
instruction sequence). It must be performed at
the address being programmed or at an address
within the Flash memory sector being erased.
■ During an Erase cycle, the Data Polling Flag
(DQ7) bit outputs a 0. After completion of the
cycle, the Data Polling Flag (DQ7) bit outputs
the last bit programmed (it is a 1 after erasing).
■ If the byte to be programmed is in a protected
Flash memory sector, the instruction sequence
is ignored.
■ If all the Flash memory sectors to be erased are
protected, the Data Polling Flag (DQ7) bit is
reset to 0 for about 100 µs, and then returns to
the previous addressed byte. No erasure is
performed.
Toggle Flag ( DQ6 ). The device offers another
way for determining when t he F lash memory Program cycle is completed. During the in ternal write
operation and when the Sector Select FS0-FS7 (or
CSBOOT0-CSBOOT3) is true, the Toggle Flag
(DQ6) bit toggles from 0 to 1 and 1 to 0 on subsequent attempts to read any byte of the memory.
When the internal cycle is complete, the toggling
stops and the data read on the Data Bus D0-7 is
the addressed mem ory byte. The device is now
accessible for a new read or write operation. The
cycle is finished when two successive reads yield
the same output data. Flash m emo ry spe cific features:
■ The Toggle Flag (DQ6) bit is effective after the
fourth write operation (for a Program instruction
sequence) or after the sixth write operation (for
an Erase instruction sequence).
■ If the byte to be programmed belongs to a
protected Flash memory sector, the instruction
sequence is ignored.
■ If all the Flash memory sectors selected for
erasure are protected, the Toggle Flag (DQ6) bit
toggles to 0 for about 100 µs and then returns to
the previous addressed byte.
Error Flag (DQ5). During a normal Program or
Erase cycle, the Error Flag (DQ5) bit is to 0. T his
bit is set to 1 when there is a failure during Flash
memory Byte Program, Sector Erase, or Bulk
Erase cycle.
In the case of Flash memory programming, the Error Flag (DQ5) bit indicates the attempt to program
a Flash memory bit from the programmed state, 0,
to the erased state, 1, whi ch is not vali d. The Error
Flag (DQ5) bit may also indicate a Time-out condition while attempting to program a byte.
In case of an error in a Flash memory Sector Erase
or Byte Progra m cycle, the Fl ash memory sector i n
which the error occurred or to which the programmed byte belongs must no longer be used.
Other Flash memory sectors may still be used.
The Error Flag (DQ5) bit is reset after a Reset
Flash instruction sequence.
Erase Time-out Flag (DQ3). The Erase Timeout Flag (DQ3) bit reflects the time-out period allowed between two consecutive Sec tor Erase instruction sequence bytes. The Erase Time-out
Flag (DQ3) bit is reset to 0 after a Sector Erase cycle for a time period of 100 µs + 20% unless an additional Sector Erase instruction sequence is
decoded. After this time period, or when the additional Sector Erase instruction sequence is decoded, the Erase Time-out Flag (DQ3) bit is set to 1.
Programming Flash Memory
When a byte of Flash memory is programmed, individual bits a re p ro grammed to logic 0. You cannot program a bit in Flash memory to a logic 1
once it has b een programmed to a logic 0. A bit
must be erased to logic 1, and programmed to logic 0. That means Flash memory must be erased
prior to being programmed. A b yte o f Flash memory is erased to all 1s (FFh). The DSP may erase
the entire Flash memory array all at once or individual sector-by-sector, but not byte-by-byte.
However, the DSP may program Flash memory
byte-by-byte.
The Flash memory requires the DSP to send an instruction sequence to program a byte or to erase
sectors (see Table 5).
Once the DSP issues a Flash memory Program or
Erase instruction sequence, it must check for the
status bits for completion. The embedded algorithms that are invoked inside the device provide
several ways give status to the DSP. Status may
19/61
Page 20
DSM2190F4
be checked using any of three methods: Data Polling, Data Toggle, or Ready/Busy
(pin PC3).
Data Polling. Polling on the Data Polling Flag
(DQ7) bit is a method of checking whether a Program or Erase cycle is in progress or has completed. Figure 10 shows the Data Polling algorithm.
When the DSP issues a Program instruction sequence, the embedded algorithm within the device
begins. The DSP then reads the location of the
byte to be programmed in Flash memory to check
status. The Data Polling Flag (DQ7) bit of this location becomes the compliment of bit 7 of the original data byte to be programmed. The DSP
continues to poll this location, comparing the Data
Polling Flag (DQ7) bit and monitoring the Error
Flag (DQ5) bit. When the Data Polling Flag (DQ7)
bit matches bit7 of the original data, and the Error
Flag (DQ5) bit remains 0, then the em bedded algorithm is complete. If the Error Flag (DQ5) bit is
1, the DSP should test the Data Polling Flag (DQ7)
bit again since the Data Polling Flag (DQ7) bit may
have changed simultaneously wi th the Error Flag
(DQ5) bit (see Figure 10).
The Error Flag (DQ5) bit is set if either an internal
time-out occurred while the embedded algorithm
attempted to program the byte or if the DS P attempted to program a 1 to a bit that was not erased
(not erased is logic 0).
It is suggested (as with all Flash memories) to read
the location again after the embedded programming algorithm has completed, to compare the
byte that was written to the Flash memory with the
byte that was intended to be written.
When using the Data Polling method during an
Erase cycle, Figure 10 still applies. However, the
Data Polling Flag (DQ7) bit is 0 until the Erase cycle is complete. A 1 on the Error Flag (DQ5) bit indicates a time-out condition on the Erase cycle, a
0 indicates no error. The DSP can read any location within the sector being erased to get the Data
Polling Flag (DQ7) bit and the Error Flag (DQ5) bit.
PSDsoft Express generates ANSI C code functions which implement these Data Polling algorithms.
Figure 10. Data Polling Flowchart
START
READ DQ5 & DQ7
at VALID ADDRESS
DQ7
DATA
NO
DQ5
READ DQ7
DQ7
DATA
FAILPASS
= 1
YES
=
NO
YES
YES
=
NO
AI01369B
Data Toggle. Checking the Toggle Flag (DQ6) bit
is a method o f det erm ining whether a P rogram or
Erase cycle is in progress or has completed. Figure 11 shows the Data Toggle algorithm.
When the DSP issues a Program instruction sequence, the embedded algorithm within the device
begins. The DSP then reads the location of the
byte to be programmed in Flash memory to check
status. The Toggle Flag (DQ6) bit of this location
toggles each time the DSP reads this location until
the embedded algorithm is complete. The DSP
continues to read this location, check ing the Toggle Flag (DQ6) bit and monitoring the Error Flag
(DQ5) bit. When the Toggle Flag (DQ6) bit stops
toggling (two consecutive reads yield the same
value), and the Error Flag (DQ5) bit remains 0,
then the embedde d algorithm is complete. If the
Error Flag (DQ5) bit is 1, the DSP should test the
Toggle Flag (DQ6) bit again, since the Toggle Flag
(DQ6) bit may have chan ged simultaneo usly with
the Error Flag (DQ5) bit (see Figure 11).
20/61
Page 21
DSM2190F4
Figure 11. Data Toggle Flowchart
START
READ
DQ5 & DQ6
DQ6
=
TOGGLE
NO
DQ5
= 1
READ DQ6
DQ6
=
TOGGLE
FAILPASS
NO
YES
YES
NO
YES
AI01370B
The Error Flag (DQ5) bit is set if either an internal
time-out occurred while the embedded algorithm
attempted to program the byte, or if the DSP attempted to program a 1 to a bit that was not erased
(not erased is logic 0).
It is suggested (as with all Flash memories) to read
the location again after the embedded programming algorithm has completed, to compare the
byte that was written to Flash memory with the
byte that was intended to be written.
When using the Data Toggle method after an
Erase cycle, Figure 11 still applies. the Toggle
Flag (DQ6) bit toggles until the Erase cycle is complete. A 1 on the Error Flag (DQ5) bit indicates a
time-out condition on the Erase cycle, a 0 indicates no error. The DSP can read any location
within the sector being erased t o get the Toggle
Flag (DQ6) bit and the Error Flag (DQ5) bit.
PSDsoft Express generates ANSI C code functions which implement these Data T oggling algorithms.
tion sequence uses six write operations followed
by a read o peration of the status regist er, as described in Table 5. If any byte of the Bulk Erase instruction sequence is wrong, the Bulk Erase
instruction sequence aborts and the device is re-
set to the Read Flash memory status. The Bulk
Erase command may be addresses to any one individual valid Flash memory segment (
CSBOOT0-CSBOOT3
) and the entire array (all
FS0-FS7 or
segments in one array) will be erased.
During a Bulk Erase, the memory status may be
checked by reading the Error Flag (DQ5) bit, the
Toggle Flag (DQ6) bi t, and the Dat a Polling Flag
(DQ7) bit, as detailed in the section entitled “Programming Flash Memory”, on page 19. The Error
Flag (DQ5) bit returns a 1 if there has been an
Erase Failure (maximum number of Erase cycles
have been executed).
It is not necessary to program the memory with
00h because the device automatically does this
before erasing to 0FFh.
During execution of the Bulk Erase instruction sequence, the Flash memory does not accept any instruction sequences.
The address provided with the Flash Bulk Er ase
command sequence (Table 5) may select any one
of the eight internal Flash memory Sector Select
signals FS0 - FS7 or one of the four signals
CSBOOT0-CSBOOT3. An erase of that entire
Flash memory array will occur even though the
command was sent to just one Flash memory sector.
Flash Sector Erase. The Sector Erase instruction sequence uses six write operations, as described in Table 5. Additional Flash Sector Erase
codes and Flash memory sector addresses can be
written subsequently to erase other Flash memory
sectors in parallel, without further coded cycles, if
the additional bytes are transmitted in a shorter
time than the time-out period of about 100 µs. The
input of a new Sector Erase code restarts the timeout period.
The status of the internal timer can be monitored
through the level of the Erase Time-out Flag (DQ3)
bit. If the Erase Time-out Flag (DQ3) bit i s 0, the
Sector Erase instruction sequence has been received and the time-out p eriod is counting. If the
Erase Time-out Flag (DQ3) bit is 1, the time-out
period has expired and the device is busy erasing
the Flash memory sector(s). Before and during
Erase time-out, any instruction sequence other
than Suspend Sector Erase an d Resume Sector
Erase instruction sequences abort the cycle that is
currently in progress, and reset the device to Read
Array mode. It is not necessary to program the
Flash memory sector with 00h as the device does
this automatically before erasing (byte=FFh).
During a Sector Erase, the memory status may be
checked by reading the Error Flag (DQ5) bit, the
Toggle Flag (DQ6) bi t, and the Dat a Polling Flag
(DQ7) bit, as detailed in the section entitled “Programming Flash Memory”, on page 19.
21/61
Page 22
DSM2190F4
During execution of the Erase cycle, the Flash
memory accepts only Reset and Suspend Sector
Erase instruction sequences. Erasure of one
Flash memory sector may be suspended, in order
to read data from anot her Flash memory sector,
and then resumed.
The address provided with the initial Flash Sector
Erase command sequence (Table 5) must select
the first desired sector (FS0 - FS7 or CSBOOT0CSBOOT3) to erase. Subsequent sector erase
commands that are appended on within the timeout period must be addressed to other desired
segments (FS0 - FS7 or CSBOOT0-CSBOOT3).
Suspend Sector Erase. When a Sector Erase
cycle is in progress, the Suspend Sector Erase instruction sequence can be used to suspend the
cycle by writing 0B0h to any address when an appropriate Sector Select (FS0-FS7 or CSBOOT0CSBOOT3) is selected (See Table 5). This allows
reading of data from another Flash memory sector
after the Erase cycle has been sus pended. Suspend Sector Erase is accepted only during an
Erase cycle and defaults to Read mode. A Suspend Sector Erase instruction sequence executed
during an Erase time-out period, in addition to suspending the Erase cycle, terminat es the time out
period.
The Toggle Flag (DQ6) bit stops toggling when the
device internal logic is suspended. The status of
this bit must be m onitored at an address within the
Flash memory sector being erased. The Toggle
Flag (DQ6) bit stops toggling between 0.1 µs and
15 µs after the Susp end Sector Erase instruction
sequence has been execut ed. The device i s then
automatically set to Read mode.
If an Suspend Sector Erase instruction sequence
was executed, the following rules apply:
– Attempting to read from a Flash memory sector
that was being erased outputs invalid data.
– Reading from a Flash memory sect or that was
not
being erased is valid.
cannot
– The Flash memory
be programmed, and
only responds to Resume Sector Erase and Reset Flash instruction sequences (Read is an operation and is allowed).
– If a Reset Flash instruction sequence is re-
ceived, data in the Flash memory sector that
was being erased is invalid.
Resume Sector Erase. If a Suspend Sector
Erase instruction sequence was previously executed, the erase cycle may be resumed with this
instruction sequence. The Resume Sector Erase
instruction sequence consists of writing 030h to
any address while an appropriate Sector Select
(FS0-FS7 or CSBOOT0-CSBOOT3) is active.
(See Table 5.)
Flash Memory Sector Protect.
Each Flash memory sector can be separately protected against Program and Erase cycles. Sector
Protection provides additional data security because it di sables all Pr ogram o r Erase cycles. This
mode can be activated through the JTAG Port or a
Device Programmer. Sector protection can be selected for each sector using PSDsoft Express.
This automatically protects selected sectors when
the device is programmed through the JTAG Port
or a Device Programmer. Flash memory sectors
can be unprotected to allow updating of their contents using the JTAG Port or a Device Programmer. The DSP can read (but cannot change) the
sector protection bits.
Any attempt to program or erase a protected Flash
memory sector is ignored by the device. The Verify
operation results in a read of the protected data.
This allows a guarantee of the retention of the Protection status.
The sector protection status ca n be read by the
DSP through the Main Flash memory protection
csiop
register (in the
block) as defined in Table 7,
and Secondary Flash memory protection register
in Table 8.
Table 7. Main Flash Memory Protection Register Definition
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
Sec7_ProtSec6_ProtSec5_ProtSec4_ProtSec3_ProtSec2_ProtSec1_ProtSec0_Prot
Note: Bit Definitio ns:
Sec<i>_Prot 1 = Flash memory sector <i> is write protected.
Sec<i>_Prot 0 = Flash memory sector <i> is not wri te p rot ected.
Table 8. Secondary Flash Memory Protection/Security Bit Register Definition
Note: Securit y_Bit = 1, device is secu re d .
Note: Sec<i>_Prot 1 = Flash memory sector <i> is write protected.
Sec<i>_Prot 0 = Flash memory sector <i> is not wri te p rot ected.
22/61
Page 23
DSM2190F4
DSM Security Bit
A programmable security bit in the DSM protects
its contents from unauthorized viewing and copying. When set, the security bit will block access of
programming devices (JTAG or others) to the
DSM Flash memory and PLD configuration. The
only way to defeat the security bit is to erase the
entire DSM device, after which the device is blank
and may be used again. The DSP will always have
access to Flash memory contents through the 8-bit
data port even while the security bit is set. The
DSP can read the status of the security bit (but it
cannot change it) by rea ding the Device Se curity
register in the
csiop
block as defined in Table 8.
Reset Flash
The Reset Flash instruction sequence resets the
internal memory logic state machine and puts
Flash memory into Read Array mode. It consists of
one write cycle (see Table 5). It must be executed
after:
– Reading the Flash Protection Status or Flash ID
– An Error condition has occurred (and the device
has set the Error Flag (DQ5) bit to 1) during a
Flash memory Program or Erase cycle.
The Reset Flash instruction sequence puts the
Flash memory back into normal Read Array mode.
It may take the Flash memory up to a few milliseconds to complete the Reset cycle. The Reset
Flash instruction sequence is ignored when it is issued during a Program or Bulk Erase cycle of the
Flash memory. The Reset Flash instruction sequence aborts any on-going Sector Erase cycle,
and returns the Flash memory to the normal Read
Array mode within a few milliseconds.
Page Re gi st er
The 8-bit Page Register increases the addressing
capability of the DSP by a factor of up to 256. The
contents of the register can also be read by the
DSP. The outputs of the Page Register (PG0PG7) are inputs to the DPLD decoder and can be
included in the Sector Select (
CSBOOT0-CSBOOT3
) equations. See Figure 12.
FS0-FS7 or
If memory paging is not needed, or if not all 8 page
register bits are needed for memory paging, then
these bits may be used in the CPLD for gen eral
logic. The eight flip-flops in the reg ister are connected to the internal data bus D0-D7. The DSP
can write to or read from the Page Register. The
Page Register can be accessed at address loca-
csiop
tion
+ E0h. Page Register outputs are
cleared to logic 0 at reset.
Figure 12. Page Register
RESET
D0-D7
R/W
D0Q0
D1
D2
D3
D4
D5
D6
D7
PAGE
REGISTER
PGR0
PGR1
Q1
PGR2
Q2
PGR3
Q3
PGR4
Q4
PGR5
Q5
PGR6
Q6
PGR7
Q7
DPLD
AND
CPLD
PLD
INTERNAL
SELECTS
AND LOGIC
PLDs
The PLDs bring programmable logic to the device.
After specifying the logic for the PLDs using PSDsoft Express, the logic is programmed into the device and available upon Power-up.
The PLDs have selectable levels of performance
and power consumption.
The device con tains two PLDs: the Decode P LD
(DPLD), and the Complex PLD (CPLD), as shown
in Figure 13.
Table 9. DPLD and CPLD Inputs
Number
Input Source Input Name
1
DSP Address Bus
DSP Control Signals
Reset RST
A15-A016
2
CNTL2-CNTL0 3
1
PortB Input Macrocells PB7-PB0 8
PortC Input Macrocells PC7-PC0 8
Port D Inputs PD2-PD0 3
Page Register PG7-PG0 8
Macrocell AB
Feedback
Macrocell BC
Feedback
Flash memory
Program Status Bit
Note: 1. DSP ad dress lines A16 , A17, and others m ay enter the
DSM device on any pin on ports B, C, or D. See Figure 6
for recom m ended connections .
2. Additional DSP control signals may enter the DMS device
on any pin on Por ts B, C, o r D. See Fi gure 6 f or re co mmended connections .
MCELLAB FB7-0 8
MCELLBC FB7-0 8
Ready/Busy
1
of
Signals
23/61
Page 24
DSM2190F4
The DPLD performs address decoding, and generates select signals for internal and external components, such as memory, registers, and I/O ports.
The DPLD can generates External Chip Select
(ECS0-ECS2) signals on Port D.
The CPLD can be used for logic functions, such as
loadable counters and shift registers, state machines, and encoding and decoding logic. These
logic functions can be constructed using the 16
Output Macrocells (OMC), 16 Input Macrocells
(IMC), and the AND Array.
The AND Array is used to form product terms.
These product terms are configured from the logic
definition entered in PSDsoft Express. An Input
Bus consisting of 64 signals is connected to the
PLDs. Input signals are shown in Table 9.
Figure 13. PLD Diagram
8
Data
Bus
64
PAGE
REGISTER
DECODE PLD
(DPLD)
8
4
Turbo Bit. The PLDs in the device can minimize
power consumption by switching off when inputs
remain unchanged for an extended t ime of about
70 ns. Resetting the Turbo bit to 0 (Bit 3 of the
PMMR0 register) a utom atically places the PLDs
into standby if no inputs are changing. Turning the
Turbo mode off increases propagation delays
while reducing power consumption. Additionally,
five bits are available in the PMMR registers in
csiop
to block DSP control signals from entering
the PLDs. This reduces po wer consumption and
can be used only when these DSP control signals
are not used in PLD logi c equations. Each of the
two PLDs has unique characteristics suited for its
applications. They are des cribed in the following
sect ions.
Main Flash Memory Selects
Secondary Flash Memory Selects
16
PLD INPUT BUS
64
Direct Macrocell Input to MCU Data Bus
16
3
Output Macrocell Feedback
CPLD
PT
ALLOC.
Input Macrocell and Input Ports
PORT D Inputs
1
3
1
16 Output
Macrocell
16 Input Macrocell
(PORT B,C)
CSIOP Select
External Chip Selects to Port D
JTAG Select
Direct Macrocell Access from MCU Data Bus
Macrocell
Alloc.
I/O PORTS
MCELLAB
to PORT B
MCELLBC
to PORT B or C
8
8
AI04957B
24/61
Page 25
DECODE PLD (DPLD)
The DPLD, shown in Figure 14, is used for decoding the address for internal and external com ponents. The DPLD can be used to generate the
following decode signals:
■ 8 Main Flash memory S ector Se l ect (
FS0-FS7
signals with three product terms each
■ 4 Secondary Flash memory Sector Select
(
CSBOOT0-CSBOOT3
) signals with three
product terms each
Figure 14. DPLD Logic Array
■ 1 internal
and status registers (
csiop
sele c t for DS M device co n trol
csiop
is the base address
of the block of 256 byte locations)
■ 1 JTAG Select signal (enables JTAG operations
)
on Port C when multiplexing JTAG signals with
general I/O signals)
■ 3 external chip select output signals for Port D
pins, each with one product term.
DSM2190F4
I/O PORTS (PORT A,B,C)
MCELLAB.FB [7:0] (Feedback)
MCELLBC.FB [7:0] (Feedback )
PG0-PG7
A[15: 0]
PD[2: 0]
CNTRL[2:0] (Read/Write Control Signals)
RESET
RD_BSY
(INPUTS)
(16)
(8)
(8)
(8)
(16)
(3)
(3)
(1)
(1)
3
3
3
3
3
3
3
3
3
3
3
3
1
1
1
FS0
FS1
FS7
CSIOP
JTAGSEL
ECS0
CSBOOT0
CSBOOT1
CSBOOT2
CSBOOT3
FS2
FS3
FS4
FS5
FS6
I/O Decoder
Select
JTAG ISP
4 Secondary
Flash Memory
Sector Selects
8 Flash Main
Memory
Sector Selects
1
1
ECS1
ECS2
External Chip Selects
to PORT D
AI04958
25/61
Page 26
DSM2190F4
COMPLEX PLD (CPL D )
The CPLD can be used to implement system logic
functions, such as loadable counters and shift registers, system mailboxes, ha ndshaking protocols,
state machines, and random logic. See application
AN1171
note
ing PSDsoft Express.
As shown in Figure 15, the CPLD has the following
blocks:
■ 16 Input Macrocells (IMC)
■ 16 Output Macrocells (OMC)
■ Macrocell Allocat o r
■ Product Term Allocator
■ AND Array capable of generating up to 130
product terms
Figure 15. Macrocell and I/O Port
for details on how to specify logic us-
■ Two I/O Ports.
Each of the blocks are described in the sections
that fo llow.
The Input Macrocells (IMC) and Output Macrocells
(OMC) are connected t o the device internal data
bus and can be directly accessed by the DSP. This
enables the DSP software to load data into the
Output Macroc ells (OMC) or read dat a from both
the Input and Output Macrocells (IMC and OMC).
This feature allows efficient implementation of system logic and eliminat es the need to connec t the
data bus to the AND Array as required in most
standard PLD macro cell architectures.
PLD INPUT BUSPLD INPUT BUS
AND ARRAY
Product Terms
from other
MacrocellS
CPLD Macrocells
PRODUCT TERM
ALLOCATOR
UP TO 10
PRODUCT TERMS
POLARITY
SELECT
PT
CLOCK
GLOBAL
CLOCK
CLOCK
SELECT
PT CLEAR
PT Output Enable (OE
Macrocell Feedback
I/O Port Input
PT INPUT LATCH GATE/CLOCK
PT PRESET
MUX
MCU DATA IN
PR DI LD
D/T
D/T/JK FF
SELECT
CK
CL
)
DSP ADDRESS / DATA BUS
CONTROL
MCU LOAD
Macrocell
MUX
Q
COMB.
/REG
SELECT
DATA
LOAD
Out to
MCU
Macrocell
I/O Port
Alloc.
OUTPUT
to
CPLD
TO OTHER I/O PORTS
I/O PORTS
LATCHED
ADDRESS OUT
DATA
D
Q
WR
CPLD OUTPUT
PDR
INPUT
Q
D
DIR
REG.
WR
Input Macrocells
MUX
MUX
SELECT
Q
QD
I/O Pin
D
G
AI04902B
Output Ma c rocell (O MC) . Eight of the Output
Macrocells (OMC) are connected to Port B pins
and are named as McellAB0-McellAB7. The other
eight Macrocells are connected to Ports B or C
pins and are named as McellBC0-McellBC7.
OMCs may be used for internal feedback only
(buried registers), or their outputs may be routed
to external Port pins.
26/61
The Output Macrocell (OMC) architecture is
shown in Figure 17. As shown in the figure, there
are native product terms a vailable from the AND
Array, and borrowed product terms available (if
unused) from other Output Macrocells (OMC). The
polarity of the product term is controlled by the
XOR gate. The Out put Macrocell (OMC) c an implement either sequential logic, usin g the flip-flop
Page 27
DSM2190F4
element, or combinatorial logic. The multiplexer
selects between the sequential or combinatorial
logic outputs. The multiplexer out put can drive a
port pin and has a feedback path to the AND Array
choosing pin functions in PSDsoft Express
Routing can occur on a bit-by-bit basis, spitting
assignment between the Ports. However, one
OMC can be routed to one Port pin only, not both.
inputs.
The flip-flop in the Output Macrocell (OMC) block
can be configured as a D, T, JK, or SR type in PSDsoft Express
TM
. The flip-flop’s clock, preset, and
Figure 16. OMC Allocator
clear inputs may be driven from a product term of
the AND Array. Alternatively, CLKIN (PD1) can be
0123456701234567
used for the clock input to the flip-flop. The flip-flop
is clocked on the rising edge of CLKIN (PD1). The
preset and clear are active High inputs. Each clear
input can use up to two product terms.
Output Macrocell Allocator. Outputs of the 16
1
0
45673210456732
OMCs (MCELLBC)OMCs (MCELLAB)
OMCs can be routed to a com bination of pins on
Port B or Port D as shown in Figure 16. The OMC
output pin is automatically determined by
Table 10. Output Macrocell Port and Data Bit Assignments
Output
Macrocell
McellAB0Port B036D0
McellAB1Port B136D1
Port
Assignment
Native Product Terms
Maximum Borrowed
Product Terms
Data Bit for Loading or
PORT C PINSPORT B PINS
Reading
AI04915
TM
.
McellAB2Port B236D2
McellAB3Port B336D3
McellAB4Port B436D4
McellAB5Port B536D5
McellAB6Port B636D6
McellAB7Port B736D7
McellBC0Port B0 or C045D0
McellBC1Port B1 or C145D1
McellBC2Port B or, C245D2
McellBC3Port B3 orC345D3
McellBC4Port B4 orC446D4
McellBC5Port B5 or C546D5
McellBC6Port B6 orC646D6
McellBC7Port B7 orC746D7
Product Term Al lo c at or. The CPLD has a Product Term Allocator. PSDsoft Express
TM
uses the
Product Term Allocator to borrow and plac e product terms from one Macrocell to another. This happens automatically in PSDsoft Express
TM
, but
understanding how allocation works will help you if
your logic design does not “f it”, in which c ase y ou
may try selecting a different pin or different OM C
where the allocation resources m ay di ffer and the
design will then fit. The f ollowing list summarizes
how product terms are allocated:
■ McellAB0-McellAB7 all have three native
product terms and may borrow up to six more
■ McellBC0-McellBC3 all have four native product
terms and may borrow up to five more
■ McellBC4-McellBC7 all have four native product
terms and may borrow up to six more.
27/61
Page 28
DSM2190F4
Each Macrocell may only borrow product terms
from certain other Macrocells. Product terms already in use by one Macrocell are not available for
another Macrocell. Product term allocation does
not add any propagation delay to the logic.
If an equation requires more product terms than
are available to it through product term allocation,
then “external” product terms are required, which
consumes other Output Macrocells (OMC). This is
called product term expansion and also happens
automatically in PSDsoft Express
TM
as needed.
Product tern expansion causes additional propagation delay because an OMC is consumed by the
expansion and it’s output is rerouted (or fed back)
into the AND array.
You can examine the fitter report generated by
PSDsoft Express to see resulting product term allocation and product term expansion.
Figure 17. CPLD Output Macrocell
MASK
REG.
Output Macrocell CS
RD
Loading and Reading the Output Macrocells
(OMCs). Each of the two OMC blocks (8 OMCs
each) occupies a memory location in the DSP ad-
csiop
dress space, as defined in the
block
MCELLAB0-7 and MCELLBC0-7 (see Table 4).
The flip-flops in each of the 16 OMCs can be loaded from the data bus by a DSP. Loading the OMCs
with data from the DSP takes priority over internal
functions. As such, the preset, clear, and clock inputs to the flip-flop can be overridden by the DSP.
The ability to load the flip-flops and read them
back is useful in such applications as loadable
counters and shift registers, mailboxes, and handshaking protocols.
Data is loaded into the Output Macrocells (OMC)
on the trailing edge of Write Strobe (WR
INTERNAL DATA BUS
D[7:0
]
, CNTL0).
AND ARRAY
PLD INPUT BUS
PT CLK
CLKIN
PT
Allocator
PT
PT
PT
WR
ENABLE (.OE
PRESET(.PR
POLARITY
SELECT
CLEAR (.RE
Feedback (.FB
Port Input
MUX
Direction
Register
)
)
LD
IN
)
)
PRDIN
Q
CLR
Programmable
FF (D/T/JK /SR
COMB/REG
SELECT
MUX
Macrocell
Allocator
Port
Driver
)
Input
Macrocell
I/O Pin
AI04903B
28/61
Page 29
DSM2190F4
The OMC Mask Register. There is one Mask
Register for each of the two groups of eight Output
Macrocells (OMC). The Mask Registers can be
used to block the loading of data to individual Output Macrocells (OMC). The def ault value for the
Mask Registers is 00h, which allows loading of the
Output Macrocells (OMC ). When a given bit in a
Mask Register is set to a 1, the DSP is blocked
from writing to the associated Ou tput Macrocells
(OMC). For example, suppose McellAB0-3 are being used for a state machi ne. You would not want
a DSP write to McellAB to overwrite the state machine registers. Therefore, you would want to load
the Mask Register for McellAB (Mask Macrocell
AB) with the value 0Fh.
Figure 18. Input Macrocell
INPUT MACROCELL_ RD
ENABLE (.OE
PT
)
OUTPUT
Macrocells BC
AND
Macrocells AB
The Output Enable of the OMC. The Output
Macrocells (OMC) block can be connected to an I/
O port pin as a P LD output. The output enab le of
each port pin driver is controlled by a single product term from the AND Array, ORed with the Direction Register output. The pin is enabled upon
Power-up if no output enable equation is defined
and if the pin is declared as a PLD output in PSDsoft Express.
If the Output Macrocell (OMC) output is specified
as an internal node and not as a port pin output in
the PSDsoft Express, then the port pin can be
used for other I/O functions. The internal node
feedback can be routed as an input to the AND Array.
INTERNAL DATA BUS
DIRECTION
REGISTER
AND ARRAY
PT
PLD INPUT BUS
MUX
Feedback
Q
D FF
Q
LATCH
Input Macrocells (IMC). The CPLD has 16 Input
Macrocells (IMC), one for each pin on Ports B and
C. The architecture of the IMCs is shown in Figure
18. The IMCs are individually configurable, and
can be used as a latch, a register, or t o pass incoming Port signals prior to driving them onto the
PLD input bus. This is useful for sampling and debouncing inputs to the AND array (key pad i nput s,
etc.). Additionally, the outputs of the IMCs can be
read by the DSP asynchronously at any time
I/O Pin
Port
Driver
D
D
G
PT
Input Macrocell
AI04904C
through the internal data bus using the csiop register block (see Table 4).
The enable fo r the latch and c lock f or the regi ster
are driven by a product term from the CPLD. Each
product term output is used to latch or clock four
IMCs. Port inputs 3-0 can be controlled by one
product term and 7-4 by another.
Configurations for the IMCs are specified by equations specified in PSDs oft Express. See Application note
AN1171
.
29/61
Page 30
DSM2190F4
DSP Bus Interface
The “no-glue logic” DSP Bus Interface allows direct connection. DSP address, data, and control
signals connect directly to the DSM device. See
Figure 6 for typical connections.
DSP address, data an d cont rol sig nals a re rout ed
csio p
to Flash memory, I/O control (
), OMCs, and
IMCs within the DMS. The DSP address range for
each of these components is specified in PSDsoft
Express
TM
.
I/O Po r t s
There are three programma ble I/O ports: P orts B,
C, and D. Each of the ports is eight bits except Port
D, which is 3 bits. Each port pin is individually user
configurable, thus allowing multiple functions per
port. The ports are configured using PSDsoft Ex-
Figure 19. Gene ral I/O P ort A rchi te cture
DATA OUT
REG.
WR
Macrocell Outputs
EXT CS
DQ
READ MUX
TM
press
in the
or by the DSP writing to on-chip registers
csiop
block.
The topics discussed in this section are:
■ General Port archite ctur e
■ Port operating modes
■ Port Configuration Registers (PCR)
■ Port Data Registers
■ Individual Port functionality.
General Port Architecture. The general architecture of the I/O Port block is shown in Figure 19.
Individual Port architectures are shown in Figure
20 to Figure 23. In general, once the purpose for a
port pin has been defined in PSDsoft Express
that pin is no longer available for other purposes.
Exceptions are noted.
DATA OUT
OUTPUT
MUX
PORT PIN
TM
,
P
INTERNAL DATA BUS
WR
ENABLE PRODUCT TERM (.OE
D
B
DIR REG.
DQ
CPLD-INPUT
DATA IN
)
As shown in Figure 19, the ports contain an output
multiplexer whose select signals are driven by the
configuration bits determined by PSDsoft Express.
Inputs to the multiplexer include the following:
■ Output data from the Data Out register (for MCU
I/O mode)
■ CPLD Macrocell output (OMC)
OUTPUT
SELECT
ENABLE OUT
Input
Macrocell
AI04905B
■ External Chip Selects ESC0-2 from the DPLD to
Port D pins only.
The Port Data Buffer (PDB) is a tri-state buffer that
allows only one source at a time to be read by the
DSP. The Port Data Buffer (PDB) is connected to
the Internal Data Bus for feedback and can be
read by the DSP. The Data Out and Macrocell out-
30/61
Page 31
DSM2190F4
puts, Direction Registers, and port pin input are all
connected to the Port Data Buffer (PDB).
The Port pin’s tri-state output driver enable is controlled by a two input OR gate whose inputs come
from the CPLD AND Array enable product term
and the Direction Register. If the enable product
term of any of the Array outputs are not defined
and that port pin is not defined as a CPLD ou tput
in PSDsoft Exp re s s
TM
, then the Direction Register
has sole control of the bu ffer that drives the port
pin.
The contents of these registers can be altered by
the DSP. The Port Data Buffer (PDB) feedback
path allows the DSP to check the contents of the
registers.
bouncing), as transparent latches, or direct inp uts
to the PLDs. The registers and latches are clocked
by a product term from the PLD AND Array. The
outputs from the IMCs drive the PLD input bus and
can be read by the DSP. See the sec tion entitled
“Input Macrocell”, on page 29.
Port Operat in g Mo des
The I/O Ports have several modes of operat ion.
Modes are defined using PSDsoft Express
then runtime control from the DSP can occur using
the registers in the
Note
AN1171
for more detail.
csiop
block. See Application
Table 11 summ arizes which modes are available
on each port. Each of the port operating m odes
are described in the following sections.
Ports B, and C have embedded IMCs. The IMCs
can be configured as registers (for sampling or de-
Note: 1. Can be m ultiplexed with other I/O funct i ons.
MCU I/O Mode. In t he MCU I/O mode, the DSP
uses the I/O Ports block to expand its own I/O
ports. The DSP can read I/O pins, set the direction
of I/O pins, and change the state of I/O pins by accessing the registers in the
csiop
block. The
register definition and their addresses may be
found in Table 4.
The MCU I/O direction may be changed by writing
to the corresponding bit in the Direction Re gister,
or by the output enable product term. When the pin
is configured as an output, the content of the Data
Out Register drives the pin. When configured as
an input, the DSP can read the port input through
the Data In buffer. See Figure 19.
PLD I/ O Mode. Inputs from Ports B and C to either PLD (DPLD or CPLD) come through IMCs. Inputs from Port D to either PLDs are routed directly
in and do not use IMCs. Outputs from the CPLD to
Port B come from the OMC gro up MCELLAB0-7.
Outputs from the CPLD to Port C come from OMC
group MCELLBC0-7. Outputs from the DPLD to
Port D come from the external chip select logic
block ECS0-2.
All PLD outputs may be tri-stated at the Port pins
with a control signal. This output enable control
signal can be defined by a product term from the
Yes
Yes
No
Yes
csiop
No
Yes
No
Yes
1
Yes
PLD, or by resetting the corresponding bit in the
Direction Register to 0. The corres ponding bit in
the Direction Register must not be set to logic 1 by
the DSP if the pin is defined for a PLD input signal
in PSDsoft Express. The PLD I/O mode is defined
in PSDsoft Express by specifying PLD equations.
JTAG In-System Programming (ISP). Some of
the pins on Port C are based on the IEEE 1194.1
JTAG specification and is used for In-System Programming (ISP). You can multiplex the function of
these Port C JTAG pins w ith other functions. ISP
is not performed very frequently in the life of the
product, so multiplexing these pin’s functions with
general purpose I/O functions gives more utility
from Port C. See the section entitled “Programming In-Circuit Using JTAG ISP” , and Applicat ion
Note
AN1153
.
Port Configuration Registers (PCR). Each Port
has a set of Port Configuration Registers (PCR)
used for configuration of the pins. The contents of
the registers can be accessed by the DSP through
normal read/write bus cycles o f the
csiop
listed in Table 4.
The pins of a port are individually configurable and
each bit in the register controls its respective pin.
For example, Bit 0 in a register refers to Bit 0 of its
No
No
Yes
Yes
No
TM
, and
registers
31/61
Page 32
DSM2190F4
port. The three Port Configuration Registers
(PCR), are shown in Table 12. Default is logic 0.
Table 12. Port Configuration Registers (PCR)
Register NamePortD SP Access
Data InB,C,DRead
Data OutB,C,DWrite/Read
DirectionB,C,DWrite/Read
1
Drive Select
Note: 1. See Table 16 for Dri ve Register bit defini tion.
B,C,DWrite/Read
Data In Register. The DSP may read the Data In
csio p
registers in the
block at any tim e to determine the logic state of a Port pin. This will be the
state at the pin regardless of whether it is driven by
a source external to the DSM or driven internally
from the DSM device. Reading a logic zero for a bit
in a Data In register means the corresponding Port
pin is also at logic zero. Reading logic one means
the pin is logic one. Each bit in a Data In register
corresponds to an individual Port pin. For a given
Port, bit 0 in a Data In register corresponds to pin
0 of the Port. Example, bit 0 of the Data I n register
for Port B corresponds to Port B pin PB0.
Data Out Register. The DSP may write (or read)
the Data Out register in the
csiop
block at any
time. Writing the Data Out register will change the
logic state of a Port pin only if it is not driven or
controlled by the CPLD. Writing a logic zero to a bit
in a Data Out register will force the corresponding
Port pin to be logic zero. Writing logic one will drive
the pin to logic one. Each bit in the Data Out registers correspond to Port pins the same way as the
Data In registers described above. When some
pins of a Port are driven by the CP LD, writing to
the corresponding bit in a Data Out register will
have no effect as the CPLD overrides the Data Out
register.
Direction Register. The Direction Register, in
conjunction with the output enable (except for Port
D), controls the direction of data flow in the I/O
Ports. Any bit set to 1 in the Direction Register
causes the corresponding pin to be an output, and
any bit set to 0 causes it to be an input. The default
mode for all port pins is input.
Table 13. Port Pin Direction Control, Output
Enable P.T. Not Defined
Direction Register Bit Port Pin Mode
Table 14. Port Pin Direction Control, Output
Enable P.T. Defined
Direction
Register Bit
0 0 Input
0 1 Output
1 0 Output
1 1 Output
Output Enable
P.T.
Port Pin Mode
Table 15. Port Direction Assignment Example
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 0 0 0 1 1 1
Figure 20 and Figure 21 s how the Port Architecture diagrams for Ports B and C, respectively. The
direction of data flow for Ports B, and C are controlled not only by the direction register, but also by
the output enable product term from the PLD AND
Array. If the output enable product term is not active, the Direction Register has sole control of a
given pin’s direction.
An example of a configuration for a Port with the
three least significant bits set to output and the remainder set to input is shown in Tab le 15. Since
Port D only contains three pins (shown i n Figure
23), the Direction Register for Port D has only the
three least significant bits active.
Drive Select Register. The Drive Select Register
configures the pin driver as Open Drain or CMOS
(standard push/pull) for some port pins, and controls the slew rate for the other port pins. An external pull-up resistor should be used for pins
configured as Open Drain. Open Drain outputs are
diode clamped, thus t he maximum vol tage on an
pin configured as Open Drain is Vcc + 0.7V.
A pin can be configured as Open Drain if its corresponding bit in the Drive Select Register is set to a
1. The default pin drive is CMOS.
Note that the slew rate is a measurement o f the
rise and fall times of an output. A higher slew rate
means a faster output response and may create
more electrical noise. A pin operates in a high slew
rate when the corresponding bit in the Drive Register is set to 1. The default rate is s tandard s lew.
Table 16 shows the Drive Register for Ports B , C,
and D. It summarizes which pins can be configured as Open Drai n outputs and which pins the
slew rate can be set for.
0 Input
1 Output
32/61
Page 33
Table 16. Drive Register Pin Assignment
Drive
Register
Port B
Port C
Port D
Note: 1. NA = Not Applicable.
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
Open
Drain
Open
Drain
1
NA
Open
Drain
Open
Drain
1
NA
Open
Drain
Open
Drain
1
NA
Figure 20. Port B Structure
DATA OUT
REG.
WR
MACROCELL OUTPUTS
DQ
Open
Drain
Open
Drain
1
NA
Slew
Rate
Open
Drain
NA
DATA OUT
DSM2190F4
Slew
Rate
Open
Drain
1
Slew
Rate
OUTPUT
MUX
Slew
Rate
Open
Drain
Slew
Rate
Slew
Rate
Open
Drain
Slew
Rate
PORT B
PIN
READ MUX
P
D
B
INTERNAL DATA BUS
DIR REG.
WR
ENABLE PRODUCT TERM (.OE
DQ
)
CPLD-INPUT
Port B – Functionality and Structure
Port B can be configured to perform one or more
of the following functions:
■ MCU I/O Mode
■ CPLD Output – Macrocells McellAB7-McellAB0
can be connected to Port B. McellBC7McellBC0 can be connected to Port B or Port C.
OUTPUT
DATA IN
■ CPLD Input – Via the Input Macrocells (IMC).
■ Open Drain/Slew Rate – pins PB3-PB0 can be
SELECT
ENABLE OUT
Macrocell
Input
AI04906B
configured to fast slew rate, pins PB7-PB4 can
be configured to Open Drain Mode.
33/61
Page 34
DSM2190F4
Figure 21. Port C Structure
DATA OUT
REG.
WR
DQ
DATA OUT
MCELLBC[7:0
INTERNAL DATA BUS
WR
ENABLE PRODUCT TERM (.OE
]
READ MUX
P
D
B
DIR REG.
DQ
CPLD-INPUT
JTAG ISP
DATA IN
)
OUTPUT
MUX
OUTPUT
SELECT
ENABLE OUT
INPUT
MACROCELL
JTAG ISP
PORT C PIN
CONFIGURATION
BIT
AI04907
Port C – Functionality and Structure
Port C can be configured to perform one or more
of the following functions (see Figure 21):
■ MCU I/O Mode
■ CPLD Output – McellBC7-McellBC0 outputs
can be connected to Port B or Port C.
■ CPLD Input – via the Input Macrocells (IMC)
34/61
■ In-System Programming (ISP) – JTAG port can
be enabled for programming/erase of the
device. (See the section entitled “Programming
In-Circuit Using JTAG ISP”, and Application
Note
AN1153
, for more information on JTAG
programming.)
■ Open Drain – Port C pins can be configured in
Open Drain Mode
Page 35
Figure 22. Port D Structure
WR
ECS[2:0
]
DATA OUT
REG.
DQ
READ MUX
DATA OUT
OUTPUT
MUX
DSM2190F4
PORT D PIN
P
D
B
INTERNAL DATA BUS
DIR REG.
WR
DQ
Port D – Functionality and Structure
Port D has three I/O pins. See Figure 22 a nd F igure 23. Port D can be configured to perform one or
more of the following functions:
■ MCU I/O Mode
■ DPLD Output – External Chip Selects, ECS0-2
does not consume OMCs
■ CPLD Input – direct input to the CPLD, does not
use IMCs
■ Slew rate – pins can be set up for fast slew rate
Port D pins can be configured in PSDsoft as input pins for other dedicated functions:
■ CLKIN (PD1) as input to the OMCs Flip-flops
OUTPUT
SELECT
DATA IN
ENABLE PRODUCT
TERM (.OE)
CPLD- INPUT
■ PSD Chip Select In put (CSI, PD2). Driving th is
AI02889
signal logic High disables the Flash memory,
putting it in standby mode.
External Chip Select. The DPLD also provides
three External Chip Select outputs (ESC0-2) on
Port D pins that can be used to select external devices as defined in PS Dsoft E xpress . Ea ch E xternal Chip Select consists of one product term that
can be configured act ive High or Low. The output
enable of the pin is cont rolled by either t he ou tput
enable product term or the Direction Register.
(See Figure 23.) External Chip Selects f or Port D
pins do not consume OMC s. External chip select
outputs can also come from the CPLD if c hip select equations are specified in PSDsoft Express for
Ports B or C.
35/61
Page 36
DSM2190F4
Figure 23. Port D External Chip Select Signals
PLD INPUT BUS
PT0
POLARITY
CPLD AND ARRAY
PT1
POLARITY
PT2
POLARITY
BIT
BIT
BIT
ENABLE (.OE)
ENABLE (.OE)
ENABLE (.OE)
DIRECTION
ECS0
DIRECTION
ECS1
DIRECTION
ECS2
REGISTER
PD0 PIN
REGISTER
PD1 PIN
REGISTER
PD2 PIN
AI02890
36/61
Page 37
POWER MANAGEMENT
The device offers configurab le power saving options. These options may be used individually or in
combinations, as follows:
■ All memory blocks in the device are b uilt with
zero-power management technology. Zeropower technology puts the memories into
standby mode when address/data inputs are
not changing (zero DC current). As soon as a
transition occurs on an input, the affected
memory “wakes up”, changes and latches its
outputs, then goes back to standby. The
designer does
not
have to do anything special to
achieve memory standby mode when no inputs
are changing—it happens automat ically.
Both PLDs (DPLD and CPLD) are also Zeropower, but this is not the default operation. The
DSP must set a bit at run-time to achieve Zeropower as described next.
■ The PMMR registers can be written by the DSP
at run-time to manage power. The device has a
Turbo bit in the PMMR0 register. This bit can be
set to turn the Turbo mode off (the default is with
Turbo mode turned on). While Turbo mode is
off, the PLDs can achieve standby current when
no PLD inputs are changing (zero DC current).
Even when inputs do change, significant power
can be saved at lower frequencies (AC current),
DSM2190F4
compared to when Turbo mode is on. When the
Turbo mode is on, there is a significant DC
current component and the AC component is
higher.
Further significant power savings can be
achieved by blocking s ignals that are not used
in DPLD or CPLD logic equations. The “blocking
bits” in PMMR registers can be set to logic 1 by
the DSP to block designated signals from reaching both PLDs. Current consumption of the
PLDs is directly related to the composite frequency of the changes on their input s (see F igure 25), so blocking unused PLD inputs can
significantly lower PLD operating frequency and
power consumption. The DSP a lso has the option of blocking certain PLD input when not
needed, then letting them pass for when needed
for specific logic operations. Table 17 and Table
18 define the PMMR registers.
■ PSD Chip Sel e ct Input (CSI, PD2) can be used
to disable the internal memories and
registers, placing them in standby mode even if
inputs are changing. This feature does not block
any internal signals or disable the PLDs. There
is a slight penalty in memory access time when
PSD Chip Select In put (CSI
, PD2 ) make s i ts
initial transition from deselected to selected.
csiop
Table 17. Power Management Mode Registers PMMR0
Bit 0X0Not used, and should be set to zero.
Bit 1X0Not used, and should be set to zero.
Bit 2X0Not used, and should be set to zero.
Bit 3PLD Turbo
Bit 4PLD Array clk
Bit 5PLD MCell clk
Bit 6X0Not used, and should be set to zero.
Bit 7X0Not used, and should be set to zero.
Note: 1. The bit s of this register are cl eared to zero following Power-up. Subsequent Rese t (Reset ) pulses do not cl ear the registers.
0 = on PLD Turbo mode is on
1 = off PLD Turbo mode is off, saving power.
0 = on
1 = off CLKIN (PD1) input to PLD AND Array is blocked, saving power.
0 = on CLKIN (PD1) input to the PLD Macrocells is passed onto PLDs.
1 = off CLKIN (PD1) input to PLD Macrocells is blocked, saving power.
CLKIN (PD1) input to the PLD AND Array is passed onto PLDs. Every change of
CLKIN (PD1) Powers-up the PLD when Turbo bit is 0.
1
37/61
Page 38
DSM2190F4
PLD Powe r M anagemen t
The power and speed of the PLDs are controlled
by the Turbo bit (bit 3) in the PMMR0. By set ting
the bit to 1, the Turbo mode is off and the PLDs
consume the specified stand-by current when the
inputs are not switching for an extended time of
70 ns (100 ns for 3.3 V devices). The propagation
delay time is increased by 10 ns after the Turbo bit
is set to 1 (turned off) when the inputs change at a
Table 18. Power Management Mode Registers PMMR2
Bit 0X0Not used, and should be set to zero.
Bit 1X0Not used, and should be set to zero.
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
PLD Array
CNTL0
PLD Array
CNTL1
PLD Array
CNTL2
PLD Array
PD0
PLD Array
PC7
0 = on Cntl0 input to the PLD AND Array is passed onto PLDs.
1 = off Cntl0 input to PLD AND Array is blocked, saving power.
0 = on Cntl1 input to the PLD AND Array is passed onto PLDs.
1 = off Cntl1 input to PLD AND Array is blocked, saving power.
0 = on Cntl2 input to the PLD AND Array is passed onto PLDs.
1 = off Cntl2 input to PLD AND Array is blocked, saving power.
0 = on PD0 input to the PLD AND Array is passed onto PLDs.
1 = off PD0 input to PLD AND Array is blocked, saving power.
0 = on PC7 input to the PLD AND Array is passed onto PLDs.
1 = off PC7 input to PLD AND Array is blocked, saving power.
composite frequency of less than 15 MHz (10 MHz
for 3.3 V devices). When the Turbo bit is reset to 0
(turned on), the PLDs run at full power and speed.
The Turbo bit affects the PLD’s DC power, AC
power, and propagation delay.
Blocking MCU control signals with the bits of the
PMMR registers can further reduce PLD AC power
consumption by lowering the effective composite
frequency of inputs to the PLDs.
1
Bit 7X0Not used, and should be set to zero.
Note: 1. The bit s of this register are cl eared to zero following Power-up. Subsequent Rese t (Reset ) pulses do not cl ear the registers.
from the PLD AND A rray or the Macrocells block
PSD Chip Select Input (CSI, PD2)
PD2 of Port D can b e configured in PSDsoft Express as PSD Chip Select Input (
CSI). When Low,
the signal selects and enables the internal Flash
memory and I/O blocks for Read or Write operations involving the device. A High on PSD Chip Select Inp ut (
CSI, PD2) disa bles the Flash memory
and reduces the device power consumption. However, the PLD and I/O signals remain operational
when PSD Chip Select Input (
CSI, PD2) is High.
There may be a timing pena lty when using PSD
Chip Select Input (
CSI, PD2) depending on the
speed grade of the device that you are using. See
the timing parameter t
in Table 31.
SLQV
Input Clock. The device provides the option to
block CLKIN (PD1) from reaching the PLDs to
save AC power consumpt ion. CLKIN (PD1) is an
input to the PLD AND Array and the OMCs.
If CLKIN (PD1) is not being use d as part of the
PLD logic equation, the clock should be blocked to
by setting bits 4 or 5 to a 1 in PMMR0.
Input Cont rol Signals. The device provides the
option to block the input control signals (CNTL0,
CNTL1, CNTL2, PD0, and PC7) from reaching the
PLDs to save AC power consumption. These control signals are inputs to the PLD AND Array. If any
of these are not being used as part of the PLD logic equation, these control signals should be disabled to save AC power. They are disconnected
from the PLD AND Array by set ting bits 2, 3, 4, 5,
and 6 to a 1 in the PMMR2 register. Note: CNTL0
and CNTL1 (DSP
WR and DSP RD) are perma-
nently routed to the Flash m em ory array and cannot be blocked from the array by the PMMR
registers (that’s why WR and RD signals do not
have to be specified in PSDsoft Express for Flash
memory segmen t chip-select equations f or FS0 FS7). CNTL0 and CNTL1 are blocked from the
PLDs with PMMR registers bits when thes e signals are specifically used in logic equations specified in PSDsoft Expr e ss.
save AC power. CLKIN (PD1) is disconnected
38/61
Page 39
Figure 24. Reset (RESET) Timing
DSM2190F4
V
CC
RESET
Power On Reset, Warm Reset, Power-down
Power On Reset. Upon Power-up, the device re-
quires a Reset (
RESET) pulse of duration t
after VCC is steady. During this time period, the device loads internal configurat ions, clears som e of
the registers and sets the Flash me mory into Operating mode. After the rising e dge of Reset (
SET), the device remains in the Reset mode for an
additional period, t
VCC(min)
t
NLNH-PO
Power-On Reset
, before the first memory ac-
OPR
t
OPR
NLNH-PO
RE-
t
NLNH
t
NLNH-A
Warm Reset
The Flash memory is reset to the Read Array
mode upon Power-up. Sector Select FS0-FS7
must all be Low, Write Strobe (
WR, CNTL0) High,
during Power On Reset for maximum security of
the data contents and to remove the possibi lity of
a byte being written on the first edge of Write
Strobe (
WR, CNTL0). Any Flash memory Write cy-
cle initiation is prevented automatically when V
is below V
LKO
.
cess is allowed.
Table 19. Status During Power-On Reset, Warm Reset and Power-down Mode
Port Configuration Power-On Reset Warm Reset Power-down Mode
MCU I/O Input modeInput modeUnchanged
PLD Output
Valid after internal PSD
configuration bits are
loaded
Valid
Depends on inputs to PLD
(addresses are blocked in
PD mode)
All other registers Cleared to 0Cleared to 0Unchanged
Cleared to 0 by internal
Power-On Reset
Warm Reset. Once the device is up and running,
the device can be reset with a pulse o f a much
shorter duration, t
. The same t
NLNH
period is
OPR
needed before the device is operational after
warm reset. Figure 24 shows the timing of the
Power-up and warm reset.
I/O Pin, Register and PLD Status at Reset. Table 19 shows the I/O pin, register and PLD status
Depends on .re and .pr
equations
Depends on .re and .pr
equations
down mode. PLD output s are always v alid during
warm reset, and they are valid in Power On Reset
once the internal device Configuration bits are
loaded. This loading of the device is completed
typically long before t he V
ramps up to operat-
CC
ing level. Once the P LD is active, t he state of t he
outputs are determined by the PSDsoft Express
equations.
during Power On Reset, warm reset and Power-
39/61
Page 40
DSM2190F4
PROGRAMMING IN-CIRCUIT USING JTAG ISP
In-System Programming (ISP) can be pe rformed
through the JTAG signals on Port C. This serial interface allows programming of the entire DSM device or subsections (i.e. only Flash memory but not
the PLDs) without and participation of the DSP. A
blank DSM device soldered to a circuit board can
be completely programmed in 10 to 25 seconds.
The basic JTAG signals; TMS, TCK, TDI, and
TDO form the IEEE-1149.1 interface. The DSM
device does not implement the IEEE-1149.1
Boundary Scan functions. The DSM uses the
JTAG interface for ISP only. However, the DSM
device can reside i n a standard JTAG chain with
other JTAG devices as it will remain in BYPASS
mode while other devices perform Boundary
Scan.
ISP programming time can be reduced as much as
30% by using two more signals on Port C, TSTAT
and TERR
See Table 20. The FlashLINK
ming cable available from ST Microelectronics for
$59USD and PSDsoft Express software that is
available at no charge from
that is needed to program a DSM device using the
parallel port on any PC or laptop.
By default, the four pins on Port C are enabl ed for
the basic JTAG signals TMS, TCK, TDI, and TDO
on a blank device (and as shipped from factory)
See Application Note
JTAG In-System Programming (ISP).
Standard JTAG Signals. The standard JTAG
signals (TMS, TCK, TDI, and TDO) can be enabled by any of three different conditions that are
logically ORed.
The following symbolic logic equation specifies the
conditions enabling the four basic JTAG signals
(TMS, TCK, TDI, and TDO) on their respective
Port C pins. For purposes of discussion, the logic
label JTAG_ON is used. When JTAG_ON is true,
the four pins are enabled for JTAG operation.
When JTAG_ON is false, the four pins can be
used for general device I/O as specified in PSDsoft Express. JTAG_ON can become true by any
of three different ways as shown:
JTAG_ON =
1. PSDsoft Express Pin Configuration -OR-
2. PSDsoft Express PLD equation -OR-
3. DSP writes to register in
Method 1 is most common. This is when the JTAG
pins are selected in PSDsoft Express to be “dedicated” JTAG pins. Th ey can always t ransmit and
receive JTAG information because they are “fulltime” JTAG pins.
in addition to TMS, TCK, TDI and TDO.
AN1153
TM
JTAG program-
www.st.com/psm
for more details on
csiop
block
is all
Method 2 is used only when the JTAG pins are
multiplexed with general I/O functions. For designs that need every I/O pin, the JTA G pins m ay
be used for general I/O when they are not used for
ISP. However, when JTAG pins are multiplexed
with general I/O functions, the des igner must include a way to get the pins back into JTAG mode
when it is time for JTAG operations again. In this
case, a single PLD input from Ports B, C, or D
must be dedicated to switch the Port C pins from I/
O mode back to ISP mode at any time. It is recom-
mended to physically connect this dedicat ed PLD
input pin to the JEN\ output signal from the
Flashlink cable when multiplexing JTAG signals.
See Application Note
AN1153
for details.
Method 3 is rarely used to control JTAG pin operation. The DSP can set the port C pins to function
as JTAG ISP by setting the JTAG Enable bit in a
csiop
register of the
block, but as soon as the DSM
chip is reset, the csiop block registers are cleared,
which turns off the JTAG-ISP function. Controlling
JTAG pins using this method is not recommended.
Table 20. JTAG Port Signals
Port C PinJTAG SignalsDescription
PC0TMSMode Select
PC1TCKClock
PC3TSTAT
PC4TERR
PC5TDISerial Data In
PC6TDOSerial Data Out
JTAG Extensions. TSTAT
Status
Error Flag
and TERR are two
JTAG extension signals (must be used as a pair)
enabled by a command received over the four
standard JTAG signals (TMS, TCK, TDI, and
TDO) by PSDsoft Express. They are used to
speed Program and Erase cycles by indicating
status on device pins instead of having to scan the
status out serially using t he standa rd J TAG channel. See Application Note
indicates if an error has occurred when
TERR
AN1153
.
erasing a sector or program ming a byte in F lash
memory. This signal goes Low (active) when an
Error condition occurs.
TSTAT
scribed previously.
behaves the same as Ready/Busy de-
TSTAT is inactive logic 1 when
the device is i n Read mode (Flash memory contents can be read).
TSTAT is logic 0 when Flash
memory Program or Erase cycles are in progress.
TSTAT
and TERR can be configured as opendrain type signals with PSDsoft Express. This facilitates a wired-OR connection of T STAT
signals
40/61
Page 41
DSM2190F4
from multiple DSM 2190F4V devices a nd a wiredOR connection of TERR
signals from thos e sam e
devices. This is useful when severa l devices are
“chained” together in a JTAG environment. PSDsoft Express puts TSTAT
and TERR signals to
open-drain by default. Click on 'Properties' in the
JTAG-ISP window of PSDsoft Express to change
to standard CMOS pu sh-pull. It is recommen ded
to use 10 kΩ pull-up resistors to V
on all JTAG-
CC
ISP signals on your circuit board.
Initi a l D e live r y St a t e
When delivered from ST, the device has all bits in
the memory and PLDs erased to logic 1. The DSM
Configuration Register bits are set to 0. The code,
configuration, and PLD l ogic are loaded using the
programming procedure. The four basic JTAG ISP
signals (TCK, TMS, TDI, TDO) are ready for ISP
funct ion.
41/61
Page 42
DSM2190F4
AC/DC PARAMETERS
These tables describe the AC and DC parameters
of the device:
❏ DC Electrical Specification
❏ AC Timing Specification
The following are issues concerning the parameters presented:
■ In the DC specification the supply current is
given for different modes of operation. Before
calculating the total power consumption,
determine the percentage of time that the
device is in each mode. Also, the supply power
is considerably different if the Turbo bit is 0.
■ The AC power component gives the PLD and
Flash memory a mA/MHz specification. Figure
25 shows the PLD mA/MHz as a function of the
number of Product Terms (PT) used.
■ The fitter report of PSDsoft Express indicates
the number of Product Terms (PTs) used for a
given design. This number may be used to
estimate PLD power consumption using Figure
25.
■ In the PLD timing parameters, add the required
delay when Turbo bit is 0.
Figure 25. PLD I
/Frequency Consumption (3.3 V)
CC
60
V
= 3V
CC
50
40
– (mA)
30
CC
I
20
10
0
01015520 25
TURBO OFF
TURBO OFF
HIGHEST COMPOSITE FREQUENCY AT PLD INPUTS (MHz)
TURBO ON (100%)
TURBO ON (25%)
PT 100%
PT 25%
AI03100
42/61
Page 43
DSM2190F4
MAXIMUM RATI N G
Stressing the device ab ove the rating listed in t he
Absolute Maximum Ratings table m ay cause permanent damage to the device. These are stress
ratings only and operation of the device at these or
any other conditions ab ove those i ndicated in t he
Operating sections of this specificat ion is not im-
Electrostatic Discharge Voltage (Human Body model)
plied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device
reliability. Refer also to the STMicroelectronics
SURE Program and ot her relevant quality documents.
1
–0.67.0V
2
–20002000V
235°C
43/61
Page 44
DSM2190F4
DC AND AC PARAMETERS
This section summarizes the operat ing and measurement conditions, and the DC and AC characteristics of the device. The parameters in t he DC
and AC Characteristic tables that follow are derived from tests performed under the Measure-
Table 22. Operating Conditions
SymbolParameterMin.Max.Unit
ment Conditions summarized in the relevant
tables. Designers should chec k th at the o perat ing
conditions in their circuit matc h the meas urement
conditions when relying on the quoted parameters.
V
CC
T
A
Supply Voltage3.03.6V
Ambient Operating Temperature (industrial)–4085°C
Table 23. AC Measurement Conditions
SymbolParameterMin.Max.Unit
C
L
Load Capacitance30pF
Input Rise and Fall Times5ns
Input Pulse Voltages
1.5
Input and Output Timing Reference Voltages1.5V
Note: 1. Output Hi-Z is defined as the point where da ta out is no longe r dri ven.
Figure 26. AC Measurem ent I/O W aveformFigure 27. AC Me as urement Lo ad C ir cui t
2.0 V
0.9V
0V
CC
Test Point 1.5V
Device
Under Test
AI04947
400 Ω
C
= 30 pF
L
(Including Scope and
Jig Capacitance)
AI04948
V
Table 24. Capacitance
SymbolParameterTest Condition
C
IN
C
OUT
C
VPP
Note: 1. Sampled only, not 100% tested.
2. Typical values are for T
44/61
Input Capacitance (for input
pins)
Output Capacitance (for input/
output pins)
Capacitance (for CNTL2/VPP)V
= 25°C and nominal supply voltages.
A
V
V
IN
OUT
PP
= 0V
= 0V
= 0V
Typ.
2
Max.Unit
46
812
1825
pF
pF
pF
Page 45
Table 25. AC Symbols for PLD Timing
Signal LettersSignal Behavior
AAddress InputtTime
CCEout OutputLLogic Level Low
DInput DataHLogic Level High
EE InputVValid
NReset Input or OutputXNo Longer a Valid Logic Level
PPort Signal OutputZFloat
QOutput Data PWPulse Width
RRD
Input (read)
DSM2190F4
SChip Select Input, BMS
WWR
B
Input (write)
V
Output
STBY
, DMS, IOMS, or FSx
MOutput Macrocell
Example: t
– Time from Address Valid to
AVWL
Write input Low.
Figure 28. Switching Waveforms – Key
WAVEFORMS
INPUTSOUTPUTS
STEADY INPUT
MAY CHANGE FROM
HI TO LO
MAY CHANGE FROM
LO TO HI
DON'T CARE
STEADY OUTPUT
WILL BE CHANGING
FROM HI TO LO
WILL BE CHANGING
LO TO HI
CHANGING, STATE
UNKNOWN
OUTPUTS ONLY
CENTER LINE IS
TRI-STATE
AI03102
45/61
Page 46
DSM2190F4
Table 26. DC Characteristics
SymbolParameterConditionsMin.Typ .Max.Unit
V
IH
V
IL
V
IH1
V
IL1
V
HYS
V
LKO
V
OL
V
OH
V
OH1
I
IDLE
V
DF
I
SB
I
LI
I
LO
High Level Input Volta ge
Low Level Input Voltage
Reset High Level Input Voltage
Reset Low Level Input Voltage
Reset Pin Hysteresis0.3V
VCC (min) for Flash Erase and
Program
Output Low Voltage
Output High Voltage Except
On
V
STBY
Output High Voltage V
STBY
Idle Current (VSTBY input)
SRAM Data Retention Voltage
Stand-by Supply Current
for Power-down Mode
Input Leakage Curren t
Output Leakage Current
PLD Only
CC
(Note
5
)
Supply
Current
Operating
(DC)
I
Flash memory
3.0 V < V
3.0 V < V
(Note
(Note
= 20 µA, VCC = 3.0V
I
OL
= 4 mA, VCC = 3.0 V
I
OL
= –20 µA, VCC = 3.0 V
I
OH
I
= –2 mA, VCC = 3.0 V
OH
On I
OH1
V
> V
CC
Only on V
>VCC –0.3 V (Notes
CSI
V
< VIN < V
SS
0.45 < V
PLD_TURBO = Off,
f = 0 MHz (Note
PLD_TURBO = On,
f = 0 MHz
During Flash memory Write/
Erase Only
Read Only, f = 0 MHz00mA
< 3.6 V0.7V
CC
< 3.6 V
CC
1
)
1
)
= 1 µAV
STBY
STBY
2,3
)
CC
< V
IN
CC
3
)
CC
VCC +0.5
V
–0.50.8V
0.8V
–0.5
CC
VCC +0.5
0.2V
CC
–0.1
V
V
1.52.2V
0.010.1V
0.150.45V
2.92.99V
2.72.6V
STBY
– 0.8
V
–0.10.1µA
2V
25100µA
–1±.11µA
–10±510µA
0µA/PT
200400µA/PT
1025mA
PLD AC Adder
(AC)
I
CC
(Note
Note: 1. Reset (Reset) ha s hysteresi s. V
Flash memory AC Adder1.52.0
5
)
is valid at or below 0.2VCC –0.1. V
deselecte d .
2. CSI
3. PLD is in non-Turbo mode, and none of the inputs are switching.
4. Please see Fi gure 25 for th e PLD current calculat i on.
5. I
= 0 mA
OUT
IL1
46/61
4
(see note
is valid at or abov e 0.8VCC .
IH1
)
mA/
MHz
Page 47
Tabl e 27. CPLD C om binatorial Timing
SymbolParameterConditions
-15
MinMax
PT
Aloc
T urbo
Off
DSM2190F4
Slew
Rate
Unit
1
t
PD
t
EA
t
ER
t
ARP
t
ARPW
t
ARD
Note: 1. Fast Slew Rate output available on PB3-PB0, and PD2-PD0.
CPLD Input Pin/Feedback to
CPLD Combinatorial Output
CPLD Input to CPLD Output
Enable
CPLD Input to CPLD Output
Disable
CPLD Register Clear or
Preset Delay
CPLD Register Clear or
Preset Pulse Width
CPLD Array DelayAny Macrocell29Add 4ns
45Add 4Add 20Sub 6ns
45Add 20 Sub 6ns
45Add 20 Sub 6ns
43Add 20 Sub 6ns
30Add 20ns
47/61
Page 48
DSM2190F4
Table 28. CPLD Macrocell Synchrono us Clock Mode Timing
-15
SymbolParameterConditions
MinMax
PT
Aloc
Turbo
Off
Slew
Rate
Unit
1
Maximum Frequency
External Feedback
f
MAX
Maximum Frequency
Internal Feedback (f
CNT
)
Maximum Frequency
Pipelined Data
t
S
t
H
t
CH
t
CL
t
CO
t
ARD
t
MINMinimum Clock Period
Note: 1. Fast Slew Rate output available on PB3-PB0, and PD2-PD0.
Input Setup Time25Add 4Add 20ns
Input Hold Time0ns
Clock High TimeClock Input15ns
Clock Low TimeClock Input15ns
Clock to Output DelayClock Input28Sub 6ns
CPLD Array DelayAny Macrocell29Add 4ns
2
2. CLKIN (P D1) t
= tCH + tCL .
CLCL
1/(t
1/(t
1/(t
tCH+t
S+tCO
S+tCO
CH+tCL
–10)
CL
)
)
29ns
Table 29. CPLD Macrocell Asynch ronou s Clock Mod e Timin g
SymbolParameterConditions
f
MAXA
t
SA
t
HA
t
CHA
t
CLA
t
COA
t
ARD
t
MINA
Maximum Frequency
External Feedback
Maximum Frequency
Internal Feedback (f
CNTA
Maximum Frequency
Pipelined Data
Input Setup Time12Add 4Add 20ns
Input Hold Time15ns
Clock High Time22Add 20ns
Clock Low Time15Add 20ns
Clock to Output Delay40Add 20Sub 6ns
CPLD Array DelayAny Macrocell29Add 4ns
Minimum Clock Period
1/(t
SA+tCOA
1/(t
SA+tCOA
)
1/(t
CHA+tCLA
1/f
CNTA
)
–10)
)
-15
MinMax
42ns
18.8MHz
23.2MHz
33.3MHz
PT
Aloc
Turbo
Off
Slew
Rate
Unit
19.2MHz
23.8MHz
27MHz
48/61
Page 49
Figure 29. Input to Output Disable / Enable
INPUT
INPUT TO
OUTPUT
ENABLE/DISABLE
Figure 30. Asynchronous Reset / Preset
RESET/PRESET
INPUT
REGISTER
OUTPUT
DSM2190F4
tERtEA
AI02863
tARPW
tARP
AI02864
Figure 31. Sy nchronous Clo c k Mode Timing – P LD
CLKIN
INPUT
REGISTERED
OUTPUT
t
CH
t
CL
t
t
H
S
t
CO
Figure 32. Asynchronous Clock Mode Timing (product term clock)
CLOCK
INPUT
REGISTERED
OUTPUT
tCHA
tCLA
tHAtSA
tCOA
AI02859
49/61
Page 50
DSM2190F4
Table 30. Input Macrocell Timing
SymbolParameterConditions
t
IS
t
IH
t
INH
t
INL
t
INO
Note: 1. Inputs fro m Port B, and C relative to register/latch clock from the PLD.
Input Setup Time
Input Hold Time
NIB Input High Time
NIB Input Low Time
NIB Input to Combinatorial Delay
Figure 33. Input Macrocell Timing (product term clock)
t
INH
PT CLOCK
INPUT
(Note
(Note
(Note
(Note
(Note
1
)
1
)
1
)
1
)
1
)
t
INL
t
IS
-15
MinMax
PT
Aloc
T urbo
Off
Unit
0ns
25Add 20ns
13ns
13ns
62Add 4Add 20ns
t
IH
OUTPUT
AI03101
t
INO
50/61
Page 51
Table 31. Read Timing
SymbolParameterConditions
t
AVQV
Address Valid to Data Valid
(Note
DSM2190F4
-15
MinMax
1
)
150Add 20ns
T urbo
Off
Unit
t
SLQV
t
RLQV
t
RHQX
t
RLRH
t
RHQZ
CS Valid to Data Valid150ns
RD to Data Valid 8-Bit Bus35ns
RD Data Hold Time1ns
RD Pulse Width40ns
RD to Data High-Z20ns
Note: 1. Any input used to select an internal DSM function.
Figure 34. Read Timing
t
AVQV
ADDRESS
NON-MULTIPLEXED
NON-MULTIPLEXED
BUS
DATA
BUS
CSI
RD
t
SLQV
ADDRESS
VALID
t
RLQV
t
RLRH
DATA
VALID
t
RHQX
tRHQZ
AI04908
51/61
Page 52
DSM2190F4
Table 32. Write Timing
SymbolParameterConditions
-15
Unit
MinMax
t
AVWL
t
SLWL
t
DVWH
t
WHDX
t
WLWH
t
WHAX1
t
WHAX2
t
WHPV
t
DVMV
t
WLMV
Note: 1. Any input used to select an internal PSM function.
Address Valid to Leading Edge of WR
(Notes 1)
CS Valid to Leading Edge of WR0ns
WR Data Setup Time45ns
WR Data Hold Time2ns
WR Pulse Width48ns
Trailing Edge of WR to Address Invalid1.75ns
Trailing Edge of WR to DPLD Address Invalid
(Note
4
)
Trailing Edge of WR to Port Output
Valid Using I/O Port Data Register
Data Valid to Port Output Valid
Using Macrocell Register Preset/Clear
WR Valid to Port Output Valid Using
Macrocell Register Preset/Clear
2. As suming dat a i s stable before active write signa l .
3. Assuming write is active before data b ecomes valid .
4. TWHAX2 is the address hold time for DPLD inputs that are used to gen erate Sector Select si gnals for internal DSM me m ory.
(Note
(Note
3
)
2
)
0ns
0ns
Figure 35. Write Timing
t
AVWL
ADDRESS
NON-MULTIPLEXED
NON-MULTIPLEXED
BUS
DATA
BUS
CSI
WR
ADDRESS
t
SLWL
VALID
t
WLWH
t
DVWH
DATA
VALID
t
WHAX
t
WHDX
35ns
70ns
70ns
52/61
AI04909
Page 53
DSM2190F4
Table 33. Flash Memory Program, Wri te and Erase Ti mes
Note: 1. Reset (RESET) does not re set Flash memory Prog ram or Erase cyc l es.
2. Warm reset aborts Flash memory Program or Eras e cy cles, and put s the device in Read mode.
RESET Active Low Time
Power On Reset Active Low Time1ms
RESET High to Operational Device300ns
1
330s
30ns
300ns
Figure 36. Reset (RESET) Timing
V
CC
RESET
VCC(min)
t
NLNH-PO
Power-On Reset
t
OPR
t
NLNH
t
NLNH-A
Warm Reset
t
OPR
AI02866b
53/61
Page 54
DSM2190F4
Table 35. ISC Timing
SymbolParameterConditions
t
ISCCF
t
ISCCH
t
ISCCL
t
ISCCFP
t
ISCCHP
t
ISCCLP
Clock (TCK, PC1) Frequency (except for PLD)
Clock (TCK, PC1) High Time (except for PLD)
Clock (TCK, PC1) Low Time (except for PLD)
Clock (TCK, PC1) Frequency (PLD only)
Clock (TCK, PC1) High Time (PLD only)
Clock (TCK, PC1) Low Time (PLD only)
(Note
(Note
(Note
(Note
(Note
(Note
-15
Unit
MinMax
1
)
1
)
1
)
2
)
2
)
2
)
45ns
45ns
240ns
240ns
10MHz
2MHz
t
ISCPSU
t
ISCPH
t
ISCPCO
t
ISCPZV
t
ISCPVZ
Note: 1. For no n-PLD Pro gramming, Erase or in ISC by-pass mode.
ISC Port Set Up Time13ns
ISC Port Hold Up Time5ns
ISC Port Clock to Output36ns
ISC Port High-Impedance to Valid Output36ns
ISC Port Valid Output to
For a list of available options (speed, package,
etc.) or for further information on any aspect of this
device, please contact your nearest ST Sales O ffice.
59/61
Page 60
DSM2190F4
REVISION HIST ORY
Table 39. Document Revision History
DateRev.Description of Revision
27-Aug-20011.0Document written
06-Nov-20011.1Document released
17-Dec-20011.2PQFP52 package mechanical data updated
18-Sep-20021.3JTAG Debug bus separated from JTAG ISP bus
60/61
Page 61
DSM2190F4
Information furnished is believed to be accurate an d rel i able. However, STMicroelectro ni cs assumes no responsibility for the consequen ces
of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted
by implic ation or otherwise under any patent or patent ri ghts of STM i croelectr onics. Sp ecifications mentioned in thi s publication are subject
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics product s are not
authorized for use as cri tical comp onents in lif e support devi ces or systems without express written approv al of STMicroel ectronics.
The ST log o i s registered trademark of STMicroelectronics
All other nam es are the pro perty of their respect ive owners