EOREX EU1020-XX-SUT

eorex
EU1020
8-bit MCU with 10-bit A/D Converter
Features
Description
• 2.2V to 5.5V Input Voltage Range
• 14 I/O ports in EU1020
• RAM size: 128 x 8 bits
• The STACK RAM is included.
• Program ROM size: 4K x 8 bits OTP
• 10 bits A/D Converter input source.
EU1020: 4 channels
• One set of 16-bit down count timer and one set
of 8-bit timer.
• Operating temperature: -40 ~ +125 ℃
• Build-in Low Voltage Reset (LVR) circuit.
• Oscillator: Internal RC oscillation.
The EU1020 is an OTP type 8-bit micro-controller
with 4 channels of 10-bit A/D converter using
advanced CMOS process. The EU1020 is
specially designed for various industrial field
applications. The EU1020 incorporates two sets
of 8-bit timer/counters, where timer0/1 is specially
designed for PWM (Pulse Width Modulation)
generator. There are 14 I/O ports with EU1020,
respectively. Considering form factor and
manufacturability, the EU1020 is packaged into
16-pin non-JEDEC-standard compact-size SOP.
Ordering Information
Feb.2009
www.eorex.com
1/21
eorex
EU1020
Pin Assignment
PB[2]
1
16
PB[3]
PB[1]
2
15
PB[4]
PB[0]
3
14
PB[5]
VSS
4
13
PB[6]
VDD
5
12
PA[6]
PA[0]
6
11
PA[5]
PA[1]
7
10
PA[4]
PA[2]
8
9
PA[3]
SOP-16L
Pin Description
Pin Name
VDD
I/O
-
VSS
-
PA0~PA6
PB0~PB6
I/O
I/O
Function
Positive power supply
Ground
Input and output ports.
In input mode, all PA pins could be set an internal pull-up resistor
(R=100Kohm). In output mode, it could be optioned as CMOS or
NMOS output independently. Also, PA0~PA3 could be optioned as 4
channels of 10-bit A/D converter input pins.
Input and output ports. In input mode, it could have optioned internal
pull-up resistor with 100Kohm. Also, it can be set as HALT and
STOP mode released source when the input signal is changed from
high to low. In output mode, it could be optioned as CMOS or NMOS
output independently.
Feb.2009
www.eorex.com
2/21
eorex
EU1020
MCU Description
Item
Abbreviation
Description
Accumulator
ACC
The EU1020 has an 8-bit register used for data hold,
exchange, arithmetic, transfer and I/O operation.
Index Register
(X,Y)
In EU101x that builds in two index registers ( X and Y ).
These two index registers could be used to count program
steps or to provide an index value to be used in generating as
effective address.
When executing an instruction which specifies indexed
addressing, the MCU fetches the operation code and the
base address, and modifies the address by adding the index
register to its prior to perform the desired operation. Per or
post-index of indirect address is possible.
Special Function
Register
SFR
The EU102x includes some special function control registers
in zero-page. For more detailed information about the special
function registers, please refer to next section.
Stack pointer
register
SP
The stack pointer is an 8-bit register that is used to control
the addressing of the variable-length stack. The stack pointer
is automatically incremented and decremented under control
of the microprocessor the perform stack manipulations under
direction of either the program or interrupts. The stack allows
a simple implementation of nested subroutines and multiple
level interrupts. The stack pointer is initialized by the user’s
software.
Program counter
PC
The 14-bit program counter register provides the address
that step the microprocessor through sequential program
instructions.
P
The 8-bit status flag register contains seven status flags.
Some of the flags are controlled by the program and others
may be controlled both by the program and the MCU.
Instruction set contains a number of conditional branch
instructions that are designed to allow testing of these flags.
Program Flag
Register
Feb.2009
www.eorex.com
3/21
eorex
EU1020
Memory
The EU1020 has a 14-bit program counter which can totally address 16K x 8 bits. All the special function
registers, data RAM, stack RAM and program ROM are assigned in this area as the following diagram.
0000H
Special Function Register
0022H
Un-used
( zero page )
00A0H
Data RAM : 96 x 8 bits
00FFH
0100H
Data & Stack RAM : 32 x 8 bits
011FH
Un-used
2000H
Program ROM : 4K x 8 bits
2FFFH
Figure_A Memory mapping diagram
Program ROM
The EU1020 contains 4Kx8 bit program OTP and its addressing size is assigned from $2000H to
$2FFFH. After power on reset, the data restored in addresses $2FFCH and $2FFDH are loaded into
program counter. It means that RESET vector address is located in $2FFCH and $2FFDH.
Data RAM and STACK RAM
The EU1020 data RAM are located from $A0H to $11FH. All the data RAM area from $A0H to $0FFH
could be accessed by zero-page addressing mode. That STACK RAM could be accessed from $100H to
$11FH. Actually, the area of $100H ~ $11FH, could be accessed as data RAM or STACK RAM. User
needs to preset stack pointer (SP) after power on reset. Program Counter (PC) should be initialized after
power on reset that ROM address $2FFCH and $2FFDH content will be loaded into Program Counter.
Feb.2009
www.eorex.com
4/21
eorex
EU1020
Special Function Register (SFR)
Special function register area is during the addresses from $00H to $22H. These special function
registers control all I/O and timer function setting. Some of memory addresses are not defined and
un-used. It is unnecessary for the users to read or write data from these undefined areas. User should
follow the default value or do not access these undefined area. All its functions are listed in next
sections.
Interrupt and Timers
Address
00H
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
NAME INTEN
ADINT
#
#
T1INT
T0INT
PBINT
TBINT
RTCINT
Read or Write
R/W
#
#
R/W
R/W
R/W
R/W
R/W
Default Value
0
#
#
0
0
0
0
0
The EU1020 builds in 8 interrupt sources: Real Time Clock interrupt, Time Base interrupt, PB input ports
falling edge interrupt, Timer0 underflow interrupt, Timer1 underflow interrupt, A/D converter interrupt and
RESET interrupt. By setting control register INTEN (00H) that can enable or disable corresponding
interrupt sources. Interrupt source, interrupt vector address mapping and its priority are shown in the
following table.
Address
Interrupt Source
Priority
2FFF0H/2FF1H
ADC interrupt
7
2FF2H/2FF3H
Timer1 interrupt
6
2FF4H/2FF5H
Timer0 interrupt
5
2FF6H/2FF7H
PB port interrupt
4
2FF8H/2FF9H
Time base interrupt
3
2FFAH/2FFBH
RTC interrupt
2
2FFCH/2FFDH
Reset
1
2FFEH/2FFFH
Reserved
0
Feb.2009
www.eorex.com
5/21
eorex
EU1020
RTC timer, Base timer interrupt and Watch Dog timer
Address
03H
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
NAME UCCLK
#
BASE1
BASE0
RTC1
RTC0
Read or Write
W
W
W
W
W
W
W
W
Default Value
0
0
0
0
0
0
0
0
RCSEL2 RCSEL1
Bit0
RESEL0
Real time counter
The EU1020 build-in a real time counter interrupt and its clock source is Fosc. Its frequency could be
optioned by UCCLK.4 & UCCLK.3 that could select real time interrupt frequency. For example, if the
clock source come from ExCLK/PB3 (when CKSEL=1) and the input frequency is 32,768Hz, select
“[RTC1, RTC0] = [0, 1]” and it will cause 2Hz interrupt when real time counter interrupt enabled
(RTCINT=1) & (RTCEN=1).
RTC1
RTC0
TRTC
0
0
TT/32
0
1
TT/64
1
0
TT/128
1
1
TT/256
Feb.2009
www.eorex.com
6/21
eorex
EU1020
Base Timer
Base timer is optioned from [BASE1, BASE0] and it will cause a period timer base interrupt enabled
(TBINT=1) & (TBEN=1).
BASE1
BASE0
TBASE
0
0
TT/2
0
1
TT/4
1
0
TT/8
1
1
TT/16
MCU clock selection
With a built-in internal RC oscillator, the MCU frequency (Fosc) is 4MHz ±3% @4.5V. MCU system
clock (Fsys) offers 4MHz, 2MHz, 1MHz, 500KHz or 250KHz by MCU clock options bit; RCSEL2~0.
Please refer to the following table.
Address
03H
bit7
Name
UCCLK
#
bit6
bit5
bit4
BASE1 BASE0
RTC1
bit3
bit2
bit1
bit0
RTC0 RCSEL2 RCSEL1 RCSEL0
Read or Write
#
W
W
W
W
W
W
W
Default Value
0
0
0
0
0
0
0
0
The MCU system clock could be switched by setting RCSEL2~0. First, pre-set RCSEL2~0 register and
then execute “HALT” instruction. After then, MCU wake-up from HALT mode, MCU system frequency is
already changed to the new setting frequency.
RCSEL2
RCSEL1
RCSEL0
Frequency of MCU system clock (Fsys)
0
0
0
250KHz
0
0
1
500KHz
0
1
0
1MHz
0
1
1
2MHz
1
#
#
4MHz (Fosc)
Feb.2009
www.eorex.com
7/21
eorex
EU1020
TMRC register
Address
01H
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
WDTEN
WDTF
TBEN
TBF
RTCEN
RTCF
NAME TMRC
WDT Divide
Read or Write
W
W
R/W
R/W
R/W
R/W
R/W
R/W
Default Value
0
0
0
#
0
#
0
#
*TMRC.0(RTCF) : real time counter transient flag. Once TRTC signal is transient, this flag will be
set as RTCF=1 by hardware. This bit could be cleared by software.
*TMRC.1(RTCEN) : real time counter enable/disable flag.
RTCEN = 1, enable real time counter;
RTCEN = 0, disable real time counter.
*TMRC.2(TBF) : base timer transient flag. Once TBASE signal is transient, this flag will be set as
TBF=1 by hardware. This bit could be cleared by software.
*TMRC.3(TBEN) : Base timer enable/disable flag.
TBEN = 1, enable base timer;
TBEN = 0, disable base timer.
Watchdog Timer
Watchdog timer block diagram is shown as figure_B. The clock source comes from CPU system clock.
Figure_B
Note:
*Once TMRC.5 (WDTEN) is set as “1”, the watchdog timer will start to count till the watchdog timer
overflows, and then the TMRC.4 (WDTF) is set as “1”. Meanwhile, CPU will have a warm reset by
hardware and the data in addresses $2FFCH and $2FFDH will be loaded into program counter.
Watchdog timer can be cleared by setting TMRC.5 (WDTEN=0). Please note well that the
EU1020 watchdog timer is preset as disable after power on reset. Once watchdog timer is
enabled by setting TMRC.5=1, watchdog timer won’t be stopped by software. Set
TMRC.5=0 will just clear watchdog timer counter.
Feb.2009
www.eorex.com
8/21
eorex
EU1020
WDT divider
TMRC (01H)
bit7
bit6
FSYS/2
0
0
FSYS/4
0
1
FSYS/8
1
0
FSYS/16
1
1
PB ports interrupt
PB6~0, in input mode, could be optioned as external interrupt source by setting PBINT (00H.2) = 1.
When the interrupt enabled and external signal changed from high to low, the PB port interrupt will take
into action and its interrupt vector is $2FF6H and $2FF7H.
A falling edge signal at PB ports will wake up CPU from HALT or STOP mode. When PB port interrupt is
enabled (PBINT=1), CPU will wake up from HALT or STOP mode, and serve PB port interrupt first and
then execute next instruction. If PB port interrupt is disabled, CPU will just be waked up and then
execute next instruction only. User should check which PB port the falling edge signal comes from by
PBF control register. If the falling edge is from PB0, the PBF.0 will be set to “1” by hardware. These flags
could be cleared by software.
Address
02H
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
NAME
PBF
#
PBF6
PBF5
PBF4
PBF3
PBF2
PBF1
PBF0
Read or Write
#
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default Value
#
0
0
0
0
0
0
0
Timer0
Timer0 is an 8-bit down count timer. Its clock source comes from CPU main-oscillator (FOSC) or
ExCLK/PB3, which is listed in figure 4-3. User can preset timer0 counter by setting data into timer0
preload buffer T0BF(04H). The data read from T0BF(04H) will be the current count of timer0.
Timer0 will down count by every input clock when T0EN=1. When timer0 down count from 00H to FFH,
T0F will be set to “1” and if T0INT =1, the timer0 interrupt will occur. Timer0 will automatically reload data
from T0BF/04H (timer0 preset buffer). Therefore, user can preset timer0 new data into T0BF(04H)
before timer0 underflow and cause different interrupt time duties. That is, timer0 data will be loaded
from T0BF buffer after T0EN bit is set as “1” or timer0 underflows.
Feb.2009
www.eorex.com
9/21
eorex
EU1020
Address
04H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
T0BF
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Read or Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default Value
#
#
#
#
#
#
#
#
bit2
bit1
bit0
Address
05H
bit7
bit6
bit5
bit4
bit3
Name
T0C
T0EN
T0F
T0CK
#
#
Read or Write
R/W
R/W
R/W
#
#
R/W
R/W
R/W
Default Value
0
#
#
#
#
#
#
#
Timer0 pre-scaler
Note:
*T0EN : timer0 enable flag
T0EN = 1, load T0BF content (preload buffer data) into timer0 and enable timer0 start to down
count.
T0EN = 0, stop timer0 counting. User can get timer0 data by reading T0BF register. (LDA
T0BF)
* when T0EN=0, write data to T0BF(04H), data will be directly passed to timer0 counter.
T0F : timer0 underflow flag
T0F = 1, timer0 underflow;
T0F = 0, timer0 not underflow.
*T0CK : timer0 clock source option bit
T0CK = 1, clock source from ExCLK/PB3 pin. User can set T0CK=1, ExCLK/PB3 is optioned as
external clock input pin that connect to Timer0. Before this, user should set PBIO.3=1 and
PBMD.3 internal pull-up resistor could be enabled or disabled.
T0CK = 0, clock source from Fosc.
*There is no default data with T0CK bit, user should preset this bit after power on reset.
bit2
bit1
bit0
Timer0 pre-scaler(FCLK0= )
0
0
0
FSYS/1
0
0
1
FSYS/2
0
1
0
FSYS/4
0
1
1
FSYS/8
1
#
#
FSYS/16
Feb.2009
www.eorex.com
10/21
eorex
EU1020
Note:
*Bit2~0 are timer0 clock source selection bits. They must follow the setting listed below. If the
bit2=1, it would be divided by 16 while bit1 and bit0 could be any data. When T0CK=1, don’t care
bit2~0 data.
Figure_C
Timer1
Address
06H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
T1BF0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Read or Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default Value
#
#
#
#
#
#
#
#
Address
07H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
T1BF1
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Read or Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default Value
#
#
#
#
#
#
#
#
Timer1 is a 16-bit down count timer. T1BF0(06H)/low byte and T1BF1(07H)/high byte are timer1 preload
buffer. Timer1 clock source could come from CPU main oscillator (Fosc), refer to figure_D. Timer1 can
work in two kinds of operating mode. One mode is normal 16-bit timer/counter mode and the other one is
specially designed for different interrupt time period.
Figure_D
Feb.2009
www.eorex.com
11/21
eorex
EU1020
Timer/counter mode
If T1C.4 (08H.4)=PWM1=0, timer1 works as 16-bit timer/counter mode, register timer1 will down count
by every input clock when timer1 turns on by T1EN=1. When timer1 is down count from 0000H to FFFFH,
T1F bit will be set to “1”. At the same time, if T1INT=1, the timer1 interrupt occurs. Timer1 will
automatically reload data from preload buffer T1BF0(06H) and T1BF1(07H). Therefore, user can preset
T1BF0(06H) and T1BF1(07H) buffer data before different interrupt time duties caused by timer1
underflow. It means that timer1 data will be loaded from T1BF0(06H) and T1BF1(07H) buffer after T1EN
bit is set as “1” or timer1 underflow.
Address
08H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
T1C
T1EN
T1F
T1CK
PWM
#
Read or Write
W
R/W
R/W
W
#
W
W
W
Default Value
0
#
#
0
#
#
#
#
`Timer1 pre-scaler
Note:
*T1EN : timer1 enable flag
T1EN = 1, enable timer1 start to down count;
T1EN = 0, stop timer1 down count. (when T1EN=0 and write data into T1BF0(06H) and
T1BF1(07H) , the data will be directly passed to timer1 counter.)
*T1F : timer1 underflow flag
T1F = 1, timer1 underflow;
T1F = 0, timer1 not underflow.
Bit2~bit0 are timer1 clock source selection bits. It must follow the setting as below.
bit2
bit1
bit0
Timer1 pre-scaler (FCLK1= )
0
0
0
FOSC/1
0
0
1
FOSC/2
0
1
0
FOSC/4
0
1
1
FOSC/8
1
#
#
FOSC/16
Feb.2009
www.eorex.com
12/21
eorex
EU1020
PWM Mode
Set T1C.4=1(PWM=1), Timer-1 will work in PWM mode. User can preset T1BF0 and T1BF1. Timer1
interrupt will have two kinds of time duties based on T1BF0 and T1BF1 data.
I/O ports
PA ports (PA6 ~ PA0) are 8-bits I/O ports. System can either output data by writing data into PA(10H)
ports or read data from input mode by reading PA(10H) ports.
When PA ports are set in output mode, it can be optioned by software as CMOS or NMOS output. Set in
input mode, PA ports can be optioned as internal pull up or input with floating status. Also, PA6~0 could
be optioned as A/D converter analog signal input pins. Please refer to A/D Converter section.
Address
10H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PA
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Default Value
#
#
#
#
#
#
#
#
PAIO register: control PA port either as input mode or output mode. PAIO register can be set partially bits
in input mode and partial bits in output mode.
Address
11H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PAIO
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
#
1
1
1
1
1
1
1
Default Value
Note:
*PAIO.n = 1, set as input mode.
PAIO.n = 0, set as output mode.
(Please be noted that PAIO.0 default data is “0”.)
That n = 6 ~ 0.
Feb.2009
www.eorex.com
13/21
eorex
EU1020
PACN register: control output mode as CMOS or NMOS output.
Address
12H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PACN
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
#
0
0
0
0
0
0
0
Default Value
Note:
*PACN.n = 1, set as CMOS output;
PACN.n = 0, set as NMOS output.
That n = 6 ~ 0.
PAPH register: enable/disable PA ports internal pull high when PA port is set as input mode.
Address
13H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PAPH
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
#
0
0
0
0
0
0
0
Default Value
Note:
*PAPH.n = 1, internal pull high resister enable;
PAPH.n = 0, internal pull high resister disable, where n = 6 ~ 0.
PB ports
PB ports (PB6 ~ PB0) are 8-bit I/O ports. User can either output data by writing data into PB(14H) ports.
Or read data at input mode by reading PB(14H) ports.
Address
14H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PB
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Default Value
#
#
#
#
#
#
#
#
PBR register
Address
15H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PBR
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
#
0
0
0
0
0
0
0
Default Value
Feb.2009
www.eorex.com
14/21
eorex
EU1020
Note:
*PBR.n = 1, enable HALT or STOP mode released by input falling edge signal;
PBR.n = 0, disable HALT or STOP mode release, where n = 6 ~ 0.
*Setting PBR.n register as “1” can enable to release HALT or STOP mode by PB port input signal
from high to low. After HALT or STOP mode released, the oscillator will oscillate at the same time.
If PBINT=1, PB-interrupt subroutine will start. If PBINT=0, the program counter will execute the
next instruction after HALT or STOP.
PBIO register: control PB port as input or output mode. Also, it can be set as partial bits in input mode
and partial bits in output mode.
Address
16H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PBIO
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
#
1
1
1
1
1
1
1
Default Value
Note:
*PBIO.n = 1, set as input mode;
PBIO.n = 0, set as output mode.;
That n =6 ~0.
PBMD register
Address
17H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
PBMD
#
1/0
1/0
1/0
1/0
1/0
1/0
1/0
#
0
0
0
0
0
0
0
Default Value
Note:
*When PBIO corresponding bit is optioned as output mode (PBIO.n=0), PBMD.n will work as
CMOS or NMOS option bit.
(PBIO.n=0, PB.n works as output mode)
PBMD.n = 0, PB.n is NMOS output.
PBMD.n = 1, PB.n is CMOS output.
*When PBIO corresponding bit is optioned as input mode (PBIO.n=1), PBMD.n will work as
internal pull-up resistor enable bit or disable bit.
(PBIO.n=1, PB.n works as input mode)
PBMD.n = 0, disable PB.n internal pull-up resistor,
PBMD.n = 1, enable PB.n internal pull-up resistor.
That n = 6 ~ 0.
Feb.2009
www.eorex.com
15/21
eorex
EU1020
A/D Converter
The EU1020 is built-in with 4 channels of 10-bit Analog to Digital Converter. The analog signal input pins
are shared from PA3~0. These options are controlled by ADIN(09H) and ADCC(0AH) registers.
ADIN register:
PA3~PA0 ports could be optioned as A/D converter analog signal input pins. User can select partial or all
PA3~PA0 pins as analog input pins by ADIN3~0 for corresponding bit.
Address
09H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
ADIN
#
#
#
COMP
ADIN3
ADIN2
ADIN1
ADIN0
Read or Write
#
#
#
W
W
W
W
W
Default Value
#
#
#
0
0
0
0
0
Note:
*ADIN3~0: option of PA3~PA0 as analog signal input pin.
*ADINn = 1, set PA3~0 pin as analog signal input pin;
ADINn = 0, set PA3~0 as normal input/output pin, where n=3~0.
* When PA3~0 is set as analog input pin(s), PA ports control register will be inactive to access.
That is, when PA port is set as analog signal input pin, all PA I/O port functions will be blocked
out.
Note:
*COMP = 0, disable internal comparator;
COMP = 1, enable internal comparator.
When COMP=1, PA4 and PA5 will act as comparator input pin, and then comparator output pin
will be connected to PB4 internally.
ADCR register
Address
0AH
bit7
bit6
bit5
bit4
Bit3
bit2
bit1
bit0
Name
ADCR
ADEN
STC
#
ADS1
ADS0
#
#
#
Read or Write
W
R/W
#
W
W
#
#
#
Default Value
0
#
#
#
#
#
#
#
Feb.2009
www.eorex.com
16/21
eorex
EU1020
Note:
*ADCR.7(ADEN) : enable A/D converter
ADCR.7 = 1, turn on or enable A/D converter;
ADCR.7 = 0, turn off or disable A/D converter.
*ADCR.6(STC) : A/D converter finished interrupt flag, write a high to this bit to start ADC
conversion.
ADCR.6 = 1, A/D converter translation is in BUSY.
ADCR.6 = 0, A/D converter is standby status.
ADS1/bit4
ADS0/bit3
Select pin
0
0
PA0
0
1
PA1
1
0
PA2
1
1
PA3
Note:
* ADCR.4~3(ADS1~0) : select acting analog channel input
* User can preset A/D converter sampling rate from ADRL.2~0 control register. The sampling clock
comes from internal ring oscillator. The reference sampling rate setting is listed below.
A/D configuration and control block
Feb.2009
www.eorex.com
17/21
eorex
EU1020
Note:
*User should select PA3~0 ports as analog signal input pin(s) by setting ADIN.3~0. Set ADCC.7
(ADEN) = 1 to enable A/D converter circuit, and then select input pin from ADCC.4~3
(ADS1/ADS0). The converter clock comes from FADC. After system completed an A/D converting
cycle, ADC interrupt takes into action (if ADINT=1). User can read the converting data from
ADRH and ADRL registers. [ADRH + ADRL] are totally 10 bits in 2 bytes control registers. These
2 bytes of register will keep the last A/D convert data. When A/D conversion are all completed,
user should turn off A/D converter by setting ADCC.7 (ADEN) =0.
ADSP2~0 control register: A/D Converter sampling rate setting
Address
0BH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
ADRL
Ad1
Ad0
#
#
#
ADSP2
ADSP1
ADSP0
Read or Write
R
R
#
#
#
W
W
W
Default Value
#
#
#
#
#
#
#
#
ADC sampling rate
ADSP2 ADSP1 ADSP0
8 Hz
0
0
0
16 Hz
0
0
1
32 Hz
0
1
0
64 Hz
0
1
1
128 Hz
1
0
0
256 Hz
1
0
1
512 Hz
1
1
0
1024 Hz
1
1
1
Address
0CH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
ADRH
Ad9
Ad8
Ad7
Ad6
Ad5
Ad4
Ad3
Ad2
Read or Write
R
R
R
R
R
R
R
R
Default Value
#
#
#
#
#
#
#
#
Feb.2009
www.eorex.com
18/21
eorex
EU1020
Low Voltage Reset Circuit ( or Power Failed Detector ) 2.4V
The EU1020 is built in Low-Voltage-Reset circuit to detect and against power noise. The low voltage
reset will be active when Vdd is dropped lower than 2.4V. Note that, in STOP mode, low voltage reset
function will be disabled by hardware. The low voltage reset function will be active when CPU is not
working in STOP mode.
HALT mode
The EU1020 will enter HALT mode by setting an instruction as “STA $0EH”. The data in ACC could be
any data among #00H~#FFH. In HALT mode, CPU core will suspend and just hold at that program
counter. All the internal circuit will suspend, except system clock and timer/counter kept running. HALT
mode could be released from timer underflow or PB ports input signal from high to low. When halt mode
is released, program counter will execute next instruction after “STA $0EH”. If timer interrupt is enabled,
it serves timer interrupt first, and then execute next instruction after “STA $0EH”. When HALT mode is
released by PB ports falling-edge, program counter execute next instruction. If PB interrupt is enabled,
PBINT =1, PB interrupt subroutine will be activated.
Address
0EH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
HALT
#
#
#
#
#
#
#
#
STOP mode
When executed “STA $0FH”, whole chip will enter stop mode. The data in ACC could be any data of
#00H~#FFH. In stop mode, system clock and timer/counter will be stopped. At this condition, operating
current could be down less than 1µA. Only input signal from high to low of PB ports can release the chip
from STOP mode. When STOP mode is released by PB ports, program counter will execute next
instruction of “STA $0FH”. If PB interrupt is enabled, PBINT=1, PB interrupt subroutine will be activated
first.
Address
0FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Name
STOP
#
#
#
#
#
#
#
#
MCU system clock
This CPU is built-in internal RC oscillator whose frequency is 4MHz. The tolerance of the frequency is
within 3%.
Feb.2009
www.eorex.com
19/21
eorex
EU1020
Package Description
SOP-16L
C
J
K
H
e
B
E
DIMENSIONS
REF.
Millimeters
Min
Max
A
5.79
6.19
B
9.80
10.00
C
3.81
3.99
D
0°
5°
E
0.50
0.90
F
M
0.25 REF.
0.08
0.24
H
L
0.40 REF.
1.47
1.73
J
0.375 REF.
K
45°
e
1.27 REF.
Feb.2009
www.eorex.com
20/21
eorex
EU1020
Revision History
Revision 0.1 (Jul 2007)
- First release
Revision 0.2 (Aug. 2007)....
- Pin Description .
Revision 0.3 (Apr. 2008)....
- EU101X .-> EU1010
Revision 0.4 (Jul. 2008)....
- Modify Memory / Address
Revision 0.5 (Feb. 2009)....
- Modify -40C~125C
Revision 0.6 (Feb. 2009)....
- Modify ordering information
(xxxx = customer/product code )
Feb.2009
www.eorex.com
21/21