PMC156/PMS156 Series
8-bit IO-Type Controller
Data Sheet
Version 0.05 – July 07, 2016
Copyright 2016 by PADAUK Technology Co., Ltd., all rights reserved
10F-2, No. 1, Sec. 2, Dong-Da Road, Hsin-Chu 300, Taiwan, R.O.C.
TEL: 886-3-532-7598 www.padauk.com.tw
PMC156/PMS156 Series
8-bit IO-Type Controller
IMPORTANT NOTICE
PADAUK Technology reserves the right to make changes to its products or to terminate
production of its products at any time without notice. Customers are strongly
recommended to contact PADAUK Technology for the latest information and verify
whether the information is correct and complete before placing orders.
PADAUK Technology products are not warranted to be suitable for use in life-support
applications or other critical applications. PADAUK Technology assumes no liability for
such applications. Critical applications include, but are not limited to, those that may
involve potential risks of death, personal injury, fire or severe property damage.
PADAUK Technology assumes no responsibility for any issue caused by a customer’s
product design. Customers should design and verify their products within the ranges
guaranteed by PADAUK Technology. In order to minimize the risks in customers’ products,
customers should design a product with adequate operating safeguards.
©Copyright 2016, PADAUK Technology Co. Ltd
Page 2 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
Table of Contents
1.
Features ............................................................................................................................... 7
1.1.
1.2.
1.3.
2.
3.
4.
General Description and Block Diagram .......................................................................... 8
Pin Assignment and Functional Description.................................................................... 9
Device Characteristics ..................................................................................................... 14
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.
4.8.
4.9.
4.10.
4.11.
4.12.
4.13.
4.14.
4.15.
5.
Special Features ..................................................................................................................... 7
System Features ..................................................................................................................... 7
CPU Features ......................................................................................................................... 7
DC/AC Characteristics .......................................................................................................... 14
Absolute Maximum Ratings .................................................................................................. 15
Typical IHRC Frequency vs. VDD (calibrated to 16MHz) ..................................................... 16
Typical ILRC Frequency vs. VDD ......................................................................................... 16
Typical IHRC Frequency vs. Temperature (calibrated to 16MHz) ........................................ 17
Typical ILRC Frequency vs. Temperature ............................................................................ 17
Typical Operating Current vs. VDD and CLK=IHRC/n .......................................................... 18
Typical Operating Current vs. VDD and CLK=ILRC/n .......................................................... 18
Typical Lowest Operating Current vs. VDD and CLK=ILRC/n .............................................. 19
Typical operating current vs. VDD @ system clock = 4MHz EOSC / n ................................ 19
Typical operating current vs. VDD @ system clock = 32kHz EOSC / n ............................... 20
Typical IO pull high resistance .............................................................................................. 21
Typical IO driving current (IOH) and sink current (IOL) ............................................................ 21
Typical IO input high / low threshold voltage (VIH/VIL) ........................................................... 22
Typical VDD/2 Bias output voltage ....................................................................................... 22
Functional Description ..................................................................................................... 23
5.1.
5.2.
5.3.
5.4.
5.5
5.6
5.7
5.8
Program Memory – OTP ....................................................................................................... 23
Boot Up ................................................................................................................................. 23
Data Memory – SRAM .......................................................................................................... 24
Oscillator and clock ............................................................................................................... 24
5.4.1. Internal High RC oscillator and Internal Low RC oscillator ........................................ 24
5.4.2. IHRC calibration ......................................................................................................... 24
5.4.3. IHRC Frequency Calibration and System Clock ........................................................ 25
5.4.4. External Crystal Oscillator.......................................................................................... 26
5.4.5. System Clock and LVR levels .................................................................................... 28
5.4.6. System Clock Switching............................................................................................. 28
16-bit Timer (Timer16) .......................................................................................................... 30
Watchdog Timer.................................................................................................................... 32
Interrupt................................................................................................................................. 32
Power-Save and Power-Down .............................................................................................. 35
5.8.1. Power-Save mode (“stopexe”) ................................................................................... 35
5.8.2. Power-Down mode (“stopsys”) .................................................................................. 36
©Copyright 2016, PADAUK Technology Co. Ltd
Page 3 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
5.9
5.10
5.11
6.
IO Registers....................................................................................................................... 43
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
7.
ACC Status Flag Register (flag), IO address = 0x00 ............................................................ 43
Stack Pointer Register (sp), IO address = 0x02 ................................................................... 43
Clock Mode Register (clkmd), IO address = 0x03 ................................................................ 43
Interrupt Enable Register (inten), IO address = 0x04 ........................................................... 44
Interrupt Request Register (intrq), IO address = 0x05 .......................................................... 44
Timer 16 mode Register (t16m), IO address = 0x06............................................................. 44
External Oscillator setting Register (eoscr, write only), IO address = 0x0a .......................... 45
IHRC oscillator control Register (ihrcr, write only), IO address = 0x0b ................................. 45
Interrupt Edge Select Register (integs), IO address = 0x0c.................................................. 45
Port A Digital Input Enable Register (padier), IO address = 0x0d......................................... 46
Port B Digital Input Enable Register (pbdier), IO address = 0x0e......................................... 47
Port A Data Registers (pa), IO address = 0x10 .................................................................... 48
Port A Control Registers (pac), IO address = 0x11 .............................................................. 48
Port A Pull-High Registers (paph), IO address = 0x12 ......................................................... 48
Port B Data Registers (pb), IO address = 0x14 .................................................................... 48
Port B Control Registers (pbc), IO address = 0x15 .............................................................. 48
Port B Pull-High Registers (pbph), IO address = 0x16 ......................................................... 48
MISC Register (misc), IO address = 0x3b ............................................................................ 49
Instructions ....................................................................................................................... 50
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
8.
5.8.3. Wake-up..................................................................................................................... 37
IO Pins .................................................................................................................................. 39
Reset and LVR...................................................................................................................... 40
5.10.1. Reset........................................................................................................................ 40
5.10.2. LVR reset ................................................................................................................. 40
5.10.3. Notice for LVR reset................................................................................................. 40
LCD Bias Voltage Generator ................................................................................................ 42
Data Transfer Instructions..................................................................................................... 51
Arithmetic Operation Instructions .......................................................................................... 53
Shift Operation Instructions................................................................................................... 55
Logic Operation Instructions ................................................................................................. 56
Bit Operation Instructions...................................................................................................... 58
Conditional Operation Instructions ........................................................................................ 58
System control Instructions ................................................................................................... 59
Summary of Instructions Execution Cycle ............................................................................ 61
Summary of affected flags by Instructions ............................................................................ 62
Special Notes .................................................................................................................... 63
8.1.
Using IC ................................................................................................................................ 63
8.1.1.
IO pin usage and setting ................................................................................... 63
8.1.2.
Interrupt ............................................................................................................. 64
8.1.3.
System clock switching ..................................................................................... 64
8.1.4.
Power down mode, wakeup and watchdog ....................................................... 65
8.1.5.
TIMER time out ................................................................................................. 65
©Copyright 2016, PADAUK Technology Co. Ltd
Page 4 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
8.2.
8.3.
8.1.6.
LVR ................................................................................................................... 65
8.1.7.
Instructions ........................................................................................................ 66
8.1.8.
RAM definition ................................................................................................... 66
8.1.9.
LCD COM pin application .................................................................................. 66
8.1.10.
Program writing ................................................................................................. 66
Using ICE .............................................................................................................................. 67
Warning ................................................................................................................................. 67
©Copyright 2016, PADAUK Technology Co. Ltd
Page 5 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
Revision History:
Revision
Date
Description
st
0.01
2013/12/10
1 version
0.02
2014/2/10
Add section 5.10.3 Notice for LVR reset ,Add chapter 8 Special Notes
0.03
2014/12/22
Amend PMS156 operating temperature to -40°C ~ 85°C
0.04
2015/6/16
Amend PMS156 operating temperature to -20°C ~ 70°C
0.05
2016/7/7
1. Add section 5.8.3: the description of wake-up
2. Add section 8.3 Warning
©Copyright 2016, PADAUK Technology Co. Ltd
Page 6 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
1. Features
1.1. Special Features
PMC156 series:
High EFT series
Operating temperature range: -40°C ~ 85°C
PMS156 series:
General purpose series
Please don’t apply to AC RC step-down powered, high power ripple or high EFT requirement
application
Operating temperature range: -20°C ~ 70°C
1.2. System Features
Clock sources: External crystal oscillator, internal high RC oscillator and internal low RC oscillator
Built-in Internal High RC Oscillator (IHRC)
Band-gap circuit to provide 1.20V reference voltage
One hardware 16-bit timer
Built-in half VDD bias voltage generator for LCD application
Support fast wake-up
Eight levels of LVR reset : 4.1V, 3.6V, 3.1V, 2.8V, 2.5V, 2.2V, 2.0V, 1.8V
16 IO pins with 10mA capability and optional pull-high resistor
Two external interrupt pins
Every IO pin can be configured to enable wake-up function
Operating frequency range:
DC ~ 8MHz@VDD≧3.3V; DC ~ 4MHz@VDD≧2.5V; DC ~ 2MHz@VDD≧2.2V
Operating voltage range: 2.2V ~ 5.5V
Low power consumption
Ioperating ~ 1.7mA@1MIPS, VDD=5.0V
Ioperating ~ 8uA@ILRC=21kHz, VDD=3.3V
Ipowerdown ~ 1uA@VDD=5.0V
Ipowerdown
~ 0.5uA@VDD=3.3V
Package Information: SOP14/SOP16/SOP18/SOP20/DIP18
1.3. CPU Features
One processing unit operating mode
1KW OTP program memory
64 Bytes data RAM
79 Powerful instructions
Most instructions are 1T execution cycle
Programmable stack pointer and adjustable stack level
All data memories are available for use as an index pointer
Separated IO space and memory space
©Copyright 2016, PADAUK Technology Co. Ltd
Page 7 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
2. General Description and Block Diagram
The PMC156/PMS156 is an IO-Type, OTP-based controller. The PMC156/PMS156 employs RISC architecture
and most the instructions are executed in one cycle except that few instructions are two cycles that handle
indirect memory access. 1KW bits OTP program memory and 64 bytes data SRAM are inside, one hardware
16-bit timer is also provided in the PMC156/PMS156.
Touch
Controller
Internal Peripheral Bus
1.5KW
OTP
&
Task
Control
Interrupt
Controller
16-bit Timer
IO Ports
CPU
88 bytes
SRAM
Timer2
8-bit Timer
Watchdog
Timer
POR / LVR
Power
management
©Copyright 2016, PADAUK Technology Co. Ltd
Page 8 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
3. Pin Assignment and Functional Description
PMC156 series
PA2/COM2
1
14
PA1/COM1
PA2/COM2
1
16
PA1/COM1
PA3/COM3
2
13
PA0/INT0
PA3/COM3
2
15
PA0/INT0
PA4/COM4
3
12
PA7/XIN
PA4/COM4
3
14
PA7/XIN
PA5/PRST#
4
11
PA6/XOUT
PA5/PRST#
4
13
PA6/XOUT
GND
5
10
VDD
GND
5
12
VDD
PB0/INT1
6
9
PB7
PB0/INT1
6
11
PB7
PB1/COM1A
7
8
PB6/COM4A
PB1/COM1A
7
10
PB6/COM4A
PB2/COM2A
8
9
PB5/COM3A
PMC156 (SOP14-150mil)
PMC156 (SOP16-150mil)
PA2/COM2
1
18
PA1/COM1
PA2/COM2
1
20
PA1/COM1
PA3/COM3
2
17
PA0/INT0
PA3/COM3
2
19
PA0/INT0
PA4/COM4
3
16
PA7/XIN
PA4/COM4
3
18
PA7/XIN
PA5/PRST#
4
15
PA6/XOUT
PA5/PRST#
4
17
PA6/XOUT
GND
5
14
VDD
GND
5
16
VDD
PB0/INT1
6
13
PB7
GND
6
15
VDD
PB1/COM1A
7
12
PB6/COM4A
PB0/INT1
7
14
PB7
PB2/COM2A
8
11
PB5/COM3A
PB1/COM1A
8
13
PB6/COM4A
PB3
9
10
PB4
PB2/COM2A
9
12
PB5/COM3A
PB3
10
11
PB4
PMC156 (SOP18-300mil)
PMC156 (DIP18-300mil)
©Copyright 2016, PADAUK Technology Co. Ltd
PMC156 (SOP20-300mil)
Page 9 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
PMS156 series
PA2/COM2
1
14
PA1/COM1
PA2/COM2
1
16
PA1/COM1
PA3/COM3
2
13
PA0/INT0
PA3/COM3
2
15
PA0/INT0
PA4/COM4
3
12
PA7/XIN
PA4/COM4
3
14
PA7/XIN
PA5/PRST#
4
11
PA6/XOUT
PA5/PRST#
4
13
PA6/XOUT
GND
5
10
VDD
GND
5
12
VDD
PB0/INT1
6
9
PB7
PB0/INT1
6
11
PB7
PB1/COM1A
7
8
PB6/COM4A
PB1/COM1A
7
10
PB6/COM4A
PB2/COM2A
8
9
PB5/COM3A
PMS156 (SOP14-150mil)
PMS156 (SOP16-150mil)
PA2/COM2
1
20
PA1/COM1
PA2/COM2
1
18
PA1/COM1
PA3/COM3
2
19
PA0/INT0
PA3/COM3
2
17
PA0/INT0
PA4/COM4
3
18
PA7/XIN
PA4/COM4
3
16
PA7/XIN
PA5/PRST#
4
17
PA6/XOUT
PA5/PRST#
4
15
PA6/XOUT
GND
5
16
VDD
GND
5
14
VDD
GND
6
15
VDD
PB0/INT1
6
13
PB7
PB0/INT1
7
14
PB7
PB1/COM1A
7
12
PB6/COM4A
PB1/COM1A
8
13
PB6/COM4A
PB2/COM2A
8
11
PB5/COM3A
PB2/COM2A
9
12
PB5/COM3A
PB3
9
10
PB4
PB3
10
11
PB4
PMS156 (SOP18-300mil)
PMS156 (DIP18-300mil)
PMS156 (SOP20-300mil)
©Copyright 2016, PADAUK Technology Co. Ltd
Page 10 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
Pin Name
PA7/
X1
PA6/
X2
PA5/
PRST#
Pin & Buffer
Type
Description
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 7 of port A. It can be configured as input or output with pull-up resistor.
(2) X1 (input) when crystal oscillator is used.
If this pin is used for crystal oscillator, bit 7 of padier register must be programmed
“0” to avoid leakage current. This pin can be used to wake-up system during sleep
mode; however, wake-up function is also disabled if bit 7 of padier register is “0”.
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 6 of port A. It can be configured as input or output with pull-up resistor.
(2) X2 (output) when crystal oscillator is used.
If this pin is used for crystal oscillator, bit 6 of padier register must be programmed
“0” to avoid leakage current. This pin can be used to wake-up system during sleep
mode; however, wake-up function is also disabled if bit 6 of padier register is “0”.
The functions of this pin can be:
(1) Bit 5 of port A. It can be configured as input or open-drain output pin. Please
notice that there is no pull-up resistor in this pin.
(2) Hardware reset.
IO
ST / CMOS This pin can be used to wake-up system during sleep mode; however, wake-up
function is also disabled if bit 5 of padier register is “0”.
Please put 33Ω resistor in series to have high noise immunity when this pin is in
input mode.
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 4 of port A. It can be configured as input or output with pull-up resistor.
(2) COM4 of group 1 for LCD to provide (1/2 VDD) for LCD bias voltage.
(3) Channel 0 input.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 4 of padier register is “0”
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 3 of port A. It can be configured as input or output with pull-up resistor.
(2) COM3 of group 1 for LCD to provide (1/2 VDD) for LCD bias voltage.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 3 of padier register is “0”
PA2 /
COM2
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 2 of port A. It can be configured as input or output with pull-up resistor.
(2) COM2 of group 1 for LCD to provide (1/2 VDD) for LCD bias voltage.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 2 of padier register is “0”
PA1 /
COM1
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 1 of port A. It can be configured as input or output with pull-up resistor.
(2) COM1 of group 1 for LCD to provide (1/2 VDD) for LCD bias voltage.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 1 of padier register is “0”
PA4 /
COM4
PA3 /
COM3
©Copyright 2016, PADAUK Technology Co. Ltd
Page 11 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
Pin Name
Pin Type &
Description
Buffer Type
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 0 of port A. It can be configured as input or output with pull-up resistor.
(2) External interrupt line 0. Both rising edge and falling edge are accepted to
request interrupt service.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 0 of padier register is “0”.
IO
ST / CMOS
/ Analog
The functions of this pin can be:
(1) Bit 7 of port B. It can be configured as input or output with pull-up resistor.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 7 of pbdier register is “0”.
IO
ST / CMOS
The functions of this pin can be:
(1) Bit 6 of port B. It can be configured as input or output with pull-up resistor.
(2) COM4A of group 2 for LCD to provide (1/2 VDD) for LCD bias voltage..
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 6 of pbdier register is “0”.
PB5 /
COM3A
IO
ST / CMOS
The functions of this pin can be:
(1) Bit 5 of port B. It can be configured as input or output with pull-up resistor.
(2) COM3A of group 2 for LCD to provide (1/2 VDD) for LCD bias voltage..
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 5 of pbdier register is “0”.
PB4
IO
ST / CMOS
The functions of this pin can be:
(1) Bit 4 of port B. It can be configured as input or output with pull-up resistor.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 4 of pbdier register is “0”.
IO
ST / CMOS
The functions of this pin can be bit 4 of port B. It can be configured as input or
output with pull-up resistor. This pin can be used to wake up system during sleep
mode; however, wake-up function from this pin is also disabled when bit 3 of
pbdier register is “0”.
IO
ST / CMOS
The functions of this pin can be:
(1) Bit 2 of port B. It can be configured as input or output with pull-up resistor.
(2) COM2A of group 2 for LCD to provide (1/2 VDD) for LCD bias voltage..
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 2 of pbdier register is “0”.
PA0 /
INT0
PB7
PB6 /
COM4A
PB3
PB2 /
COM2A
©Copyright 2016, PADAUK Technology Co. Ltd
Page 12 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
Pin Name
PB1 /
COM1A
PB0/INT1
Pin Type &
Description
Buffer Type
IO
ST / CMOS
The functions of this pin can be:
(1) Bit 1 of port B. It can be configured as input or output with pull-up resistor.
(2) COM1A of group 2 for LCD to provide (1/2 VDD) for LCD bias voltage..
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 1 of pbdier register is “0”.
IO
ST / CMOS
The functions of this pin can be:
(1) Bit 0 of port B. It can be configured as input or output with pull-up resistor.
(2) External interrupt line 1. Both rising edge and falling edge are accepted to
request interrupt service.
This pin can be used to wake up system during sleep mode; however, wake-up
function from this pin is also disabled when bit 0 of pbdier register is “0”.
VDD
Positive power
GND
Ground
Notes: IO: Input/Output; ST: Schmitt Trigger input; Analog: Analog input pin; CMOS: CMOS voltage level
©Copyright 2016, PADAUK Technology Co. Ltd
Page 13 of 67
PDK-DS-PMX156-EN_V005 – July 7, 2016
PMC156/PMS156 Series
8-bit IO-Type Controller
4. Device Characteristics
4.1. DC/AC Characteristics
All data are acquired under the conditions of VDD=5.0V, fSYS=2MHz unless noted.
Symbol
Description
VDD
Operating Voltage
fSYS
System clock* =
IHRC/2
IHRC/4
IHRC/8
ILRC
IOP
IPD
IPS
Min
Typ
Max
Unit
2.2
5.0
5.5
V
fSYS = 2MHz
Hz
Under_20ms_Vdd_ok**= Y/N
VDD≧2.5V / VDD≧3.1V
VDD≧2.2V / VDD≧2.5V
VDD≧2.2V / VDD≧2.2V
VDD = 5.0V
1.7
8
mA
uA
fSYS=1MIPS@5.0V
fSYS=ILRC=21kHz@3.3V
1
0.5
uA
uA
fSYS= 0Hz,VDD=5.0V
fSYS= 0Hz,VDD=3.3V
mA
VDD=5.0V;
Band-gap, LVR, IHRC, ILRC,
Timer16 modules are ON.
0
0
0
8M
4M
2M
37K
Operating Current
Power Down Current
(by stopsys command)
Power Save Current
0.4
(by stopexe command)
Conditions
VIL
Input low voltage for IO lines
0
0.3 VDD
V
VIH
Input high voltage for IO lines
0.7 VDD
VDD
V
IOL
IO lines sink current
7
10
13
mA
VDD =5.0V, VOL=0.5V
IOH
IO lines drive current
-5
-7
-9
mA
VDD =5.0V, VOH=4.5V
1
mA
VDD+0.3≧VIN≧ -0.3
KΩ
VDD =5.0V
VDD =3.3V
VDD =2.2V
IINJ (PIN)
RPH
VLVR
fIHRC
Injected current on pin
62
100
210
Pull-high Resistance
Low Voltage Reset Voltage *
3.86
3.35
2.84
2.61
2.37
2.04
1.86
1.67
4.15
3.60
3.05
2.80
2.55
2.20
2.00
1.80
4.44
3.85
3.26
3.00
2.73
2.35
2.14
1.93
15.84*
16*
16.16*
15.20*
15.28*
16*
16*
16.80*
16.72
Frequency of IHRC after
calibration *
©Copyright 2016, PADAUK Technology Co. Ltd
Page 14 of 67
V
@25oC
MHz
VDD=2.2V~5.5V,
-40oC