™
NuMicro M058/M0516BN Datasheet
ARM Cortex™-M0
32-BIT MICROCONTROLLER
NuMicro™ Family
M058/M0516BN Datasheet
-1-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
TABLE OF CONTENTS
1
GENERAL DESCRIPTION ··················································································································· 7
2
FEATURES ············································································································································ 8
3
BLOCK DIAGRAM ······························································································································ 13
4
SELECTION TABLE ··························································································································· 14
5
PIN CONFIGURATION ······················································································································· 15
5.1 QFN 33 pin ················································································································································ 15
5.2 LQFP 48 pin ·············································································································································· 16
5.3 Pin Description ·········································································································································· 17
6
FUNCTIONAL DESCRIPTION ··········································································································· 21
6.1 ARM® Cortex™-M0 Core ······················································································································· 21
6.2 System Manager ······································································································································ 23
6.2.1
Overview ······································································································································· 23
6.2.2
System Reset ······························································································································ 23
6.2.3
System Power Architecture ······································································································· 24
6.2.4
Whole System Memory Map ····································································································· 25
6.2.5
Whole System Memory Mapping Table ··················································································· 27
6.2.6
System Timer (SysTick) ············································································································· 27
6.2.7
Nested Vectored Interrupt Controller (NVIC) ·········································································· 29
6.3 Clock Controller ········································································································································ 30
6.3.1
Overview ······································································································································· 30
6.3.2
Clock Generator Block Diagram ······························································································· 30
6.3.3
System Clock & SysTick Clock ································································································· 32
6.3.4
AHB Clock Source Select ·········································································································· 33
6.3.5
Peripherals Clock Source Select ······························································································ 34
6.3.6
Power Down Mode (Deep Sleep Mode) Clock ······································································· 35
6.3.7
Frequency Divider Output ·········································································································· 35
6.4 General Purpose I/O ································································································································ 37
6.4.1
Overview ······································································································································· 37
2
6.5 I C Serial Interface Controller (Master/Slave) ······················································································ 40
6.5.1
Overview ······································································································································· 40
6.5.2
Features········································································································································ 41
6.6 PWM Generator and Capture Timer······································································································ 42
6.6.1
Overview ······································································································································· 42
6.6.2
Features········································································································································ 43
6.7 Serial Peripheral Interface (SPI) ············································································································ 44
6.7.1
Overview ······································································································································· 44
6.7.2
Features········································································································································ 44
-2-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.8 Timer Controller ········································································································································ 45
6.8.1
Overview ······································································································································· 45
6.8.2
Features: ······································································································································ 45
6.9 Watchdog Timer (WDT)··························································································································· 46
6.9.1
Overview ······································································································································· 46
6.9.2
Features········································································································································ 47
6.10 UART Interface Controller (UART) ······································································································ 48
6.10.1 Overview ······································································································································· 48
6.10.2 Features········································································································································ 50
6.11 Analog-to-Digital Converter (ADC) ······································································································ 51
6.11.1 Overview ······································································································································· 51
6.11.2 Features········································································································································ 51
6.12 External Bus Interface (EBI) ················································································································· 52
6.12.1 Overview ······································································································································· 52
6.12.2 Features········································································································································ 52
6.13 Flash Memory Controller (FMC) ·········································································································· 53
6.13.1 Overview ······································································································································· 53
6.13.2 Features········································································································································ 53
7
TYPICAL APPLICATION CIRCUIT ··································································································· 54
8
ELECTRICAL CHARACTERISTICS·································································································· 55
8.1 Absolute Maximum Ratings ···················································································································· 55
8.2 DC Electrical Characteristics ·················································································································· 56
8.3 AC Electrical Characteristics ·················································································································· 60
8.3.1
External Crystal ··························································································································· 60
8.3.2
External Oscillator ······················································································································· 60
8.3.3
Typical Crystal Application Circuits ·························································································· 61
8.3.4
Internal 22.1184 MHz RC Oscillator ························································································· 62
8.3.5
Internal 10kHz RC Oscillator ····································································································· 62
8.4 Analog Characteristics ····························································································································· 63
8.4.1
Specification of 12-bit SARADC ································································································ 63
8.4.2
Specification of LDO & Power management··········································································· 64
8.4.3
Specification of Low Voltage Reset ·························································································· 65
8.4.4
Specification of Brown-Out Detector ························································································ 65
8.4.5
Specification of Power-On Reset (5V) ····················································································· 65
8.4.6
Specification of Temperature Sensor ······················································································· 66
8.4.7
Specification of Comparator ······································································································ 66
8.5 Flash DC Electrical Characteristics ······································································································· 67
9
PACKAGE DIMENSIONS ··················································································································· 68
2
9.1 LQFP-48 (7x7x1.4mm Footprint 2.0mm) ····························································································· 68
-3-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
2
9.2 QFN-33 (5X5 mm , Thickness 0.8mm, Pitch 0.5 mm) ········································································ 69
10 REVISION HISTORY ··························································································································· 70
-4-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
LIST OF FIGURES
Figure 3-1 NuMicro M051 Series Block Diagram ........................................................................ 13
Figure 4-1 NuMicro Naming Rule ................................................................................................ 14
Figure 5-1 NuMicro M051 Series QFN33 Pin Diagram ............................................................... 15
Figure 5-2 NuMicro M051 Series LQFP-48 Pin Diagram ........................................................... 16
Figure 6-1 Functional Block Diagram ............................................................................................. 21
™
Figure 6-2 NuMicro M051 Series Power Architecture Diagram .................................................. 24
Figure 6-3 Clock generator block diagram ..................................................................................... 31
Figure 6-4 System Clock Block Diagram ....................................................................................... 32
Figure 6-5 SysTick clock Control Block Diagram ........................................................................... 32
Figure 6-6 AHB Clock Source for HCLK ........................................................................................ 33
Figure 6-7 Peripherals Clock Source Select for PCLK .................................................................. 34
Figure 6-8 Clock Source of Frequency Divider .............................................................................. 35
Figure 6-9 Block Diagram of Frequency Divider ............................................................................ 36
Figure 6-10 Push-Pull Output......................................................................................................... 37
Figure 6-11 Open-Drain Output ..................................................................................................... 38
Figure 6-12 Quasi-bidirectional I/O Mode ...................................................................................... 39
2
Figure 6-13 I C Bus Timing ............................................................................................................ 40
Figure 6-14 Timing of Interrupt and Reset Signal .......................................................................... 47
Figure 8-1 Typical Crystal Application Circuit ................................................................................ 61
-5-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
LIST OF TABLES
Table 4-1 NuMicro M051 Series Product Selection Guide ......................................................... 14
Table 5-1 NuMicro M051 Series Pin Description ........................................................................ 20
Table 6-1 Address Space Assignments for On-Chip Modules ...................................................... 26
Table 6-2 Watchdog Timeout Interval Selection ............................................................................ 47
Table 6-3 UART Baud Rate Equation ............................................................................................ 48
Table 6-4 UART Baud Rate Setting Table ..................................................................................... 49
-6-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
1
GENERAL DESCRIPTION
™
®
™
The NuMicro M051 series is a 32-bit microcontroller with embedded ARM Cortex -M0 core for
™
industrial control and applications which need rich communication interfaces. The Cortex -M0 is
the newest ARM embedded processor with 32-bit performance and at a cost equivalent to
™
traditional 8-bit microcontroller. The NuMicro M051 series includes M052, M054, M058 and
M0516 families.
The M058/M0516 can run up to 50 MHz. Thus it can afford to support a variety of industrial
control and applications which need high CPU performance. The M058/M0516 has 32K/64K-byte
embedded flash, 4K-byte data flash, 4K-byte flash for the ISP, and 4K-byte embedded SRAM.
Many system level peripheral functions, such as I/O Port, EBI (External Bus Interface), Timer,
UART, SPI, I2C, PWM, ADC, Watchdog Timer and Brownout Detector, have been incorporated
into the M058/M0516 in order to reduce component count, board space and system cost. These
useful functions make the M058/M0516 powerful for a wide range of applications.
Additionally, the M058/M0516 is equipped with ISP (In-System Programming) and ICP (In-Circuit
Programming) functions, which allow the user to update the program memory without removing
the chip from the actual end product.
-7-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
2
FEATURES
Core
®
™
ARM Cortex -M0 core runs up to 50 MHz.
One 24-bit system timer.
Supports low power sleep-mode.
A single-cycle 32-bit hardware multiplier.
NVIC for the 32 interrupt inputs, each with 4-levels of priority.
Supports Serial Wire Debug (SWD) interface and 2 watchpoints/4 breakpoints.
Built-in LDO for Wide Operating Voltage Range: 2.5V to 5.5V
Memory
32KB/64KB Flash memory for program memory (APROM)
4KB Flash memory for data memory (DataFlash)
4KB Flash memory for loader (LDROM)
4KB SRAM for internal scratch-pad RAM (SRAM)
Clock Control
Programmable system clock source
4~24 MHz external crystal input
22.1184 MHz internal oscillator (trimmed to 3% accuracy)
10 kHz low-power oscillator for Watchdog Timer and wake-up in sleep mode
PLL allows CPU operation up to the maximum 50MHz
I/O Port
Up to 40 general-purpose I/O (GPIO) pins for LQFP-48 package
Four I/O modes:
Quasi bi-direction
Push-Pull output
-8-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Open-Drain output
Input only with high impendence
TTL/Schmitt trigger input selectable
I/O pin can be configured as interrupt source with edge/level setting
Supports high driver and high sink IO mode
Timer
Provides four channel 32-bit timers, one 8-bit pre-scale counter with 24-bit up-timer for
each timer.
Independent clock source for each timer.
24-bit timer value is readable through TDR (Timer Data Register)
Provides one-shot, periodic and toggle operation modes.
Provide event counter function.
Provide external capture/reset counter function equivalent to 8051 Timer2.
Watchdog Timer
Multiple clock sources
Supports wake up from power down or sleep mode
Interrupt or reset selectable on watchdog time-out
PWM
Built-in up to four 16-bit PWM generators; providing eight PWM outputs or four
complementary paired PWM outputs
Individual clock source, clock divider, 8-bit pre-scalar and dead-zone generator for each
PWM generator
PWM interrupt synchronized to PWM period
16-bit digital Capture timers (shared with PWM timers) with rising/falling capture inputs
Supports capture interrupt
UART
-9-
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Up to two sets of UART device
Programmable baud-rate generator
Buffered receiver and transmitter, each with 15 bytes FIFO
Optional flow control function (CTS and RTS)
Supports IrDA(SIR) function
Supports RS485 function
Supports LIN function
SPI
Up to two sets of SPI device.
Supports master/slave mode
Full duplex synchronous serial data transfer
Provide 3 wire function
Variable length of transfer data from 1 to 32 bits
MSB or LSB first data transfer
Rx latching data can be either at rising edge or at falling edge of serial clock
Tx sending data can be either at rising edge or at falling edge of serial clock
Supports Byte suspend mode in 32-bit transmission
I2C
Supports master/slave mode
Bidirectional data transfer between masters and slaves
Multi-master bus (no central master).
Arbitration between simultaneously transmitting masters without corruption of serial data
on the bus
Serial clock synchronization allows devices with different bit rates to communicate via
one serial bus.
- 10 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Serial clock synchronization can be used as a handshake mechanism to suspend and
resume serial transfer.
Programmable clocks allow versatile rate control.
Supports multiple address recognition (four slave address with mask option)
ADC
12-bit SAR ADC with 760k SPS
Up to 8-ch single-ended input or 4-ch differential input
Supports single mode/burst mode/single-cycle scan mode/continuous scan mode
Supports 2’ complement/un-signed format in differential mode conversion result
Each channel with an individual result register
Supports conversion value monitoring (or comparison) for threshold voltage detection
Conversion can be started either by software trigger or external pin trigger
Analog Comparator
Up to 2 comparator analog modules
External input or internal band gap voltage selectable at negative node
Interrupt when compare result change
Power down wake up
EBI (External Bus Interface) for external memory-mapped device access
Accessible space: 64KB in 8-bit mode or 128KB in 16-bit mode
Supports 8-bit/16-bit data width
Supports byte-write in 16-bit data width
In-System Programming (ISP) and In-Circuit Programming (ICP)
One built-in temperature sensor with 1℃ resolution
Brown-Out Detector
With 4 levels: 4.3V/3.7V/2.7V/2.2V
- 11 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Supports Brown-Out interrupt and reset option
96-bit unique ID
LVR (Low Voltage Reset)
Threshold voltage levels: 2.0V
Operating Temperature: -40℃~ 85℃
Packages:
Green package (RoHS)
48-pin LQFP, 33-pin QFN
- 12 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
3
BLOCK DIAGRAM
10K OSC
CONFIG
DATAFLASH 4KB
Cortex-M0
50 MHz
CLK_CTL
P
L
L
LDROM ISP 4KB
APROM
GPIO
P0~P4
SRAM
4KB
22M OSC
EXT. 4~24M
XTAL
LDO
2.5 ~ 5.5V
64KB(M0516)
32KB(M058)
Watch Dog Timer
SPI 0/1
AD[15:0]
Timer 0/1
nCS
nRD
nWR
mclk
ALE
nWRL
nWRH
ADC
EBI
Timer 2/3
UART 0/1
PWM 0~7
I2C
ADC
8ch/12bit
SARADC
760K SPS
PAD Control
POR
BOD
LVR
Analog
Comparator
Figure 3-1 NuMicro M051 Series Block Diagram
- 13 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
4
SELECTION TABLE
NuMicro M051™ Series Selection Guide
Part number
APROM
RAM
Data
Flash
LDROM
I/O
Connectivity
Timer
COMP PWM
UART
SPI
I2C
ADC
EBI
ISP
ICP
Package
v
v
LQFP48
v
QFN33
v
LQFP48
v
QFN33
M058LBN
32KB
4KB
4KB
4KB
40
4x32-bit
2
2
1
2
8
8X12-bit
M058ZBN
32KB
4KB
4KB
4KB
24
4x32-bit
2
1
1
2
5
8X12-bit
M0516LBN
64KB
4KB
4KB
4KB
40
4x32-bit
2
2
1
2
8
8X12-bit
M0516ZBN
64KB
4KB
4KB
4KB
24
4x32-bit
2
1
1
2
5
8X12-bit
v
Table 4-1 NuMicro M051 Series Product Selection Guide
M0 5X - X X X
CPU core
ARM Cortex M0
Temperature
Part Number
N : - 40℃ ~ +85℃
E : - 40℃ ~+105℃
C : - 40℃ ~+125℃
58 : 32K Flash ROM
516 : 64K Flash ROM
Reserved
Package
L : LQFP 48
Z : QFN 33
Figure 4-1 NuMicro Naming Rule
- 14 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
5
PIN CONFIGURATION
5.1
QFN 33 pin
RXD1, RTS1, P0.1
TXD1, CTS1, P0.0
VDD
AVDD
AIN0, T2, P1.0
RXD1, AIN2, P1.2
TXD1, AIN3, P1.3
CPN0, AIN4, P1.4
32 31 30 29 28 27 26 25
CPP0, AIN5, P1.5
1
24 P0.4, SPISS1
RST
2
23 P0.5, MOSI_1
CPN1, RXD, P3.0
3
22 P0.6, MISO_1
AVSS
4
CPP1, TXD, P3.1
5
T0EX, STADC, INT0, P3.2
6
19 P4.6, ICE_CLK
SDA, T0, P3.4
7
18 P2.6, PWM6, CPO1
SCL, T1, P3.5
8
21 P0.7, SCLK1
QFN 33-Pin
20 P4.7, ICE_DAT
33 VSS
9
17 P2.5, PWM5
10 11 12 13 14 15 16
P2.4, PWM4
P2.3, PWM3
P2.2, PWM2
LDO_CAP
VSS
XTAL1
XTAL2
P3.6, CKO, CPO0
Top transparent view
Figure 5-1 NuMicro M051 Series QFN33 Pin Diagram
- 15 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
5.2
LQFP 48 pin
PWM2, P4.2
CPN0, SPISS0,AIN4,P1.4
TXD1,AIN3,P1.3
RXD1,AIN2, P1.2
nWRH, T3,AIN1,P1.1
nWRL, T2,AIN0,P1.0
AVDD
VDD
TXD1, CTS1, AD0, P0.0
RXD1, RTS1, AD1, P0.1
TXD, CTS0, AD2, P0.2
RXD, RTS0, AD3, P0.3
48
47
46
45
44
43
42
41
40
39
38
37
CPP0, MOSI_0, AIN5, P1.5
1
36
P4.1, PWM1, T3EX
MISO_0, AIN6, P1.6
2
35
P0.4, AD4, SPISS1
SPICLK0, AIN7, P1.7
3
34
P0.5, AD5, MOSI_1
RST
4
33
P0.6, AD6, MISO_1
CPN1, RXD, P3.0
5
32
P0.7, AD7, SPICLK1
AVSS
6
31
P4.7, ICE_DAT
CPP1, TXD, P3.1
7
30
P4.6, ICE_CLK
T0EX, STADC, INT0, P3.2
8
29
P4.5, ALE
T1EX, MCLK, INT1, P3.3
9
28
P4.4, /CS
SDA, T0, P3.4
10
27
P2.7, AD15, PWM7
SCL, T1, P3.5
11
26
P2.6, AD14, PWM6, CPO1
PWM3, P4.3
12
25
P2.5, AD13, PWM5
48-pin LQFP
P2.1, AD9, PWM1
P4.0, PWM0, T2EX
20
P2.0, AD8, PWM0
24
19
LDO_CAP
P2.4, AD12, PWM4
18
VSS
23
17
XTAL1
P2.3, AD11, PWM3
16
XTAL2
22
15
P3.7, RD
P2.2, AD10, PWM2
14
P3.6, WR, CKO, CPO0
21
13
Figure 5-2 NuMicro M051 Series LQFP-48 Pin Diagram
- 16 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
5.3
Pin Description
Pin number
Alternate Function
Type[1]
Symbol
QFN33
LQFP48
1
2
Description
3
CRYSTAL1: This is the input pin to the internal
inverting amplifier. The system clock is from
(ST) external crystal or resonator when FOSC[1:0]
(CONFIG3[1:0]) are both logic 1 by default.
I
11
16
XTAL1
10
15
XTAL2
O
CRYSTAL2: This is the output pin from the
internal inverting amplifier. It emits the inverted
signal of XTAL1.
27
41
VDD
P
POWER SUPPLY: Power supply to I/O ports
and LDO source for internal PLL and digital
circuit.
17
VSS
P
28
42
AVDD
P
POWER SUPPLY: Power supply to internal
analog circuit.
4
6
AVSS
P
GROUND: Analog Ground potential.
13
18
LDO_CAP
P
GROUND: Digital Ground potential.
12
33
LDO: LDO output pin
Note: It needs to be connected with a 1uF
capacitor.
RESET: /RST pin is a Schmitt trigger input pin
for hardware device reset. A “Low” on this pin
for 768 clock counter of Internal RC 22M while
I
the system clock is running will reset the
(ST) device. /RST pin has an internal pull-up
resistor allowing power-on reset by simply
connecting an external capacitor to GND.
2
4
RST
26
40
P0.0
CTS1
AD0
TXD1[2]
D,
I/O
25
39
P0.1
RTS1
AD1
RXD1[2]
D,
I/O
NC
38
P0.2
CTS0
AD2
TXD[2]
D,
I/O
- 17 -
PORT0: Port 0 is an 8-bit four mode output pin
and two mode input. Its multifunction pins are
for CTS1, RTS1, CTS0, RTS0, SPISS1,
MOSI_1, MISO_1, and SPICLK1.
P0 has an alternative function as AD[7:0] while
external memory accessing. During the
external memory access, P0 will output high
will be internal strong pulled-up rather than
weak pull-up in order to drive out high byte
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Pin number
Alternate Function
Type[1]
Symbol
QFN33
LQFP48
NC
37
24
23
35
34
P0.3
P0.4
P0.5
1
2
3
RTS0
AD3
RXD[2]
SPISS1
MOSI_1
D,
I/O
D,
I/O
AD4
D,
I/O
AD5
22
33
P0.6
MISO_1
AD6
D,
I/O
21
32
P0.7
SPICLK1
AD7
D,
I/O
29
43
P1.0
T2
AIN0
WRL
I/O
NC
44
P1.1
T3
AIN1
WRH
I/O
Description
address for external devices.
These pins which are SPISS1, MOSI_1,
MISO_1, and SPICLK1 for the SPI function
used.
CTS0/1: Clear to Send input pin for UART0/1
RTS0/1: Request to Send output pin for
UART0/1
The RXD/TXD pins are for UART0 function
used.
The RXD1/TXD1 pins are for UART1 function
used.
PORT1: Port 1 is an 8-bit four mode output pin
and two mode input. Its multifunction pins are
for T2, T3, RXD1, TXD1, SPISS0, MOSI_0,
MISO_0, and SPICLK0.
These pins which are SPISS0, MOSI_0,
MISO_0, and SCLK0 for the SPI function used.
30
45
P1.2
RXD1[3]
AIN2
I/O
These pins which are AIN0~AIN7for the 12 bits
ADC function used.
31
46
P1.3
TXD1[3]
AIN3
I/O
The RXD1/TXD1 pins are for UART1 function
used.
32
47
P1.4
SPISS0
AIN4
CPN0
I/O
1
1
P1.5
MOSI_0
AIN5
CPP0
I/O
NC
2
P1.6
MISO_0
AIN6
I/O
The WRL / WRH pins are for low/high byte
write enable output in 16-bit data width of EBI.
The CPN0/CPP0 pins are for Comparator0
negative/positive inputs.
The T2/T3 pins are for Timer2/3 external even
counter input.
NC
3
P1.7
SPICLK0
AIN7
I/O
NC
19
P2.0
PWM0[2]
AD8
D,
I/O
PORT2: Port 2 is an 8-bit four mode output pin
and two mode input. It has an alternative
function
NC
20
P2.1
PWM1[2]
AD9
D,
I/O
14
21
P2.2
PWM2[2]
AD10
D,
I/O
P2 has an alternative function as AD[15:8]
while external memory accessing. During the
external memory access, P2 will output high
will be internal strong pulled-up rather than
weak pull-up in order to drive out high byte
address for external devices.
15
22
P2.3
PWM3[2]
AD11
D,
I/O
- 18 -
These pins which are PWM0~PWM7 for the
PWM function used in the LQFP48 package.
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Pin number
Alternate Function
Type[1]
Symbol
QFN33
LQFP48
1
2
16
23
P2.4
PWM4[2]
AD12
D,
I/O
17
25
P2.5
PWM5[2]
AD13
D,
I/O
18
26
P2.6
PWM6[2]
AD14
NC
27
P2.7
PWM7[2]
AD15
3
5
P3.0
RXD[2]
CPN1
I/O
5
7
P3.1
TXD[2]
CPP1
I/O
6
8
P3.2
INT0
T0EX
I/O
Description
3
CPO1
The CPO1 pin is the output of Comparator1.
D,
I/O
D,
I/O
STADC
PORT3: Port 3 is an 8-bit four mode output pin
and two mode input. Its multifunction pins are
for RXD, TXD,
and
INT0 , INT1 , T0, T1,
WR ,
RD .
The RXD/TXD pins are for UART0 function
used.
NC
9
P3.3
INT1
MCLK
7
10
P3.4
T0
SDA
I/O
CKO: HCLK clock output
8
11
P3.5
T1
SCL
I/O
The STADC pin is for ADC external trigger
input.
9
13
P3.6
WR
CKO
I/O
The CPN1/CPP1 pins are for Comparator1
negative/positive inputs.
T1EX
I/O
The SDA/SCK pins are for I2C function used.
MCLK: EBI clock output pin.
CPO0
The CPO0 pin is the output of Comparator0.
The T0/T1 pins are for Timer0/1 external even
counter input.
NC
14
P3.7
RD
NC
24
P4.0
PWM0[2]
T2EX
I/O
NC
36
P4.1
PWM1[2]
T3EX
I/O
NC
48
P4.2
PWM2[2]
I/O
NC
12
P4.3
PWM3[2]
I/O
I/O
The T0EX/T1EX pins are for external
capture/reset trigger input of Timer0/1.
PORT4: Port 4 is an 8-bit four mode output pin
and two mode input. Its multifunction pins are
for /CS, ALE, ICE_CLK and ICE_DAT.
CS for EBI (External Bus Interface) used.
- 19 -
ALE (Address Latch Enable) is used to enable
the address latch that separates the address
from the data on Port 0 and Port 2.
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Pin number
Alternate Function
Symbol
1
2
Type[1]
Description
QFN33
LQFP48
3
NC
28
P4.4
CS
I/O
The ICE_CLK/ICE_DAT pins are for JTAG-ICE
function used.
NC
29
P4.5
ALE
I/O
PWM0-3 can be used from P4.0-P4.3 when
EBI is active.
19
30
P4.6
ICE_CLK
I/O
The T2EX/T3EX pins are for external
capture/reset trigger input of Timer2/3.
20
31
P4.7
ICE_DAT
I/O
Table 5-1 NuMicro M051 Series Pin Description
[1] I/O type description. I: input, O: output, I/O: quasi bi-direction, D: open-drain, P: power pins,
ST: Schmitt trigger.
[2] The pins features which are set by S/W. Only one-set pin can be used while S/W to set it.
- 20 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6
FUNCTIONAL DESCRIPTION
6.1
ARM® Cortex™-M0 Core
™
The Cortex -M0 processor is a configurable, multistage, 32-bit RISC processor. It has an AMBA AHBLite interface and includes an NVIC component. It also has optional hardware debug functionality. The
processor can execute Thumb code and is compatible with other Cortex-M profile processor. The
profile supports two modes -Thread and Handler modes. Handler mode is entered as a result of an
exception. An exception return can only be issued in Handler mode. Thread mode is entered on Reset,
and can be entered as a result of an exception return. Figure 6-1 shows the functional controller of
processor.
Cortex-M0 components
Cortex-M0 processor
Nested
Vectored
Interrupt
Controller
(NVIC)
Interrupts
Wakeup
Interrupt
Controller
(WIC)
Debug
Cortex-M0
Processor
Core
Breakpoint
and
Watchpoint
Unit
Bus matrix
Debugger
interface
AHB-Lite interface
Debug
Access Port
(DAP)
Serial Wire or
JTAG debug port
Figure 6-1 Functional Block Diagram
The implemented device provides:
A low gate count processor the features:
®
The ARMv6-M Thumb instruction set.
Thumb-2 technology.
ARMv6-M compliant 24-bit SysTick timer.
A 32-bit hardware multiplier.
The system interface supports little-endian data accesses.
The ability to have deterministic, fixed-latency, interrupt handling.
Publication Release Date: Mar. 19, 2012
- 21 Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Load/store-multiples and multicycle-multiplies that can be abandoned and restarted to
facilitate rapid interrupt handling.
C Application Binary Interface compliant exception model.
This is the ARMv6-M, C Application Binary Interface(C-ABI) compliant exception model
that enables the use of pure C functions as interrupt handlers.
Low power sleep-mode entry using Wait For Interrupt (WFI), Wait For Event(WFE)
instructions, or the return from interrupt sleep-on-exit feature.
NVIC features:
32 external interrupt inputs, each with four levels of priority.
Dedicated non-Maskable Interrupt (NMI) input.
Support for both level-sensitive and pulse-sensitive interrupt lines
Wake-up Interrupt Controller (WIC), supports ultra-low power sleep mode.
Debug support:
Four hardware breakpoints.
Two watchpoints.
Program Counter Sampling Register (PCSR) for non-intrusive code profiling.
Single step and vector catch capabilities.
Bus interfaces:
Single 32-bit AMBA-3 AHB-Lite system interface that provides simple integration to all
system peripherals and memory.
Single 32-bit slave port that supports the DAP (Debug Access Port).
- 22 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.2 System Manager
6.2.1
Overview
The following functions are included in system manager section
System Resets
System Memory Map
System management registers for Part Number ID, chip reset and on-chip module reset ,
multi-functional pin control
System Timer (SysTick)
Nested Vectored Interrupt Controller (NVIC)
System Control registers
6.2.2
System Reset
The system reset includes one of the list below event occurs. For these reset event flags can be
read by RSTSRC register.
The Power-On Reset (POR)
The low level on the /RESET pin
Watchdog Time Out Reset (WDT)
Low Voltage Reset (LVR)
Brown-Out Detected Reset (BOD)
CPU Reset
Software one shot Reset
- 23 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.2.3
System Power Architecture
In this device, the power architecture is divided into three segments.
Analog power from AVDD and AVSS provides the power for analog module operation.
Digital power from VDD and VSS supplies the power to the internal regulator which
provides a fixed 1.8V power for digital operation and I/O pins.
The outputs of internal voltage regulator, which is LDO, require an external capacitor which
should be located close to the corresponding pin. The Figure 6-2 shows the power architecture of
this device.
M051 Series
Power
Distribution
Analog Comparator
Low
Voltage
Reset
AVSS
Temperature
Seneor
Brown
Out
Detector
Digital Logic
FLASH
Internal
22.1184 MHz & 10 kHz
Oscillator
LDO
1.8V
PVSS
POR50
5V to 1.8V
LDO
IO cell
P0 - P4
VSS
POR18
PLL
1uF
VDD
AVDD
12-bit
SAR-ADC
™
Figure 6-2 NuMicro M051 Series Power Architecture Diagram
- 24 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.2.4
Whole System Memory Map
™
NuMicro M051 series provides a 4G-byte address space. The memory locations assigned to
each on-chip modules are shown in Table 6-1. The detailed register memory addressing and
programming will be described in the following sections for1 individual on-chip peripherals.
™
NuMicro M051 series only supports little-endian data format.
Address Space
Token
Modules
0x0000_0000 – 0x0000_FFFF
FLASH_BA
FLASH Memory Space (64KB)
0x2000_0000 – 0x2000_0FFF
SRAM_BA
SRAM Memory Space (4KB)
Flash & SRAM Memory Space
EBI Space (0x6000_0000 ~ 0x6001_FFFF)
0x6000_0000 – 0x6001_FFFF
External Memory Space (128KB)
EBI_BA
AHB Modules Space (0x5000_0000 – 0x501F_FFFF)
0x5000_0000 – 0x5000_01FF
GCR_BA
System Global Control Registers
0x5000_0200 – 0x5000_02FF
CLK_BA
Clock Control Registers
0x5000_0300 – 0x5000_03FF
INT_BA
Interrupt Multiplexer Control Registers
0x5000_4000 – 0x5000_7FFF
GPIO_BA
GPIO (P0~P4) Control Registers
0x5000_C000 – 0x5000_FFFF
FMC_BA
Flash Memory Control Registers
0x5001_0000 – 0x5001_03FF
EBI_CTL_BA
EBI Control Registers (128KB)
APB Modules Space (0x4000_0000 ~ 0x400F_FFFF)
0x4000_4000 – 0x4000_7FFF
WDT_BA
Watch-Dog Timer Control Registers
0x4001_0000 – 0x4001_3FFF
TMR01_BA
Timer0/Timer1 Control Registers
0x4002_0000 – 0x4002_3FFF
I2C_BA
I C Interface Control Registers
0x4003_0000 – 0x4003_3FFF
SPI0_BA
SPI0 with master/slave function Control Registers
0x4003_4000 – 0x4003_7FFF
SPI1_BA
SPI1 with master/slave function Control Registers
0x4004_0000 – 0x4004_3FFF
PWMA_BA
PWM0/1/2/3 Control Registers
2
- 25 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
0x4005_0000 – 0x4005_3FFF
UART0_BA
UART0 Control Registers
0x400D_0000 – 0x400D_3FFF
ACMP_BA
Analog Comparator Control Registers
0x400E_0000 – 0x400E_FFFF
ADC_BA
Analog-Digital-Converter (ADC) Control Registers
0x4011_0000 – 0x4011_3FFF
TMR23_BA
Timer2/Timer3 Control Registers
0x4014_0000 – 0x4014_3FFF
PWMB_BA
PWM4/5/6/7 Control Registers
0x4015_0000 – 0x4015_3FFF
UART1_BA
UART1 Control Registers
System Control Space (0xE000_E000 ~ 0xE000_EFFF)
0xE000_E010 – 0xE000_E0FF
SCS_BA
System Timer Control Registers
0xE000_E100 – 0xE000_ECFF
SCS_BA
External Interrupt Controller Control Registers
0xE000_ED00 – 0xE000_ED8F
SCS_BA
System Control Registers
Table 6-1 Address Space Assignments for On-Chip Modules
- 26 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.2.5
Whole System Memory Mapping Table
M052/54/58/516
4 GB
0xFFFF_FFFF
Reserved
System Control
System Control
|
0xE000_F000
System Timer Control
0xE000_E000
SCS_BA
0xE000_EFFF
0xE000_E000
0xE000_E00F
Reserved
|
0x6002_0000
0x6001_FFFF
EBI
0x6000_0000
0x5FFF_FFFF
Reserved
|
AHB peripherals
0x5020_0000
AHB
0x501F_FFFF
EBI Control
0x5001_0000
EBI_CTL_BA
0x5000_0000
FMC
0x5000_C000
FLASH_BA
0x4FFF_FFFF
GPIO Control
0x5000_4000
GPIO_BA
Interrupt Multiplexer Control 0x5000_0300
INT_BA
Clock Control
0x5000_0200
CLK_BA
System Global Control
0x5000_0000
GCR_BA
UART1 Control
0x4015_0000
UART1_BA
0x2000_1000
PWM4/5/6/7 Control
0x4014_0000
PWMB_BA
0x2000_0FFF
Timer2/Timer3 Control
0x4011_0000
TMR23_BA
ADC Control
0x400E_0000
ADC_BA
COMP control
0x400D_0000
ACMP_BA
UART0 Control
0x4005_0000
UART0_BA
0x2000_0000
PWM0/1/2/3 Control
0x4004_0000
PWMA_BA
0x1FFF_FFFF
SPI1 Control
0x4003_4000
SPI1_BA
SPI0 Control
0x4003_0000
SPI0_BA
I2C Control
0x4002_0000
I2C_BA
0x0001_0000
Timer0/Timer1 Control
0x4001_0000
TMR01_BA
64 KB on-chip Flash (M0516)
0x0000_FFFF
WDT Control
0x4000_4000
WDT_BA
32 KB on-chip Flash (M058)
0x0000_7FFF
16 KB on-chip Flash (M054)
0x0000_3FFF
Reserved
|
0x4020_0000
0x401F_FFFF
APB
|
1 GB
0x4000_0000
0x3FFF_FFFF
Reserved
4 KB SRAM
(M052/M054/M058/M0516)
0.5 GB
Reserved
0 GB
6.2.6
8 KB on-chip Flash (M052)
|
|
|
APB peripherals
0x0000_1FFF
0x0000_0000
System Timer (SysTick)
The Cortex-M0 includes an integrated system timer, SysTick. SysTick provides a simple, 24-bit
- 27 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
clear-on-write, decrementing, wrap-on-zero counter with a flexible control mechanism. The
counter can be used as a Real Time Operating System (RTOS) tick timer or as a simple counter.
When system timer is enabled, it will count down from the value in the SysTick Current Value
Register (SYST_CVR) to zero, and reload (wrap) to the value in the SysTick Reload Value
Register (SYST_RVR) on the next clock edge, then decrement on subsequent clocks. When the
counter transitions to zero, the COUNTFLAG status bit is set. The COUNTFLAG bit clears on
reads.
The SYST_CVR value is UNKNOWN on reset. Software should write to the register to clear it to
zero before enabling the feature. This ensures the timer will count from the SYST_RVR value
rather than an arbitrary value when it is enabled.
If the SYST_RVR is zero, the timer will be maintained with a current value of zero after it is
reloaded with this value. This mechanism can be used to disable the feature independently from
the timer enable bit.
For more detailed information, please refer to the documents “ARM® Cortex™-M0 Technical
Reference Manual” and “ARM® v6-M Architecture Reference Manual”.
- 28 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.2.7
Nested Vectored Interrupt Controller (NVIC)
Cortex-M0 provides an interrupt controller as an integral part of the exception mode, named as
“Nested Vectored Interrupt Controller (NVIC)”. It is closely coupled to the processor kernel and
provides following features:
Nested and Vectored interrupt support
Automatic processor state saving and restoration
Dynamic priority changing
Reduced and deterministic interrupt latency
The NVIC prioritizes and handles all supported exceptions. All exceptions are handled in “Handler
Mode”. This NVIC architecture supports 32 (IRQ[31:0]) discrete interrupts with 4 levels of priority.
All of the interrupts and most of the system exceptions can be configured to different priority
levels. When an interrupt occurs, the NVIC will compare the priority of the new interrupt to the
current running one’s priority. If the priority of the new interrupt is higher than the current one, the
new interrupt handler will override the current handler.
When any interrupts is accepted, the starting address of the interrupt service routine (ISR) is
fetched from a vector table in memory. There is no need to determine which interrupt is accepted
and branch to the starting address of the correlated ISR by software. While the starting address is
fetched, NVIC will also automatically save processor state including the registers “PC, PSR, LR,
R0~R3, R12” to the stack. At the end of the ISR, the NVIC will restore the mentioned registers
from stack and resume the normal execution. Thus it will take less and deterministic time to
process the interrupt request.
The NVIC supports “Tail Chaining” which handles back-to-back interrupts efficiently without the
overhead of states saving and restoration and therefore reduces delay time in switching to
pending ISR at the end of current ISR. The NVIC also supports “Late Arrival” which improves the
efficiency of concurrent ISRs. When a higher priority interrupt request occurs before the current
ISR starts to execute (at the stage of state saving and starting address fetching), the NVIC will
give priority to the higher one without delay penalty. Thus it advances the real-time capability.
®
For more detailed information, please refer to the documents “ARM Cortex™-M0 Technical
®
Reference Manual” and “ARM v6-M Architecture Reference Manual”.
- 29 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.3
6.3.1
Clock Controller
Overview
The clock controller generates the clocks for the whole chip, including system clocks and all
peripheral clocks. The clock controller also implements the power control function with the
individually clock ON/OFF control, clock source selection and clock divider. The chip will not enter
power-down mode until CPU sets the power down enable bit (PWR_DOWN_EN) and Cortex-M0
core executes the WFI instruction. After that, chip enter power-down mode and wait for wake-up
interrupt source triggered to leave power-down mode. In the power down mode, the clock
controller turns off the external crystal and internal 22.1184 MHz oscillator to reduce the overall
system power consumption.
6.3.2
Clock Generator Block Diagram
The clock generator consists of 4 sources which list below:
One external 4~24 MHz crystal
One internal 22.1184 MHz RC oscillator
One programmable PLL FOUT(PLL source consists of external 4~24 MHz crystal and
internal 22.1184M)
One internal 10 kHz oscillator
- 30 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
22.1184
MHz
22.1184 MHz
10 kHz
4~12
MHz
Reserved
010
1/(HCLK_N+1)
000
22.1184 MHz
CLKSEL0[2:0]
HCLK
PLLFOUT
0
PLLCON[19]
22.1184 MHz
HCLK
4~24 MHz
EBI
PCLK
ACMP
I2C
SPI 0-1
1/2
111
1/2
011
1/2
010
Reserved
000
TMR 0
TMR 1
TMR 2
TMR 3
001
4~24 MHz
000
22.1184 MHz
CLKSEL1[22:20]
CLKSEL1[18:16]
CLKSEL1[14:12]
CLKSEL1[10:8]
CPUCLK
1
0
FMC
SysTick
SYST_CSR[2]
001
4~24 MHz
111
010
Reserved
1
4~24 MHz
HCLK
001
4~24 MHz
22.1184 MHz
CPU
CPUCLK
011
PLLFOUT
10 kHz
111
22.1184 MHz
11
HCLK
CLKSEL0[5:3]
FDIV
PWM 6-7
PWM 4-5
PWM 2-3
PWM 0-1
10
Reserved
01
4~24 MHz
00
CLKSEL2[7:2]
CLKSEL1[31:28]
10 kHz
BOD
11
HCLK
1/2048
10
Reserved
22.1184 MHz
HCLK
11
CLKSEL1[1:0]
10
PLLFOUT
4~24 MHz
WDT
01
01
1/(ADC_N+1)
ADC
1/(UART_N+1)
UART 0-2
00
CLKSEL1[3:2]
22.1184 MHz
PLLFOUT
4~24 MHz
11
01
00
CLKSEL1[25:24]
Figure 6-3 Clock generator block diagram
- 31 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.3.3
System Clock & SysTick Clock
The system clock has 4 clock sources which were generated from clock generator block. The
clock source switch depends on the register HCLK_S(CLKSEL0[2:0]). The block diagram is
shown in the Figure 6-4.
HCLK_S (CLKSEL0[2:0])
22.1184 MHz
10 kHz
PLLFOUT
Reserved
4~24 MHz
111
011
CPUCLK
010
HCLK
CPU
1/(HCLK_N+1)
001
HCLK_N (CLKDIV[3:0])
AHB
PCLK
APB
000
CPU in Power Down Mode
Figure 6-4 System Clock Block Diagram
The clock source of SysTick in Cortex-M0 core can use CPU clock or external clock
(SYST_CSR[2]). If using external clock, the SysTick clock (STCLK) has 4 clock sources. The
clock source switch depends on the setting of the register STCLK_S (CLKSEL0[5:3]. The block
diagram is shown in the Figure 6-5.
STCLK_S (CLKSEL0[5:3])
22.1184 MHz
HCLK
4~24 MHz
Reserved
4~24 MHz
1/2
111
1/2
011
1/2
010
STCLK
001
000
Figure 6-5 SysTick clock Control Block Diagram
- 32 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.3.4
AHB Clock Source Select
HCLK
EBI
EBI_EN (AHBCLK[3])
HCLK
ISP
ISP_EN (AHBCLK[2])
Figure 6-6 AHB Clock Source for HCLK
- 33 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.3.5
Peripherals Clock Source Select
The peripherals clock had different clock source switch setting which depends on the different
peripheral..
PCLK
WDT_EN (APBCLK[0])
Watch Dog Timer
TMR0_EN (APBCLK[2])
Timer0
TMR1_EN (APBCLK[3])
Timer1
TMR2_EN (APBCLK[4])
Timer2
TMR3_EN (APBCLK[5])
Timer3
FDIV_EN (APBCLK[6])
Frequency Divider
I2C_EN (APBCLK1[8])
I2C
SPI0
SPI0_EN (APBCLK[12])
SPI1_EN (APBCLK[13])
SPI1
UART0_EN (APBCLK[16])
UART0
UART1_EN (APBCLK[17])
UART1
PWM01_EN (APBCLK[20])
PWM01
PWM23_EN (APBCLK[21])
PWM23
PWM45_EN (APBCLK[22])
PWM45
PWM67_EN (APBCLK[23])
PWM67
ADC
ADC_EN (APBCLK[28])
ACMP_EN (APBCLK[30])
ACMP
Figure 6-7 Peripherals Clock Source Select for PCLK
- 34 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.3.6
Power Down Mode (Deep Sleep Mode) Clock
When chip enter into power down mode, most of clock sources, peripheral clocks and system
clock will be disabled directly. Internal 10kHz could be still active in power down/deep power
down mode if CPU does not disable it before entering power down mode. IP engine clock could
be still active in power down/deep power down mode if IP adopts internal 10kHz does not be
disabled respectively.
6.3.7
Frequency Divider Output
This device is equipped a power-of-2 frequency divider which is composed by 16 chained divideby-2 shift registers. One of the 16 shift register outputs selected by a sixteen to one multiplexer is
reflected to P3.6. Therefore there are 16 options of power-of-2 divided clocks with the frequency
1
17
from Fin/2 to Fin/2 where Fin is input clock frequency to the clock divider.
(N+1)
The output formula is Fout = Fin/2
, where Fin is the input clock frequency, Fout is the clock
divider output frequency and N is the 4-bit value in FREQDIV.FSEL[3:0].
When write 1 to DIVIDER_EN (FRQDIV[4]), the chained counter starts to count. When write 0 to
DIVIDER_EN (FRQDIV[4]), the chained counter continuously runs till divided clock reaches low
state and stay in low state.
FRQDIV_S (CLKSEL2[3:2])
FDIV_EN(APBCLK[6])
22.1184 MHz
11
FRQDIV_CLK
HCLK
10
Reserved
4~24 MHz
01
00
Figure 6-8 Clock Source of Frequency Divider
- 35 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
DIVIDER_EN
(FRQDIV[4])
Enable
divide-by-2 counter
FRQDIV_CLK
1/2
16 chained
divide-by-2 counter
1/22
1/23
…...
1/215
1/216
0000
0001
16 to 1
MUX
:
:
1110
1111
CLKO
FSEL
(FRQDIV[3:0])
Figure 6-9 Block Diagram of Frequency Divider
- 36 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.4 General Purpose I/O
6.4.1
Overview
There are 40 General Purpose I/O pins shared with special feature functions in this MCU. The 40
pins are arranged in 5 ports named with P0, P1, P2, P3 and P4. Each port equips maximum 8
pins. Each one of the 40 pins is independent and has the corresponding register bits to control the
pin mode function and data
The I/O type of each of I/O pins can be software configured individually as input, output, opendrain or quasi-bidirectional mode. The all pins of I/O type stay in quasi-bidirectional mode and port
data register Px_DOUT[7:0] resets to 0x000_00FF. Each I/O pin equips a very weakly individual
pull-up resistor which is about 110KΩ~300KΩ for VDD is from 5.0V to 2.5V.
6.4.1.1
Input Mode Explanation
Set Px_PMD(PMDn[1:0]) to 00b the Px[n] pin is in Input mode and the I/O pin is in tri-state(high
impedance) without output drive capability. The Px_PIN value reflects the status of the corresponding
port pins.
6.4.1.2
Output Mode Explanation
Set Px_PMD(PMDn[1:0]) to 2’b01 the Px[n] pin is in Output mode and the I/O pin supports digital
output function with source/sink current capability. The bit value in the corresponding bit [n] of
Px_DOUT is driven on the pin.
VDD
P
Port Pin
Port Latch
Data
N
Input Data
Figure 6-10 Push-Pull Output
- 37 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.4.1.3
Open-Drain Mode Explanation
Set Px_PMD(PMDn[1:0]) to 2’b10 the Px[n] pin is in Open-Drain mode and the I/O pin supports
digital output function but only with sink current capability, an additional pull-up resister is needed
for driving high state. If the bit value in the corresponding bit [n] of Px_DOUT is “0”, the pin drive a
“low” output on the pin. If the bit value in the corresponding bit [n] of Px_DOUT is “1”, the pin
output drives high that is controlled by the internal pull-up resistor or the external pull high
resistor.
Port Pin
Port Latch
Data
N
Input Data
Figure 6-11 Open-Drain Output
6.4.1.4
Quasi-bidirectional Mode Explanation
Set Px_PMD(PMDn[1:0]) to 2’b11 the Px[n] pin is in Quasi-bidirectional mode and the I/O pin
supports digital output and input function at the same time but the source current is only up to
hundreds uA. Before the digital input function is performed the corresponding bit in Px_DOUT
must be set to 1. The quasi-bidirectional output is common on the 80C51 and most of its
derivatives. If the bit value in the corresponding bit [n] of Px_DOUT is “0”, the pin drive a “low”
output on the pin. If the bit value in the corresponding bit [n] of Px_DOUT is “1”, the pin will check
the pin value. If pin value is high, no action takes. If pin state is low, then pin will drive strong high
with 2 clock cycles on the pin and then disable the strong output drive and then the pin status is
control by internal pull-up resistor. Note that the source current capability in quasi-bidirectional
mode is only about 200uA to 30uA for VDD is form 5.0V to 2.5V
VDD
2 CPU
Clock Delay
P
Strong
P
Very
Weak
P
Weak
Port Pin
Port Latch
Data
N
Input Data
- 38 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Figure 6-12 Quasi-bidirectional I/O Mode
- 39 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.5 I2C Serial Interface Controller (Master/Slave)
6.5.1
Overview
2
I C is a two-wire, bi-directional serial bus that provides a simple and efficient method of data
2
exchange between devices. The I C standard is a true multi-master bus including collision
detection and arbitration that prevents data corruption if two or more masters attempt to control
the bus simultaneously.
Data is transferred between a Master and a Slave synchronously to SCL on the SDA line on a
byte-by-byte basis. Each data byte is 8 bits long. There is one SCL clock pulse for each data bit
with the MSB being transmitted first. An acknowledge bit follows each transferred byte. Each bit is
sampled during the high period of SCL; therefore, the SDA line may be changed only during the
low period of SCL and must be held stable during the high period of SCL. A transition on the SDA
line while SCL is high is interpreted as a command (START or STOP). Please refer to the Figure
2
6-13 for more detail I C BUS Timing.
Repeated
START
START
STOP
STOP
SDA
tBUF
tLOW
tr
SCL
tHD;STA
tf
tHIGH
tHD;DAT
tSU;DAT
tSU;STA
tSU;STO
2
Figure 6-13 I C Bus Timing
2
2
The device’s on-chip I C provides the serial interface that meets the I C bus standard mode
2
specification. The I C port handles byte transfers autonomously. To enable this port, the bit ENS1
2
2
in I2CON should be set to '1'. The I C H/W interfaces to the I C bus via two pins: SDA (serial data
2
line) and SCL (serial clock line). Pull up resistor is needed on pin SDA and SCL for I C operation
2
as these are open drain pins. When the I/O pins are used as I C port, user must set the pins
2
function to I C in advance.
- 40 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.5.2
Features
2
The I C bus uses two wires (SDA and SCL) to transfer information between devices connected to
the bus. The main features of the bus are:
Support Master and Slave mode
Bidirectional data transfer between masters and slaves
Multi-master bus (no central master)
Arbitration between simultaneously transmitting masters without corruption of serial data
on the bus
Serial clock synchronization allows devices with different bit rates to communicate via
one serial bus
Serial clock synchronization can be used as a handshake mechanism to suspend and
resume serial transfer
Built-in a 14-bit time-out counter will request the I C interrupt if the I C bus hangs up and
timer-out counter overflows.
External pull-up are needed for high output
Programmable clocks allow versatile rate control
Supports 7-bit addressing mode
I C-bus controllers support multiple address recognition ( Four slave address with mask
option)
2
2
2
- 41 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.6
6.6.1
PWM Generator and Capture Timer
Overview
™
NuMicro M051 series has 2 sets of PWM group supports 4 sets of PWM Generators which can
be configured as 8 independent PWM outputs, PWM0~PWM7, or as 4 complementary PWM
pairs, (PWM0, PWM1), (PWM2, PWM3), (PWM4, PWM5) and (PWM6, PWM7) with 4
programmable dead-zone generators.
Each PWM Generator has one 8-bit prescaler, one clock divider with 5 divided frequencies (1,
1/2, 1/4, 1/8, 1/16), two PWM Timers including two clock selectors, two 16-bit PWM downcounters for PWM period control, two 16-bit comparators for PWM duty control and one deadzone generator. The 4 sets of PWM Generators provide eight independent PWM interrupt flags
which are set by hardware when the corresponding PWM period down counter reaches zero.
Each PWM interrupt source with its corresponding enable bit can cause CPU to request PWM
interrupt. The PWM generators can be configured as one-shot mode to produce only one PWM
cycle signal or auto-reload mode to output PWM waveform continuously.
When PCR.DZEN01 is set, PWM0 and PWM1 perform complementary PWM paired function; the
paired PWM timing, period, duty and dead-time are determined by PWM0 timer and Dead-zone
generator 0. Similarly, the complementary PWM pairs of (PWM2, PWM3), (PWM4, PWM5) and
(PWM6, PWM7) are controlled by PWM2, PWM4 and PWM6 timers and Dead-zone generator 2,
4 and 6, respectively. Refer to figures bellowed for the architecture of PWM Timers.
When the 16-bit period down counter reaches zero, the interrupt request is generated. If PWMtimer is set as auto-reload mode, when the down counter reaches zero, it is reloaded with PWM
Counter Register (CNRx) automatically then start decreasing, repeatedly. If the PWM-timer is set
as one-shot mode, the down counter will stop and generate one interrupt request when it reaches
zero.
The value of PWM counter comparator is used for pulse high width modulation. The counter
control logic changes the output to high level when down-counter value matches the value of
compare register.
The alternate feature of the PWM-timer is digital input Capture function. If Capture function is
enabled the PWM output pin is switched as capture input mode. The Capture0 and PWM0 share
one timer which is included in PWM 0; and the Capture1 and PWM1 share PWM1 timer, and etc.
Therefore user must setup the PWM-timer before enable Capture feature. After capture feature is
enabled, the capture always latched PWM-counter to Capture Rising Latch Register (CRLR)
when input channel has a rising transition and latched PWM-counter to Capture Falling Latch
Register (CFLR) when input channel has a falling transition. Capture channel 0 interrupt is
programmable by setting CCR0.CRL_IE0[1] (Rising latch Interrupt enable) and
CCR0.CFL_IE0[2]] (Falling latch Interrupt enable) to decide the condition of interrupt occur.
Capture channel 1 has the same feature by setting CCR0.CRL_IE1[17] and CCR0.CFL_IE1[18].
And capture channel 0 to channel 3 on each group have the same feature by setting the
corresponding control bits in CCR0 and CCR2. For each group, whenever Capture issues
Interrupt 0/1/2/3, the PWM counter 0/1/2/3 will be reload at this moment.
The maximum captured frequency that PWM can capture is confined by the capture interrupt
latency. When capture interrupt occurred, software will do at least three steps, they are: Read
Publication Release Date: Mar. 19, 2012
- 42 Revision V1.01
™
NuMicro M058/M0516BN Datasheet
PIIR to get interrupt source and Read PWM_CRLx/PWM_CFLx(x=0 and 3) to get capture value
and finally write 1 to clear PIIR. If interrupt latency will take time T0 to finish, the capture signal
mustn’t transition during this interval (T0). In this case, the maximum capture frequency will be
1/T0. For example:
HCLK = 50 MHz, PWM_CLK = 25 MHz, Interrupt latency is 900 ns
So the maximum capture frequency will is 1/900ns ≈ 1000 kHz
6.6.2
6.6.2.1
Features
PWM function features:
PWM group has two PWM generators. Each PWM generator supports one 8-bit prescaler, one
clock divider, two PWM-timers (down counter), one dead-zone generator and two PWM outputs.
Up to 16 bits resolution
PWM Interrupt request synchronized with PWM period
One-shot or Auto-reload mode PWM
Up to 2 PWM group (PWMA/PWMB) to support 8 PWM channels
6.6.2.2
Capture Function Features:
Timing control logic shared with PWM Generators
8 capture input channels shared with 8 PWM output channels
Each channel supports one rising latch register (CRLR), one falling latch register (CFLR)
and Capture interrupt flag (CAPIFx)
- 43 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.7 Serial Peripheral Interface (SPI)
6.7.1
Overview
The Serial Peripheral Interface (SPI) is a synchronous serial data communication protocol which
operates in full duplex mode. Devices communicate in master/slave mode with 4-wire bi-direction
™
interface. NuMicro M051 series contains up to two sets of SPI controller performing a serial-toparallel conversion on data received from a peripheral device, and a parallel-to-serial conversion
on data transmitted to a peripheral device. Each set of SPI controller can be set as a master, it
also can be configured as a slave device controlled by an off-chip master device. This controller
supports a variable serial clock for special application.
6.7.2
Features
Up to two sets of SPI controller
Support master or slave mode operation
Configurable bit length up to 32-bit of a transfer word and configurable word numbers up
to 2 of a transaction, so the maximum bit length is 64-bit for each data transfer
Provide burst mode operation, transmit/receive can be transferred up to two times word
transaction in one transfer
Support MSB or LSB first transfer
Support byte reorder function
Support byte or word suspend mode
Support two programmable serial clock frequencies in master mode
Support three wire, no slave select signal, bi-direction interface
The SPI clock rate can be configured to equal the system clock rate
- 44 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.8
6.8.1
Timer Controller
Overview
™
NuMicro M051 series timer controller includes four 32-bit timers, which allows user to easily
implement a timer control for applications. The timer can perform functions like frequency
measurement, event counting, interval measurement, clock generation, delay timing, and so on.
The timer can generates an interrupt signal upon timeout, or provide the current counting value
during operation.
6.8.2
Features:
4 sets of 32-bit timers with 24-bit up-timer and one 8-bit pre-scale counter
Independent clock source for each timer
Provides one-shot, periodic, toggle and continuous counting operation modes
Time out period = (Period of timer clock input) * (8-bit pre-scale counter + 1) * (24-bit TCMP)
Maximum counting cycle time = (1 / T MHz) * (2 ) * (2 ), T is the period of timer clock
24-bit timer value is readable through TDR (Timer Data Register)
Support event counting function to count the event from external pin
Support input capture function to capture or reset counter value
8
- 45 -
24
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.9 Watchdog Timer (WDT)
6.9.1
Overview
The purpose of Watchdog Timer is to perform a system reset when system runs into an unknown
state. This prevents system from hanging for an infinite period of time. Besides, this Watchdog
Timer supports another function to wakeup chip from power down mode. The watchdog timer
includes an 18-bit free running counter with programmable time-out intervals. Table 6-2 show the
watchdog timeout interval selection and Figure 6.9-1 shows the timing of watchdog interrupt
signal and reset signal.
Setting WTE (WDTCR [7]) enables the watchdog timer and the WDT counter starts counting up.
When the counter reaches the selected time-out interval, Watchdog timer interrupt flag WTIF will
be set immediately to request a WDT interrupt if the watchdog timer interrupt enable bit WTIE is
set, in the meanwhile, a specified delay time (1024 * TWDT) follows the time-out event. User must
set WTR (WDTCR [0]) (Watchdog timer reset) high to reset the 18-bit WDT counter to avoid chip
from Watchdog timer reset before the delay time expires. WTR bit is cleared automatically by
hardware after WDT counter is reset. There are eight time-out intervals with specific delay time
which are selected by Watchdog timer interval select bits WTIS (WDTCR [10:8]). If the WDT
counter has not been cleared after the specific delay time expires, the watchdog timer will set
Watchdog Timer Reset Flag (WTRF) high and reset chip. This reset will last 63 WDT clocks (TRST)
then chip restarts executing program from reset vector (0x0000 0000). WTRF will not be cleared
by Watchdog reset. User may poll WTFR by software to recognize the reset source. WDT also
provides wakeup function. When chip is powered down and the Watchdog Timer Wake-up
Function Enable bit (WDTR[4]) is set, if the WDT counter reaches the specific time interval
defined by WTIS (WDTCR [10:8]) , the chip is waken up from power down state. First example, if
4
WTIS is set as 000, the specific time interval for chip to wake up from power down state is 2 *
TWDT. When power down command is set by software, then, chip enters power down state. After
4
2 * TWDT time is elapsed, chip is waken up from power down state. Second example, if WTIS
(WDTCR [10:8]) is set as 111, the specific time interval for chip to wake up from power down
18
state is 2 * TWDT. If power down command is set by software, then, chip enters power down
18
state. After 2 * TWDT time is elapsed, chip is waken up from power down state. Notice if WTRE
(WDTCR [1]) is set to 1, after chip is waken up, software should chip the Watchdog Timer counter
by setting WTR(WDTCR [0]) to 1 as soon as possible. Otherwise, if the Watchdog Timer counter
is not cleared by setting WTR (WDTCR [0]) to 1 before time starting from waking up to software
clearing Watchdog Timer counter is over 1024 * TWDT , the chip is reset by Watchdog Timer.
Timeout Interval Selection
Interrupt Period
WTR Timeout Interval (WDT_CLK=10 kHz)
TTIS
TINT
MIN. TWTR ~ MAX. TWTR
24 * TWDT
1024 * TWDT
1.6 ms ~ 104 ms
WTIS
000
6
001
2 * TWDT
1024 * TWDT
6.4 ms ~ 108.8 ms
010
28 * TWDT
1024 * TWDT
25.6 ms ~ 128 ms
10
011
2 * TWDT
1024 * TWDT
102.4 ms ~ 204.8 ms
100
212 * TWDT
1024 * TWDT
409.6 ms ~ 512 ms
1024 * TWDT
1.6384 s ~ 1.7408 s
101
14
2 * TWDT
- 46 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
216 * TWDT
110
18
111
2 * TWDT
1024 * TWDT
6.5536 s ~ 6.656 s
1024 * TWDT
26.2144 s ~ 26.3168 s
Table 6-2 Watchdog Timeout Interval Selection
TWDT
TTIS
INT
TINT
1024 * TWDT
TRST
RST
Minimum TWTR
63 * TWDT
Maximum TWTR
•
TWDT : Watchdog Engine Clock Time Period
•
TTIS : Watchdog Timeout Interval Selection Period
•
TINT : Watchdog Interrupt Period
•
TRST : Watchdog Reset Period
•
TWTR : Watchdog Timeout Interval Period
Figure 6-14 Timing of Interrupt and Reset Signal
6.9.2
Features
18-bit free running counter to avoid chip from Watchdog timer reset before the delay time
expires.
4
18
Selectable time-out interval (2 ~ 2 ) and the time out interval is 104 ms ~ 26.3168 s (if
WDT_CLK = 10 kHz).
Reset period = (1 / 10 kHz) * 63, if WDT_CLK = 10 kHz.
- 47 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.10 UART Interface Controller (UART)
™
NuMicro M051 series provides two channels of Universal Asynchronous Receiver/Transmitters
(UART). UART0~1 performs Normal Speed UART, and support flow control function.
6.10.1
Overview
The Universal Asynchronous Receiver/Transmitter (UART) performs a serial-to-parallel
conversion on data received from the peripheral, and a parallel-to-serial conversion on data
transmitted from the CPU. The UART controller also supports IrDA SIR Function, LIN
master/slave mode function and RS-485 mode functions. Each UART channel supports seven
types of interrupts including transmitter FIFO empty interrupt (INT_THRE), receiver threshold
level reaching interrupt (INT_RDA), line status interrupt (parity error or framing error or break
interrupt) (INT_RLS), receiver buffer time out interrupt (INT_TOUT), MODEM/Wakeup status
interrupt (INT_MODEM), Buffer error interrupt (INT_BUF_ERR) and LIN receiver break field
detected interrupt (INT_LIN_RX_BREAK).
The UART0 and UART1 are built-in with a 16-byte transmitter FIFO (TX_FIFO) and a 16-byte
receiver FIFO (RX_FIFO) that reduces the number of interrupts presented to the CPU. The CPU
can read the status of the UART at any time during the operation. The reported status information
includes the type and condition of the transfer operations being performed by the UART, as well
as 3 error conditions (parity error, framing error, break interrupt) probably occur while receiving
data. The UART includes a programmable baud rate generator that is capable of dividing clock
input by divisors to produce the serial clock that transmitter and receiver need. The baud rate
equation is Baud Rate = UART_CLK / M * [BRD + 2], where M and BRD are defined in Baud Rate
Divider Register (UA_BAUD). Table 6-3 lists the equations in the various conditions and Table 6-4
list the UART baud rate setting table.
Mode
DIV_X_EN DIV_X_ONE Divider X BRD
0
0
0
B
A
1
1
0
B
A
2
1
1
Don’t care
A
M
Baud rate equation
16
UART_CLK / [16 * (A+2)]
B+1 UART_CLK / [(B+1) * (A+2)] , B must >= 8
1
UART_CLK / (A+2), A must >=3
Table 6-3 UART Baud Rate Equation
- 48 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
System clock = 22.1184MHz
Baud rate
Mode0
Mode1
Mode2
921600
Not support
A=0,B=11
A=22
460800
A=1
A=1,B=15
A=2,B=11
A=46
230400
A=4
A=4,B=15
A=6,B=11
A=94
115200
A=10
A=10,B=15
A=14,B=11
A=190
57600
A=22
A=22,B=15
A=30,B=11
A=382
38400
A=34
A=62,B=8
A=46,B=11
A=34,B=15
A=574
19200
A=70
A=126,B=8
A=94,B=11
A=70,B=15
A=1150
9600
A=142
A=254,B=8
A=190,B=11
A=142,B=15
A=2302
4800
A=286
A=510,B=8
A=382,B=11
A=286,B=15
A=4606
Table 6-4 UART Baud Rate Setting Table
The UART0 and UART1 controllers support auto-flow control function that uses two low-level
signals, /CTS (clear-to-send) and /RTS (request-to-send), to control the flow of data transfer
between the UART and external devices (ex: Modem). When auto-flow is enabled, the UART is
not allowed to receive data until the UART asserts /RTS to external device. When the number of
bytes in the RX FIFO equals the value of RTS_TRI_LEV (UA_FCR [19:16]), the /RTS is deasserted. The UART sends data out when UART controller detects /CTS is asserted from external
device. If the valid asserted /CTS is not detected, the UART controller will not send data out.
The UART controllers also provides Serial IrDA (SIR, Serial Infrared) function (User must set
UA_FUN_SEL [1:0] = ’10’ to enable IrDA function). The SIR specification defines a short-range
infrared asynchronous serial transmission mode with one start bit, 8 data bits, and 1 stop bit. The
maximum data rate is 115.2 Kbps (half duplex). The IrDA SIR block contains an IrDA SIR
Protocol encoder/decoder. The IrDA SIR protocol is half-duplex only. So it cannot transmit and
receive data at the same time. The IrDA SIR physical layer specifies a minimum 10ms transfer
delay between transmission and reception. This delay feature must be implemented by software.
- 49 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
The alternate function of UART controllers is LIN (Local Interconnect Network) function. The LIN
mode is selected by setting UA_FUN_SEL [1:0] = ‘01’. In LIN mode, one start bit and 8-bit data
format with 1-bit stop bit are required in accordance with the LIN standard.
Another alternate function of UART controllers is RS-485 9 bit mode function, and direction
control provided by RTS pin or can program GPIO (P0.3 for RTS0 and P0.1 for RTS1) to
implement the function by software. The RS-485 mode is selected by setting the UA_FUN_SEL
register to select RS-485 function. The RS-485 driver control is implemented by using the RTS
control signal from an asynchronous serial port to enable the RS-485 driver. In RS-485 mode,
many characteristics of the RX and TX are same as UART.
6.10.2
Features
Full duplex, asynchronous communications
Separate receive / transmit 16/16 bytes entry FIFO for data payloads
Support hardware auto flow control/flow control function (CTS, RTS) and programmable
RTS flow control trigger level
Programmable receiver buffer trigger level
Support programmable baud-rate generator for each channel individually
Support CTS wake up function
Support 8 bit receiver buffer time out detection function
Programmable transmitting data delay time between the last stop and the next start bit by
setting UA_TOR [DLY] register
Support break error, frame error, parity error and receive / transmit buffer overflow detect
function
Fully programmable serial-interface characteristics
Programmable number of data bit, 5, 6, 7, 8 bit character
Programmable parity bit, even, odd, no parity or stick parity bit generation and
detection
Programmable stop bit, 1, 1.5, or 2 stop bit generation
Support IrDA SIR function mode
Support for 3/16 bit duration for normal mode
Support LIN function mode
Support LIN master/slave mode
Support programmable break generation function for transmitter
Support break detect function for receiver
Support RS-485 function mode.
Support RS-485 9bit mode
Support hardware or software enable to program RTS pin to control RS-485
transmission direction directly
- 50 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.11 Analog-to-Digital Converter (ADC)
6.11.1
Overview
™
NuMicro M051 series contain one 12-bit successive approximation analog-to-digital converters
(SAR A/D converter) with 8 input channels. The A/D converter supports four operation modes:
single, burst, single-cycle scan and continuous scan mode. The A/D converters can be started by
software and external STADC/P3.2 pin.
6.11.2
Features
Analog input voltage range: 0~AVDD (Max to 5.0V).
12-bit resolution and 10-bit accuracy is guaranteed.
Up to 8 single-end analog input channels or 4 differential analog input channels.
Maximum ADC clock frequency is 16 MHz.
Up to 760k SPS conversion rate.
Four operating modes
-
Single mode: A/D conversion is performed one time on a specified channel.
-
Single-cycle scan mode: A/D conversion is performed one cycle on all specified
channels with the sequence from the lowest numbered channel to the highest numbered
channel.
-
Continuous scan mode: A/D converter continuously performs Single-cycle scan mode
until software stops A/D conversion.
-
Burst mode: A/D conversion will sample and convert the specified single channel and
sequentially store in FIFO.
An A/D conversion can be started by
-
Software Write 1 to ADST bit
-
External pin STADC
Conversion results are held in data registers for each channel with valid and overrun
indicators.
Conversion result can be compared with specify value and user can select whether to
generate an interrupt when conversion result matches the compare register setting.
- 51 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Channel 7 supports 3 input sources: external analog voltage, internal bandgap voltage, and
internal temperature sensor output.
6.12 External Bus Interface (EBI)
6.12.1
Overview
™
NuMicro M051 series equips an external bus interface (EBI) for external device used.
To save the connections between external device and this chip, EBI support address bus and
data bus multiplex mode. And, address latch enable (ALE) signal supported differentiate the
address and data cycle.
6.12.2
Features
External Bus Interface has the following functions:
1.
External devices with max. 64K-byte size (8 bit data width)/128K-byte (16 bit data width)
supported
2.
Variable external bus base clock (MCLK) supported
3.
8 bit or 16 bit data width supported
4.
Variable data access time (tACC), address latch enable time (tALE) and address hold time
(tAHD) supported
5.
Address bus and data bus multiplex mode supported to save the address pins
6.
Configurable idle cycle supported for different access condition: Write command finish
(W2X), Read-to-Read (R2R)
- 52 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
6.13 Flash Memory Controller (FMC)
6.13.1
Overview
™
NuMicro M051 series equips with 32K/64K bytes on chip embedded Flash EEPROM for
application program memory (APROM) that can be updated through ISP/IAP procedure. In
System Programming (ISP) function enables user to update program memory when chip is
soldered on PCB. After chip power on Cortex-M0 CPU fetches code from APROM or LDROM
™
decided by boot select (CBS) in Config0. By the way, NuMicro M051 series also provide
additional 4K bytes DATA Flash for user to store some application depended data before chip
power off in 64/32K bytes APROM model.
6.13.2
Features
Run up to 50 MHz with zero wait state for continuous address read access
32/64KB application program memory (APROM)
4KB in system programming (ISP) loader program memory (LDROM)
Fixed 4KB data flash with 512 bytes page erase unit
In System Program (ISP)/In Application Program (IAP) to update on chip Flash EPROM
- 53 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
TYPICAL APPLICATION CIRCUIT
DVDD
DVDD
DVDD
DVDD
LE
OE
FB
L2
FB
AVDD
R1
10K
3
4
7
8
13
14
17
18
ALE
11
1
D0
D1
D2
D3
D4
D5
D6
D7
U2
74F373
2
5
6
9
12
15
16
19
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
C1
10uF/10V
AA8
AA9
AA10
AA11
AA12
AA13
AA14
AA15
TANT-A
LE
OE
DVSS
AD8
AD9
AD10
AD11
AD12
AD13
AD14
AD15
AVSS
AA0
AA1
AA2
AA3
AA4
AA5
AA6
AA7
VCC
11
1
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
2
5
6
9
12
15
16
19
L1
nTICERST
20
U1
74F373
20
ALE
D0
D1
D2
D3
D4
D5
D6
D7
VCC
3
4
7
8
13
14
17
18
GND
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
CB2
0.1 uF
CB3
0.1 uF
GND
CB1
0.1 uF
Reset Circuit
CB4
0.1 uF
C2
20p
10
10
D12MO
ADC
AA5
AA6
AA7
nRD
ADC Input
CON1
1X2 HEADER
1
2
AD15
AD14
AD13
AD12
DVSS
DVDD
AD11
AD10
AD9
AD8
P11
RXD1
TXD1
nSS0
P42
C3
820pF
1
2
U4
M052_LQFP_48
CB5
0.1 uF
MOSI_0
MISO_0
SCLK0
nTICERST
RXD0
AVSS
TXD0
P32
P33
SDA
SCL
P43
AA8
AA9
AA10
AA11
AA12
BS616LV4017EG70(TSOP-44)
EBI
1
2
3
4
5
6
7
8
9
10
11
12
C4
20p
AVDD
DVDD
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
MOSI_0/AIN5/P1.5
MISO_0/AIN6/P1.6
SCLK0/AIN7/P1.7
RST
RXD/P3.0
AVSS
TXD/P3.1
INT0/P3.2
MCLK/INT1/P3.3
SDA/T0/P3.4
SCL/T1/P3.5
P4.3
XTAL3-1
D12MI
AD0
AD1
AD2
AD3
Crystal
48
47
46
45
44
43
42
41
40
39
38
37
A5
A6
A7
OE
UB
LB
I/O15
I/O14
I/O13
I/O12
VSS
VCC
I/O11
I/O10
I/O9
I/O8
NC
A8
A9
A10
A11
A12
A4
A3
A2
A1
A0
CS
I/O0
I/O1
I/O2
I/O3
VCC
VSS
I/O4
I/O5
I/O6
I/O7
WE
A17
A16
A15
A14
A13
P4.2
AIN3/SS0/P1.4
AIN3/TXD1/P1.3
AIN2/RXD1/P1.2
AIN1/T2/P1.1
AIN0/T2/P1.0
AVDD
VDD
P0.0/AD0/CTS1
P0.1/AD1/RTS1
P0.2/AD2/CTS0
P0.3/AD3/RTS0
CB6
0.1 uF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
X1
12MHz
ICEJP1
P4.1
P0.4/AD4/SS1
P0.5/AD5/MOSI_1
P0.6/AD6/MISO_1
M052_54 LQFP 48 P0.7/AD7/SCLK1
P4.7/ICE_DAT
P4.6/ICE_CLK
P4.5/ALE
P4.4/CS
P2.7/AD15/PWM7
P2.6/AD14/PWM6
P2.5/AD13/PWM5
36
35
34
33
32
31
30
29
28
27
26
25
1
3
5
7
9
P41
AD4
AD5
AD6
AD7
TICEDAT
TICECLK
ALE
nCS
AD15
AD14
AD13
P3.6/WR/CKO
P3.7/RD
XTAL2
XTAL1
VSS
LDO_CAP
P2.0/AD8/PWM0
P2.1/AD9/PWM1
P2.2/AD10/PWM2
P2.3/AD11/PWM3
P2.4/AD12/PWM4
P4.0
AA4
AA3
AA2
AA1
AA0
nCS
AD0
AD1
AD2
AD3
DVDD
DVSS
AD4
AD5
AD6
AD7
nWR
DVSS
DVSS
AA15
AA14
AA13
U3
2
4
6
8
10
TICEDAT
TICECLK
nTICERST
HEADER 5X2
HEADER5X2
ICE Interface
SPI
13
14
15
16
17
18
19
20
21
22
23
24
7
nWR
nRD
D12MO
D12MI
1
2
3
4
UART_RXD
UART_TXD
S1
8
7
6
5
P40
AD12
AD11
AD10
AD9
AD8
RXD0
TXD0
RXD1
TXD1
DVDD
DVDD
CB7
0.1 uF
C5
10uF
TANT-B
SW DIP-4
SWDIP8
RSPI1
4.7K
nSS1
MISO_1
MET22
RSPI2
4.7K
USPI1
W25X16VSSIG
1
2
3
4
CS#
DO
WP#
GND
VCC
HOLD#
CLK
DI
8
7
6
5
DVDD
MET23
SCLK1
MOSI_1
SOIC-8P
UART
C6
1uF
TANT-A
P1
11 VSS
1
6
2
7
3
8
4
9
5
10
VDD
C8 1uF
TANT-A
NET10
NET11
R3
33
R5
33
DB9-M (公)
DB9L-HP
C7
1uF
TANT-A
I2C
DVDD
NET3
NET4
NET40
NET5
NET6
NET7
NET8
NET9
C9
1uF
TANT-A
1
2
3
4
5
6
7
8
U5
MAX232A
C1+
V+
C1C2+
C2VT2OUT
R2IN
SOP16/150
VCC
GND
T1OUT
R1IN
R1OUT
T1IN
T2IN
R2OUT
16
15
14
13
12
11
10
9
CB8
0.1 uF
DVDD
R4 33
NET12
NET13
EEPROM
ADDRESS:0H
UART_TXD
UART_RXD
R6 33
1
2
3
4
UI2C1
I2C-EEPROM
A0
A1
A2
GND
VCC
WP
SCL
SDA
RI2C1
4.7K
8
7
6
5
RI2C2
4.7K
CB9
0.1 uF
Title
SCL
SDA
M052_54 Application Circuit
Size
Document Number
Date:
Thursday , August 19, 2010
- 54 -
Rev
Application.dsn
24LC64
SOIC8\1.27\5.6MM
1.0
Sheet
1
of
1
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
8
ELECTRICAL CHARACTERISTICS
8.1
Absolute Maximum Ratings
SYMBOL
PARAMETER
MIN
MAX
UNIT
VDD −VSS
-0.3
+7.0
V
VIN
VSS-0.3
VDD +0.3
V
1/tCLCL
4
24
MHz
Operating Temperature
TA
-40
+85
°C
Storage Temperature
TST
-55
+150
°C
-
120
mA
Maximum Current out of VSS
120
mA
Maximum Current sunk by a I/O pin
35
mA
Maximum Current sourced by a I/O
pin
35
mA
Maximum Current sunk by total I/O
pins
100
mA
Maximum Current sourced by total
I/O pins
100
mA
DC Power Supply
Input Voltage
Oscillator Frequency
Maximum Current into VDD
Note: Exposure to conditions beyond those listed under absolute maximum ratings may adversely affects the lift and reliability of the device.
- 55 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
8.2
DC Electrical Characteristics
(VDD -VSS=2.5~5.5V, TA = 25°C, FOSC = 50 MHz unless otherwise specified.)
SPECIFICATION
PARAMETER
SYM.
TEST CONDITIONS
MIN.
TYP.
MAX.
UNIT
5.5
V
VDD =2.5V ~ 5.5V up to 50 MHz
Operation voltage
VDD
2.5
LDO Output Voltage
VLDO
1.7
1.8
1.9
V
VDD ≥ 2.5V
Band Gap Analog Input
VBG
-5%
1.20
+5%
V
VDD =2.5V ~ 5.5V
Analog Operating
Voltage
AVDD
0
VDD
V
Analog Reference
Voltage
Vref
0
AVDD
V
Operating Current
Normal Run Mode
@ 50 MHz
Operating Current
Normal Run Mode
@ 22Mhz
Operating Current
Normal Run Mode
@ 12Mhz
IDD1
20.6
mA
VDD = 5.5V@50MHz,
enable all IP and PLL, XTAL=12MHz
IDD2
14.4
mA
VDD =5.5V@50MHz,
disable all IP and enable PLL,
XTAL=12MHz
IDD3
18.9
mA
VDD = 3.3V@50MHz,
enable all IP and PLL, XTAL=12MHz
IDD4
12.8
mA
VDD = 3.3V@50MHz,
disable all IP and
XTAL=12MHz
IDD5
6.2
mA
VDD = 5.5V@22MHz,
enable all IP and IRC22M,
disable PLL
IDD6
3.4
mA
VDD =5.5V@22MHz,
disable all IP and enable IRC22M,
disable PLL
IDD7
6.1
mA
VDD = 3.3V@22MHz,
enable all IP and IRC22M,
disable PLL
IDD8
3.4
mA
VDD = 3.3V@22MHz,
disable all IP and enable IRC22M,
disable PLL
IDD9
5.3
mA
VDD = 5.5V@12MHz,
enable all IP and
XTAL=12MHz
IDD10
3.7
mA
VDD = 5.5V@12MHz,
disable all IP and disable PLL,
XTAL=12MHz
IDD11
4.0
mA
VDD = 3.3V@12MHz,
enable all IP and disable PLL,
XTAL=12MHz
- 56 -
enable
disable
PLL,
PLL,
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Operating Current
Normal Run Mode
@ 4 MHz
Operating Current
Normal Run Mode
@10Khz
Operating Current
Idle Mode
@ 50 MHz
Operating Current
Idle Mode
@ 22Mhz
IDD12
2.3
mA
VDD = 3.3V@12MHz,
disable all IP and disable PLL,
XTAL=12MHz
IDD13
3.4
mA
VDD = 5.5V@4MHz,
enable all IP and
XTAL=4MHz
disable
PLL,
IDD14
2.6
mA
VDD = 5.5V@4MHz,
disable all IP and
XTAL=4MHz
disable
PLL,
IDD15
2.0
mA
VDD = 3.3V@4MHz,
enable all IP and
XTAL=4MHz
disable
PLL,
IDD16
1.3
mA
VDD = 3.3V@4MHz,
disable all IP and
XTAL=4MHz
disable
PLL,
IDD17
98.7
uA
VDD = 5.5V@10KHz,
enable all IP and IRC10K,
disable PLL
IDD18
97.4
uA
VDD = 5.5V@10KHz,
disable all IP and enable IRC10K,
disable PLL
IDD19
86.4
uA
VDD = 3.3V@10KHz,
enable all IP and IRC10K,
disable PLL
IDD20
85.2
uA
VDD = 3.3V@10KHz,
disable all IP and enable IRC10K,
disable PLL
IIDLE1
16.2
mA
VDD = 5.5V@50 MHz, enable all IP and
PLL, XTAL=12 MHz
IIDLE2
10.0
mA
VDD =5.5V@50 MHz, disable all IP and
enable PLL, XTAL=12 MHz
IIDLE3
14.6
mA
VDD = 3V@50 MHz, enable all IP and PLL,
XTAL=12 MHz
IIDLE4
8.5
mA
VDD = 3V@50 MHz, disable all IP and
enable PLL, XTAL=12 MHz
IIDLE5
4.3
mA
VDD = 5.5V@22MHz,
enable all IP and IRC22M,
disable PLL
IIDLE6
1.5
mA
VDD =5.5V@22MHz,
disable all IP and enable IRC22M,
disable PLL
IIDLE7
4.2
mA
VDD = 3.3V@22MHz,
enable all IP and IRC22M,
disable PLL
IIDLE8
1.4
mA
VDD = 3.3V@22MHz,
disable all IP and enable IRC22M,
disable PLL
- 57 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Operating Current
Idle Mode
@ 12 MHz
Operating Current
Idle Mode
@ 4 MHz
Operating Current
Idle Mode
@10Khz
Standby Current
Power-down Mode
(Deep Sleep Mode)
IIDLE9
4.3
mA
VDD = 5.5V@12MHz,
enable all IP and
XTAL=12MHz
disable
PLL,
IIDLE10
2.6
mA
VDD = 5.5V@12MHz,
disable all IP and
XTAL=12MHz
disable
PLL,
IIDLE11
2.9
mA
VDD = 3.3V@12MHz,
enable all IP and
XTAL=12MHz
disable
PLL,
IIDLE12
1.3
mA
VDD = 3.3V@12MHz,
disable all IP and
XTAL=12MHz
disable
PLL,
IIDLE13
3.0
mA
VDD = 5.5V@4MHz,
enable all IP and
XTAL=4MHz
disable
PLL,
IIDLE14
2.3
mA
VDD = 5.5V@4MHz,
disable all IP and
XTAL=4MHz
disable
PLL,
IIDLE15
1.7
mA
VDD = 3.3V@4MHz,
enable all IP and
XTAL=4MHz
disable
PLL,
IIDLE16
1.0
mA
VDD = 3.3V@4MHz,
disable all IP and
XTAL=4MHz
disable
PLL,
IIDLE17
97.8
uA
VDD = 5.5V@10KHz,
enable all IP and IRC10K,
disable PLL
IIDLE18
96.5
uA
VDD = 5.5V@10KHz,
disable all IP and enable IRC10K,
disable PLL
IIDLE19
85.5
uA
VDD = 3.3V@10KHz,
enable all IP and IRC10K,
disable PLL
IIDLE20
84.4
uA
VDD = 3.3V@10KHz,
disable all IP and enable IRC10K,
disable PLL
IPWD1
10
µA
VDD = 5.5V, No load @ Disable BOV
function
IPWD2
10
µA
VDD = 3.0V, No load @ Disable BOV
function
Input Current P0/1/2/3/4
(Quasi-bidirectional
mode)
IIN1
-75
-
+15
µA
VDD = 5.5V, VIN = 0V or VIN= VDD
Input Leakage Current
P0/1/2/3/4
ILK
-1
-
+1
µA
VDD = 5.5V, 0reset voltage
-
1
-
nA
Specification of Temperature Sensor
PARAMETER
MIN.
TYP.
MAX.
UNIT
Supply voltage[1]
1.62
1.8
1.98
V
Temperature
-40
-
85
℃
Gain
-1.72
-1.76
-1.80
mV/℃
717
725
733
mV
Offset
CONDITIONS
Temp=0 ℃
Note[1]: Internal operation voltage comes from LDO.
8.4.7
Specification of Comparator
PARAMETER
CONDITION
MIN.
TYP.
MAX.
UNIT
Temperature
-
-40
25
85
℃
VDD
-
2.4
3
5.5
V
VDD current
-
-
40
80
uA
Input offset voltage
-
10
20
mV
Output swing
-
0.1
-
VDD -0.1
V
Input common mode range
-
0.1
-
VDD -0.1
V
DC gain
-
-
70
-
dB
Propagation delay
@VCM=1.2 V and
VDIFF=0.1 V
-
200
-
ns
Hysteresis
@VCM=0.2 V ~ VDD -0.2V
-
±10
-
mV
-
-
2
us
@CINP=1.3 V
Stable time
CINN=1.2 V
- 66 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
8.5 Flash DC Electrical Characteristics
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
100000
cycles[1]
10
year
Nendu
Endurance
Tret
Retention time
Terase
Page erase time
19
20
21
ms
Tmess
Mess erase time
30
40
50
ms
Tprog
Program time
38
40
42
us
VDD
Supply voltage
1.62
1.8
1.98
V[2]
Idd1
Read current
0.25
mA
Idd2
Program/Erase current
7
mA
Ipd
Power down current
20
uA
Temp=85 ℃
1
1. Number of program/erase cycles.
2. VDD is source from chip LDO output voltage.
3. Guaranteed by design, not test in production.
- 67 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
9
PACKAGE DIMENSIONS
9.1
LQFP-48 (7x7x1.4mm2 Footprint 2.0mm)
HD
D
A
36
A2
25
37
24
48
13
A1
HE E
1
12
b
e
c
SEATING PLANE
L
Y
θ
L1
Controlling dimension : Millimeters
Symbol
A
A1
A2
b
c
D
E
e
HD
HE
L
L1
Y
0
Dimension in inch
Dimension in mm
Min Nom Max
Min Nom Max
0.002 0.004
0.006
0.05
0.053 0.055
0.057
1.35
1.40
1.45
0.006 0.008
0.010
0.15
0.20
0.25
0.004 0.006
0.008
0.10
0.15
0.20
0.272 0.276
0.280
6.90
7.00
7.10
0.272 0.276
0.280
6.90
7.00
7.10
0.020 0.026
0.35
0.50
0.65
0.014
0.10
0.15
0.350
0.354
0.358
8.90
9.00
9.10
0.350
0.354
0.358
8.90
9.00
9.10
0.018
0.024
0.030
0.45
0.60
0.75
1.00
0.039
0.004
0
- 68 -
7
0.10
0
7
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
9.2
QFN-33 (5X5 mm2, Thickness 0.8mm, Pitch 0.5 mm)
- 69 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
10 REVISION HISTORY
VERSION
DATE
PAGE
V1.0
Oct 20, 2011
-
V1.01
Mar. 19, 2012
8.3.4
DESCRIPTION
Initial issued
Updated the Center Frequency of 22Mhz RC spec
- 70 -
Publication Release Date: Mar. 19, 2012
Revision V1.01
™
NuMicro M058/M0516BN Datasheet
Important Notice
Nuvoton Products are neither intended nor warranted for usage in systems or equipment, any
malfunction or failure of which may cause loss of human life, bodily injury or severe property
damage. Such applications are deemed, “Insecure Usage”.
Insecure usage includes, but is not limited to: equipment for surgical implementation, atomic
energy control instruments, airplane or spaceship instruments, the control or operation of
dynamic, brake or safety systems designed for vehicular use, traffic signal instruments, all
types of safety devices, and other applications intended to support or sustain life.
All Insecure Usage shall be made at customer’s risk, and in the event that third parties lay
claims to Nuvoton as a result of customer’s Insecure Usage, customer shall indemnify the
damages and liabilities thus incurred by Nuvoton.
- 71 -
Publication Release Date: Mar. 19, 2012
Revision V1.01