(8 interrupt selectable negative/positive of edge)
(22) DMAC function: 6 channels
• High-speed data transfer enable by controlling which convert micro DMA function and this function
(23) Input/Output ports : 136 pins (Except Data bus (16bit), Address bus (24bit) and RD pin)
(24) Nand_Flash interface: 2 channel
• Available to connect directly with NAND flash
• Supported up to SLC type and MLC type
• Data Bus 8/16 Bit, Page Size 512/2048 Bytes
• Built-in Rees Solomon calculation circuits which enabled correct 4-address, and detect error more
than 5-address
(25) SPI controller : 1 channel
• Supported up to SPI mode of SD card and MMC card
• Built-in FIFO buffer of 32 bytes to each Input/Output
Note1: The P96, P97 and PG0~PG5 operate with the AVCC power supply.
Note2: The PW0~PW7 and PV0~PV7 operate with the DVCC3B power supply.
Note3: The X1 and X2 operate with the DVCC1C power supply.
92CZ26A-7
Page 11
2.2 Pin names and Functions
The names of the input/output pins and their functions are described below.
Table 2.2.1 Pin names and functions (1/6)
TMP92CZ26A
Pin name
D0 to D7 8 I/O Data: Data bus D0 to D7.
P10 to P17
D8 to D15
P40 to P47
A0 to A7
P50 to P57
A8 to A15
P60 to P67
A16 to A23
P70
RD
P71
WRLL
NDRE
P72
WRLU
NDWE
P73
EA24
P74
EA25
P75
R/
W
NDR/
B
P76
WAIT
P80
0CS
P81
1CS
SDCS
P82
2CS
CSZA
SDCS
P83
3CS
CSXA
P84
CSZB
P85
CSZC
Number of
Pins
8
8
8
8
1 Output
1 I/O
1 I/O
1 I/O
1 I/O
1 I/O
1
1
1 Output
1 Output
1 Output
1 Output
1 Output
I/O Functions
I/O
I/O
Output
Output
Output
Output
I/O
Output
Output
Output
Output
Output
Output
Output
Output
Output
Input
I/O
Input
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Port 1: I/O port. Input or output is specifiable in units of bit.
Data : Data bus D8 to D15.
Port 4: Output port.
Address : Address bus A0 to A7.
Port 5: Output port.
Address : Address bus A8 to A15.
Port 6 : I/O port. Input or output is specifiable in units of bit.
Address : Address bus A16 to A23.
Port 70 : Output port.
Read : Outputs strobe signal to read external memory.
Port 71 : Output port.
Write : Outputs strobe signal to write data on pins D0 to D7.
NAND Flash read : Outputs strobe signal to read external NAND-Flash.
Port 72 : I/O port.
Write : Outputs strobe signal to write data on pins D8 to D15.
NAND Flash write : Write enable for NAND Flash.
Port 73 : I/O port.
Expanded address 24.
Port 74 : I/O port.
Expanded address 25.
Port 75 : I/O port.
Read/Write : “High” represents read or dummy cycle and “Low” write cycle.
NAND Flash Ready(1) / Busy(0) input.
Port 76: I/O port.
Wait: Signal used to request CPU bus wait.
Port 80: Output port.
Chip select 0: Outputs “Low” when address is within specified address area.
Port 81 : Output port
Chip select 1: Outputs “Low” when address is within specified address area.
Chip select for SDRAM : Outputs “Low” when the address is within SDRAM address area.
Port 82 : Output port.
Chip select 2: Outputs “Low” when address is within specified address area.
Expanded address ZA : Outputs “Low” when address is within specified address area.
Chip select for SDRAM : Outputs “0” when the address is within SDRAM address area.
Port 83 : Output port.
Chip select 3: Outputs “Low” when address is within specified address area.
Expanded address XA : Outputs “Low” when address is within specified address area.
Port 84 : Output port.
Expanded address ZB : Outputs “Low” when address is within specified address area.
Port 85 : Output port.
Expanded address ZC : Outputs “Low” when address is within specified address area.
Port 86 : Output port.
Expanded address ZD : Outputs “Low” when address is within specified address area.
Chip select of NAND Flash 0: Outputs “Low” when NAND Flash 0 is enable.
Port 87 : Output port.
Expanded address XB : Outputs “Low” when address is within specified address area.
Chip select of NAND Flash 1: Outputs “Low” when NAND Flash 1 is enable.
Port 90: I/O port.
Transmit data of serial 0: programmable open drain output.
Port 91: I/O port. (Schmitt input)
Receive data of serial 0.
Port 92: I/O port. (Schmitt input)
Clock I/O of serial 0
Enable to send data of serial 0 (Clear to send).
Port 96: Input port. (schmitt input, with pull-up resistor)
Interrupt request pin 4 : Interrupt request pin with programmable rising/falling edge.
X-Plus : Pin connected to X+ pin for Touch Screen I/F.
Port 97: Input port. (schmitt input)
Y-Plus : Pin connected to Y+ pin for Touch Screen I/F.
Port A0 to A7: Input port.
Key input 0 to 7: For key on wake-up 0 to 7. (Schmitt input, with pull-up resistor)
Port C0: I/O port. (Schmitt input)
Interrupt request pin 0 : Interrupt request pin with programmable rising/falling edge.
Port C1: I/O port. (Schmitt input)
Interrupt request pin 1 : Interrupt request pin with programmable rising/falling edge.
Timer A0 input: Input pin of 8 bit timer 0.
Port C2: I/O port. (Schmitt input)
Interrupt request pin 2 : Interrupt request pin with programmable rising/falling edge.
Port C3: I/O port. (Schmitt input)
Interrupt request pin 3 : Interrupt request pin with programmable rising/falling edge.
Timer A2 input: Input pin of 8 bit timer 2.
Port C4: I/O port.
Expanded address 26.
Port C5: I/O port.
Expanded address 27.
Port C6: I/O port.
Expanded address 28.
Port C7: I/O port.
Key output 8: Key scan strobe pin (programmable open drain output).
Port F0: I/O port.
Outputs clock of I2S0.
Port F1: I/O port.
Outputs data of I2S0.
Port F2: I/O port.
Outputs word select signal of I2S0.
Port F3: I/O port.
Outputs clock of I2S1.
Port F4: I/O port.
Outputs data of I2S1.
Port F5: I/O port.
Outputs word select signal of I2S1.
Port F7: Output port.
Clock for SDRAM.
Port G0 to G1: Input port.
Analog input pin 0 to 1 : Input pin of A/D converter.
Port G2: Input port.
Analog input pin 2 : Input pin of A/D converter.
X-Minus : Pin connected to X- pin for Touch Screen I/F.
Port G3: Input port.
Analog input pin 3 : Input pin of A/D converter.
Y-Minus : Pin connected to Y- pin for Touch Screen I/F.
A/D Trigger : Request signal of A/D start.
Port G4 to G5: Input port.
Analog input pin 4 to 5 : Input pin of A/D converter.
Port J0: Output port.
Outputs strobe signal of SDRAM row address.
Data enable signal for D0 to D7 of SRAM.
Port J1: Output port.
Outputs strobe signal of SDRAM column address.
Data enable signal for D8 to D15 of SRAM.
Port J2: Output port.
Outputs write enable signal of SDRAM.
Write enable of SRAM: Outputs strobe signal to write data.
Port J3: Output port.
Data enable signal for D0 to D7 of SDRAM.
Port J4: Output port.
Data enable signal for D8 to D15 of SDRAM.
Port J5: I/O port.
Address latch enable signal of NAND Flash.
Port J6: I/O port.
Command latch enable signal of NAND Flash.
Port J7: Output port.
Clock enable signal of SDRAM.
Port K0: Output port.
Signal for LCD driver.
Port K1: Output port.
Signal for LCD driver.: Data load signal
Port K2: Output port.
Signal for LCD driver.
Port K3: Output port.
Signal for LCD driver. : Vertical sync signal
Port K4: Output port.
Signal for LCD driver. : Horizontal sync signal.
Port K5: Output port.
Signal for LCD driver.
Port K6: Output port.
Signal for LCD driver.
Port K7: Output port.
Signal for LCD driver.
Port L0 to L7: Output port.
Data bus for LCD driver: LD0 to LD7.
Port M1: Output port.
Timer A1 output: Output pin of 8 bit timer 1.
Melody / Alarm output pin.
Port M2: Output port.
Alarm output from RTC.
Melody / Alarm output pin (inverted).
Port M7 : Output port
External power supply control output: Pin to control ON/OFF of external power
supply. In st and-by mode, outputs “L” level. In other than stand-by mode, outputs
“H” level.
Port N: I/O port.
Key output 0 to 7 : Key scan strobe pin (programmable open drain output).
Port P1: I/O port.
Timer A3 output: Output pin of 8 bit timer 3.
Port P2: I/O port.
Timer A5 output: Output pin of 8 bit timer 5.
Port P3: I/O port. (Schmitt input)
Interrupt request pin 5 : Interrupt request pin with programmable rising/falling edge.
Timer A7 output: Output pin of 8 bit timer 7.
Port P4: I/O port. (Schmitt input)
Interrupt request pin 6 : Interrupt request pin with programmable rising/falling edge.
Timer B0 input: Input pin of 16 bit timer 0.
Port P5: I/O port. (Schmitt input)
Interrupt request pin 7 : Interrupt request pin with programmable rising/falling edge.
Timer B1 input: Input pin of 16 bit timer 1.
Port P6: I/O port.
Timer B0 output: Output pin of 16 bit timer 0.
Port P7: I/O port.
Timer B1 output: Output pin of 16 bit timer 1.
Port R0: I/O port.
Data input pin of SD card.
Port R1: I/O port.
Data output pin of SD card.
Port R2: I/O port.
Chip select signal of SD card.
Port R3: I/O port.
Clock output pin of SD card.
Port T0 to T7: I/O port.
Data bus for LCD driver: LD8 to LD15.
Port U0 to U4 , U6: I/O port
Data bus for LCD driver: LD16 to LD20, LD22.
Port U5: I/O port
Data bus for LCD driver: LD21
Port U7: I/O port
Data bus for LCD driver: LD23
Debug mode output pin
Port V0 : I/O port
Clock I/O of serial 0.
Port V6: I/O port
Send/receive data in I
Port V7: I/O port
Input/output clock in I
Port X4 : Output port
Internal clock output pin
Output pin for LCD driver
Port X5: I/O port.
Clock input pin of USB.
Port Z0: I/O port. (Schmitt input)
Debug mode input pin
Port Z1: I/O port. (Schmitt input)
Debug mode input pin
Port Z2: I/O port. (Schmitt input)
Debug mode input pin
Port Z3: I/O port. (Schmitt input)
Debug mode input pin
Port Z4: I/O port. (Schmitt input)
Debug mode input pin
Port Z5: I/O port. (Schmitt input)
Debug mode input pin
Port Z6: I/O port. (Schmitt input)
Debug mode output pin
Port Z7: I/O port. (Schmitt input)
Debug mode output pin
Data pin connected to USB.
In case USB is not used, connect both pins to pull-up(DVCC3A) or pull-down resistor for protect
current flows it.
Operation mode;
Fix to AM1=”0”,AM0=”1” for 16 bit external bus starting.
Fix to AM1=”1”,AM0=”0” is prohibit to set.
Fix to AM1=”1”,AM0=”1” for BOOT (32 bit internal Mask ROM) starting.
Fix to AM1=”0”,AM0=”0” is prohibited to set.
−
−
−
−
−
−
−
−
−
−
Power supply pin for A/D converter.
GND pin for AD converter (0V).
Power supply pin for peripheral I/O-A (Connect all DVCC3A pins to power supply pin.)
Power supply pin for peripheral I/O-B (Connect all DVCC3B pins to power supply pin.)
Power supply pin for internal logic-A. (Connect all DVCC1A pins to power supply pin.)
Power supply pin for internal logic-B. (Keep the voltage DVCC1A level.)
GND pin (0V). (Connect all DVSS pins to GND(0V).)
Power supply pin for High speed oscillator. (Keep the voltage DVCC1A level.)
GND pin (0V). (Connect to GND(0V).)
Dummy1 and Dummy2, Dummy3 and Dummy4 are shorted in package. (These pins are not
connected with internal LSI chip.)
Tabl e 2.2.2 shows the range of operational voltage for power supply pins.
Table 2.2.2 the range of operational voltage for power supply pins
Range of
Power supply pin
operational
voltage
DVCC1A
DVCC1B
DVCC1C
DVCC3A
DVCC3B
AVCC
1.4V~1.6V
3.0V~3.6V
92CZ26A-13
Page 17
3. Operation
This section describes the basic components, functions and operation of the TMP92CZ26A.
3.1 CPU
The TMP92CZ26A c onta ins an ad vanced high-speed 32-bit CPU (900/H1 CPU)
3.1.1 CPU Outline
900/H1 CPU is high-speed and high-performance CPU based on 900/L1 CPU. 900/H1
CPU has expanded 32-bit internal data bus to process Instructions more quickly.
Outline is as follows:
TMP92CZ26A
Table 3.1.1Outline of TMP92CZ26A
Parameter TMP92CZ26A
Width of CPU Address Bus 24-bit
Width of CPU Data Bus 32-bit
Internal Operating Frequency Max 80MHz
Minimum Bus Cycle 1-clock access
(12.5ns at 80MHz)
Internal RAM 32-bit 2-1-1-1 clock access
Internal Boot ROM 32 bit 2-clock access
Internal I/O
8-bit,
2-clock access
16-bit,
2-clock access
32-bit,
2-clock access
INTC,SDRAMC,
MEMC,LCDC,
TSI,PORT,
PMC
MMU,USB,
NDFC,SPIC,DMAC
I2S
MAC
32-bit,
1-clock access
8-bit,
5 to 6-clock access
External memory
(SRAM, MASKROM etc.)
External memory
(SDRAM)
External memory
(NAND FLASH)
Minimum Instruction
Execution Cycle
Conditional Jump 2-clock(25.0ns at 80MHz)
Instruction Queue Buffer 12-byte
Instruction Set Compatible with TLCS-900/L1
CPU mode Only maximum mode
Micro DMA 8-channel
Hardware DMA 6-channel
8/16-bit 2-clock access
(can insert some waits)
16-bit 1-clock access
8/16-bit 2-clock access
(can inset some waits)
1-clock(12.5ns at 80MHz)
(LDX instruction is deleted)
MAC
TMRA,TMRB,
SIO,RTC,
MLD/ALM, SBI
CGEAR,ADC,WDT
92CZ26A-14
Page 18
3.1.2 Reset Operation
When resetting the TMP92CZ26A microcontroller, ensure that the power supply voltage
is within the operating voltage range, and that the internal high-frequency oscillator has
stabilized. Then hold the
X1=10MHz).
At reset, since the clock doublers (PLL0) is bypassed and clock-gear is set to 1/16, system
clock operates at 625 kHz(X1=10MHz).
When the Reset has been accepted, the CPU performs the following. CPU internal
registers do not change when the Reset is released.
• Sets the Stack Pointer (XSP) to 00000000H.
• Sets bits <IFF2:0> of the Status Register (SR) to “111” (thereby setting the Interrupt
Level Mask Register to level 7).
•Clears bits <RFP1:0> of the Status Register to 00 (thereby selecting Register Bank 0).
When the Reset is released, the CPU starts executing instructions according to the
Program Counter settings.
•Sets the Program Counter (PC) as follows in accordance with the Reset Vector stored
at address FFFF00H~FFFF02H:
TMP92CZ26A
RESET input Low for at least 20 system clocks (32µs at
PC<7:0> ←data in location FFFF00H
PC<15:8> ←data in location FFFF01H
PC<23:16> ←data in location FFFF02H
When the Reset is accepted, the CPU sets internal I/O, ports and other pins as follows.
•Initializes the internal I/O registers as table of “Special Function Register” in Section
5.
Note1: This LSI builds in RAM internally. However, the data in internal RAM may not be held by Reset
operation. After reset, initialize the data in internal RAM.
Note2: This LSI builds in PMC function (for reducing stand-by current by blocking the power supply of
DVCC1A and DVCC1C). However, if executing reset operation without supplying DVCC1A and
DVCC1C, the current may flow to internal. When reset this LSI, supply the power of DVCC1A and
DVCC1C first and wait until the power supply stabilizes.
Figure 3.1.2 shows reset timing chart. Figure 3.1.2 shows the example of or der of supplying
power and the timing of releasing reset.
92CZ26A-15
Page 19
A
TMP92CZ26A
Read
Write
0FFFF00H
DATA-IN
(After reset is released, it is started
from 1 wait read cycle)
×(15.5∼16.5) Clock
SYS
f
Sampling
Sampling
sys
RESET
f
23∼0
CS2
CS0,1, 3
Figure 3.1.1 TMP92CZ26A Reset timing chart
DATA-IN
D0∼15
RD
SRxxB
DATA-OUT
D0∼15
WRxx
SRWR
: High-Z
SRxxB
92CZ26A-16
Page 20
)
1.5V
Power
3.3V
Power
This LSI has the restriction for the order of supplying power. Be sure to supply external
3.3V power with 1.5V power is supplied.
DVCC1A
DVCC1B
DVCC1C
After 1.5V power
supply is rising,
set 3.3V to ON.
DVCC3A
DVCC3B
AVCC
RESET
Power On
Power supply is rising with
in 100mS, and stabilizes.
High-frequency oscillation
stabilization time
+20 system clock
Stand-by Mode (PMC
Power supply is falling with
in 100mS, and stabilizes.
TMP92CZ26A
Power Off
After 1.5V power
supply is falling, set
3.3V to OFF.
PWE terminal
Note1: Inernal 1.5 V and External 3.3V power supply can be set to ON/OFF at the same time. However, external pin
may become unstable condition momentary. Therefore, set external power supply toON/OFF during internal
power supply is stabile like above figure if there is possibility to affect machinery connected with micro controller.
Note2: When setting to ON, don’t set 3.3V power supply earlier than 1.5V power supply. When setting to OFF, don’t
set to 3.3V power supply later than 1.5 V power supply.
Figure 3.1.2 Power on Reset Timing Example
92CZ26A-17
Page 21
3.1.3 Setting of AM0 and AM1
Set AM1 and AM0 pins as Table 3.1.2 shows according to system usage.
Mode Setup input pin
RESET
AM1 AM0
0 1
1 0
1 1
0 0
Table 3.1.2 Operation Mode Setup Table
DBGE
0 Debug mode
1
0
1
0
1
0
1
Operation Mode
16-bit external bus starting
Test mode (Prohibit to set)
Test mode (Prohibit to set)
BOOT(32-bit internal-MROM )
starting
(BOOT mode)
Test mode (Prohibit to set)
TMP92CZ26A
92CZ26A-18
Page 22
3.2 Memory Map
Figure 3.2.1 is a memory map of the TMP92CZ26A.
000000H
000100H
001FF0H
002000H
010000H
046000H
04A000H
F00000H
F10000H
FFFF00H
FFFFFFH
Internal I/O
(8 Kbyte)
Internal RAM
(288 Kbyte)
(Internal Back Up RAM 16kbyte)
External memory
Provisional Emulator Control Area
(64kbyte)
External memory
Vector table (256 Byte)
Direct area(n)
64Kbyte area
(nn)
16Mbyte area
(R)
(
(Note1)
(R
(R
(R + d8/16)
(nnn)
( = Internal area)
TMP92CZ26A
−R)
+)
+ R8/16)
Figure 3.2.1 Memory Map
Note1: Don’t use specified 64kbyte area of above 16M byte when using debug mode. This is because the area is reserved
for control in the debug mode.
Note2: Don’t use the last 16-byte area (FFFFF0H to FFFFFFH). This area is reserved as internal area.
92CZ26A-19
Page 23
3.3 Clock Function and Standby Function
TMP92CZ26A contains (1) clock gear, (2) clock doubler (PLL), (3) standby controller and (4)
noise-reducing circuit. They are used for low-power, low-noise systems.
This chapter is organized as follows:
3.3.1 Block diagram of system clock
3.3.2 SFRs
3.3.3 System clock controller
3.3.4 Prescaler clock controller
3.3.5 Noise-reducing circuit
3.3.7 Standby controller
TMP92CZ26A
92CZ26A-20
Page 24
The clock operating modes are as follows: (a) PLL-OFF Mode (X1, X2 pins only),
(b) PLL-ON Mode (X1, X2, and PLL).
Figure 3.3.1 shows a transition figure.
The clock frequency input from the X1 and X2 pins is called fOSCH and the clock
frequency input from the XT1 and XT2 pins is called fs. The clock frequency selected by
SYSCR1<GEAR2:0> is called the system clock fSYS. And one cycle of fSYS is defined to
as one state.
IDLE2 mode
(I/O operate)
IDLE1 mode
(Operate only oscillator)
IDLE2 mode
(I/O operate)
IDLE1 mode
(Operate only oscillator)
IDLE2 mode
(I/O operate)
IDLE1 mode
(Operate only oscillator)
instruction
interrupt
instruction
interrupt
instruction
interrupt
instruction
interrupt
instruction
interrupt
instruction
interrupt
Reset
(f
/16)
OSCH
release Reset
PLL-OFF mode
/gear value)
(f
(a) PLL-OFF mode transition figure
OSCH
(f
PLL-OFF mode
(f
OSCH
PLL-ON mode
((12 or 16)×f
Reset
/16)
OSCH
release Reset
/gear value)
Instruction (Note)
/gear value)
OSCH
instruction
interrupt
instruction
interrupt
TMP92CZ26A
STOP mode
(Stops all circuits)
STOP mode
(Stops all circuits)
(b) PLL-OFF , PLL-ON mode transition figure
Note 1: If you shift from PLL-ON mode to PLL-OFF mode, execute following setting in the same order.
(1) Change CPU clock (Set “0” to PLLCR0<FCSEL>)
(2) Stop PLL circuit (Set “0” to PLLCR1<PLLON>)
Note 2: It’s prohibited to shift from PLL-ON mode to STOP mode directly.
You should set PLL-OFF mode once, and then shift to STOP mode.
Figure 3.3.1 System clock block diagram
The clock frequency input from the X1 and X2 pins is called f
called fs. The clock frequency selected by SYSCR1<GEAR2:0> is called the sy stem clock f
to as one state.
and the clock frequency input from the XT1 and XT2 pins is
OSCH
. And one cycle of f
SYS
is defined
SYS
92CZ26A-21
Page 25
R
r
r
(
3.3.1 Block diagram of system clock
SYSCR0<WUEF>
SYSCR2<WUPTM1:0>
TMP92CZ26A
SYSCR0<XTEN >
XT1
XT2
X1
X2
X1USB
Low frequency
Oscillator circuit
High frequency
Oscillator circuit
φT0TMR
Warming up timer
(High/Low frequency oscillator circuit)
Lock up timer
(PLL)
PLLCR1<PLLON>,
fs
Clock Doubler0
×
f
OSCH
PLLCR0<LUPFG>
(PLL0)
12 or16)
÷2
f
PLL
PLLCR0<FCSEL>
Clock Doubler1
(PLL1)× 24
f
SYS
f
io
TMRA0:7,TMRB0:1
Prescaler
SIO0
φT0
Prescaler
SBI
Prescaler
fc
fc/2
÷2÷16÷4
÷5
fc/4
fc/8
÷8
Clock gear
f
PLLUSB
÷2
÷8
SYSCR0<PRCK>
fc/16
SYSCR1<GEAR2:0>
SYSCR0<USBCLK1:0>
CPU
RAM
Interrupt
NAND-Flash
Controller
I/O ports
SDRAMC
DMAC
÷4
LCDC
Memory
Controlle
Controlle
2
S
I
TSI
SPIC
÷2
÷2
φT0
φT0TM
fs
f
SYS
fIO
f
USB
f
OSCH4
RTC
MAC
fs
MLD/ALM
ADC
f
USB
USB
Figure 3.3.2 Block Diagram of System clock
92CZ26A-22
Page 26
TMP92CZ26A
TMP92CZ26A has two PLL circuits: one is for CPU (PLL0) and the other for USB (PLL1).
Each PLL can be controlled independently. Frequency of external oscillator is 6 to 10MHz.
Don’t connect oscillator m ore than 10 MH z. When clo ck is in put by usin g ext ern al osci llato r,
range of input frequency is 6 to10MHz. Don’t input the clock over 10MHz.
Table 3.3.1 Setting example for f
(a) PLL, USB (PLL0 ON/PLL1ON) 10.0 MHz Max 80 MHzMax 60 MHz 48 MHz
(b) PLL, No USB (PLL0 ON/PLL1OFF) Max 10.0 MHz Max 80 MHzMax 60 MHz
(c) No PLL, No USB (PLL0 OFF/PLL1OFF) Max 10.0 MHz Max 10 MHzMax 10 MHz
Note: When using USB, set high-frequency oscillator to 10.0 MHz.
Note1: SYSCR0<bit7><bit3><bit1>,SYSCR1<bit7:3> and SYSCR2<bit1:0> are read as undefined value.
Note2: By reset, low frequency oscillator circuit is enabled.
Note3: Don’t write SYSCR0 resiter during warming up. Because the warm-up end flag doesn’t become enable if
write ”0” to SYSCR0<WUEF> bit during warming up.
( Read-modify-write is prohibited for SYSCR0 register during warming up.)
Bit symbol
Read/Write R R/W R/W R/W R/W
After reset 0 0 0 1 1
Function
Bit symbol
Read/Write
After reset
Function
Bit symbol
Read/Write
After reset
Function
Note: In case restarting the oscillator in the stop oscillation state (e.g. Restart the oscillator in STOP mode), set
PROTECT
Protect flag
0: OFF
1: ON
EMCCR0<DRVOSCH>, <DRVOSCL>
Switching the protect ON/OFF by write to following 1
st
1
-KEY: EMCCR1=5AH,EMCCR2=A5H in succession write
nd
2
-KEY: EMCCR1=A5H,EMCCR2=5AH in succession write
=”1”.
−
Always
write “0”.
EXTIN DRVOSCH DRVOSCL
1: External
clock
st
-KEY,2nd-KEY
fc oscillator
drive ability
1: NORMAL
0: WEAK
fs oscillator
drive ability
1: NORMAL
0: WEAK
Figure 3.3.4 SFR for system clock
92CZ26A-25
Page 29
PLLCR0
(10E8H)
PLLCR1
(10E9H)
TMP92CZ26A
7 6 5 4 3 2 1 0
bit symbol FCSEL LUPFG
Read/Write R/W R
After reset 0 0
Function
Note: Be carefull that logic of PLLCR0<LUPFG> is different from 900/L1’s DFM.
Select
fc-clock
0 : f
OSCH
1 : f
PLL
Lock-up
timer
Status flag
0 : not end
1 : end
7 6 5 4 3 2 1 0
bit symbol PLL0 PLL1 LUPSEL
Read/Write R/W R/W R/W R/W
After reset 0 0 0 0
Select the
Function
PLL0 for
CPU
0: Off
1: On
PLL1 for
USB
0: Off
1: On
Select
stage of
Lock up
counter
0: 12 stage
(for PLL0)
1:13 stage
(for PLL1)
PLLTIMES
number of
PLL
0: ×12
1: ×16
PxDR
(xxxxH)
Figure 3.3.5 SFR for PLL
7 6 5 4 3 2 1 0
bit symbol Px7D Px6D Px5D Px4D Px3D Px2D Px1D Px0D
Read/Write R/W
After reset 1 1 1 1 1 1 1 1
Function Output/Input buffer drive-register for standby-mode
(Purpose and method of using)
• This register is used to set each pin-status at stand-by mode.
• All ports have this format’s register. (“x” means port-name.)
• For each register, refer to 3.5 Function of Ports.
• Before “HALT” instruction is executed, set each register pin-status. They will be
effective after CPU executes “HALT” instructi on.
• This register is effective in all stand-by modes (IDLE2, IDLE1 or STOP).
• This register is effective when using PMC function. For details, refer to PMC
section.
The truth table to control Output/Input-buffer is below.
OE PxnD Output bufferInput buffer
0 0 OFF OFF
0 1 OFF ON
1 0 OFF OFF
1 1 ON OFF
Note1: OE means an output enable signal before stand-by mode. Basically, PxCR is used as OE.
Note2: “n” in PxnD means bit-number of PORTx.
Figure 3.3.6 SFR for drive register
92CZ26A-26
Page 30
3.3.3 System clock controller
TMP92CZ26A
The system clock controller generates the system clock signal (f
) for the CPU core and
SYS
internal I/O.
SYSCR0<XEN> and SYSCR0<XTEN> control enabling and disabling of each oscillator.
SYSCR1<GEAR2:0> sets the high frequency clock gear to either 1, 2, 4, 8 or 16 (fc, fc/2, fc/4,
fc/8, fc/16). These functions can reduce the power consumption of the equipment in which
the device is installed.
The combination of settings <XEN> = “1”, <SYSCK> = “0” and <GEAR2 to 0> = “100” will
be PLL-OFF mode and cause the system clock (f
For example, f
is set to 625 kHz when the 10MHz oscillator is conn ected to the X1 an d
SYS
) to be set to fc/16 after reset.
SYS
X2 pins.
(1) Clock gear controller
is set according to the contents of the Clock Gear Select Register SYSCR1<GEAR2:
f
SYS
0> to either fc, fc/2, fc/4, fc/8 or fc/16. Using the clock gear to select a lower value of f
SYS
reduces power consumption.
(Example)
Changing clock gear
SYSCR1 EQU 10E1H
LD (SYSCR1),XXXXX001B;Changes system clock f
LD (DUMMY),00H Dummy instruction
X: don't care
SYS to
fc/2
(High-speed clock gear changing)
To change the clock gear, write the register value to the SYSCR1<GEAR2 to 0> register.
It is necessary the warming up time until changing after writ ing the register value.
There is the possibility that the instruction next to the cl ock gea r changing i n struction is
executed by the clock gear before changing. To execu te the instruction next to the cl ock gear
switching instruction by the clock gear after changing, input the dummy instruction as
follows (instruction to execute the write cycle).
Instruction to be executed after clock gear changed
SYS
to fc/4
92CZ26A-27
Page 31
3.3.4 Clock doubler (PLL)
TMP92CZ26A
PLL0 outputs the f
clock signal, which is 12 or 16 times as fast as f
PLL
. That is, the
OSCH
low-speed frequency oscillator can be used as external oscillator, even though the internal
clock is high-frequency.
Since Reset initializes PLL0 to stop status, setting to PLLCR0 and PLLCR1-register is
needed before use.
Like an oscillator, this circuit require s time to stabilize. This is called the lock-up time
and it is measured by 12-stage binary counter. Lock-up time is about 0.41ms at f
OSCH
=
10MHz.
PLL (PLL1) which is special for USB is build in. Lock-up time is about 0.82ms at f
OSCH
=
10MHz measured by 13-stage binary counter.
Note1: Input frequency limitation for PLL
The limitation of input frequency (High frequency oscillation) for PLL is following.
= X to X MHz (Vcc = 1.4 to 1.6V)
f
OSCH
Note2: PLLCR0<LUPFG>
The logic of PLLCR0<LUPFG> is different from 900/L1’s DFM.
Be careful to judge an end of lock-up time.
Note3: PLLCR1<PLL0>, PLLCR1<PLL1>
It’s prohibited to turn ON both PLL0 and PLL1 simultaneously.
If turning ON simultaneously, one PLL should be turn ON after finishing the lock up of the other PLL.
2. If you shift to STOP mode during using PLL, you should execute following setting in the
same order.
LD (SYSCR2), XXXX01XXB ;
LD (PLLCR0), X0XXXXXXB ;
LD (PLLCR1), 0XXXXXXXB ; Stop PLL0
HALT ; Shift to STOP mode
X: Don't care
Set the STOP mode
Change the system clock f
PLL
to f
OSCH
Examples of settings are below;
(1) Start Up / Change Control
(OK) High frequency oscillator operati on m ode(f
→ PLL0 use mode (f
LD (PLLCR1), 1XXXXXXXB ; PLL0 start up / lock up start
LUP: BIT 5,(PLLCR0) ;JR Z,LUP ; Check for the flag of lock up end
LD (PLLCR0), X1XXXXXXB ; Change the system clock fOSCH to fPLL
X: Don't care
PLL
)
)→PLL0 start up
OSCH
(2) Change / Stop Control
(OK) PLL0 use mode (f
)→ High frequency oscillator operation mode(f
PLL
OSCH
)
→ PLL0 Stop
LD (PLLCR0),X0XXXXXXB ; Change the system clock fPLL to fOSCH
LD (PLLCR1),0XXXXXXXB ; Stop PLL0
X: Don't care
(OK) PLL0 use mode (f
→High frequency oscillator operation mode (f
) → Set the STOP mode
PLL
) → PLL stop
OSCH
→ HALT(High frequency oscillator stop)
LD (SYSCR2),XXXX01XXB ;Set the STOP mode
(This command can be executed before use of PLL0)
LD (PLLCR0),X0XXXXXXB ;
LD (PLLCR1),0XXXXXXXB ;Stop PLL0
HALT ;Shift to STOP mode
X: Don't care
Change the system clock f
PLL
to f
OSCH
(NG) PLL0 use mode (f
) → Set the STOP mode
PLL
→ HALT(High frequency oscillator stop)
LD (SYSCR2),XXXX01XXB ; Set the STOP mode
(This command can be executed before use of PLL0)
HALT ; Shift to STOP mode
X: Don't care
92CZ26A-30
Page 34
3.3.5 Noise reduction circuits
Noise reduction circuits are built in, allowing implementation of the following features.
(1) Reduced drivability for high-frequency oscillator circuit
(2) Reduced drivability for low-frequency osci llator circuit
(3) Single drive for high-frequency oscillator circuit
(4) SFR protection of register contents
These are set in EMCCR0 to EMCCR2 registers.
(1) Reduced drivability for high-frequency oscillator circuit
(Purpose)
Reduces noise and power for oscillator when a reson ator is used.
(Clock diagram)
C1
X1 pin
f
OSCH
Enable oscillation
TMP92CZ26A
resonator
C2
X2 pin
EMCCR0<DRVOSCH>
(Setting method)
The drivability of the oscillator is reduced by writing”0” to EMCCR0<DRVOSCH>
register . By reset, <DR VOSCH> is initializ ed to “1” and the oscillator starts oscillat ion
by normal-drivability when the power-supply is on.
Note: This function (EMCCR0<DRVODCH>= “0”) is available to use in case f
= 6 to 10MHz condition.
OSCH
92CZ26A-31
Page 35
TMP92CZ26A
(2) Reduced drivability for low-freq uency oscillator circuit
(Purpose)
Reduces noise and power for oscillator when a reson ator is used.
(Block diagram)
C1
XT1 pin
Enable oscillation
Resonator
C2
XT2 pin
EMCCR0<DRVOSCL>
f
S
(Setting method)
The drivability of the oscillator is reduc ed by writing 0 to the EM CCR0<DR VOSCL>
register. By Reset, <DRVOSCL> is initialized to “1 ”.
(3) Single drive for high-frequenc y oscillator circuit
(Purpose)
Not need twin-drive and protect mistake-operat ion by inputted noise to X2 pin when
the external-oscillator is used
.
(Block diagram)
f
X1 pin
Enable oscillation
OSCH
EMCCR0<DRVOSCH>
X2 pin
(Setting method)
The oscillator is disabled and starts operation as buffer by writing “1” to
EMCCR0<EXTIN> register. X2-pin is always outputted”1”.
By reset,<EXTIN> is initialized to “0”.
Note: Do not write EMCCR0<EXTIN> = “1” when using external resonator.
92CZ26A-32
Page 36
TMP92CZ26A
(4) Runaway provision with SFR protection register
(Purpose)
Provision in runaway of program by noise mixing.
Write operation to speci fied SFR is prohibited so that provision program in runaway
prevents that it is in the state which is fetch impossibility by stopping of clock,
memory control register (Memory controller, MMU) is changed.
And error handling in runaway becomes easy by INTP0 interruption.
(Operation explanation)
Execute and release of protection (write operation to specified SFR) becomes
possible by setting up a double key to EMCCR1 and EMCCR2 register.
(Double key)
st
-KEY: Succession writes in 5AH at EMCCR1 and A5H at EMCCR2
1
nd
-KEY: Succession writes in A5H at EMCCR1 and 5AH at EMCCR2
2
A state of pr otection can be confirmed by reading EMCCR0<PROTECT>.
By reset, protection becomes OFF.
And INTP0 interruption occurs when write operation to specified SFR was execu ted
with protection on state.
92CZ26A-33
Page 37
3.3.6 Standby controller
(1) Halt Modes and Port Drive-register
When the HALT instruction is executed, the operating mode switches to IDLE2,
IDLE1 or STOP Mode, depending on the contents of the SYSCR2<HALTM1 to 0>
register and each pin-status is set according to PxDR-register.
7 6 5 4 3 2 1 0
PxDR
(xxxxH)
bit symbol Px7D Px6D Px5D Px4D Px3D Px2D Px1D Px0D
Read/Write R/W
After reset 1 1 1 1 1 1 1 1
Function Output/Input buffer drive-register for standby-mode
(Purpose and method of using)
• This register is used to set each pin-status at stand-by mode.
• All ports have this format’s register. (“x” means port-name.)
• For each register, refer to 3.5 Function of Ports.
• Before “HALT” instruction is executed, set each register pin-status. They will be
effective after CPU executes “HALT” instructi on.
• This register is effective in all stand-by modes (IDLE2, IDLE1 or STOP).
• This register is effective when using PMC function. For details, refer to PMC
section.
The truth table to control Output/Input-buffer is below.
Note1: OE means an output enable signal before stand-by mode.Basically, PxCR is used as OE.
Note2: “n” in PxnD means bit-number of PORTx.
The subsequent actions performed in each mode are as follows:
TMP92CZ26A
OE PxnD Output bufferInput buffer
0 0 OFF OFF
0 1 OFF ON
1 0 OFF OFF
1 1 ON OFF
a. IDLE2: Only the CPU halts.
The internal I/O is available to select operation during IDLE2 mode by
setting the following register.
Tabl e 3. 3. 2 shows the registers of setting operation during IDLE2 mode.
Table 3.3.2 SFR setting operation during IDLE2 mode
These HALT states can be released by resetting or requesting an interru pt. The halt
release sources are determined by the combination between the states of interrupt
mask register <IFF2:0> and the halt modes. The details for releasing the HALT status
are shown in
Table 3.3.4.
• Released by requesting an interrupt
The operating released from the halt mode depends on th e interrupt enab led status.
When the interrupt request level set before executing the HALT instruction exceeds
the value of interrupt mask register, the interrupt due to the source is processed after
releasing the halt mode, and CPU status executing an instruction that follows the
HALT instruction. When the interrupt request level set before executing the HALT
instruction is less than the value of the interrupt mask register, releasing the halt
mode is not executed.(in non-maskable interrupts, interrupt processing is processed
after releasing the halt mode regardless of the value of the mask register.) However
only for INT0 to INT5, INT6, INT7(unsynchronous interrupt), INTKEY,INTRTC,
INTALM int errupts, ev en if th e int errupt requ est level s et befor e executi ng the H ALT
instruction is less than the value of the interrupt mask register, releasing the halt
mode is executed. In this case, interrupt processing, and CPU starts executing the
instruction next to the HALT instruction, but the interrupt request flag is held at “1”.
• Releasing by resetting
Releasing all halt status is executed by resetting.
When the STOP mode is released by RESET, it is necessary enough resetting time to
set the operation of the oscillator to be stabl e.
When releasing the halt mode by resetting, the internal RAM data keeps the state
before the “HALT” instruction is executed. However the other settings contents are
initialized. (Releasing due to interrup ts keeps the state b efore t he “HALT” instruction
is executed.)
92CZ26A-35
Page 39
Table 3.3.4 Source of Halt state clearance and Halt clearance operation
Status of Received Interrupt
Halt mode IDLE2 IDLE1 STOP IDLE2 IDLE1 STOP
INTWDT
INT0 to 5 (Note1)
INTKEY
INTUSB
INT6 to 7(PORT) (Note1)
INT6 to 7(TMRB)
INTALM, INTRTC
INTTA0 to 7, INTTP0
Interrupt
INTTB00 to 01, INTTB10 to 11
INTRX,INTTX, INTSBI
INTI2S0 to 1, INTLCD,
INTAD, INTADHP
Source of Halt state clearance
INTSPIRX,INTSPITX
INTRSC, INTRDY
INTDMA0 to 5
RESET Reset initializes the LSI
: After clearing the Halt mode, CPU starts interrupt processing.
{: After clearing the Halt mode, CPU resumes executing starting from instruction following the HALT instruction.
×: It can not be used to release the halt mode.
−: The priority level (interrupt request level) of non-maskable interrupts is fixed to 7, the highest priority level. There is
not this combination type.
*1: Releasing the halt mode is executed after passing the warmming-up time.
*2: 6 interrupts of all 24 INTUSB sources can release Halt state from IDLE1 mode. Therefore, the system of low
power dissipation can be built. However, the way of use is limited as below.
• Shift to IDLE1 mode :
Execute Halt instruction when the flag of INT_SUS or INT_CLKSTOP is “1” ( SUSPEND state )
• Release from IDLE1 mode :
Release Halt state by the request of INT_RESUME or INT_CLKON ( request of release SUSPEND )
Release Halt state by the request of INT_URST_STR or INT_URST_END ( request of RESET )
Note1: When the Halt mode is cleared by an INT0 interrupt of the level mode in the interrupt enabled status, hold level
H until starting interrupt processing. If level L is set before holding level L, interrupt processing is correctly
started.
TMP92CZ26A
Interrupt Enabled
(interrupt level) ≥ (interrupt mask)
× × − − −
× × × × ×
× { { ×
*2
×{{*2 ×
× × × × ×
(interrupt level) < (interrupt mask)
*1
{{{*1
*1
{{{*1
Interrupt Disabled
92CZ26A-36
Page 40
TMP92CZ26A
(Example - releasing IDLE1 Mode)
An INT0 interrupt clears the Halt state when the device is in IDLE1 Mode.
Address
8200H LD (PCFC), 02H ; Sets PC1 to INT0 interrupt.
8203H LD (IIMC0), 00H ; Select INT0 interrupt rising edge.
8206H LD (INTE0), 06H ; Sets INT0 interrupt level to 6.
8209H EI 5 ; Sets CPU interrupt level to 5.
820BH LD (SYSCR2), 28H ; Sets Halt mode to IDLE1 mode.
820EH HALT ; Halts CPU.
INT0 INT0 interrupt routine.
RETI
820FH LD XX, XX
92CZ26A-37
Page 41
r
r
(3)Operation
Interrupt fo
releasing Halt
TMP92CZ26A
a. IDLE2 Mode
In IDLE2 Mode, only specific internal I/O operations, as designated by the
IDLE2 Setting Register, can take place. Instruction execution by the CPU stops.
Figure 3.3.8 illustrates an example of the timing for clearance of the IDLE2
Mode Halt state by an interrupt.
X1
A0~A23
D0~D31
RD
WR
Data
IDLE2
mode
Data
Figure 3.3.8 Timing chart for IDLE2 Mode Halt state cleared by interrupt
b. IDLE1 Mode
In IDLE1 Mode, only the internal oscillator and the RTC and MLD continue to
operate. The system clock stops.
In the Halt state, the interrupt request is sampled asynchronously with the
system clock; however, clearance of the Halt state (i.e. restart of operation) is
synchronous with it.
Figure 3.3.9 illustrates the timing for clearance of the IDLE1 Mode Halt state b y
an interrupt.
X1
A0~A23
D0~D31
RD
DataData
releasing Halt
WR
Interrupt fo
IDLE1
mode
Figure 3.3.9 Timing chart for IDLE1 Mode Halt state cleared by interrupt
92CZ26A-38
Page 42
r
A0~A23
D0~D31
Interrupt fo
releasing Halt
TMP92CZ26A
c. STOP Mode
When STOP Mode is selected, all internal circuits stop, including the internal
oscillator.
After STOP Mode has been cleared system clock output starts when the warm-up
time has elapsed, in order to allow oscillation to stabiliz e.
Figure 3.3.10 illustrates the timing for clearance of the STOP Mode Halt state by a n
interrupt.
Warm-up
time
X1
Data
RD
STOP
mode
Data
Figure 3.3.10 Timing chart for STOP Mode Halt state cleared by interrupt
Table 3.3.5 Example of warming-up time after releasing STOP-mode
@f
OSCH
=10 MHz
SYSCR2<WUPTM1:0>
01 (28) 10 (214) 11 (216)
25.6 us 1.6384 ms 6.5536 ms
92CZ26A-39
Page 43
TMP92CZ26A
Table 3.3.6 Input Buffer State Table
Input Buffer State
Port Name
D0-D7 D0-D7 OFF − − −
P10-P17 D8-D15
P60-P67 −
P71-P74 − − − −
P75 NDR/W
P76 WAIT
P90 − − − −
P91 RXD0
P92
P96 *1 INT4
P97 − − − −
PA0-PA7 *1 KI0-7
PC0 INT0
PC1 INT1,TA0IN
PC2 INT2
PC3 INT3,TA2IN
PC4-PC7 −
PF0-PF5 −
PG0-PG2
PG4,PG5 *2
PG3 *2 ADTRG
PJ5-PJ6 −
PN0-PN7 −
PP1-PP2 −
PP3 INT5
PP4 INT6,TB0IN0
PP5 INT7,TB1IN0
PR0 SPDI
PR1-PR3 −
PT0-PT7 −
PU0-PU4,
PU6,PU7
PU5 −
PV0-PV2 −
PV6-PV7 SDA, SCL
PW0-PW7 −
PX5 X1USB
PX7 −
PZ0-PZ5
PZ6-PZ7 −
DBGE
D+, D-
RESET −
AM0,AM1 −
X1,XT1 − IDLE2/DLE1: ON
Input Function
Name
,SCLK0
0CTS
− − − −
−
EI_PODDATA,
EI_SYNCLK,
EI_PODREQ,
EI_REFCLK,
EI_TRGIN,
EI_COMRESET
−
−
ON: The buffer is always turned on. A current flows the input buffer if the input
pin is not driven.
OFF: The buffer is always turned off.
- : No applicable
During Reset
16bit Start OFF
Boot Start ON
16bit Start OFF
Boot Start ON
ON
OFF
ON
When the CPU is operating
When Used as
function Pin
ON upon
external read
−−−
ON ON OFF
ON ON OFF
ON ON OFF
−
ON
−−−
ON ON OFF
−−−
ONON
−
When Used
as Input port
ON
ON upon port
read
ON
When Used
as function
Always ON
*1: Port having a pull-up/pull-down resistor.
*2: AIN input does not cause a current to flow through the buffer.
In HALT mode (IDLE2/1/STOP)
<PxDR>=1 <PxDR>=0
When Used
Pin
OFF OFF
−
ON
−
as Input port
ON
OFF
ON
When Used
as function
Pin
−
ON
OFF
ON
−
When Used
as Input port
OFF
92CZ26A-40
Page 44
TMP92CZ26A
Table 3.3.7 Output buffer State Table (1/2)
Output Buffer State
Port Name
D0-7 D0-7 OFF − − −
P10-17 D8-15
P40-P47 A0-A7
P50-P57 A8-A15
P60-67 A16-A23
P70 RD ON
P71 WRLL ,NDRE
P72
P73 EA24
P74 EA25
P75 R/ W
P76 −
P80
P81
ON: The buffer is always turned on. When the bus is released,
however, output buffers for some pins are turned off.
OFF: The buffer is always turned off.
- : No applicable
During Reset
ON
OFF
ON ON ON OFF
OFF
OFF
OFF
When the CPU is operating
When Used
as function
Pin
ON ON OFF
−−−
ON ON
−−−
ON ON OFF
− − −
− − −
ON
When Used
as Output
When Used
as function
port
ON
Always ON
*1: Port having a pull-up/pull-down resistor.
In HALT mode (IDLE2/1/STOP)
<PxDR>=1 <PxDR>=0
Pin
ON
When Used
as Output
port
ON
When Used
as function
Pin
OFF
OFF
ON
STOP: output ”H”
STOP: output ”HZ”
When Used
as Output
IDLE2/1:ON,
IDLE2/1:ON,
port
OFF
92CZ26A-42
Page 46
3.4 Boot ROM
The TMP92CZ26A contains boot ROM for downloading a user program, and supports two
kinds of downloading methods.
3.4.1 Operation Modes
The TMP92CZ26A has two operation modes: MULTI mode and BOOT mode. The
operation mode is selected according to the AM1 and AM0 pin levels when
asserted.
(1) MULTI mode: After reset, the CPU fetches instructions from external memory and
(2) BOOT mode: After reset, the CPU fetches instructions from internal boot ROM
TMP92CZ26A
RESET is
executes them.
and executes them. The boot ROM l oads a user program in to internal
RAM from USB, or via UART, and then branches to the internal
RAM. In this way the user program starts boot operation.
shows an outline of boot operation.
Table 3.4.1 Operation Modes
Table 3.4.2
Mode Setting Pins
RESET
AM1 AM0
0 1 MULTI Start from external 16-bit bus memory
1 0 TEST (Setting prohibited)
1 1 BOOT (Start from internal boot ROM)
0 0 TEST (Setting prohibited)
Operation Mode
Table 3.4.2 Outline of Boot Operation
Name Priority
Source I/F Destination
(a) 1 PC (UART) UART
(b) 2 PC (USB_HOST) USB
Loading
Internal RAM
Operation after
Loading
Branch to internal
RAM
92CZ26A-43
Page 47
3.4.2 Hardware Specifications of Internal Boot ROM
(1) Memory map
Figure 3.4.1 shows a memory map of BOOT mode.
The boot ROM incorporated in the TMP92CZ 26A is an 8-Kbyte ROM area mapped to
addresses 3FE000H to 3FFFFFH.
In MULTI mode, the boot ROM is not mapped and the above area is mapped as an
external area.
000000H
001FF0H
002000H
010000H
TMP92CZ26A
Internal I/O
Internal RAM
(288 Kbytes)
046000H
04A000H
(Internal Backup RAM 16 Kbytes)
3FE000H
3FFF00H
400000H
Internal Boot ROM
(8 Kbytes)
(B) Reset/Interrupt (Note)
Vector Area (256 bytes)
FFFF00H
FFFFFFH
(A) Reset/Interrupt (Note)
Vector Area (256 bytes)
Note: BROMCR<VACE> = “1” : (B) when booting
BROMCR<VACE> = “0” : (A) when multi mode
Figure 3.4.1 Memory Map of BOOT Mode
(2) Switching the boot ROM area to an external area
After the boot sequence is executed in BOOT mode, an application system program
may start running without a reset being asserted. In this case, it is possible to switch
the boot ROM area to an external area.
92CZ26A-44
Page 48
_
3.4.3 Outline of Boot Operation
The method for downloading a user program can be selected from two types: from UART,
or via USB.
After reset, the boot program on the internal boot ROM execu tes as shown in
Regardless of the downloading method used, the boot program downloads a user program
into the internal RAM and then branches to the internal RAM.
boot program uses the internal RAM (common to all the downloading methods).
No
Note 1: To download a user program via USB, a USB device driver and special application software are needed on
the PC.
Note 2: To download a user program via UART, special application software is needed on the PC.
Note 3: The (a), (b) in the above flowchart indicate points where the settings of external port pins are changed. For
details, see
RESUME check
PMCCTL<PCM
Clock setting
•
f
= f
SYS
•
f
= f
USB
Download via
Branch to internal RAM
Table 3.4.3.
Start
OSCH
OSCH
UART
check
No
USB
check
Yes
USB
3000h
TMP92CZ26A
Figure 3.4.2.
Figure 3.4.3 shows how the
Yes
ON>=1
No
× 24/5
(a)
(b)
Yes
Download via UART
Branch to internal RAM
46000h
Figure 3.4.2 Flowchart for Internal Boot ROM Operation
92CZ26A-45
Page 49
TMP92CZ26A
002000H
003000H
049800H
049FFFH
Work Area for Boot Program
Download Area for
(4 Kbytes)
User Program
(282 Kbytes)
Stack Area for
Boot Program
(2 Kbytes)
Figure 3.4.3 How the Boot Program Uses Internal RAM
92CZ26A-46
Page 50
TMP92CZ26A
(1) Port settings
Table 3.4.3 shows the port settings by the boot program. When designing your
application system, please also refe r to
Table 3.4.4 for recommended pin connections
for using the boot program.
The boot program only sets the ports shown in the table below; other ports are left as
they are after reset or at startup of the boot program.
Table 3.4.3 Port Settings by the Boot Program
UART
USB
Port Name
P90 TXD0 Output
P91 RXD0 Input Set as RXD0 input pin
−−− D+ I/O
−−− D− I/O
PU6 PUCTL Output
Function
Name
I/O
No change from after reset
state (input port)
No change from after reset
state (input port)
Description
(a) (b) (c)
No change from (a)
No change
Set as output port No change from (b)
Set as TXD0 output pin
No change from (b)
92CZ26A-47
Page 51
TMP92CZ26A
Table 3.4.4 Recommended Pin Connections
Port Name
UART
USB
Function
Name
P90 TXD0 Output No special setting is needed
P91 RXD0 Input
−−− D+ I/O No special setting is needed
−−− D− I/O
PU6 PUCTL Output
I/O
Recommended Pin Connections for Each Download Method
UART USB
Connect to the level shifter.
for booting via UART.
If USB is not used, add a
pull-up or pull-down resistor to
prevent flow-through current
on the D+/D- pins.
−
for booting via USB.
Add a pull-up resistor (100
kΩ recommended) to prevent
transition to UART processing.
Connect to the USB connector
by adding a dumping resistor
(27Ω recommended) and a
programmable pull-up resistor
(1.5 kΩ recommended). When
USB is not accessed, the pin
level should be fixed with a
resistor to prevent flow-through
current.
Connect to the USB connector
by adding a dumping resistor
(27Ω recommended). When
USB is not accessed, the pin
level should be fixed with a
resistor to prevent flow-through
current.
This pin is used to control
ON/OFF of the D+ pin’s
pull-up resistor. Add a switch
externally so that the pull-up is
turned on when “1”. Reset sets
this pin as an input port, so
add a pull-down resistor (100
kΩ recommended).
Note 1: When a user program is downloaded fromUART and USB is used in the s ystem, the pull-up resistor for USB’s D+ pin
should not be turned on in BOOT mode.
Note 2: When a user program is downloaded via USB, do not start the UART application software on the PC.
Note 3: When a user program is downloaded via UART, do not connect a USB connector.
Note 4: When USB is not used, the D+ and D- pins must be pulled up or down to prevent flow-through current.
92CZ26A-48
Page 52
TMP92CZ26A
(2) I/O register settings
Table 3.4.5 shows the I/O registers that are set by the boot program.
After the boot sequence, if execution moves to an application system program
without a reset being asserted, the settings of these I/O registers must be taken into
account. Also note that the registers in the CPU and the internal RAM remain in the
state after execution of the boot program .
Table 3.4.5 I/O Register Settings by Boot Program
Register Name Set Value Description
WDMOD 00H Watchdog timer not active
WDCR B1H Watchdog timer disabled
SYSCR0 70H High-frequency and low-frequency oscillators operating
SYSCR1 00H Clock gear = 1/1
SYSCR2 2CH Initial value
PLLCR0 00H PLL clock not used
Normally PLL is disabled.
However, only in the case of booting via USB, PLL is
activated for USB.
Note: The values to be set in the I/O registers forUART and USB are not described here. If these functions are
needed in a user program, set each I/O register as necessary.
92CZ26A-49
Page 53
3.4.4 Downloading a User Program via UART
(1) Connection example
Figure 3.4.4 shows an example of connections for downloading a user program via
UART (using a 16-bit NOR Flash memory device as program memory).
PC
Shifter
Note: When USB is not used, add a pull-up or pull-down resistor to the D+ and D- pins to prevent flow-through
current.
Level
UART 3 pins
TXD
RXD
RTS
TXD0 P90 (OUT)D+ DRXD0, P91 (IN) P82,
AM0
AM1
TMP92CZ26A
A1 to 20
P70, RD
PJ2, SRWR
D0 to D15
TMP92CZ26A
2CS
CE
OE
WE
NOR
Flash Memory
D0 toD15
A0 toA19
Figure 3.4.4 UART Connection Example
(2) UART interface specifications
SIO channel 0 is used for downloading a user program.
The UART communication format in BOOT mode is shown below. Before booting, the
PC must also be set up with the same conditions.
Although the default baud rate is 9600 bps, this can be changed as shown in
Table
3.4.8.
Serial transfer mode: : UART (asynchronous) mode, full-duplex
Data length : 8 bits
Parity bit : None
STOP bit : 1 bit
Handshake : None
Baud rate (default) : 9600 bps
92CZ26A-50
Page 54
(3) UART data transfer format
Table 3.4.6to T able 3.4.11 show the supported frequencies, data transfer format, baud
rate modification command, operation command, and version management
information, respectively.
Please also refer to the description of boot program operation later in this section.
Table 3.4.6 Supported Frequencies (X1)
6.00 MHz 8.00 MHz 9.00 MHz 10.00 MHz
Note: The built-in PLL (clock multiplier) is not used regardless of the oscillation frequency.
Table 3.4.7 Tran sfer Format
Byte Number to
Transfer
1st byte
Boot
ROM
2nd byte
3rd byte
to
6th byte
7th byte −Frequency information
8th byte
9th byte
10th byte
to
(n − 4)th byte
(n − 3)th byte −OK: SUM (High)
(n − 2)th byte −OK: SUM (Low)
(n − 1)th byte
n’th byte
RAM −Branch to user program start address
Transfer data from PC to TMP92CZ26A Baud Rate Transfer data from TMP92CZ26A to PC
Matching data (5AH)
−
− Version management information
Baud rate modification command
(See
Table 3.4.8.)
−
User program
Intel Hex format (binary)
User program start command (C0H)
Table 3.4.9.)
(See
−
9600 bps
New baud rate
TMP92CZ26A
− (Frequency measurement and baud
rate auto setting)
OK: Echo back data (5AH)
Error: No transfer
Table 3.4.10)
(See
−
OK: Echo back data
Error: Error code x 3
NG: Operation stop by checksum error
(See (4)-c).)
−
OK: Echo back data (C0H)
Error: Error code x 3
“Error code x 3” means that the error code is transmitted three times. For example, if the error code is 62H, the
TMP92CZ26A transmits 62H three times. For error codes, see (4)-b).
92CZ26A-51
Page 55
TMP92CZ26A
Table 3.4.8 Baud Rate Modification Command
Baud Rate (bps) 9600 19200 38400 57600 115200
Modification Command 28H 18H 07H 06H 03H
Note 1: If f
Note 2: If f
supported.
(oscillation frequency) is 10.0 MHz, 57600 and 115200 bps are not supported.
OSCH
(oscillation frequency) is 6.00, 8.00, or 9.00 MHz, 38400, 57600, and 115200 bps are not
OSCH
Table 3.4.9 Operation Command
Operation Command Operation
C0H User program start
Table 3.4.10 V ersion Ma nagement Information
Version Information ASCII Code
FRM1 46H, 52H, 4DH, 31H
Table 3.4.11 data of measuring frequency
X1-X2 oscillator frequency
(MHz)
09H 0AH 08H 0BH
6.000 8.000 9.000 10.000
(4) Description of the UART boot program operation
The boot program receives a user program sent from the PC via UART and transf ers
it to the internal RAM. If the transfer ends normally, the boot program calculates
SUM and sends the result to the PC before executi ng the user program. T he execution
start address is the first address received. The boot program enables users to perform
customized on-board programming.
When UART is used to download a user program, the maximum allowed program
size is 282 Kbytes (3000H – 49800H). (The extended Intel Hex format is supported.)
a) Operation procedure
1. Connect the serial cable. This must be done bef ore the micr oc on trol ler is res e t.
2. Set the AM1 and AM0 pins to “1” and reset the microcontroller.
3. The receive data in the 1st byte is matching data (5AH). Upon starting in
BOOT mode, the boot program goes to a state in which it waits for matching
data. When matching data is received, the initial baud rate of the serial
channel is automatically set to 9600 bps.
4. The 2nd byte is used to echo back 5AH to the PC upon completion of the
automatic baud rate setting in the 1st byte. If automatic baud rate setting fails,
the boot program stops operation.
5. The 3rd through 6th bytes are used to send the version management
information of the boot program in ASCII code. The PC should check that the
correct version of the boot program is used.
6. The 7th byte is used to send information on the measured frequency. The PC
should check that the frequency of the resonator is measured correctly.
7. The receive data in the 8th byte is baud rate modification data. The five kinds
of baud rate modification data shown in
Table 3.4.8 are available. Even when
92CZ26A-52
Page 56
the baud rate is not changed, the initial baud rate data (28H: 9600 bps) must
be sent. Baud rate modification becomes effective after the echo back
transmission is completed.
8. The 9th byte is used to echo back the received data to the PC when the data
received in the 8th byte is one of the baud rate modification data
corresponding to the operating frequency of the microcontroller. Then, the
baud rate is changed.If the received baud rate data does not corresp ond to the
operating frequency, the boot program stops operation after sending the baud
rate modification error code (62H).
9. The receive data in the 10th to (n-4)th bytes is received as binary data in Intel
Hex format. No echo back data is returned to the PC.
The boot program ignores received data and does not send error code to the PC
until it receives the start mark (3AH for “:”) of Intel Hex format. After
receiving the start mark, the boot program receives a range of data from
record length to checksum and writes the received data to the specified RAM
addresses successively.
If a receive error or checksum error occurs, the boot program stops operation
without sending error code to the PC.
The boot program executes the SUM calculation routine upon detecting the
end record. Thus, after sending the end record, the PC should be placed in a
state in which it waits for SUM data.
10. The (n-3)th and (n-2)th bytes are used to send the SUM value to the PC in the
order of upper byte and lower byte. For details on how to calculate SUM, see
“SUM calculation” to be described later. SUM calculation is performed after
detecting the end record only when no receives error or checksum error has
occurred. Immediately after SUM calculation is completed, the boot program
sends the SUM value to the PC. After sending the end record, the PC should
determine whether or not writing to RAM has completed successfully based
on whether or not the SUM value is received from the boot program.
TMP92CZ26A
11. After sending the SUM value, the boot program waits for the user program
start command (C0H). If the SUM value is correct, the PC should send the
user program start command in the (n-1)th byte.
12. The n’th byte is used to echo back the user program start command to the PC.
After sending the echo back data, the boot program sets the stack pointer to
4A000H and jumps to the address that is received first as Intel Hex format
data.
13. If the user program start command is not correct or a receive error has
occurred, the boot program stops operation a fter sending the error code to the
PC three times.
92CZ26A-53
Page 57
b) Error codes
TMP92CZ26A
The boot program uses the error codes shown in
Table 3.4.12 to n otify the
PC of its processing status.
Table 3.4.12 Error Codes
Error Code Meaning
62H Unsupported baud rate
64H Invalid operation command
A1H Framing error in received data
A3H Overrun error in received data
Note 1: If a receive error occurs while a user program is being received, no error code will be sent to the PC.
Note 2: After sending an error code, the boot program stops operation.
c) SUM calculation
1. Calculation method
SUM is calculated by adding data in bytes and is returned in words, as
explained below.
Example:
A1H
B2H
C3H
D4H
If the data to be calculated consists of the 4 bytes
shown to the left, SUM is calculated as follows:
A1H + B2H + C3H + D4H = 02EAH
SUM (HIGH) = 02H
SUM (LOW) = EAH
2. Data to be calculated
SUM is calculated from the data at the first rece ived address through th e last
received address.
Even if received addresses are not continuous, unwritten addresses are also
included in SUM calculation. The user program should not contain unwritten
gaps.
92CZ26A-54
Page 58
TMP92CZ26A
d) Notes on Intel Hex format (binary)
1. After receiving the checksum of a record, the boot program waits for the start
mark (3AH for “:”) of the next record. If data other than 3AH is received
between records, it is ignored.
2. Once the PC program has finished sending the checksum of an end record, it
must wait for 2 bytes of data (upper and lower bytes of SUM) before sending
any other data. This is because after receiving th e checksum of an end record,
the boot program calculates SUM and returns the result to the PC in 2 byt es .
3. Writing to areas other than internal RAM may cause incorrect operation. To
transfer a record, set the paragraph address to 0000H.
4. Since the address pointer is initially set to 00H, the record type to be
transferred first does not have to be an address record.
5. Addresses 3000H to 49800H are allocated as the user program download
area.
6. A user program in Intel Hex format (ASCII codes) must be converted into
binary data in advance, as explained in the example below.
Example: How to convert an Intel Hex file into binary format
The following shows how an Intel Hex format file is displayed on a text editor.
: 103000000607F100030000F201030000B1F16010B7
: 00000001FF
However, the actual data consists of ASCII codes, as shown below.
3A3130333030303030303630374631303030333030303046323031303330303030
Thus, the ASCII codes must be converted into binary data based on the conversion rules
shown in the table below.
Intel Hex format
Data record 3A
Data
Record type Address Record length End record : (Start mark) 3A
Data Record type Address Record length
ASCII Code Binary Data
3A 3A (Only 3A remains the same.)
30 to 39 0 to 9
41 or 61 A
42 or 62 B
43 or 63 C
44 or 64 D
45 or 65 E
46 or 66 F
0D0A Delete
10 3000 00 0607F100030000F201030000B1F16010 B7
00 0000 01 FF
: (Start mark)
Checksum
92CZ26A-55
Page 59
TMP92CZ26A
e) User program receive error
If either of the following error conditions occurs while a user program is being
received, the boot program stops operation.
If the record type is other than 00H, 01H, or 02H
If a checksum error occurs
f) Measured frequency/baud rate error
When the boot program receives matching data, it measures the oscillation
frequency. If an error is within plus or minus 3%, the b oot program decides on that
frequency.
Each baud rate includes a setting error as shown in
Table 3.4.13. For example,
in the case of 10.00 MHz /9600 bps, the baud rate is actually set at 9615.38 bps. To
establish communication, the sum of the baud r ate setting error and the m easured
frequency error must be within plus or minus 3 %.
Table 3.4.13 Baud Rate Setting Errors (%)
6.000 MHz 0.2 0.2 − − −
8.000 MHz 0.2 0.2 − − −
9.000 MHz 0.2 −0.7 − − −
10.000 MHz 0.2 0.2 −1.4 − −
9600 bps 19200 bps 38400 bps 57600 bps 115200 bp s
−: Not supported
92CZ26A-56
Page 60
(5) Others
a) Handshake function
Although the
not use it for transfer control.
b) RS-232C connector
The RS-232C connector must not be connected or disconnected while the boot
program is running.
c) Software on the PC
When downloading a user program via UART, special application software is
needed on the PC.
CTS pin is available in the TMP92CZ26A, the boot program does
TMP92CZ26A
92CZ26A-57
Page 61
3.4.5 Downloading a User Program via USB
(1) Connection example
Figure 3.4.5 shows an example of connections for downloading a user program via
USB (using a 16-bit NOR Flash memory device as program memory).
PC
R1 = 1.5 kΩ
Note 1: The value of pull-up and pull-down resistors are recommended values.
Note 2: The PU6 and LD22 pins are assigned as PUCTL (pull-up control) output for USB. Be careful about this if the
system uses the 24-bit TFT display function.
Note 3: Since the input gates of the D+ and D- pins are always open even at unused (unaccessed) times, these pins
must be set to a fixed level to prevent flow-through current. Although the level setting is not specified in the
above diagram, be sure to fix the level of the D+ and D- pins by referring to the chapter on USB.
PUCTL
R4 =
100 kΩ
R2 = 27 Ω
R3 = 27 Ω
PU6, LD22RXD,P91
D+ PJ2, SRWR
D−
AM0 D0 to D15
AM1
TMP92CZ26A
A1 to A20
P82,
P70, RD
TMP92CZ26A
2CS
CE
OE
WE
NOR Flash
D0 to D15
A0 to A19
Figure 3.4.5 USB Connection Example
(2) USB interface specifications
When a user program is downloaded via USB, the oscillation frequency should be set
to 10.00 MHz. The transfer speed should be fixed to full speed (12 Mbps).
The boot program uses the following two transfer types.
Table 3.4.14 Transfer Types Used by the Boot Program
Transfer T ype Description
Control Transfer Used for transmitting standard requests and vendor requests.
Bulk Transfer Used for responding to vendor requests and transmitting a user program.
92CZ26A-58
Page 62
r
r
Host (PC)
Connection
Recognition
Check data
Data Transfer
Convert Intel Hex
format data into binary
data
Check data
Send data
Transfer End
Processing
Transmit the transfer result
command 2 seconds after
completion of user
program transfer
Check data
The following shows an overview of the USB c om munication flow.
(Legends)
Control Transfer
Bulk Transfe
TMP92CZ26A
Send GET_DISCRIPTOR
Send DESCRIPTOR information
Send the microcontroller information command
Send microcontroller information data
Send the microcontroller information command
Send microcontroller information data
Send the user program transfer start command
Send a user program
Send the transfer
Send transfer result data
esult command
Prepare microcontroller
information data
Prepare microcontroller
information data
Load the received data into the
specified RAM address area
& prepare microcontroller
information data
(If the received data cannot be loaded
into RAM for some reason, it is
discarded.)
Prepare transfer result data
Branch to
internal RAM
TMP92CZ26A
Figure 3.4.6 Overall Flowchart
92CZ26A-59
Page 63
TMP92CZ26A
Table 3.4.15 Vendor Request Commands
Command Name Value of
Microcontroller information
command
User program transfer start
command
User program transfer result
command
bRequest
00H Send microcontroller
02H Receive a user
04H Send the transfer
Operation Notes
information
program
result
Microcontroller information data is
sent by bulk IN transfer after the
setup stage is completed.
Set the size of a user program in
wIndex.
The user program is received by bulk
OUT transfer after the setup stage is
completed.
Transfer result data is sent by bulk IN
transfer after the setup stage is
completed.
Table 3.4.16 Setup Command Data Structure
Field Name Value Meaning
bmRequestType 40H D7 0: Host to Device
D6-D5 2: Vendor
D4-D0 0: Device
bRequest 00H, 02H, 04H 00H: Microcontroller information
02H: User program transfer start
04H: User program transfer result
wValue 00H~FFFFH
wIndex 00H~FFFFH User program size
wLength 0000H Fixed
Own data number
(Not used by boot program)
(Used when starting a user program transfer)
92CZ26A-60
Page 64
TMP92CZ26A
Table 3.4.17 Standard Request Commands
Standard Request Response Method
GET_STATUS Automatic response by hardware
CLEAR_FEATURE Automatic response by hardware
SET_FEATURE Automatic response by hardware
SET_ADDRESS Automatic response by hardware
GET_DISCRIPTOR Automatic response by hardware
SET_DISCRIPTOR Not supported
GET_CONFIGRATION Automatic response by hardware
SET_CONFIGRATION Automatic response by hardware
GET_INTERFACE Automatic response by hardware
SET_INTERFACE Automatic response by hardware
SYNCH_FRAME Ignored
Table 3.4.18 Information Returned by GET_DISCRIPTOR
DeviceDescriptor
Field Name Value Meaning
Blength 12H 18 bytes
BdescriptorType 01H Device descriptor
BcdUSB 0110H USB Version 1.1
BdeviceClass 00H Device class (Not in use)
BdeviceSubClass 00H Sub command (Not in use)
BdeviceProtocol 00H Protocol (Not in use)
BmaxPacketSize0 40H EP0 maximum packet size (64 bytes)
IdVendor 0930H Vendor ID
IdProduct 6504H Product ID (0)
BcdDevice 0001H Device version (v0.1)
Imanufacturer 00H Index value of string descriptor indicating manufacturer
Iproduct 00H Index value of string descriptor indicating product name
IserialNumber 00H Index value of string descriptor indicating product serial
BnumConfigurations 01H There is one configuration.
bNumInterfaces 01H There is one interface.
bConfigurationValue 01H Configuration number 1
iConfiguration 00H Index value of string descriptor indicating
bmAttributes 80H Bus power
MaxPower 31H Maximum power consumption (49 mA)
Total length (32 bytes) which each descriptor of both
configuration descriptor, interface
and endpoint is added.
configuration name (Not in use)
InterfaceDescriptor
Field Name Value Meaning
bLength 09H 9 bytes
bDescriptorType 04H Interface descriptor
bInterfaceNumber 00H Interface number 0
bAlternateSetting 00H Alternate setting number 0
bNumEndpoints 02H There are two endpoints.
bInterfaceClass FFH Specified device
bInterfaceSubClass 00H
bInterfaceProtocol 50H Bulk only protocol
iIinterface 00H Index value of string descriptor indicating interface
name (Not in use)
EndpointDescriptor
Field Name Value Meaning
<Endpoint1>
blength 07H 7 bytes
bDescriptorType 05H Endpoint descriptor
bEndpointAddress 01H EP1= OUT
bmAttributes 02H Bulk transfer
wMaxPacketSize 0040H Payload 64 bytes
bInterval 00H (Ignored for bulk transfer)
<Endpoint2>
bLength 07H 7 bytes
bDescriptor 05H Endpoint descriptor
bEndpointAddress 82H EP2 = IN
bmAttributes 02H Bulk transfer
wMaxPacketSize 0040H Payload 64 bytes
bInterval 00H (Ignored for bulk transfer)
92CZ26A-62
Page 66
TMP92CZ26A
Table 3.4.19 Information Returned for the Microcontroller Information Command
Table 3.4.20 Information Returned for the User Program Transfer Result Command
Transfer Result ValueError Conditions
No error 00H
User program not received 02H The user program transfer result is received without the user program
transfer start command being received first.
Received file not in Intel Hex format 04H The first data of a user program is not “:” (3AH).
User program size error 06H The size of a received user program is larger than the value set in
Download address error 08H The specified user program download address is not in the designated
Protocol error or other error 0AH The user program transfer start or user program transfer result
wIndex of the user program transfer start command.
area.
The user program size is over 10 Kbytes.
command is received first.
A checksum error is detected in the Intel Hex file.
A record type error is detected in the Intel Hex file.
The length of an address record in the Intel Hex file is 3 or longer.
The length of an end record in the Intel Hex file is other than 0.
92CZ26A-63
Page 67
(3) Description of the USB boot program operation
The boot program loads a user program in Intel H ex format se nt from the P C into the
internal RAM. When the user program has been loaded succ es sfully, the user program
starts executing from the first address received.
The boot program thus enables users to perform customized o n-board programming.
a. Operation procedure
1. Connect the USB cable.
2. Set the AM0 and AM1 pins to “1” and reset the microcontroller.
3. After recognizing USB connection, the PC checks the information on the
connected device using the GET_DISCRIPTOR command.
4. The PC sends the microcontroller information command by control transfer
(vendor request). After the setup stage is completed, the PC checks
microcontroller information data by bulk IN transfer.
5. Upon receiving the microcontroller information command, the boot program
prepares microcontroller information in ASCII code.
6. The PC prepares the user program to be loaded by converting an Intel H ex file
into binary format.
TMP92CZ26A
7. The PC sends the user program transfer start command by control transfer
(vendor request). After the setup stage is comp leted, the PC tran sfers the user
program by bulk OUT transfer.
8. After the user program has been transferred, the PC waits for about two
seconds and then sends the user program transfer result command by control
transfer (vendor request). After the setup stage is completed, the PC checks
the transfer result by bulk IN transfer.
9. Upon receiving the user program transfer result command, the boot program
prepares the transfer result value to be returned.
10. If the transfer result is other than OK, the boot program enters the error
processing routine and will not automatically recover from it. In this case,
terminate the device driver on the PC and retry from step 2.
92CZ26A-64
Page 68
TMP92CZ26A
b. Notes on the user program format (binary)
1. After receiving the checksum of a record, the boot progr am waits for the star t
mark (3AH for “:”) of the next record. If data other than 3AH is received
between records, it is ignored.
2. Since the address pointer is initially set to 00H, the record type to be
transferred first does not have to be an address record.
3. Addresses 3000H to 497FFH (282 Kbytes) are allocated as the user program
download area. The user program should be contained within this area.
4. A user program in Int el Hex format (n ormally written in ASCI I code) must be
converted into binary data before it can be transferred. See the example
below for how to convert an Intel Hex file into binary format.
When a user program is downloaded via USB, the maximum allowed record
length is 250 bytes.
Example: Transfer data when writing 16-byte data in Intel Hex format from address 3000H
The following shows how an Intel Hex format file is displayed on a text editor.
: 103000000607F100030000F201030000B1F16010B7
: 00000001FF
However, the actual data consists of ASCII codes, as shown below.
Thus, the ASCII codes must be converted into binary data based on the conversion rules shown
in the table below.
Data record 3A
Data
Record type Address Record length : (Start mark\)
End record 3A
Checksum Record type Address Record length : (Start mark)
ASCII Code Binary Data
3A 3A (Only 3A remains the same.)
30~39 0~9
41 or 61 A
42 or 62 B
43 or 63 C
44 or 64 D
45 or 65 E
46 or 66 F
0D0A Delete
The above Intel Hex file is converted into binary data as follows:
10 3000 00 0607F100030000F201030000B1F16010 B7
00 0000 01 FF
Checksum
92CZ26A-65
Page 69
(4) Others
a) USB connector
The USB connector must not be connected or disconnected while the boot
program is running.
b) Software on the PC
To download a user program via USB, a USB device driver and special
application software are needed on the PC.
TMP92CZ26A
92CZ26A-66
Page 70
3.5 Interrupts
TMP92CZ26A has a total of 56 interrupts divided into the following five types:
seven levels of priority can also be assigned to each maskable interrupt. Non-maskable
interrupts have a fixed priority level of 7, the highest level.
Interrupts are controlled by the CPU Interrupt Mask Register <IFF2 to 0> (bits 12 to 1 4
of the Status Register) and by the built-in interrupt controller.
Interrupts generated by CPU: 9 sources
• Software interrupts: 8 sources
• Illegal Instruction interrupt: 1 source
Internal interrupts: 38 sources
• Internal I/O interrupts: 30 sources
• Micro DMA Transfer End interrupts /HDMA Transfer End interrupts: 6 sources
• Micro DMA Transfer End interrupts: 2 source
External interrupts: 9 sources
• Interrupts on external pins (INT0 to INT7, INTKEY)
A fixed individual interrupt vector number is assigned to each interrupt source. Any one of
TMP92CZ26A
When an interrupt is generated, the interrupt controller sends the priority of that interrupt
to the CPU. When more than one interrupt are generated simultaneously, the interrupt
controller sends the priority value of the interrupt with the highest priority to the CPU. (The
highest priority level is 7, the level used for non-ma skabl e interrupts.)
The CPU compares the interrupt priority level which it receives with the value held in the
CPU interrupt mask register <IFF2:0>. If the priority level of the interrupt is greater than or
equal to the value in the interrupt mask register, the CPU accepts the interrupt.
However, software interrupts and illegal instruction interrupts generated by the CPU, and
are processed irrespective of the value in <IFF2:0>.
The value in the interrupt mask register <IFF2:0> can be changed using the EI instruction
(EI num sets <IFF2:0> to num). For example, the command EI3 enables the acceptance of all
non-maskable interrupts and of maskable interrupts whose priority level, as set in the
interrupt controller, is 3 or higher. The commands EI and EI0 enable the acceptance of all
non-maskable interrupts and of maskable interrupts with a priority level of 1 or above (hence
both are equivalent to the command EI1).
The DI instruction (Sets <IFF2:0> to 7) is exactly equivalent to the EI7 instruction. The DI
instruction is used to disable all maskable interrupts (since the priority level for maskable
interrupts ranges from 0 to 6). The EI instruction takes effect as soon as it is executed.
In addition to the general-purpose interrupt processing mode described above, there is also a
micro DMA processing mode that can transfer data to internal/external memory and built-in
I/O, and HDMA processing mode. In micro DMA mode the CPU, and in HDMA mode the DMA
controller automatically transfers data in 1byte, 2 byte or 4byte blocks. HDMA mode allows
transfer faster than Micro DMA mode.
In addition, the TMP92CZ26A also has a software start function in which micro DMA and
HDMA processing is requested in soft ware rather than by an interrupt.
flowchart showing overall interrupts processing.
Figure 3.5.1 is a
92CZ26A-67
Page 71
TMP92CZ26A
Interrupt processing
DMA soft start
request
General-purpose
interrupt
processing
Interrupt specified
by DMA
start vector ?
NO
Interrupt vector calue “V”
read interrupt request F/F clear
PUSH PC
PUSH SR
SR<IFF2:0> ← Level of
INTNEST ← INTNEST + 1
PC ← (FFFF00H + V)
Interrupt processing
accepted
interrupt + 1
program
YES
Clear interrupt request flag
Start specified
Data transfer by micro
COUNT ← COUNT − 1
COUNT = 0
by HDMA
NO
DMA
NO
YES
Micro DMA
processing
YES
Clear vector register
generating micro DMA
transfer end interrupt
to HDMA processing flow
(INTTC0)
RETI instruction
POP SR
POP PC
INTNEST ← INTNEST − 1
End
Figure 3.5.1 Interrupt processing Sequence
92CZ26A-68
Page 72
TMP92CZ26A
3.5.1 General-purpose Interrupt Processing
When the CPU accepts an interrupt, it usually performs the following sequence of
operations. However, in the case of software interrupts and illegal instruct ion interrupts
generated by the CPU, the CPU skips steps (1) and (3), and executes only steps (2), (4), and
(5).
(1) The CPU reads the interrupt vector fr om the interrupt con troller. When more than one
interrupt with the same priority level have been generated simultaneously, the
interrupt controller generates an interrupt vector in accordance with the default
priority and clears the interrupt requests. (The default priority is determined as
follows: The smaller the vector value, the hi gher the priority.)
(2) The CPU pushes the program counter (PC) and status regist er ( SR) on to the top o f the
stack (Pointed to by XSP).
(3) The CPU sets the value of the CPU’s interrupt mask register <IFF2:0> to the priority
level for the accepted interrupt plus 1. However, if the priority level for the accepted
interrupt is 7, the register’s value is set to 7.
(4) The CPU increments the interrupt nest ing counter INTNEST by 1.
(5) The CPU jumps to the address given by adding the contents of address FFFF00H + the
interrupt vector, then starts the interrupt processing routine.
On completion of interrupt processing, the RETI instruction is used to return control
to the main routine. RETI restores the contents of the program counter and the status
register from the stack and decrements the interru pt nesting counter INTNEST by 1.
Non-maskable interrupts cannot be disabled by a user program. Maskable interrupts,
however, can be enabled or disabled by a user program. A program can set the priority
level for each interrupt source. (A priority level setting of 0 or 7 will disable an interrupt
request.) If an interrupt request is received for an interrupt with a priority level equal to
or greater than the value set in the CPU interrupt mask register <IFF2:0>, the CPU will
accept the interrupt. The CPU interrupt mask register <IFF2:0> is then set to the value
of the priority level for the accepted interrupt plus 1.
If during interrupt processing, an interrupt is generated with a higher priority than the
interrupt currently being processed, or if, during the processing of a non-maskable
interrupt processing, a non-maskable interrupt request is generated from another source,
the CPU will suspend the routine which it is currently executing and accept the new
interrupt. When processing of the new interrupt has been completed, the CPU will resume
processing of the suspended interrupt.
If the CPU receives another interrupt requ est while p erformin g proc essing steps (1) to
(5), the new interrupt will be sampled immediately after execution of the first instruction
of its interrupt processing routine. Specif ying DI as the st art instruction disables n esting
of maskable interrupts.
After a reset, initializes the interrupt mask register <IFF2:0> to 111, disabling all
maskable interrupts.
Table 3.5.1 shows the TMP92CZ26A interrupt vectors and micro DMA start vectors.
FFFF00H to FFFFFFH (256 bytes) is designated as the interrupt vector area.
92CZ26A-69
Page 73
Table 3.5.1 TMP92CZ26A Interrupt Vectors and Mi cro DMA/HDMA Start Vectors
51 INTADHP: ADmost priority conversion end 00C8H FFFFC8H 32H
52 INTAD: AD conversion end 00CCH FFFFCCH 33H
53 INTTC0/INTDMA0: Micro DMA0 /HDMA0 end 00D0H FFFFD0H 34H
54 INTTC1/INTDMA1: Micro DMA1 /HDMA1 end 00D4H FFFFD4H 35H
55 INTTC2/INTDMA2: Micro DMA2 /HDMA2 end 00D8H FFFFD8H 36H
56 INTTC3/INTDMA3: Micro DMA3 /HDMA3 end
57 INTTC4/INTDMA4: Micro DMA4 /HDMA4 end 00E0H FFFFE0H 38H
58 INTTC5/INTDMA5: Micro DMA5 /HDMA5 end 00E4H FFFFE4H 39H
59 INTTC6 : Micro DMA6 end 00E8H FFFFE8H 3AH
60 INTTC7 : Micro DMA7 end 00ECH FFFFECH 3BH
−
to
−
Note 1: When standing-up micro DMA/HDMA , set at edge detect mode.
Note 2 : Micro DMA default priority.
Type
Maskable
(Reserved)
Micro DMA stands up prior to other maskable interrupt.
Interrupt Source and Source of
Micro DMA Reque st
Vector
Value
00DCH FFFFDCH 37H
00F0H
:
00FCH
Address Refer
to Vector
FFFFF0H
:
FFFFFCH
Micro DMA
/HDMA Start
Vector
−
to
−
92CZ26A-71
Page 75
TMP92CZ26A
3.5.2 Micro DMA processing
In addition to general-purpose interrupt processing, the TMP92CZ26A also includes a
micro DMA function and HDMA function. This section explains about Micro DMA function.
For the HDMA function, please refer 3.23 DMA controller.
Micro DMA processing for interrupt requests set by micro DMA is performed at the
highest priority level for maskable interrupts (Level 6), regardless of the priority level of
the interrupt source.
Because the micro DMA function has been implemented with the cooperative operation
of CPU, when CPU is a state of standby (IDLE2,IDLE1,STOP) by HALT instruction, the
requirement of micro DMA will be ignored (Pending).
Micro DMA is supported 8 channels and can be transferred continuously by specifying
the micro DMA burst function in the following.
Note: When using the micro DMA transfer end interrupt, always write “1” to bit 7 of SIMC register.
(1) Micro DMA operation
When an interrupt request is generated by an interrupt source that specified by the
micro DMA /HDMA start vector register, and Micro DMA start is specified by DMA
selection register, the micro DMA tr iggers a micro DMA request to the CPU at
interrupt priority level 6 and starts processing the request. When IFF = 7, Micro DMA
request cannot be accepted.
The 8 micro DMA channels al low micro DMA processing to be set for up to 8 types of
interrupt at once.
When micro DMA is accepted, the interrupt request flip-flop assigned to that
channel is cleared. Data in 1byte or 2byte or4byte blocks is automatically transferred
at once from the transfer source address to the transfer destination address set in the
control register, and the transfer counter is decremented by “1”. If the value of the
counter after it has been decremented is not “0”, DMA processing ends with no change
in the value of the micro DMA start vector register. If the value of the decremented
counter is “0”, a micro DMA transfer end interrupt (INTTC0 to INTTC7) is sent from
the CPU to the interrupt controller.
In addition, the micro DMA /HDMA start vector register is cl eared to “0”, the next
micro DMA o peration is disabled and micro DMA processing terminates.
If an interrupt request is triggered for the interrupt source in use during the
interval between the time at which the micro DMA /HDMA start vector is cleared and
the next setting, general-purpose interrupt process ing is performed at the interrupt
level set. Therefore, if the interrupt is only being used to initiate micro DMA /HDMA
(and not as a general-purpose interrupt), the interr upt level should first be set to 0
(e.g., interrupt requests should be disabled).
If micro DMA and general-purpose interrupts are being used together as described
above, the level of the interrupt which is being used to initiate micro DMA processing
should first be set to a lower value than all the other interrupt levels. In this case,
edge-triggered interrupts are the only kinds of general interrupts which can be
accepted.
92CZ26A-72
Page 76
TMP92CZ26A
If micro DMA requests are set simultaneously for more than one channel, prior ity is
not based on the interrupt priority level but on the channel number: The lower the
channel number, the higher the priority (Channel 0 thus has the highest priority and
channel 7 the lowest).
Note: Don’t start any micro DMAs by one interrupt. If any micro DMA are set by it, micro DMA th at
channel number is biggest (priority is lowest) is not started.(Because interrupt flag is
cleared by micro DMA that priority is highest)
Although the control registers used for setting the transfer source and transfer
destination addresses are 32 bits wide, this type of register can only output 24-bit
addresses. Accordingly , micro DMA can only access 16 Mbytes (The upper 8 bits of a
32-bit address are not valid).
Three micro DMA transfer modes are supported: 1byte transfer, 2byte (One word)
transfers and 4byte transfers. After a transfer in any mode, the transfer source and
transfer destination addresses will either be incremented or decremented, or will
remain unchanged. This simplifies the transfer of data fr om m emory to mem ory, from
I/O to memory, from memory to I/O, and from I/O to I/O. For details of the various
transfer modes, see section 3.5.2 (4) “Detailed description of the transfer mode
register”.
Since a transfer counter is a 16-bit counter, up to 65536 micro DMA processing
operations can be performed per interrupt source (Provided that the transfer counter
for the source is initially set to 0000H).
Micro DMA p rocessing can be initiat ed by any one of 48 differ ent interrupts – the 47
interrupts shown in the micro DMA start vectors in
Table 3.5.1 and a micro DMA soft
start.
Figure 3.5.2 shows a 2-byte transfer carried out using a micro DMA cycle in
Transfer Destination Address INC Mode (micro DMA transfers are the same in every
mode except Counter Mode). (The conditions for this cycle are as follows: both source
and destination memory are internal-RAM and multipled by 4 numbered source and
destination addresses).
1 state
(1)
(2) (3) (4) (5)
src
dst
SYS
f
A23 to 0
(Note) Actually, src and dst address are not outputted to A23-0 pins
because they are address of internal-RAM.
Figure 3.5.2 Timing for micro DMA cycle
States (1) and (2): Instruction fetch cycle (Prefetches the next instruction code)
State (3): Micro DMA read cycle.
State (4): Micro DMA write cycle.
State (5): (The same as in state (1), (2).)
92CZ26A-73
Page 77
TMP92CZ26A
(2) Soft start function
The TMP92CZ26A can initiate micro DMA/HDMA either with an interrupt or by
using the micro DMA /HDMA soft start function, in which micro DMA or HDMA is
initiated by a Write cycle which writes to the register DMAR.
Writing “1” to each bit of DMAR register causes micro DMA or HDMA to be
performed once. On completion of the transfer, the bits of DMAR for the completed
channel are automatically cleared to “0”.
When writing again “1” to it, soft start can execute continuously until the DMA
transfer counter (DMACn) or HDMA transfer counter B (HDMACBn) become “0”.
When a burst is specified by the register DMAB, data is transferred continuously
from the initiation of micro DMA until the valu e in the micro DMA transf er counter is
“0”.
Note1: If it is started by software, don’t set any channels to start in same time.
Note2: If be started sequentially, restart it after confirming micro DMA of all channels is completed
(all micro DMA are set to “0”).
Symbol NAME Address7 6 5 4 3 2 1 0
DREQ7 DREQ6DREQ5DREQ4DREQ3DREQ2 DREQ1DREQ0
R/W
0 0 0 0 0 0 0 0
1: Start DMA
DMAR
DMA
Request
109H
(Prohibit
RMW)
(3) Transfer control registers
The transfer source address and the transfer destination address are set in the follo wing
registers. An instruction of the form LDC cr,r can be used to set these registers.
(4)Detailed description of the transfer mode register
0 0 0
Mode
DMAM0 to 7
DMAMn[4:0] Mode Description Execution Time
0 0 0 z z Destination INC mode
(DMADn +) ← (DMASn)
DMACn ← DMACn - 1
if DMACn = 0 then INTTCn
0 0 1 z z Destination DEC mode
(DMADn -) ← (DMASn)
DMACn ← DMACn - 1
if DMACn = 0 then INTTCn
0 1 0 z z Source INC mode
(DMADn) ← (DMASn +)
DMACn ← DMACn - 1
if DMACn = 0 then INTTCn
TMP92CZ26A
5 states
5 states
5 states
0 1 1 z z Source DEC mode
(DMADn) ← (DMASn -)
DMACn ← DMACn – 1
if DMACn = 0 then INTTCn
1 0 0 z z Source and destination INC mode
(DMADn +) ← (DMASn +)
DMACn ← DMACn – 1
If DMACn = 0 then INTTCn
1 0 1 z z Source and destination DEC mode
(DMADn -) ← (DMASn -)
DMACn ← DMACn – 1
If DMACn = 0 then INTTCn
1 1 0 z z Destination and fixed mode
(DMADn) ← (DMASn)
DMACn ← DMACn – 1
If DMACn = 0 then INTTCn
1 1 1 00 Counter mode
DMASn ← DMASn + 1
DMACn ← DMACn – 1
If DMACn = 0 then INTTCn
ZZ: 00 = 1-byte transfer
01 = 2-byte transfer
10 = 4-byte transfer
11 = Reserved
Note 1: n stands for the micro DMA channel number (0 to 7).
DMADn+/DMASn+: Post increment (Register value is incremented after transfer).
DMADn−/DMASn−: Post decrement (Register value is decremented after transfer).
“I/O” signifies fixed memory addresses; “memory” signifies incremented or decremented memory addresses.
Note 2: The transfer mode register should not be set to any value other than those listed above.
Note 3: The execution state number shows number of best case (1-state memory access).
5 states
6 states
6 states
5 states
5 states
92CZ26A-75
Page 79
TMP92CZ26A
3.5.3 Interrupt Controller Operation
The block diagram in Figure 3.5.3 shows the interrupt circuits. The left-hand side of the
diagram shows the interrupt controller circuit. The right-hand side shows the CPU
interrupt request signal circuit and the halt release circuit.
For each of the 59 interrupts channels there is an interrupt request flag (consisting of a
flip-flop), an interrupt priority setting register and a micro DMA /HDMA start vector
register. The interrupt request flag latches interrupt requests from the peripherals.
The flag is cleared to “0” in the following cases: when a res et occurs, when the CPU re ads
the channel vector of an interrupt it has received, when the CPU receives a micro DMA
request (when micro DMA is set), when the CPU receives a HDMA request (when HDMA is
set), when a micro DMA burst transfer is terminated, and when an instruction that clears
the interrupt for that channel is executed (by writing a micro DMA start vector to the
INTCLR register).
An interrupt priority can be set independently for each interrupt source by writing the
priority to the interrupt priority setting register (e.g., INTE0 or INTE12). Six interrupt
priorities levels (1 to 6) are provided. Setting an interrupt source’s priority level to 0 (or 7)
disables interrupt requests from that source.
If more than one interrupt request with a given priority level are generated
simultaneously, the default priority (The interrupt with the lowest priority or, in other
words, the interrupt with the lowest vector value) is used to determine which interrupt
request is accepted first. The 3rd and 7th bits of the interrupt priority setting register
indicate the state of the interrupt request flag and thus whethe r an interrupt requ est for a
given channel has occurred.
If several interrupts are generated simultaneously, the interrupt controller sends the
interrupt request for the interrupt with the highest priority and the interrupt’s vector
address to the CPU. The CPU compares the mask value set in <IFF2:0> of the status
register (SR) with the priority level of the requested interrupt; if the latter is higher, the
interrupt is accepted. Then the CPU sets SR<IFF2:0> to the priority level of the accepted
interrupt + 1. Hence, during processing of the accepted interrupt, new interrupt requests
with a priority value equal to or higher than the value set in SR<IFF2:0> (e.g., interrupts
with a priority higher than the interrupt being processed) will be accepted.
When interrupt processing has been completed (e.g., after execution of a RETI instruction),
the CPU restores to SR<IFF2:0> the prior ity value which was sa ved on the stack b efore the
interrupt was generated.
The interrupt controller also includes eight registers which are used to store the micro
DMA /HDMA start vector. Writing the start vector of the interrupt source for the micro
DMA or /HDMA process ing (See T able), enables the correspondi ng interrupt to be processed
by micro DMA or HDMA processing. The values must be set in the micro DMA parameter
registers (e.g., DMAS and DMAD) or HDMA parameter registers (e.g., HDMAS, and
HDMAD) prior to micro DMA or HDM A processing.
92CZ26A-76
Page 80
I
t
t
t
7
7
TMP92CZ26A
During
STOP
During
IDLE1
HALT relea s e
INTALM
Micro DMA request
Micro DMA channel
specification
3
HDMA
IFF=7 then 0
Interrupt request
signal
EI 1 to 7
DI
RESET
mask
detect
Interrupt
RESET
INT0,1 to 4,INTKEY, INTRTC
3
3
IFF2 to 0
Interrupt mask F/F
2∼0 then 1.
INTRQ2∼0 ≥ IFF
3
D0
D1
D2
D3
D4
D5
D6
D7
INTRQ2 to 0
signal to CPU
A
B
C
Highest
priority
interrupt
1 2 3 4 5
level select
6
Priority encorder
7
6
1
generator
Interrupt vector
52
Interrupt vector
read
8 input OR
Interrupt request
3
A
B
C
0 1 2
8
encorder
Micro DMA channel priority
1
HDMA request
HDMA channel
3
3
A
B
C
6 input OR
0 1 2 5
6
encorder
HDMA channel priority
6
6
V = 28H
V = 30H
V = 34H
V = 38H
V = 40H
V = 20H
V = 24H
Y1
Y2
Y3
Y4
Y5
Y6
Interrupt controller CPU
Decorder
A
B
C
Dn + 3
V = 2CH
V = 44H
V = E0H
V = E4H
V = 3CH
V = E8H
V = ECH
DMA0V
DMA1V
DMA3V
DMA4V
DMA5V
DMA6V
Soft start
DMA2V
DMA7V
S
Selector
51
6
Interrupt request F/F
INTTC0/
INTDMA0
CLR
RESET
D1
D0
Micro DMA/HDMA selection register
Interrupt request F/F
S Q
Interrupt vector read
R
or
CLR
D Q
vec
Dn + 1
Dn + 2
read
INTWD
Dn
Priority setting register
errup
n
RESET
Interrupt
S Q
request F/F
INT0
Micro DMA acknowledge
R
D Q
D5
D4
D3
Reset
Micro DMA/HDMA start vector setting register
INT1
INT2
INT3
INT4
INTALM
INTTA4
INTTA5
INTTC4/INTDMA4
INTTC5/INTDMA5
INTTC6
INTTC7
Micro
DMA/HDMA
counter 0
interrupt
D2
Figure 3.5.3 Block Diagram of Interrupt Controller
Note 1: Disable INT0 request before changing INT0 pin mode from level sense to edge sense.
(change <I0LE>from “1” to “0”)
DI
LD (IIMC0), XXXXXX0-B ; Switches from level to edge.
LD (INTCLR), 0AH ; Clears interrupt request flag.
NOP ; Wait EI execution
NOP
NOP
EI
Note 2: X: Don’t care, –: No change
Note 3: See electrical characteristics in section 4 for external interrupt input pulse width.
Note 4: In port setting, if 16 bit timer input is selected and capture control is executed, INT6 and
INT7 don’t depend on IIMC1 register setting. INT6 and INT7 operate by setting
Note: When using the micro DMA transfer end interrupt, always write “1”.
F5H
(Prohibit
RMW)
0 0 1
Always
write “0”
(Note)
Always
write “0”
IR0LE
0:INTRX0
edge
mode
1:INTRX0
level
mode
INTRX0 edge enable
0 Edge detect INTRX0
1 “H” level INTRX0
92CZ26A-83
Page 87
TMP92CZ26A
(4) Interrupt request flag clear register
The interrupt request flag is cleared by writing the appropriate micro DMA /HDMA start
vector, as given in
Table 3 . 5.1 to the register INTCLR.
For example, to clear the interrupt flag INT0, perform the following register operation after
execution of the DI instruction.
INTCLR
0AH ; Clears interrupt request
←
flag INT0.
Symbol Name Address 7 6 5 4 3 2 1 0
CLRV7 CLRV6 CLRV5CLRV4CLRV3CLRV2 CLRV1CLRV0
W
0 0 0 0 0 0 0 0
Interrupt vector
INTCLR
Interrupt
clear
control
F8H
(Prohibit
RMW)
(5) Micro DMA start vector registers
These registers assign micro DMA /HDMA processing to sets which source corresponds to
DMA. The interrupt source whose micro DMA /HDMA start vector value matches the vector set
in one of these registers is designated as the micro DM A /HDMA start source.
When the micro DMA transfer counter (DMACn) or HDMA transfer counter B (HDMACBn)
value reaches “0”, the micro DMA /HDMA transfer end interrupt corresponding to the channel
is sent to the interrupt controller, the micro DMA /HDMA start vector register is cleared, and
the micro DMA /HDMA start source for the channel is cleared. Therefore, in order for micro
DMA /HDMA processing to continue, the micro DMA /HDMA start vector register must be set
again during processing of the micro DMA /HDMA transfer end interrupt.
If the same vector is set in the micro DMA /HDMA start vector registers of more than one
channel, the lowest numbered channel takes priority.
Accordingly, if the same vector is set in the micro DMA /HDMA start vector registers for two
different channels, the interrupt generated on the lower-numbered channel is executed until
micro DMA /HDMA trans fer is complete. If the mic ro DMA /HDMA start vector for this channel
has not been set in the channel’s micro DMA /HDMA start vector register again, micro DMA
/HDMA transfer for the higher-numbered channel will be commenced. (This process is known
as micro DMA /HDMA chaining.)
92CZ26A-84
Page 88
TMP92CZ26A
Symbol Name Address 7 6 5 4 3 2 1 0
DMA0V
DMA1V
DMA2V
DMA3V
DMA4V
DMA5V
DMA6V
DMA7V
DMA0
start
vector
DMA1
start
vector
DMA2
start
vector
DMA3
start
vector
DMA4
start
vector
DMA5
start
vector
DMA6
start
vector
DMA7
start
vector
100H
101H
102H
103H
104H
105H
106H
107H
DMA0V5 DMA0V4DMA0V3DMA0V2 DMA0V1DMA0V0
R/W
0 0 0 0 0 0
DMA0 start vector
DMA1V5 DMA1V4DMA1V3DMA1V2 DMA1V1DMA1V0
R/W
0 0 0 0 0 0
DMA1 start vector
DMA2V5 DMA2V4DMA2V3DMA2V2 DMA2V1DMA2V0
R/W
0 0 0 0 0 0
DMA2 start vector
DMA3V5 DMA3V4DMA3V3DMA3V2 DMA3V1DMA3V0
R/W
0 0 0 0 0 0
DMA3 start vector
DMA4V5DMA4V4DMA4V3DMA4V2 DMA4V1DMA4V0
R/W
0 0 0 0 0 0
DMA4 start vector
DMA5V5DMA5V4DMA5V3DMA5V2 DMA5V1DMA5V0
R/W
0 0 0 0 0 0
DMA5 start vector
DMA6V5DMA6V4DMA6V3DMA6V2 DMA6V1DMA6V0
R/W
0 0 0 0 0 0
DMA6 start vector
DMA7V5DMA7V4DMA7V3DMA7V2 DMA7V1DMA7V0
R/W
0 0 0 0 0 0
DMA7 start vector
(6) Micro DMA/HDMA select register
This register selectable that is started either Micro DMA or HDMA processing.
Micro DMA /HDMA start vector register (DMAnV) shared with both functions. When
interrupt which match with vector value that is set to DMA/HDMA start vector register
generated, use this register.
Symbol NAME Address
Micro
DMASEL
DMA/HDMA
select
10AH
7 6 5 4 3 2 1 0
DMASEL5 DMASEL4 DMASEL3 DMASEL2 DMASEL1 DMASEL0
R/W
0 0 0 0 0 0
0:Micro
DMA5
1:HDMA5
0:Micro
DMA4
1:HDMA4
0:Micro
DMA3
1:HDMA3
0:Micro
DMA2
1:HDMA2
0:Micro
DMA1
1:HDMA1
0:Micro
DMA0
1:HDMA0
92CZ26A-85
Page 89
TMP92CZ26A
(7) Specification of a micro DMA burst
Specifying the micro DMA burst function causes micro DMA transfer, once started, to
continue until the value in the transfer counter register reaches “0”. Setting any of the bits in
the register DMAB which correspond to a micro DMA channel (as shown below) to “1” specifies
that any micro DMA transfer on that channel will be a burst transfer.
Symbol Name Address 7 6 5 4 3 2 1 0
DBST7 DBST6DBST5DBST4DBST3DBST2 DBST1DBST0
DMAB
DMA
burst
108H
0 0 0 0 0 0 0 0
1: DMA request on Burst mode
R/W
92CZ26A-86
Page 90
(8) Notes
independently. Therefore, if imm ediat ely befor e an interru pt is generat ed, the CPU fetches
an instruction which clears the corresponding interrupt reques t flag, the CP U may ex ecute
this instruction in between accepting the interrupt and reading the interrupt vector. In this
case, the CPU will read the default vector 0004H and jump to interrupt vector address
FFFF04H.
preceded by a DI instruction. And in the case of setting an interrupt enable again by EI
instruction after the execution of clearing instruction, execute EI instruction after clearing
and more than 3-instructions (e.g., “NOP” × 3 times). If placed EI instruction without
waiting NOP instruction after execution of clearing instruction, interrupt will be enable
before request flag is cleared.
POP SR instruction, disable an interrupt by DI instruction before execution of POP SR
instruction.
special attention.
INT0 level mode
INTRX
TMP92CZ26A
The instruction execution unit and the bus interface unit in this CPU operate
To avoid this, an instruction which clears an interrupt request flag should always be
In the case of changing the value of th e interrupt m ask register <IF F2:0> by execut ion of
In addition, please note that the following two circuits are exceptional and demand
In level mode INT0 is not an edge-triggered interrupt. Hence, in level mode the
interrupt request flip-flop for INT0 does not function. The peripheral interrupt
request passes through the S input of the flip-flop and becomes the Q output. If the
interrupt input mode is changed from edge mode to level mode, the interrupt
request flag is cleared automatically.
If the CPU enters the interrupt response sequence as a result of INT0 going from 0
to 1, INT0 must then be held at 1 until the interrupt response sequence has been
completed. If INT0 is set to level mode so as to release a halt state, INT0 must be
held at 1 from the time INT0 changes from 0 to 1 until the halt state is released.
(Hence, it is necessary to ensure that input noise is not interpreted as a 0, causing
INT0 to revert to 0 before the halt state has been released.)
When the mode changes from level mode to edge mode, interrupt request flags
which were set in level mode will not be cleared. Interrupt request flags must be
cleared using the following sequence.
DI
LD (IIMC0), 00H ; Switches from level to edge.
LD (INTCLR), 0AH ; Clears interrupt request flag.
NOP ; Wait EI execution
NOP
NOP
EI
In level mode (The register SIMC<IRxLE> set to “1”), the interrupt request flip-flop
can only be cleared by a reset or by reading the serial channel receive buffer. It
cannot be cleared by an instruction.
Note: The following instructions or pin input state changes are equivalent to instructions which
clear the interrupt request flag.
INT0: Instructions which switch to level mode after an interrupt request has been
generated in edge mode.
The pin input changes from high to low after an interrupt request has been
generated in level mode. (“H” → “L”)
INTRX: Instructions which read the receive buffer.
92CZ26A-87
Page 91
TMP92CZ26A
3.6 DMAC (DMA Controller)
The TMP92CZ26A incorporates a DMA controller (DMAC) having six channels. This DMAC can
realize data transfer faster than the micro DMA function by the 900/H1 CPU.
The DMAC has the following features:
1) Six independent channels of DMA
2) Two types of transfer start requests
Hardware request (using an interrupt source connected with the INTC) or software
request can be selected for each channel.
3) Various source/destination combinations
The combination of transfer source and destination can be selected for each channel
from the following four ty pes: memory to memory, memory to I/O, I/O to memory, I/O
to I/O.
4) Transfer address mode
Only the dual address mode is supported.
5) Dual-count mechanism and DMA end interrupt
Two count registers are provided to execute multiple DMA transfers by one DMA
request and to generate multiple DMA requests at a time. The DMA end interrupt
(INTDMA0 to INTDMA5) is also provided so that a general-purp ose interrupt routine
can be used to prepare for the next processing.
6) Priorities among DMA channels (the same as the micro DMA acceptance specifications
of the INTC)
DMA requests are basically accepted in the order in which th ey are assert ed. If more
than one request is asserted simultaneously or it looks as if two requests were
asserted simultaneously because one of the reques ts has been put on hold while other
processing was being performed, the smaller-numbered channel is given a higher
priority.
7) DMAC bus occupancy limiting function
The DMAC incorporates a special timer for limiting its bus occupancy time to avoid
excessive interference with the CPU or L CDC operation.
8) The DMAC can be used in HALT (IDLE2) mode.
92CZ26A-88
Page 92
0
A
A
A
A
A
A
TMP92CZ26A
3.6.1 Block Diagram
Interrupt REQ
Figure 3.6.1 shows an overall block diagram for the DMAC.
SDRAM Controller
LCD Controller
Bus REQ
31 0
DMASn
→Micro DMA source address setting
DMADn
→Micro DMA destination address setting
DMACn
→Micro DMA transfer count setting
DMAMn
→Micro DMA mode setting
Bus ACK
15 0
7 0
INTC (Interrupt Controller)
DMAnV
→DMAC or micro DMA request
source setting
DMAR
→DMAC or micro DMA soft start
setting
DMAB
→Micro DMA burst setting
DMASEL
→DMAC or micro DMA select
setting
7 0
Bus ACK
Bus REQ
Micro DMA REQ,
Micro DMA Channel
Micro DMA ACK,
INTTCn
CPU
ddress Bus
ddress Bus
Data Bus
State
ddress Bus
Data Bus
State
State
Bus
Multiplexer
Source Memory, I/O
ddress Bus
Data Bus
State
Destination Memory, I/O
ddress Bus
Data Bus
State
DMA REQ,
DMA Channel
DMA ACK,
INTDMAn
DMAC
HDMASn
HDMADn
→DMA destination address setting
HDMACAn
HDMACBn
HDMAMn
HDMAE
HDMATR
→DMA maximum bus occupancy
time setting, mode setting
Bus REQ
Bus ACK
31 0
→DMA source address setting
15
→DMA transfer count A setting
→DMA transfer count B setting
→DMA mode setting
7 0
→DMA operation enable/dis able
ddress Bus
State
Data Bus
Note: “n” denotes a channel number. Micro DMA has eight channels (0 to 7) and DMA has six channels (0 to 5).
Figure 3.6.1 Overall Block Diagram
92CZ26A-89
Page 93
3.6.2 SFRs
The DMAC has the following SFRs. These registers are connected to the CPU via a 16-bit
data bus.
(1) HDMASn (DMA Transfer Source Address Setting Register)
The HDMASn register is used to set the DMA transfer source address. When the source
address is updated by DMA execution, HDMASn is also updated.
HDMAS0 to HDMAS5 have the same configuration.
Although the bus sizing function is supported, the address alignment function is not
supported. Therefore, specify an even-numbered address for transferring 2 bytes and an
address that is an integral multiple of 4 for transferring 4 bytes.
7 6 5 4 3 2 1 0
HDMASn
bit Symbol DnSA7DnSA6 DnSA5 DnSA4 DnSA3DnSA2 DnSA1 DnSA0
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Source address [7:0] for DMAn
15 14 13 12 11 10 9 8
bit Symbol DnSA15DnSA14 DnSA13DnSA12DnSA11DnSA10DnSA9 DnSA8
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function
23 22 21 20 19 18 17 16
bit Symbol DnSA23DnSA22 DnSA21DnSA20DnSA19DnSA18DnSA17 DnSA16
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Source address [23:16] for DMAn
Channel 0
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Note: Read-modify-write instructions can be used on all these registers.
Source address
[23:16]
(0902H)
(0912H)
(0922H)
(0932H)
(0942H)
(0952H)
HDMASn Register
Source address [15:8] for DMAn
Source address
[15:8]
(0901H)
(0911H)
(0921H)
(0931H)
(0941H)
(0951H)
Source address
TMP92CZ26A
[7:0]
HDMAS0
(0900H)
HDMAS1
(0910H)
HDMAS2
(0920H)
HDMAS3
(0930H)
HDMAS4
(0940H)
HDMAS5
(0950H)
Figure 3.6.2 HDMASn Register
92CZ26A-90
Page 94
(2) HDMADn (DMA Transfer Destination Address Setting Register)
The HDMADn register is used to set the DMA transfer destination address. When the
destination address is updated by DMA execution, HDMADn is also updated.
HDMAD0 to HDMAD5 have the same configuration.
Although the bus sizing function is supported, the address alignment function is not
supported. Therefore, specify an even-numbered address for transferring 2 bytes and an
address that is an integral multiple of 4 for transferring 4 bytes.
7 6 5 4 3 2 1 0
HDMADn
bit Symbol DnDA7DnDA6 DnDA5 DnDA4 DnDA3 DnDA2 DnDA1 DnDA0
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Destination address [7:0] for DMAn
15 14 13 12 11 10 9 8
bit Symbol DnDA15DnDA14 DnDA13DnDA12DnDA11DnDA10DnDA9 DnDA8
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function
23 22 21 20 19 18 17 16
bit Symbol DnDA23DnDA22 DnDA21DnDA20DnDA19DnDA18DnDA17 DnDA16
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Destination address [23:16] for DMAn
Channel 0
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Note: Read-modify-write instructions can be used on all these registers.
Destination
address
[23: 16]
(0906H)
(0916H)
(0926H)
(0936H)
(0946H)
(0956H)
HDMADn Register
Destination address [15:8] for DMAn
Destination
address
[15: 8]
(0905H)
(0915H)
(0925H)
(0935H)
(0945H)
(0955H)
Destination
address
[7: 0]
HDMAD0
(0904H)
HDMAD1
(0914H)
HDMAD2
(0924H)
HDMAD3
(0934H)
HDMAD4
(0944H)
HDMAD5
(0954H)
TMP92CZ26A
Figure 3.6.3 HDMADn Register
92CZ26A-91
Page 95
(3) HDMACAn (DMA Transfer Count A Setting Register)
The HDMACAn register is used to set the number of times a DMA transfer is to be
performed by one DMA request. HDMACAn contains 16 bits and can specify up to 65536
transfers (0001H = one transfer, FFFFH = 65535 transfers, 0000H = 65536 transfers). Even
when the transfer count A is updated by DMA execution, HDMACAn is not updated.
HDMACA0 to HDMACA5 have the same configuration.
7 6 5 4 3 2 1 0
HDMACAn
bit Symbol DnCA7DnCA6 DnCA5 DnCA4 DnCA3 DnCA2 DnCA1 DnCA0
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Transfer count A [7:0] for DMAn
15 14 13 12 11 10 9 8
bit Symbol DnCA15DnCA14 DnCA13DnCA12DnCA11DnCA10DnCA9 DnCA8
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Transfer count A [15:8] for DMAn
Channel 0
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Note: Read-modify-write instructions can be used on all these registers.
Transfer count A
[15: 8]
(0909H)
(0919H)
(0929H)
(0939H)
(0949H)
(0959H)
TMP92CZ26A
HDMACAn Register
Transfer count A
[7: 0]
HDMACA0
(0908H)
HDMACA1
(0918H)
HDMACA2
(0928H)
HDMACA3
(0938H)
HDMACA4
(0948H)
HDMACA5
(0958H)
Figure 3.6.4 HDMACAn Register
92CZ26A-92
Page 96
(4) HDMACBn (DMA Transfer Count B Setting Register)
The HDMACBn register is used to set the number of t imes a D MA r equest is to be m ade.
HDMACBn contains 16 bits and can specify up to 65536 requests (0001H = one request,
FFFFH = 65535 requests, 0000H = 65536 requests). When the transfer count B is updated
by DMA execution, HDMACBn is also updated.
HDMACB0 to HDMACB5 have the same configuration.
7 6 5 4 3 2 1 0
HDMACBn
bit Symbol DnCB7DnCB6 DnCB5 DnCB4 DnCB3 DnCB2 DnCB1 DnCB0
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Transfer count B [7:0] for DMAn
15 14 13 12 11 10 9 8
bit Symbol DnCB15DnCB14 DnCB13DnCB12DnCB11DnCB10DnCB9 DnCB8
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Function Transfer count B [15:8] for DMAn
Channel 0
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Note: Read-modify-write instructions can be used on all these registers.
Transfer count B
[15: 8]
(090BH)
(091BH)
(092BH)
(093BH)
(094BH)
(095BH)
TMP92CZ26A
HDMACBn Register
Transfer count B
[7: 0]
HDMACB0
(090AH)
HDMACB1
(091AH)
HDMACB2
(092AH)
HDMACB3
(093AH)
HDMACB4
(094AH)
HDMACB5
(095AH)
Figure 3.6.5 HDMACBn Register
92CZ26A-93
Page 97
(5) HDMAMn (DMA Transfer Mode Setting Register)
The HDMAMn register is used to set the DMA transfer mo de.
HDMAM0 to HDMAM5 have the same configuration.
7 6 5 4 3 2 1 0
HDMAMn
bit Symbol DnM4 DnM3 DnM2 DnM1 DnM0
Read/Write R/W
After reset 0 0 0 0 0
Function
Channel 0
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Note 1: Read-modify-write instructions can be used on all these registers.
Note 2: INC: Post-increment
Dec: Post-decrement
I/O: Fixed memory address
MEM: Memory address to be incremented or decremented
Transfer mode
[7: 0]
HDMAM0
(090CH)
HDMAM1
(091CH)
HDMAM2
(092CH)
HDMAM3
(093CH)
HDMAM4
(094CH)
HDMAM5
(095CH)
HDMAMn Register
DMA transfer mode
000: Destination INC (I/O → MEM)
001: Destination DEC (I/O → MEM)
010: Source INC (MEM → I/O)
011: Source DEC (MEM → I/O)
100: Source/destination INC
(MEM → MEM)
101: Source/destination DEC
(MEM → MEM)
110: Source/destination fixed
(I/O→ I/O)
111: Reserved (Note 2)
TMP92CZ26A
Transfer data size
00: 1 byte
01: 2 bytes
10: 4 bytes
11: Reserved
Figure 3.6.6 HDMAMn Register
92CZ26A-94
Page 98
HDMAE
(097EH)
TMP92CZ26A
(6) HDMAE (DMA Operation Enable Register)
The HDMAE register is used to enable or disable the DMAC operation.
Bits 0 to 5 correspond to channels 0 to 5. Unused channels should be set to “0”.
HDMAE Register
7 6 5 4 3 2 1 0
bit Symbol DMAE5DMAE4DMAE3DMAE2DMAE1 DMAE0
Read/Write R/W
After reset 0 0 0 0 0 0
DMA channel operation
Function
Note: Read-modify-write instructions can be used on this register.
0: Disable
1: Enable
Figure 3.6.7 HDMAE Register
(7) HDMATR (DMA Maximum Bus Occupancy Time Setting Register)
The HDMATR register is used to set the maximum duration of time the DMAC can
occupy the bus. The TMP92CZ26A does not have priority levels for bus arbitration.
Therefore, once the DMAC owns the bu s, other masters (such as the LC DC) must wait unti l
the DMAC completes its transfer operation and releases the bus. This could lead to
problems in the system. For example, if the LCDC cannot own the bus as required, the L CD
display function may not work properly. To avoid such a situation, the DMAC limits the
duration of its bus occupancy by using this timer register. When the DMAC occupies the
bus for the duration of time set in this regist er, it releases the bus even if the specified DMA
operation has not been completed yet. After waiting for 16 states, the DMAC asserts a bus
request again to execute the rest of the DMA operation.
HDMATR
(097FH)
The DMAC counts the bus occupancy time regardless of which channel is occupying the
bus. To set the maximum bus occupancy time, ensure that the HDMAE register is set to
“00H” and set HDMATR<DMATE> to “1” and <DMATR6:0> to the desired value.
Note: In case of using S/W start with HDMA, transmission start is to set to "1" DMAR
register. However DMAR register can't be used to confirm flag of transmission end. DMAR
register reset to "0" when HDMA release bus occupation once with HDMATR function.
HDMATR Register
7 6 5 4 3 2 1 0
bit Symbol DMATE DMATR6 DMATR5DMATR4DMATR3DMATR2DMATR1 DMATR0
Read/Write R/W
After reset 0 0 0 0 0 0 0 0
Timer
Function
Note: Read-modify-write instructions can be used on this register.
operation
0: Disable
1: Enable
The value to be set in <DMATR6:0> should be obtained by
Maximum bus occupancy time setting
“maximum bus occupancy time / (256/f
“00H” cannot be set.
SYS
)”.
Figure 3.6.8 HDMATR Register
92CZ26A-95
Page 99
TMP92CZ26A
3.6.3 DMAC Operation Description
(1) Overall flowchart
Figure 3.6.9 shows a flowchart for DMAC operation when an interrupt (DMA) is
requested.
Interrupt (DMA) request
Interrupt specified by
DMA start vector?
To general-purpose interrupt or
micro DMA processing flow
No
Interrupt request F/F clear
& bus REQ assert
Yes
No
Internal timer start
Bus ACK?
Yes
HDMASn read
HDMADn write
Timer match?
No
HDMACAn -1=0?
Bus REQ deassert
No
Yes
Yes
HDMACBn -1=0?
Yes
No
INTDMAn assert
END
Figure 3.6.9 Overall Flowchart
92CZ26A-96
Page 100
y
TMP92CZ26A
(2) Bus arbitration
The TMP92CZ26A includes three controllers (DMA controller, LCD controller, SDRAM
controller) that function as bus masters apart from the CPU. These controllers operate
independently and assert a bus request as required. The controller that receives a bus
acknowledgement acts as the bus master. No priorities are assigned to these three
controllers, and bus requests are processed in the order in which they are asserted. Once
one of the controllers owns the bus, bus requests from other control lers are put on hold until
the bus is released again. While one of the controlle rs is occupying the bus, C PU processing
including non-maskable interrupt requests is also put on hold.
(3) Transfer source and destination memory setting
Either internal o r external memory can b e set as the source and destination memory or
I/O to be accessed by the DMAC. Even when the MMU is used in external memory, the
addresses to be accessed by the DMAC should be specified using logical addresses. The
DMAC accesses the specified source and destination addresses according to the bus width
and number of waits set in the memory controller and the bank settings made in the MMU.
Although the bus sizing function is supported, the address alignment function is not
supported. Therefore, specify an even-numbered address for transferring 2 bytes and an
address that is an integral multiple of 4 for transferring 4 bytes.
Table 3.6.1 Difference point of address setting between HDMA and micro DMA
Data LengthHDMA Micro DMA
1byte No restriction
Source address
Destination address
2byte Even address
4byte Address in multiples of 4
1byte No restriction
2byte Even address
4byte Address in multiples of 4
(4) Operation timing
The following diagram shows an example of operation timing for transferring 2 bytes
from 16-bit memory connected with the
2CS area to 8-bit memory connected with the 1CS
area.
CPU execution cycle
DMAC/read
SDCLK
int_xx
busrq
busak
2CS
1CS
A23 ∼ A0
RD
SRWR
SRLUB
SRLLB
D15 ∼ D0
Undefined after interrupt
request is asserted until
DMAC read cycle is
started
800000H
1234H
DMAC/write
ZZ34H
400001H
ZZ12H
No restriction
CPU execution
400000H
cle
c
92CZ26A-97
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.