电子工程世界电子工程世界电子工程世界

产品描述

搜索
 

ACE1502EM8

器件型号:ACE1502EM8
厂商名称:Fairchild
厂商官网:http://www.fairchildsemi.com/
下载文档

器件描述

Arithmetic Controller Engine for Low Power Applications

文档预览

ACE1502EM8器件文档内容

                                                                                                              October 2002           ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

ACE1502 Product Family
Arithmetic Controller Engine (ACExTM)
for Low Power Applications

General Description                                                    I Hardware BitCoder (HBC)
                                                                       I On-chip oscillator
The ACE1502 (Arithmetic Controller Engine) family of microcon-
trollers is a dedicated programmable monolithic integrated circuit        -- No external components
for applications requiring high performance, low power, and small         -- 1s instruction cycle time +/-2% accuracy
size. It is a fully static part fabricated using CMOS technology.      I Instruction set geared for block encryption
                                                                       I On-chip Power-on Reset
The ACE1502 product family has an 8-bit microcontroller core,          I Programmable read and write disable functions
64 bytes of RAM, 64 bytes of data EEPROM and 2K bytes of               I Memory mapped I/O
code EEPROM. Its on-chip peripherals include a multifunction           I 32-level Low Voltage Detection
16-bit timer, a watchdog/idle timer, and programmable under-           I Brown-out Reset
voltage detection circuitry. On-chip clock and reset functions         I Software selectable I/O option
reduce the number of required external components. The                    -- Push-pull outputs with tri-state option
ACE1502 product family is available in 8- and 14-pin SOIC,                -- Weak pull-up or high impedance inputs
TSSOP and DIP packages.                                                I Fully static CMOS
                                                                          -- Low power HALT mode (100nA @ 2.7V)
Features                                                                  -- Power saving IDLE mode
                                                                       I Single supply operation
I Arithmetic Controller Engine                                            -- 1.8-3.6V
I 2K bytes on-board code EEPROM                                        I 40 years data retention
I 64 bytes data EEPROM                                                 I 1.8V data EEPROM min writing voltage
I 64 bytes RAM                                                         I 1,000,000 data changes
I Watchdog                                                             I 8- and 14-pin SOIC, TSSOP and DIP packages
I Multi-input wake-up on all eight general purpose I/O pins            I In-circuit programming
I 16-bit multifunction timer with difference capture

Block and Connection Diagram

        VCC1                                              Power-on Reset              Brown-out Reset/Low
        GND1                                                     Internal Oscillator       Battery Detect
    RESET2
(CKO) G0                                       GPORT          ACE1502 core            HALT & IDLE Power
   (CKI) G1                                                       (4 interrupt             Saving Modes
(T1/TX) G2                                      general             sources
                                                purpose          and vectors)            12-bit Timer0 with
           G3                                   I/O with                                 Watchdog Timer
            G4                                            Programming Interface
                                                 multi-                                16-bit Multi-function
     (TX) G5                                      input      2K bytes of Code         Timer1 with Difference
          G62                                   wakeup            EEPROM
          G72                                                                                  Capture

                                                                                       Hardware Bit-Coder

                                                                                         64 bytes of RAM

                                                                                          64 bytes of Data
                                                                                              EEPROM

1. 100nf Decoupling capacitor recommended
2. Available only in the 14-pin package option

2002 Fairchild Semiconductor Corporation                           1                                         www.fairchildsemi.com

ACE1502 Product Family Rev. 1.7
Figure 2. ACEx Application Example (Remote Keyless Entry)                                                                                              ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                                                                               VCC

        Optional              VCC G3                                                                           RF Interface
             LED                               G5
                                                                                                     RF Stage
                    G4
              G0

                          G1  GND                                                                G2

Figure 3. ACE1502 8-pin SOIC and DIP Device Pinout

a) Normal Mode Operation                                                                         b) Programming Mode Operation

G3 1    8 VCC                                   LOAD 1                                                         8 VCC
G4 2    7 GND                                 SFT_IN 2                                                         7 GND
G5 3    6 G2                                 NC/VCC 3                                                          6 SFT_OUT
G0 4    5 G1                                                                                                   5 CKI
                                                    NC 4

Figure 4. ACE1502 8-pin TSSOP Device Pinout                                                      b) Programming Mode Operation
a) Normal Mode Operation

GND 1   8 G2                                    GND 1                                                          8 SFT_OUT
VCC 2   7 G1                                     VCC 2                                                         7 CKI
        6 G0                                   LOAD 3                                                          6 NC
  G3 3  5 G5                                 SFT_IN 4                                                          5 NC/VCC
  G4 4

Figure 5. ACE1502 14-pin SOIC, TSSOP and DIP Device Pinout

a) Normal Mode Operation                                                                         b) Programming Mode Operation

G3 1    14 VCC                                  LOAD 1                                               14 VCC
G4 2    13 GND                                SFT_IN 2                                               13 GND
NC 3    12 NC                                                                                        12 NC
G6 4    11 G2                                       NC 3                                             11 SFT_OUT
G7 5    10 NC                                       NC 4                                             10 NC
G5 6     9 RESET                                    NC 5                                              9 RESET
G0 7     8 G1                                NC/VCC 6                                                 8 CKI
                                                    NC 7

                                                                                              2                                 www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
2. Electrical Characteristics                                                                                                                                     ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

Absolute Maximum Ratings                                                                         Operating Conditions

Ambient Storage Temperature                                -65 C to +150 C                     Relative Humidity (non-condensing)                95%
Input Voltage                                            -0.3V to VCC + 0.3V
Lead Temperature (10s max)                                                                       EEPROM write limits  See DC Electrical Characteristics
Electrostatic Discharge on all pins                                      +300C
                                                                     2000V min

       Part Number                   Operating Voltage                                           Ambient Operating Temperature

          ACE1502E                           1.8 to 3.6V                                                           -40C to +85C
          ACE1502V                           1.8 to 3.6V                                                          -40C to +125C

ACE1502 DC Electrical Characteristics, VCC = 1.8 to 3.6V

All measurements are valid for ambient operating temperature unless otherwise stated.

Symbol              Parameter                                                    Conditions                           MIN            TYP   MAX Units

Icc3    Suppy Current - no data EEPROM 1.8V                                                                             3.0           0.4  0.6     mA
                                                                                                                        1.8           0.4
        write in progress                                2.2V                                                         1s/V           0.5  0.6     mA
                                                                                                                      0.8Vcc          0.6
                                                         2.7V                                                           30            100  0.7     mA
                                                                                                                                     0.25
                                                         3.6V                                                         0.8Vcc          210  1.0     mA
                                                                                                                      0.8Vcc          250
IccH    HALT Mode current                                2.7V @ 25C                                                                  3.3  400     nA
                                                         2.7V @ -40C to +85C
                                                                                                                                      65   5000    nA
                                                                                                                                       2
                                                         3.6V @ 25C                                                                       1000    nA
                                                         3.6V @ -40C to +85C
                                                                                                                                           10      A
                                                         1.8V
IccL4   IDLE Mode current                                3.6V                                                                                      A

                                                                                                                                           400     A

Vcc W   EEPROM write voltage                             Code EEPROM in Programming Mode                                                   3.6     V
                                                         Data EEPROM in Operating Mode
                                                                                                                                           3.6     V

SVcc    Power Supply Slope                                                                                                                 10ms/V
VIL     Input Low with Schmitt Trigger buffer
                                                         Vcc = 2.2 - 3.6V                                                                  0.2Vcc V
                                                         Vcc < 2.2V
                                                                                                                                           0.15Vcc V

VIH     Input High with Schmitt Trigger buffer Vcc = 1.8 - 3.6V                                                                                    V

IIP     Input Pull-up Current                            Vcc = 3.6V, VIN = 0V                                                              350     A

ITL     Tri-State Leakage                                Vcc = 3.6V                                                                        200     nA

VOL     Output Low Voltage:                              Vcc = 1.8 - 2.7V

        G0, G1, G2, G3, G4, G5, G6, G7                   2 mA sink                                                                         0.2Vcc V

        Output Low Voltage:                              Vcc = 3.3 - 3.6V                                                                  0.2Vcc V
        G0, G1, G2, G3, G4, G5, G6, G7                   7.0 mA sink                                                                                       V

VOH     Output High Voltage:                             Vcc = 2.2 - 2.7V

        G0, G1, G2, G3, G4, G5, G6, G7                   2 mA source

        Output High Voltage:                             Vcc = 3.3 - 3.6V                                                                          V
        G0, G1, G2, G3, G4, G5, G6, G7                   7 mA source

3. Icc active current is dependant on the program code.
4. Based on a continuous IDLE looping program.

                                                                                              3                                            www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
ACE1502 AC Electrical Characteristics, Vcc = 1.8 to 3.6V                                                                                                     ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

All measurements are valid for ambient operating temperature unless otherwise stated.

               Parameter                                      Conditions                                                 MIN   TYP   MAX    Units

Instruction cycle time from internal clock -  3.3V at +25C                                                              0.98   1.0   1.02     s
setpoint                                                                                                                        1.2
Internal clock frequency variation            1.8V to 3.6V at constant temperature                                                      6      %
                                              1.8V to 3.6V at full temperature range (Note 6)                                   5.5    25      %
Crystal oscillator frequency                  (Note 5)                                                                                  8    MHz
External clock frequency                      (Note 5)                                                                                 10    MHz
EEPROM write time                                                                                                                       2     ms
Internal clock start up time                  (Note 6)                                                                               2400     ms
Oscillator start up time                      (Note 6)                                                                                      cycles

5. The maximum permissible frequency is guaranteed by design but is not 100% tested
6. The parameter is characterized but is not 100% tested, contact Fairchild for additional characterization data.

ACE1502 Electrical Characteristics for programming

All data valid at ambient temperature between 3.0V and 3.6V. The following characteristics are guaranteed
by design but are not 100% tested. See "EEPROM write time" in the AC Electrical Characteristics for
definition of the programming ready time.

                 Parameter                                   Description                                                 MIN   MAX          Units

tHI                                           CLOCK high time                                                            500    DC             ns
tLO                                           CLOCK low time                                                             500    DC             ns
tDIS                                          SHIFT_IN setup time                                                        100                   ns
tDIH                                          SHIFT_IN hold time                                                         100     4.5           ns
tDOS                                          SHIFT_OUT setup time                                                       100                   ns
tDOH                                          SHIFT_OUT hold time                                                        900                   ns
TRESET                                        Power On Reset time                                                         3.2                 ms
tLOAD1, tLOAD2, tLOAD3, tLOAD4                LOAD timing                                                                                      s
                                                                                                                           5

ACE1502 Low Battery Detect (LBD) Characteristics, Vcc = 1.8 to 3.6V

                  Parameter                             Conditions                                                 MIN TYP     MAX          Units

LBD voltage threshold variation                         -40C to +85C                                               -5          +5            %

ACE1502 Brown-out Reset (BOR) Characteristics, Vcc = 1.8 to 3.6V

                  Parameter                             Conditions                                                 MIN   TYP   MAX          Units

BOR voltage threshold variation                         -40C to +85C                                             1.72  1.83   1.92           V

                                                                                              4                                       www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
AC & DC Electrical Characteristic Graphs                                                                                                                  ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

The graphs in this section are for design guidance and are based on preliminary test data.

Figure 6. Internal Oscillator Frequency

                                        Internal Oscillator Frequency vs. Temperature
                 2.01

                              2

                 1.99

Frequency (MHz)  1.98                                                                                                        3.6V
                                                                                                                             3.3V
                 1.97                                                                                                        2.8V
                                                                                                                             2.6V
                 1.96                                                                                                        2.2V
                                                                                                                             2.0V
                 1.95                                                                                                        1.8V

                 1.94                                                                                                Level 1
                                                                                                                     Level 16
                 1.93                          0  25                                                        85  125  Level 32
                              -40
                                                                                                                     BOR Level
                                                  Temperature [C]

Figure 7. LBD and BOR Threshold Levels

                                                                                    LBD Levels 1,16 and 32
                                               4.0

                              3.5

                              3.0

                 Voltage (V)  2.5

                              2.0

                              1.5

                              1.0

                              0.5

                                 0             0  25                                                        85  125
                                          -40

                                                  Temperature [C]

                                                  BOR Level

Voltage (V)      1.840
                 1.835
                 1.830                         0  25                                                        85  125
                 1.825
                 1.820
                 1.815
                 1.810
                 1.805
                 1.800

                                 -40

                                                  Temperature [C]

                                                                                              5                                    www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Figure 8. Icc Active                                                                                                                                     ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                                   Icc Active (no data EEPROM writes) vs. Temperature
                                                   0.90

                                                   0.80

                                                   0.70

                                     Current (mA)  0.60

                                                                                                                          4.0V

                                                   0.50                                                                   3.6V

                                                                                                                          2.7V

                                                   0.40                                                                   2.2V

                                                                                                                          1.8V

                                                                                                                          1.6V

                                                   0.30

                                                   0.20

                                                   0.10

                                                   0.00

                                                          -40  0                                 25  85              125

                                                                  Temperature [C]

                                                                    Icc Active (data EEPROM writes) vs. Temperature
                                                   4.50

                                                   4.00

                                                   3.50

                                                   3.00

                      Current (mA)                 2.50                                                                   4.0V
                                                                                                                          3.6V
                                                   2.00                                                                   2.7V
                                                                                                                          2.2V
                                                   1.50                                                                   1.8V
                                                                                                                          1.6V
                                                   1.00
                                                                                                                            4.0V
                                                   0.50                                                                     3.6V
                                                                                                                            2.7V
                                                   0.00                                                                     2.2V
                                                                                                                            1.8V
                                                          -40  0                                 25  85              125    1.6V

                                                                  Temperature [C]

Figure 9. HALT Mode Currents

                                                               HALT current vs. Temperature

                                     20.000

                                     18.000

                                     16.000

                                     14.000

                      Icc HALT (A)  12.000

                                     10.000

                                                   8.000

                                                   6.000

                                                   4.000

                                                   2.000

                                                   0.000

                                                          -40  0                                 25  85              125

                                                                  Temperature [C]

                                                                                              6                                   www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Figure 10. IDLE Mode Currents                                                                                                                 ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                 IDLE Mode Current

               350.00

               300.00

               250.00

Icc IDLE [A]                                                                                                    4.0V

               200.00                                                                                            3.6V

                                                                                                                 2.7V

               150.00                                                                                            2.2V

                                                                                                                 1.8V

                                                                                                                 1.6V

               100.00

                        50.00

                        0.00                  0     25                                              85      125
                                      -40

                                                    Temperature [C]

Figure 11. VOL/VOH vs. Current

                                                    VOL vs. IOL

                        3.00

                        2.50

                        2.00

               VOL (V)                                                                                           3.6V

                                                                                                                 4.0V

                        1.50                                                                                     2.7V

                                                                                                                 2.2V

                                                                                                                 1.8V

                        1.00

                        0.50

                        0.00

                                0          2     5  7                                            9      12  15

                                                    IOL (mA)

                                                 VOH vs. IOH @ 25 C

                        4.50

                        4.00

                        3.50

                        3.00

               VOH (V)  2.50                                                                                     4.0V

                                                                                                                 3.6V

                        2.00                                                                                     2.7V

                                                                                                                 2.2V

                        1.50                                                                                     1.8V

                        1.00

                        0.50

                        0.00

                                0          2     5  7                                            9      12  15

                                                    IOH current (mA)

                                                                                              7                        www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
3. Arithmetic Controller Core                                                                    the overall code efficiency of the ACEx microcontroller and          ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 takes advantage of the flexibility found on Von Neumann style
The ACEx microcontroller core is specifically designed for low                                   machines.
cost applications involving bit manipulation, shifting and block
encryption. It is based on a modified Harvard architecture                                       3.1 CPU Registers
meaning peripheral, I/O, and RAM locations are addressed sep-
arately from instruction data.                                                                   The ACEx microcontroller has five general-purpose registers.
                                                                                                 These registers are the Accumulator (A), X-Pointer (X), Pro-
The core differs from the traditional Harvard architecture by                                    gram Counter (PC), Stack Pointer (SP), and Status Register
aligning the data and instruction memory sequentially. This                                      (SR). The X, SP, and SR registers are all memory-mapped.
allows the X-pointer (12-bits) to point to any memory location in
either segment of the memory map. This modification improves

Figure 12. Programming Model

A         7                                                                                      0 8-bit accumulator register

X 11                  0 12-bit X pointer register
                      0 11-bit program counter
PC    10     3 0 4-bit stack pointer

SP

SR        R 0 0 G Z C H N 8-bit status register

                                                                                                 NEGATIVE flag
                                                                                                 HALF CARRY flag (from bit 3)
                                                                                                 CARRY flag (from MSB)
                                                                                                 ZERO flag (bit 4)
                                                                                                 GLOBAL INTERRUPT enable
                                                                                                 READY flag (from EEPROM)

3.1.1 Accumulator (A)                                                                            Bit 11 = 1, then the LD A, [00,X] instruction will take a value
                                                                                                 from address range 0x800 to 0xFFF and load it into A.
The Accumulator is a general-purpose 8-bit register that is used
to hold data and results of arithmetic calculations or data manip-                               The X register can also serve as a counter or temporary storage
ulations.                                                                                        register. However, this is true only for the 11-LSBs since the
                                                                                                 12th bit is dedicated for memory space selection.
3.1.2 X-Pointer (X)
                                                                                                 3.1.3 Program Counter (PC)
The X-Pointer register allows for a 12-bit indexing value to be
added to an 8-bit offset creating an effective address used for                                  The 11-bit program counter register contains the address of the
reading and writing between the entire memory space. (Soft-                                      next instruction to be executed. After a reset, if in normal mode
ware can only read from code EEPROM.) This provides soft-                                        the program counter is initialized to 0x800.
ware with the flexibility of storing lookup tables in the code
EEPROM memory space for the core's accessibility during nor-                                     3.1.4 Stack Pointer (SP)
mal operation.
                                                                                                 The ACEx microcontroller has an automatic program stack with
The ACEx core allows software to access the entire 12-bit X-                                     a 4-bit stack pointer. The stack can be initialized to any location
Pointer register using the special X-pointer instructions e.g. LD                                between addresses 0x30-0x3F. Normally, the stack pointer is
X, #000H. (See Table 8.) However, software may also access                                       initialized by one of the first instructions in an application pro-
the register through any of the memory-mapped instructions                                       gram. After a reset, the stack pointer is defaulted to 0xF pointing
using the XHI (X[11:8]) and XLO (X[7:0]) variables located at                                    to address 0x3F.
0xBE and 0xBF, respectively. (See Table 10.)
                                                                                                 The stack is configured as a data structure which decrements
The X register is divided into two sections. The 11 least signifi-                               from high to low memory. Each time a new address is pushed
cant bits (LSBs) of the register is the address of the program or                                onto the stack, the core decrements the stack pointer by two.
data memory space. The most significant bit (MSB) of the reg-                                    Each time an address is pulled from the stack, the core incre-
ister is write only and selects between the data (0x000 to                                       ments the stack pointer is by two. At any given time, the stack
0x0FF) or program (0x800 to 0xFFF) memory space.                                                 pointer points to the next free location in the stack.

Example: If Bit 11 = 0, then the LD A, [00,X] instruction will take                              When a subroutine is called by a jump to subroutine (JSR)
a value from address range 0x000 to 0x0FF and load it into A. If                                 instruction, the address of the instruction is automatically
                                                                                                 pushed onto the stack least significant byte first. When the

                                                                                              8                                www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
subroutine is finished, a return from subroutine (RET)                                           return from interrupt instruction is normally executed to restore      ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
instruction is executed. The RET instruction pulls the previously                                the PC to the value that was present before the interrupt
stacked return address from the stack and loads it into the                                      occurred. The G bit is the reset to one after a return from inter-
program counter. Execution then continues at the recovered                                       rupt is executed. Although the G bit can be set within an inter-
return address.                                                                                  rupt service routine, "nesting" interrupts in this way should only
                                                                                                 be done when there is a clear understanding of latency and of
3.1.5 Status Register (SR)                                                                       the arbitration mechanism.

The 8-bit Status register (SR) contains four condition code indi-                                3.2 Interrupt handling
cators (C, H, Z, and N), one interrupt masking bit (G), and an
EEPROM write flag (R.) The condition codes are automatically                                     When an interrupt is recognized, the current instruction com-
updated by most instructions. (See Table 9.)                                                     pletes its execution. The return address (the current value in the
                                                                                                 program counter) is pushed onto the stack and execution con-
Carry/Borrow (C)                                                                                 tinues at the address specified by the unique interrupt vector
                                                                                                 (see Table 10.). This process takes five instruction cycles. At
The carry flag is set if the arithmetic logic unit (ALU) performs a                              the end of the interrupt service routine, a return from interrupt
carry or borrow during an arithmetic operation and by its dedi-                                  (RETI) instruction is executed. The RETI instruction causes the
cated instructions. The rotate instruction operates with and                                     saved address to be pulled off the stack in reverse order. The G
through the carry bit to facilitate multiple-word shift operations.                              bit is set and instruction execution resumes at the return
The LDC and INVC instructions facilitate direct bit manipulation                                 address.
using the carry flag.
                                                                                                 The ACEx microcontroller is capable of supporting four inter-
Half Carry (H)                                                                                   rupts. Three are maskable through the G bit of the SR and the
                                                                                                 fourth (software interrupt) is not inhibited by the G bit (Figure
The half carry flag indicates whether an overflow has taken                                      13.) The software interrupt is generated by the execution of the
place on the boundary between the two nibbles in the accumu-                                     INTR instruction. Once the INTR instruction is executed, the
lator. It is primarily used for Binary Coded Decimal (BCD) arith-                                ACEx core will interrupt whether the G bit is set or not. The
metic calculation.                                                                               INTR interrupt is executed in the same manner as the other
                                                                                                 maskable interrupts where the program counter register is
Zero (Z)                                                                                         stacked and the G bit is cleared. This means, if the G bit was
                                                                                                 enabled prior to the software interrupt the RETI instruction must
The zero flag is set if the result of an arithmetic, logic, or data                              be used to return from interrupt in order to restore the G bit to its
manipulation operation is zero. Otherwise, it is cleared.                                        previous state. However, if the G bit was not enabled prior to
                                                                                                 the software interrupt the RET instruction must be used.
Negative (N)
                                                                                                 In case of multiple interrupts occurring at the same time, the
The negative flag is set if the MSB of the result from an arith-                                 ACEx microcontroller core has prioritized the interrupts. The
metic, logic, or data manipulation operation is set to one. Other-                               interrupt priority sequence in shown in Table 7.
wise, the flag is cleared. A result is said to be negative if its MSB
is a one.                                                                                        Table 7: Interrupt Priority Sequence

Interrupt Mask (G)                                                                               Priority (4 highest, 1 lowest) Interrupt

The interrupt request mask (G) is a global mask that disables all                                4                       MIW (EDGEI)
maskable interrupt sources. If the G Bit is cleared, interrupts
can become pending, but the operation of the core continues                                      3                       Timer0 (TMRI0)
uninterrupted. However, if the G Bit is set an interrupt is recog-
nized. After any reset, the G bit is cleared by default and can                                  2                       Timer1 (TMRI1)
only be set by a software instruction. When an interrupt is rec-
ognized, the G bit is cleared after the PC is stacked and the                                    1                       Software (INTR)
interrupt vector is fetched. Once the interrupt is serviced, a

Figure 13. Basic Interrupt Structure

Interrupt Source with Priority  INTR

                                  T1       T1PND                                                                                       Interrupt
                                  T0
                                MIW        T0PND

                                          WKPND   T1EN  T0INT  WKINT                                       G
                                                          EN     EN
                                      Interrupt                                                  Global Interrupt
                                      Pending                                                         Enable

                                       Flags

                                                  Interrupt Enable Bits

                                                                                              9                                        www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
3.3 Addressing Modes                                                                             Immediate                                                           ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

The ACEx microcontroller has seven addressing modes                                              The instruction contains an 8-bit immediate field as an operand.
indexed, indirect, direct, immediate, absolute jump, and relative
jump.                                                                                            Inherent

Indexed                                                                                          This instruction has no operands associated with it.

The instruction allows an 8-bit unsigned offset value to be                                      Absolute
added to the 11-LSBs of the X-pointer yielding a new effective
address. This mode can be used to address either data or pro-                                    The instruction contains an 11-bit address that directly points to
gram memory space.                                                                               a location in the program memory space. There are two oper-
                                                                                                 ands associated with this addressing mode. Each operand con-
Indirect                                                                                         tains a byte of an address. This mode is used only for the long
                                                                                                 jump (JMP) and JSR instructions.
The instruction allows the X-pointer to address any location
within the data memory space.                                                                    Relative

Direct                                                                                           This mode is used for the short jump (JP) instructions where the
                                                                                                 operand is a value relative to the current PC address. With this
The instruction contains an 8-bit address field that directly                                    instruction, software is limited to the number of bytes it can
points to the data memory space as an operand.                                                   jump, -31 or +32.

Table 8. Instruction Addressing Modes

Instruction Immediate   Direct         Indexed                                                   Indirect   Inherent     Relative  Absolute

ADC     A, #            A, M            A, [#, X]                                                   A, [X]
ADD                                     A, [#, X]                                                   A, [X]
AND     A, #            A, M            A, [#, X]                                                   A, [X]
OR                                      A, [#, X]                                                   A, [X]
SUBC    A, #            A, M            A, [#, X]                                                   A, [X]
XOR                                     A, [#, X]                                                   A, [X]
        A, #            A, M
                                        A, [#, X]                                                   A, [X]
        A, #            A, M            A, [#, X]                                                   A, [X]
                                        A, [#, X]                                                   A, [X]
        A, #            A, M

CLR                           M                                                                             A         X

INC                           M                                                                             A         X

DEC                           M                                                                             A         X

IFEQ    A, # X, # M,#   A, M
IFGT    A, # X, #       A, M
IFNE    A, # X, # M,#   A, M
IFLT
                  X, #

SC                                                                                                             no-op
                                                                                                               no-op
RC                                                                                                             no-op
                                                                                                               no-op
IFC                                                                                                            no-op

IFNC

INVC

LDC                     #, M

STC                     #, M

RLC                           M                                                                                A
                                                                                                               A
RRC                           M

LD      A, # M, # X, # A, M M, M       A, [#, X]                                                 A, [X]
                                       A, [#, X]                                                 A, [X]
ST                      A, M

NOP                                                                                                            no-op

IFBIT   #, A            #, M                                                                     [#, X]

IFNBIT  #, A            #, M                                                                     [#, X]
SBIT                                                                                             [#, X]
RBIT                    #, M                                                                     [#, X]

                        #, M

JP                                                                 [#, X]                                                           Rel
JSR                                                                [#, X]                                                                                M
JMP                                                                                                                                                      M
RET
RETI                                                                                                           no-op
INTR                                                                                                           no-op
                                                                                                               no-op

                                                                                             10                                    www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Table 9. Instruction Cycles and Bytes                                                                                                                       ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                             Flags                               Mnemonic  Operand    Bytes  Cycles   Flags
Mnemonic Operand Bytes Cycles affected                                                           INC            X        1       1   affected
                                                                                                 INTR                    1       5
ADC     A, [X]     1  1                C,H,Z,N                                                   INVC           M        1       1        Z
                                                                                                 JMP          [#, X]     3       4     None
ADC     A, [#,X]   2  3                C,H,Z,N                                                   JMP                     2       3
                                                                                                 JP             M        1       1        C
ADC     A, M       2  2                C,H,Z,N                                                   JSR          [#, X]     3       5     None
                                                                                                 JSR           A, #      2       5     None
ADC     A, #       2  2                C,H,Z,N                                                   LD         A, [#,X]     2       2     None
                                                                                                 LD           A, [X]     2       3     None
ADD     A, [X]     1  1                Z,N                                                       LD           A, M       1       1     None
                                                                                                 LD            M, #      2       2     None
ADD     A, [#,X]   2  3                Z,N                                                       LD           M, M       3       3     None
                                                                                                 LD            X, #      3       3     None
ADD     A, M       2  2                Z,N                                                       LD            #, M      3       3     None
                                                                                                 LDC                     2       2     None
ADD     A, #       2  2                Z,N                                                       NOP          A, [X]     1       1     None
                                                                                                 OR         A, [#,X]     1       1     None
AND     A, [X]     1  1                Z,N                                                       OR                      2       3
                                                                                                 OR           A, M       2       2        C
AND     A, [#,X]   2  3                Z,N                                                       OR            A, #      2       2     None
                                                                                                 RBIT         #, [X]     1       2      Z, N
AND     A, M       2  2                Z,N                                                       RBIT          #, M      2       2       Z,N
                                                                                                 RC                      1       1       Z,N
AND     A, #       2  2                Z,N                                                       RET            A        1       5       Z,N
                                                                                                 RETI           M        1       5       Z,N
CLR     X          1  1                Z                                                         RLC            A        1       1       Z,N
                                                                                                 RLC            M        2       2      C,H
CLR     A          1  1                C,H,Z,N                                                   RRC          #, [X]     1       1     None
                                                                                                 RRC           #, M      2       2     None
CLR     M          2  1                C,H,Z,N                                                   SBIT                    1       2     C,Z,N
                                                                                                 SBIT       A, [#,X]     2       2     C,Z,N
DEC     X          1  1                Z                                                         SC           A, [X]     1       1     C,Z,N
                                                                                                 ST           A, M       2       3     C,Z,N
DEC     A          1  1                Z,N                                                       ST            #, M      1       1       Z,N
                                                                                                 ST           A, [X]     2       2       Z,N
DEC     M          2  2                Z,N                                                       STC        A, [#,X]     2       2      C,H
                                                                                                 SUBC         A, M       1       1     None
IFBIT   #, A       1  1                None                                                      SUBC          A, #      2       3     None
                                                                                                 SUBC         A, [X]     2       2     None
IFBIT   #, M       2  2                None                                                      SUBC       A, [#,X]     2       2       Z,N
                                                                                                 XOR          A, M       1       1    C,H,Z,N
IFBIT   #, [X]     1  1                None                                                      XOR           A, #      2       3    C,H,Z,N
                                                                                                 XOR                     2       2    C,H,Z,N
IFC                1  1                None                                                      XOR                     2       2    C,H,Z,N
                                                                                                                                         Z,N
IFEQ    A, [#, X]  2  3                None                                                                                              Z,N
                                                                                                                                         Z,N
IFEQ    A, [X]     1  1                None                                                                                              Z,N

IFEQ    A, #       2  2                None

IFEQ    A, M       2  2                None

IFEQ    M, #       3  3                None

IFEQ    X, #       3  3                None

IFGT    A, [#, X]  2  3                None

IFGT    A, [X]     1  1                None

IFGT    A, #       2  2                None

IFGT    A, M       2  2                None

IFGT    X, #       3  3                None

IFLT    X, #       3  3                None

IFNBIT  #, A       1  1                None

IFNBIT  #, M       2  2                None

IFNBIT  #, [X]     1  1                None

IFNC               1  1                None

IFNE    A, [#, X]  2  3                None

IFNE    A, [X]     1  1                None

IFNE    A, #       2  2                None

IFNE    A, M       2  2                None

IFNE    X, #       3  3                None

IFNE    M, #       3  3                None

INC     A          1  1                Z,N

INC     M          2  2                Z,N

                                                                                             11                                      www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
3.4 Memory Map                                                                                                                                           ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

All I/O ports, peripheral registers, and core registers (except the accumulator and the program counter) are mapped into the memory
space.

Table 10. Memory Mapped Registers

Address        Memory Space        Block                                                         Contents

  0x00 - 0x3F    Data                  SRAM                                                      Data RAM
  0x40 - 0x7F    Data               EEPROM                                                       Data EEPROM
   0x80-0x9F     Data                Reserved
                 Data                                                                            HBCNTRL register
      0xA0       Data                   HBC                                                      PSCALE register
      0xA1       Data                   HBC                                                      HPATTERN register
      0xA2       Data                   HBC                                                      LPATTERN register
      0xA3       Data                   HBC                                                      BPSEL register
      0xA4       Data                   HBC                                                      T1RBLO register
      0xA7       Data                 Timer1                                                     T1RBHI register
      0xA8       Data                 Timer1                                                     DAT0 register
      0xA9       Data                   HBC                                                      T1RALO register
      0xAA       Data                 Timer1                                                     T1RAHI register
      0xAB       Data                 Timer1                                                     TMR1LO register
      0xAC       Data                 Timer1                                                     TMR1HI register
      0xAD       Data                 Timer1                                                     T1CNTRL register
      0xAE       Data                 Timer1                                                     WKEDG register
      0xAF       Data                   MIW                                                      WKPND register
      0xB0       Data                   MIW                                                      WKEN register
      0xB1       Data                   MIW                                                      PORTGD register
      0xB2       Data                    I/O                                                     PORTGC register
      0xB3       Data                    I/O                                                     PORTGP register
      0xB4       Data                    I/O                                                     WDSVR register
      0xB5       Data                 Timer0                                                     T0CNTRL register
      0xB6       Data                 Timer0                                                     HALT mode register
      0xB7       Data                  Clock
  0xB8-0xBA      Data                Reserved                                                    Initialization Register 1
      0xBB       Data              Init. Register                                                Initialization Register 2
      0xBC       Data              Init. Register                                                LBD register
      0xBD       Data                   LBD                                                      XHI register
      0xBE       Data                   Core                                                     XLO register
      0xBF       Data                   Core                                                     Power Mode Clear (PMC) Register
      0xC0       Data                  Clock                                                     SP register
      0xCE       Data                   Core                                                     Status register (SR)
      0xCF       Data                   Core
  0xD0 - 0xFF  Program               Reserved                                                    Code EEPROM
0x800 - 0xFF5  Program              EEPROM                                                       Timer0 Interrupt vector
0xFF6 - 0xFF7  Program                  Core                                                     Timer1 Interrupt vector
0xFF8 - 0xFF9  Program                  Core                                                     MIW Interrupt vector
0xFFA - 0xFFB  Program                  Core                                                     Soft Interrupt vector
0xFFC - 0xFFD  Program                  Core
0xFFE - 0xFFF                        Reserved

                                                                                             12                                   www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
3.5 Memory                                                                                       read, write, or enter HALT/IDLE mode while the data EEPROM             ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 is busy (R = 0) can affect the current data being written.
The ACEx microcontroller has 64 bytes of SRAM and 64 bytes
of EEPROM available for data storage. The device also has 2K                                     3.6 Initialization Registers
bytes of EEPROM for program storage. Software can read and
write to SRAM and data EEPROM but can only read from the                                         The ACEx microcontroller has two 8-bit wide initialization
code EEPROM. While in normal mode, the code EEPROM is                                            registers. These registers are read from the memory space on
protected from any writes. The code EEPROM can only be                                           power-up to initialize certain on-chip peripherals. Figure 14
rewritten when the device is in program mode and if the write                                    provides a detailed description of Initialization Register 1. The
disable (WDIS) bit of the initialization register is not set to 1.                               Initialization Register 2 is used to trim the internal oscillator to
                                                                                                 its appropriate frequency. This register is pre-programmed in
While in normal mode, the user can write to the data EEPROM                                      the factory to yield an internal instruction clock of 1MHz.
array by 1) polling the ready (R) flag of the SR, then 2) execut-
ing the appropriate instruction. If the R flag is 1, the data                                    The Initialization Registers 1 and 2 can be read from and written
EEPROM block is ready to perform the next write. If the R flag is                                to during programming mode. However, re-trimming the inter-
0, the data EEPROM is busy. The data EEPROM array will                                           nal oscillator (writing to the Initialization Register 2) once it has
reset the R flag after the completion of a write cycle. Attempts to                              left the factory is discouraged.

Figure 14. Initialization Register 1

  Bit 7         Bit 6   Bit 5          Bit 4                                                     Bit 3  Bit 2  Bit 1  Bit 0

CMODE[0]      CMODE[1]  WDEN          BOREN                                                      LDBEN  UBD    WDIS   RDIS

(0) RDIS      If set, disables attempts to read the contents from the memory while in programming mode. Once this bit is
              set, it is no longer possible to unset this option even though the write disable option is not enabled.
(1) WDIS      If set, disables attempts to write new contents to the memory while in programming mode
(2) UBD       If set, the device will not allow any writes to occur in the upper block of data EEPROM (0x60-0x7F)
(3) LBDEN     If set, the Low Battery Detection circuit is enabled
(4) BOREN     If set, allows a BOR to occur if Vcc falls below the voltage reference level
(5) WDEN      If set, enables the on-chip processor watchdog circuit
(6) CMODE[1]  Clock mode select bit 1 (See Table 16)
(7) CMODE[0]  Clock mode select bit 0 (See Table 16)

4. Timer 1                                                                                       The timer can be started or stopped through the T1CNTRL reg-
                                                                                                 ister bit T1C0. When running, the timer counts down (decre-
Timer 1 is a versatile 16-bit timer that can operate in one of four                              ments) every clock cycle. Depending on the operating mode,
modes:                                                                                           the timer's clock is either the instruction clock or a transition on
                                                                                                 the T1 input. In addition, occurrences of timer underflow (transi-
Pulse Width Modulation (PWM) mode, which generates                                             tions from 0x0000 to 0xFFFF/T1RA/T1RB value) can either
   pulses of a specified width and duty cycle                                                    generate an interrupt and/or toggle the T1 output pin.

External Event Counter mode, which counts occurrences of                                       Timer 1's interrupt (TMRI1) can be enabled by interrupt enable
   an external event                                                                             (T1EN) bit in the T1CNTRL register. When the timer interrupt is
                                                                                                 enabled, depending on the operating mode, the source of the
Standard Input Capture mode, which measures the elapsed                                        interrupt is a timer underflow and/or a timer capture.
   time between occurrences of external events
                                                                                                 4.1 Timer control bits
Difference Input Capture mode, which automatically mea-
   sures the difference between edges.                                                           Reading and writing to the T1CNTRL register controls the
                                                                                                 timer's operation. By writing to the control bits, the user can
Timer 1 contains a 16-bit timer/counter register (TMR1), a 16-bit                                enable or disable the timer interrupts, set the mode of operation,
auto-reload/capture register (T1RA), a secondary 16-bit auto-                                    and start or stop the timer. The T1CNTRL register bits are
reload register (T1RB), and an 8-bit control register                                            described in Table 11 and Table 12.
(T1CNTRL). All register are memory-mapped for simple access
through the core with both the 16-bit registers organized as a
pair of 8-bit register bytes {TMR1HI, TMR1LO}, {T1RAHI,
T1RALO}, and {T1RBHI, T1RBLO}. Depending on the operating
mode, the timer contains an external input or output (T1) that is
multiplexed with the I/O pin G2. By default, the TMR1 is reset to
0xFFFF, T1RA/T1RB is reset to 0x0000, and T1CNTRL is reset
to 0x00.

                                                                                             13                       www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Table 11. Timer 1 Control Register (T1CNTRL)                                                                                                                           ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

T1CNTRL Register       Bit Name                                          Function

             Bit 7         T1C3    Timer TIMER1 control bit 3 (see Table 12)
             Bit 6         T1C2    Timer TIMER1 control bit 2 (see Table 12)
             Bit 5         T1C1    Timer TIMER1 control bit 1 (see Table 12)
             Bit 4         T1C0    Timer TIMER1 run: 1= Start timer, 0 = Stop timer;
                                   or Timer TIMER1 underflow interrrupt pending flag in input capture mode
             Bit 3        T1PND    Timer1 interrupt pending flag: 1 = Timer1 interrupt
                                   Pending, 0 = Timer1 interrupt not pending
             Bit 2         T1EN    Timer1 interrupt enable bit: 1 = Timer1 interrupt enabled,
                                   0 = Timer1 interrupt disabled
             Bit 1         M1S1    Capture type: 0 = Pulse capture, 1 = Cycle capture (see Table 12)
             Bit 0       T1RBEN    PWM Mode: 0 = Timer1 reload on T1RA, 1 = TIMER1 reload on T1RA and T1RB
                                   (always starting with T1RA)

Table 12. Timer 1 Operating Modes

T1 T1 T1 M4 T1                                                                                   Interrupt                Timer Counts-on
C3 C2 C1 S1 RB Timer Mode Source
                                                                                                                       T1 Pos. Edge
0  0  0             X  X MODE 2                                                                  TIMER1 Underflow      T1 Neg. Edge
                                                                                                                       Instruction Clock
0  0  1             X  X MODE 2                                                                  TIMER1 Underflow      Instruction Clock
                                                                                                                       Instruction Clock
1  0  1             X  0 MODE 1 T1 Toggle                                                        Autoreload T1RA       Instruction Clock
                                                                                                                       Instruction Clock
1  0  0             X  0 MODE 1 No T1 Toggle                                                     Autoreload T1RA
                                                                                                                       Instruction Clock
1  0  1             X  1 MODE 1 T1 Toggle                                                        Autoreload T1RA/T1RB
                                                                                                                       Instruction Clock
1  0  0             X  1 MODE 1 No T1 Toggle                                                     Autoreload T1RA/T1RB  Instruction Clock
                                                                                                                       Instruction Clock
0  1  0             X  X MODE 3 Captures:                                                        Pos. T1 Edge          Instruction Clock

                       T1 Pos Edge

0  1  1             X  X MODE 3 Captures:                                                        Neg. T1 Edge

                       T1 Neg Edge

1  1  0             0  X MODE 4                                                                  Pos. to Neg.

1  1  0             1  X MODE 4                                                                  Pos. to Pos.

1  1  1             0  X MODE 4                                                                  Neg. to Pos.

1  1  1             1  X MODE 4                                                                  Neg. to Neg.

4.2 Mode 1: Pulse Width Modulation (PWM) Mode                                                    the T1RA and T1RB registers. A hardware select logic is imple-
                                                                                                 mented to select between T1RA and T1RB alternately, always
In the PWM mode, the timer counts down at the instruction                                        starting with T1RA, every timer underflows to auto-reload the
clock rate. When an underflow occurs, the timer register is                                      timer registers. This feature is useful when a signal with variable
reloaded from T1RA/T1RB and the count down proceeds from                                         duty cycle needs to be generated without software intervention.
the loaded value. At every underflow, a pending flag (T1PND)
located in the T1CNTRL register is set. Software must then                                       The timer has one interrupt (TMRI1) that is maskable through
clear the T1PND flag and load the T1RA/T1RB register with an                                     the T1EN bit of the T1CNTRL register. However, the core is only
alternate PWM value (if desired.) In addition, the timer can be                                  interrupted if the T1EN bit and the G (Global Interrupt enable)
configured to toggle the T1 output bit upon underflow. Configur-                                 bit of the SR is set. If interrupts are enabled, the timer will gen-
ing the timer to toggle T1 results in the generation of a signal                                 erate an interrupt each time T1PND flags is set (whenever the
outputted from port G2 with the width and duty cycle controlled                                  timer underflows provided that the pending flag was cleared.)
by the values stored in the T1RA/T1RB. A block diagram of the                                    The interrupt service routine is responsible for proper handling
timer's PWM mode of operation is shown in Figure 15.                                             of the T1PND flag and the T1EN bit.

The PWM timer can be configured to use the T1RA register only                                    The interrupt will be synchronous with every rising and falling
for auto-reloading the timer registers or can be configured to                                   edge of the T1 output signal. Generating interrupts only on ris-
use both T1RA and T1RB alternately. If the T1RBEN bit of the                                     ing or falling edges of T1 is achievable through appropriate han-
T1CNTRL register is 0, the PWM timer will reload using only                                      dling of the T1EN bit or T1PND flag through software.
T1RA ignoring any value store in the T1RB register. However, if
the T1RBEN bit is 1 the PWM timer will be reloaded using both

                                                                                             14                        www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
The following steps show how to properly configure Timer 1 to                                    4.3 Mode 2: External Event Counter Mode                             ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
operate in the PWM mode. For this example, the T1 output sig-
nal is toggled with every timer underflow and the "high" and                                     The External Event Counter mode operates similarly to the
"low" times for the T1 output can be set to different values. The                                PWM mode; however, the timer is not clocked by the instruction
T1 output signal can start out either high or low depending on                                   clock but by transitions of the T1 input signal. The edge is
the configuration of G2; the instructions below are for starting                                 selectable through the T1C1 bit of the T1CNTRL register. A
with the T1 output high. Follow the instructions in parentheses                                  block diagram of the timer's External Event Counter mode of
to start the T1 output low.                                                                      operation is shown in Figure 16.

1. Configure T1 as an output by setting bit 2 of PORTGC.                                         The T1 input should be connected to an external device that
                                                                                                 generates a positive/negative-going pulse for each event. By
- SBIT 2, PORTGC          ; Configure G2 as an output                                            clocking the timer through T1, the number of positive/negative
                                                                                                 transitions can be counted therefore allowing software to cap-
2. Initialize T1 to 1 (or 0) by setting (or clearing) bit 2 of                                   ture the number of events that occur. The input signal on T1
                                                                                                 must have a pulse width equal to or greater than one instruction
PORTGD.                                                                                          clock cycle.

- SBIT 2, PORTGD          ; Set G2 high

3. Load the initial PWM high (low) time into the timer register.                                 The counter can be configured to sense either positive-going or
    - LD TMR1LO, #6FH ; High (Low) for 1.391ms                                                   negative-going transitions on the T1 pin. The maximum fre-
              (1MHz clock)                                                                       quency at which transitions can be sensed is one-half the fre-
    - LD TMR1HI, #05H                                                                            quency of the instruction clock.

4. Load the PWM low (high) time into the T1RA register.                                          As with the PWM mode, when the counter underflows the
    - LD T1RALO, #2FH ; Low (High) for .303ms                                                    counter is reloaded from the T1RA register and the count down
              (1MHz clock)                                                                       proceeds from the loaded value. At every underflow, a pending
    - LD T1RAHI, #01H                                                                            flag (T1PND) located in the T1CNTRL register is set. Software
                                                                                                 must then clear the T1PND flag and can then load the T1RA
5. Write the appropriate control value to the T1CNTRL register                                   register with an alternate value.
    to select PWM mode with T1 toggle, to clear the enable bit
    and pending flag, and to start the timer. (See Table 11 and                                  The counter has one interrupt (TMRI1) that is maskable through
    Table 12.)                                                                                   the T1EN bit of the T1CNTRL register. However, the core is only
    - LD T1CNTRL, #0B0H ; Setting the T1C0 bit starts the                                        interrupted if the T1EN bit and the G (Global Interrupt enable)
              timer                                                                              bit of the SR is set. If interrupts are enabled, the counter will
                                                                                                 generate an interrupt each time the T1PND flag is set (when-
6. After every underflow, load T1RA with alternate values. If the                                ever timer underflows provided that the pending flag was
    user wishes to generate an interrupt on a T1 output transi-                                  cleared.) The interrupt service routine is responsible for proper
    tion, reset the pending flags and then enable the interrupt                                  handling of the T1PND flag and the T1EN bit.
    using T1EN. The G bit must also be set. The interrupt
    service routine must reset the pending flag and perform                                      The following steps show how to properly configure Timer 1 to
    whatever processing is desired.                                                              operate in the External Event Counter mode. For this example,
    - RBIT T1PND, T1CNTRL ; T1PND equals 3                                                       the counter is clocked every falling edge of the T1 input signal.
    - LD T1RALO, #6FH ; High (Low) for 1.391ms                                                   Follow the instructions in parentheses to clock the counter every
              (1MHz clock)                                                                       rising edge.
    - LD T1RAHI, #05H

Figure 15. Pulse Width Modulation Mode                                                           1. Configure T1 as an input by clearing bit 2 of PORTGC.

                                                                                                 - RBIT 2, PORTGC  ; Configure G2 as an input

                                                                                                 2. Initialize T1 to input with pull-up by setting bit 2 of PORTGD.

                          16-bit Auto-Reload                                                     - SBIT 2, PORTGD  ; Set G2 high
                           Register (T1RA)

                       0                                                                         3. Enable the global interrupt enable bit.
                   S1                                                                                - SBIT 4, STATUS

                          16-bit Auto-Reload                    Data                             4. Load the initial count into the TMR1 and T1RA registers.
                           Register (T1RB)                      Bus                                  When the number of external events is detected, the counter
                                                                                                     will reach zero; however, it will not underflow until the next
T1RBEN                    Reload select logic                                                        event is detected. To count N pulses, load the value N-1 into
                                                                                                     the registers. If it is only necessary to count the number of
T1          Data                  16-bit Timer (TMR1)                                                occurrences and no action needs to be taken at a particular
            Latch                                                                                    count, load the value 0xFFFF into the registers.
                          Instruction                                                                - LD TMR1LO, #0FFH
Underflow                    Clock                                                                   - LD TMR1HI, #0FFH
Interrupt                                                                                           - LD T1RALO, #0FFH
                                                                                                     - LD T1RAHI, #0FFH

                                                                                             15                                              www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
5. Write the appropriate control value to the T1CNTRL register                                   For this operating mode, the T1C0 control bit serves as the          ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
    to select External Event Counter mode, to clock every falling                                timer underflow interrupt pending flag. The Timer 1 interrupt ser-
    edge, to set the enable bit, to clear the pending flag, and to                               vice routine must read both the T1PND and T1C0 flags to deter-
    start the counter. (See Table 11 and Table 12 )                                              mine the cause of the interrupt. A set T1C0 flag means that a
    - LD T1CNTRL, #34H (#00h) ;Setting the T1C0 bit starts                                       timer underflow occurred whereas a set T1PND flag means that
                                               the timer                                         a capture occurred in T1RA. It is possible that both flags will be
                                                                                                 found set, meaning that both events occurred at the same time.
6. When the counter underflows, the interrupt service routine                                    The interrupt service routine should take this possibility into
    must clear the T1PND flag and take whatever action is                                        consideration.
    required once the number of events occurs. If the software
    wishes to merely count the number of events and the antici-                                  Because the T1C0 bit is used as the underflow interrupt pend-
    pated number may exceed 65,536, the interrupt service                                        ing flag, it is not available for use as a start/stop bit as in the
    routine should record the number of underflows by incre-                                     other modes.
    menting a counter in memory. Software can then calculate
    the correct event count.                                                                     The TMR1 register counts down continuously at the instruction
    - RBIT T1PND, T1CNTRL ; T1PND equals 3                                                       clock rate starting from the time that the input capture mode is
                                                                                                 selected. (See Table 11 and Table 12) To stop the timer from
Figure 16. External Event Counter Mode                                                           running, you must change the mode to an alternate mode
                                                                                                 (PWM or External Event Counter) while resetting the T1C0 bit.

              16-bit Auto-Reload                                                                 The input pins can be independently configured to sense posi-
                Register (T1RA)                                                                  tive-going or negative-going transitions. The edge sensitivity of
                                                                                                 pin T1 is controlled by bit T1C1 as indicated in Table 12.
            16-bit Counter (TMR1)
                                   Data                                                          The edge sensitivity of a pin can be changed without leaving the
                                   Bus                                                           input capture mode even while the timer is running. This feature
                                                                                                 allows you to measure the width of a pulse received on an input
Underflow                                                                                        pin.
Interrupt

               T1                                                                                For example, the T1 pin can be programmed to be sensitive to a
                                                                                                 positive-going edge. When the positive edge is sensed, the
                            Edge Selector                                                        TMR1 register contents is transferred to the T1RA register and
                                  Logic                                                          a Timer 1 interrupt is generated. The Timer 1 interrupt service
                                                                                                 routine records the contents of the T1RA register, changes the
4.4 Mode 3: Input Capture Mode                                                                   edge sensitivity from positive to negative-going edge, and
                                                                                                 clears the T1PND flag. When the negative-going edge is sensed
In the Input Capture mode, the timer is used to measure                                          another Timer 1 interrupt is generated. The interrupt service
elapsed time between edges of an input signal. Once the timer                                    routine reads the T1RA register again. The difference between
is configured for this mode, the timer starts counting down                                      the previous reading and the current reading reflects the
immediately at the instruction clock rate. The Timer 1 will then                                 elapsed time between the positive edge and negative edge of
transfer the current value of the TMR1 register into the T1RA                                    the T1 input signal i.e. the width of the positive-going pulse.
register as soon as the selected edge of T1 is sensed. The input
signal on T1 must have a pulse width equal to or greater than                                    Remember that the Timer1 interrupt service routine must test
one instruction clock cycle. At every T1RA capture, software                                     the T1C0 and T1PND flags to determine the cause of the inter-
can then store the values into RAM to calculate the elapsed                                      rupt. If the T1C0 flag caused the interrupt, the interrupt service
time between edges on T1. At any given time (with proper con-                                    routine should record the occurrence of an underflow by incre-
sideration of the state of T1) the timer can be configured to cap-                               menting a counter in memory or by some other means. The
ture on positive-going or negative-going edges. A block diagram                                  software that calculates the elapsed time between captures
of the timer's Input Capture mode of operation is shown in Fig-                                  should take into account the number of underflow that occurred
ure 17.                                                                                          when making its calculation.

The timer has one interrupt (TMRI1) that is maskable through                                     The following steps show how to properly configure Timer 1 to
the T1EN bit of the T1CNTRL register. However, the core is only                                  operate in the Input Capture mode.
interrupted if the T1EN bit and the G (Global Interrupt enable)
bit of the SR is set. The Input Capture mode contains two inter-                                 1. Configure T1 as an input by clearing bit 2 of PORTGC.
rupt pending flags 1) the TMR1 register capture in T1RA
(T1PND) and 2) timer underflow (T1C0). If interrupts are                                         - RBIT 2, PORTGC  ; Configure G2 as an input
enabled, the timer will generate an interrupt each time a pend-
ing flag is set (provided that the pending flag was previously                                   2. Initialize T1 to input with pull-up by setting bit 2 of PORTGD.
cleared.) The interrupt service routine is responsible for proper
handling of the T1PND flag, T1C0 flag, and the T1EN bit.                                         - SBIT 2, PORTGD  ; Set G2 high

                                                                                                 3. Enable the global interrupt enable bit.
                                                                                                     - SBIT 4, STATUS

                                                                                                 4. With the timer stopped, load the initial time into the TMR1
                                                                                                     register (typically the value is 0xFFFF.)
                                                                                                     - LD TMR1LO, #0FFH
                                                                                                     - LD TMR1HI, #0FFH

                                                                                                 5. Write the appropriate control value to the T1CNTRL register
                                                                                                     to select Input Capture mode, to sense the appropriate
                                                                                                     edge, to set the enable bit, and to clear the pending flags.

                                                                                             16                                              www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
(See Table 11 and Table 12)                                                                      the standard Input Capture mode both the capture (T1PND) and            ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 the underflow (T1C0) flags must be monitored and handled
- LD T1CNTRL, #64H           ; T1C1 is the edge select bit                                       appropriately. This feature allows the ACEx microcontroller to
                                                                                                 capture very small pulses where standard microcontrollers
6. As soon as the input capture mode is enabled, the timer                                       might have missed cycles due to the limited bandwidth.
    starts counting. When the selected edge is sensed on T1,
    the T1RA register is loaded and a Timer 1 interrupt is                                       Figure 18. Difference Capture Mode
    triggered.

Figure 17. Input Capture Mode

Capture                                                                                          Capture                    16-bit Input Capture
Interrupt                                                                                        Interrupt                    Register (T1RA)

T1                           16-bit Input Capture                                                T1                         Difference            Data
                               Register (T1RA)                                                                                 Logic

                                                                                                                                                  Bus

            Edge Selector                          Data                                                      Edge Selector

            Logic                                  Bus                                                       Logic

Underflow                    16-bit Timer (TMR1)                                                 Underflow
Interrupt                                                                                        Interrupt
                                                                                                                            16-bit Timer (TMR1)

                                        Instruction                                                                         Instruction
                                           Clock                                                                               Clock

4.5 Mode 4: Difference Input Capture Mode                                                        5. Timer 0

The Difference Input Capture mode works similarly to the stan-                                   Timer 0 is a 12-bit free running idle timer. Upon power-up or any
dard Input Capture mode. However, for the Difference Input                                       reset, the timer is reset to 0x000 and then counts up continu-
Capture the timer automatically captures the elapsed time                                        ously based on the instruction clock of 1MHz (1 s). Software
between the selected edges without the core needing to per-                                      cannot read from or write to this timer. However, software can
form the calculation.                                                                            monitor the timer's pending (T0PND) bit that is set every 8192
                                                                                                 cycles (initially 4096 cycles after a reset). The T0PND flag is set
For example, the standard Input Capture mode requires that the                                   every other time the timer overflows (transitions from 0xFFF to
timer be configured to capture a particular edge (rising or fall-                                0x000) through a divide-by-2 circuit. After an overflow, the timer
ing) at which time the timer's value is copied into the capture                                  will reset and restart its counting sequence.
register. If the elapsed time is required, software must move the
captured data into RAM and reconfigure the Input Capture                                         Software can either poll the T0PND bit or vector to an interrupt
mode to capture on the next edge (rising or falling). Software                                   subroutine. In order to interrupt on a T0PND, software must be
must then subtract the difference between the two edges to                                       sure to enable the Timer 0 interrupt enable (T0INTEN) bit in the
yield useful information.                                                                        Timer 0 control (T0CNTRL) register and also make sure the G
                                                                                                 bit is set in SR. Once the timer interrupt is serviced, software
The Difference Capture mode eliminates the need for software                                     should reset the T0PND bit before exiting the routine. Timer 0
intervention and allows for capturing very short pulse or cycle                                  supports the following functions:
widths. It can be configured to capture the elapsed time
between:                                                                                         1. Exiting from IDLE mode (See Section 16 for details.)

1. rising edge to falling edge                                                                   2. Start up delay from HALT mode

2. rising edge to rising edge                                                                    3. Watchdog pre-scalar (See Section 6 for details.)

3. falling edge to rising edge                                                                   The T0INTEN bit is a read/write bit. If set to 0, interrupt requests
                                                                                                 from the Timer 0 are ignored. If set to 1, interrupt requests are
4. falling edge to falling edge                                                                  accepted. Upon reset, the T0INTEN bit is reset to 0.

Once configured, the Difference Capture timer waits for the first                                The T0PND bit is a read/write bit. If set to 1, it indicates that a
selected edge. When the edge transition has occurred, the 16-                                    Timer 0 interrupt is pending. This bit is set by a Timer 0 overflow
bit timer starts counting up based every instruction clock cycle.                                and is reset by software or system reset.
It will continue to count until the second selected edge transition
occurs at which time the timer stops and stores the elapse time                                  The WKINTEN bit is used in the Multi-input Wakeup/Interrupt
into the T1RA register.                                                                          block. See Section 8 for details.

Software can now read the difference between transitions
directly without using any processor resources. However, like

Figure 19. Timer 0 Control Register Definition (T0CNTRL)

  Bit 7     Bit 6            Bit 5                 Bit 4                                         Bit 3       Bit 2          Bit 1                  Bit 0

WKINTEN        x                x                     x                                             x           x           T0PND                 T0INTEN

                                                                                             17                                                   www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
6. Watchdog                                                                                      can only be set while the device is in programming mode. Once         ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 set, the Watchdog will always be powered-up enabled. Software
The Watchdog timer is used to reset the device and safely                                        cannot disable the Watchdog. The Watchdog timer can only be
recover in the rare event of a processor "runaway condition."                                    disabled in programming mode by resetting the WDEN bit as
The 12-bit Timer 0 is used as a pre-scalar for Watchdog timer.                                   long as the memory write protect (WDIS) feature is not enabled.
The Watchdog timer must be serviced before every 61,440
cycles but no sooner than 4096 cycles since the last Watchdog                                    WARNING
reset. The Watchdog is serviced through software by writing the
value 0x1B to the Watchdog Service (WDSVR) register (see                                         Ensure that the Watchdog timer has been serviced before
Figure 20). The part resets automatically if the Watchdog is ser-                                entering IDLE mode because it remains operational during this
viced too frequent, or not frequent enough.                                                      time.

The Watchdog timer must be enabled through the Watchdog
enable bit (WDEN) in the initialization register. The WDEN bit

Figure 20. Watchdog Service Register (WDSVR)

Bit 7  Bit 6  Bit 5  Bit 4                                                                       Bit 3  Bit 2  Bit 1  Bit 0

   0      0      0      1                                                                           1      0      1      1

7. Hardware Bit-Coder                                                                            pattern bits to be transmitted from each register. Upon a reset,
                                                                                                 BPSEL is initially 0 disabling the HBC from transmitting pattern
The Hardware Bit-Coder is a dedicated hardware bit-encoding                                      bits from either register.
peripheral block, Hardware Bit-Coder (HBC), for IR/RF data
transmission (see Figure 21.) The HBC is completely software                                     The Data (DAT0) register is used to store up to 8 bits of data to
programmable and can be configured to emulate various bit-                                       be encoded and transmitted by the HBC. This data is shifted, bit
encoding formats. The software developer has the freedom to                                      by bit, MSB to LSB into a 1-bit decision register. If the active bit
encode each bit of data into a desired pattern and output the                                    shifted into the decision register is 1, the pattern in the HPAT-
encoded data at the desired frequency through either the G2 or                                   TERN register is shifted out of the output port. Similarly, if the
G5 output (TX) ports.                                                                            active bit is 0 the pattern in the LPATTERN register is shifted
                                                                                                 out.
The HBC contains six 8-bit memory-mapped configuration reg-
isters PSCALE, HPATTERN, LPATTERN, BPSEL, HBCNTRL,                                               The HBC control (HBCNTRL) register is used to configure and
and DAT0. The registers are used to select the transmission fre-                                 control the data transmission. HBCNTRL is divided in 5 different
quency, store the data bit-encoding patterns, configure the data                                 controlling signal FRAME[2:0], IOSEL, TXBUSY, START /
bit-pattern/frame lengths, and control the data transmission                                     STOP, and OCFLAG (see Figure 23.)
flow.
                                                                                                 FRAME[2:0] selects the number of bits of DAT0 to encode and
To select the IR/RF transmission frequency, an 8-bit divide con-                                 transmit. The HBC allows from 2 (0x1) to 8 (0x7) DAT0 bits to be
stant must be written into the IR/RF Pre-scalar (PSCALE) regis-                                  encoded and transmitted. Upon a reset, FRAME is initialized to
ter. The IR/RF transmission frequency generator divides the                                      zero disabling the DAT0's decision register transmitting no data.
1MHz instruction clock down by 4 and the PSCALE register is
used to select the desired IR/RF frequency shift. Together, the                                  The IOSEL signal selects the transmission to output (TX)
transmission frequency range can be configured between                                           through either port G2 or G5. If IOSEL is 1, G5 is selected as
976Hz (PSCALE = 0xFF) and 125kHz (PSCALE = 0x01). Upon                                           the output port otherwise G2 is selected.
a reset, the PSCALE register is initialized to zero disabling the
IR/RF transmission frequency generator. However, once the                                        The TXBUSY signal is read only and is used to inform software
PSCALE register is programmed, the desired IR/RF frequency                                       that a transmission is in progress. TXBUSY goes high when the
is maintained as long as the device is powered.                                                  encoded data begins to shift out of the output port and will
                                                                                                 remains high during each consecutive DAT0 frame bit transmis-
Once the transmission frequency is selected, the data bit-                                       sion (see Figure 25). The HBC will clear the TXBUSY signal
encoding patterns must be stored in the appropriate registers.                                   when the last DAT0 encoded bit of the frame is transmitted and
The HBC contains two 8-bit bit-encoding pattern registers,                                       the STOP signal is 0.
High-pattern (HPATTERN) and Low-pattern (LPATTERN). The
encoding pattern stored in the HPATTERN register is transmit-                                    The START / STOP signal controls the encoding and transmis-
ted when the data bit value to be encoded is a 1. Similarly, the                                 sion process for each data frame. When software sets the
pattern stored in the LPATTERN register is transmitted when the                                  START / STOP bit the DAT0 frame transmission process begins.
data bit value to be encoded is a 0. The HBC transmits each                                      The START signal will remain high until the beginning of the last
encoded pattern MSB first.                                                                       encoded DAT0 frame bit transmission. The HBC then clears the
                                                                                                 START / STOP bit allowing software to elect to either continue
The number of bits transmitted from the HPATTERN and LPAT-                                       with a new DAT0 frame transmission or stop the transmission all
TERN registers is software programmable through the Bit                                          together (see Figure 25). If TXBUSY is 0 when the START sig-
Period Configuration (BPSEL) register (see Figure 22). During                                    nal is enabled, a synchronization period occurs before any data
the transmission of HPATTERN, the number of bits transmitted                                     is transmitted lasting the amount of time to transmit a 0 encoded
is configured by BPH[2:0] (BPSEL[2:0]) while BPL[2:0]                                            bit (see Figure 24).
(BPSEL[5:3]) configures the number of transmitted bits for the
LPATTERN. The HBC allows from 2 (0x1) to 8 (0x7) encoding

                                                                                             18                       www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
The OCFLAG signal is read only and goes high when the last                                          LD PSCALE, #03H         ; (1MHz ?? 4) ?? 4 = 62.5KHz                       ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
encoded bit of the DAT0 frame is transmitting. The OCFLAG sig-                                      LD BPSEL, #012H         ; BPH = 2, BPL = 2 (3 bits each)
nal is used to inform software that the DAT0 frame transmission                                     LD HPATTERN, #0C0H      ; HPATTERN = 0xC0
operation is completing (see Figure 25). If multiple DAT0 frames                                    LD LPATTERN, #090H      ; LPATTERN = 0x90
are to be transmitted consecutively, software should poll the                                       LD DAT0, #052H          ; DAT0 = 0x52
OCFLAG signal for a 1. Once OCFLAG is 1, DAT0 must be
reload and the START / STOP bit must be restored to 1 in order                                      Once the basic registers are initialized, the HBC can be started.
to begin the new frame transmission without interruptions (the                                      (At the same time, software must set the number of data bits per
synchronization period). Since OCFLAG remains high during                                           data frame and select the desired output port.)
the entire last encoded DAT0 frame bit transmission, software
should wait for the HBC to clear the OCFLAG signal before poll-                                     LD HBCNTRL, #27H        ; START / STOP = 1,
ing for the new OCFLAG high pulse. If new data is not reloaded                                                              FRAME = 7, IOSEL = 0
into DAT0 and the START signal (STOP is active) is not set
before the OCFLAG is 0, the transmission process will end                                           After the HBC has started, software must then poll the OCFLAG
(TXBUSY is cleared) and a new process will begin starting with                                      for a high pulse and restore the DAT0 register and the START
the synchronization period.                                                                         signal to continue with the next data transmission.

Figure 24 and Figure 25 shows how the HBC performs its data                                         LOOP_HI:                      ; Wait for OCFLAG = 1
encoding. In the example, two frames are encoded and trans-                                            IFBIT OCFLAG, HBCNTRL
mitted consecutively with the following bit encoding format spec-                                      JP NXT_FRAME
ification:                                                                                             JP LOOP_HI

1. Transmission frequency = 62.5KHz                                                                 NXT_FRAME:                    ; DAT0 = 0x92
                                                                                                       LD DAT0, #092H             ; START / STOP = 1
2. Data to be encoded = 0x52, 0x92 (all 8-bits)                                                        SBIT START, HBCNTRL

3. Each bit should be encoded as a 3-bit binary value,                                              If software is to proceed with another data transmission, the
    `1' = 110b and `0' = 100b                                                                       OCFLAG must be zero before polling for the next OCFLAG high
                                                                                                    pulse. However, since the specification in the example requires
4. Transmission output port : G2                                                                    no other data transmission software can proceed as desired.

To perform the data transmission, software must first initialize                                    LOOP_LO:
the PSCALE, BPSEL, HPATTERN, LPATTERN, and DAT0
registers with the appropriate values.                                                              IFBIT OCFLAG, HBCNTRL         ; Wait for OCFLAG = 0
                                                                                                    JP LOOP_LO
                                                                                                    Etc.                          ; Program proceeds
                                                                                                                                  as desired

Figure 21. Hardware Bit-coder (HBC) Block Diagram

                       IR/RF
                      CLOCK

                                   RFCLK

                                   StopShift                                                     HPATTERN       b7          A

                                                                                                                               Y                        G2

                                                                                                                            B

  CPU       Fixed     PSCALE
CLOCK  Clock Divider
                         8
             by 4                  RFCLK
                         [PSCALE]
                                   StopShift                                                     LPATTERN       b7                                                       G5

                                                                                                                                      IOSEL
                                                                                                                                  HBCNTRL[6]

                                       Down                                                                   ShiftCLK
                                      Counter
                                                                                                           DAT0 b7

                                                                                                    NoShift OCFLAG

                                      3                                                              3                                 Sync
                                                                                                                                     LOGIC
                                                                   Y                                FRAME[2:0]    OCFLAG
                                                                                                    [HBCNTRL]   HBCNTRL[7]  START/STOP
                                                                                                                            HBCNTRL[5]
                                      A                                                          B
                                                                                                                                               TXBUSY
                                                                                                                                            HBCNTRL[4]

                                   3                               3

                                   BPH[2:0]                           BPL[2:0]
                                   [BPSEL]                            [BPSEL]

                                                                                             19                                                         www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Figure 22. Bit Period Configuration (BPSEL) Register                                                                                                                                      ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

Bit 7       Bit 6       Bit 5          Bit 4                                                     Bit 3       Bit 2          Bit 1     Bit 0
                                                                                                              Bit 2                   Bit 0
   0           0                      BPL[2:0]                                                                             BPH[2:0]

Figure 23. HBC Control (HBCNTRL) Register                                                                                    Bit 1

Bit 7      Bit 6           Bit 5           Bit 4                                                Bit 3                    FRAME[2:0]

OCFLAG      IOSEL       START / STOP       TXBUSY                                                   0

Figure 24. HBC signals for one byte message in PWM format

  Condition:
  BPSEL = 0x12 [ "1", " 0 " = 3 * IR/RF Clocks]
  DAT0 = 0x52
  No. bit to encode = 8 (HBCNTRL = XXXX0111b)

TXBUSY

START/STOP

ShiftCLK

OCFLAG             "0"  "0"           "1"               "0"                                      "1"    "0"          "0"  "1"         "0"

   Bit 7
  DAT0

G2/G5
Output

  IR/RF
CLOCK

Figure 25. Sending series of encoded messages

         Conditions:                                                                             Software must set the START bit while OCFLAG is set in
         BPSEL = 0x12 [ "1", " 0 " = 3 * IR/RF Clocks]                                           order to send another message without introducing a delay.
         DAT0 = 0x52 , 0x92
         No. bit to encode = 8 (HBCNTRL = XXXX0111b)                                                                                                                  STOP bit clear,
                                                                                                                                                                      transmission ends.
        TXBUSY

START/STOP

         ShiftCLK

OCFLAG      "0" "0" "1" "0" "1" "0" "0" "1" "0" "1" "0" "0" "1" "0" "0" "1" "0"

   Bit 7
  DAT0

G2/G5
Output
  IR/RF
CLOCK

                                                                                             20                                       www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
8. Multi-Input Wakeup/Interrupt Block                                                            6. Set the WKEN bits associated with the pins to be used, thus          ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                                                                 enabling those pins for the Wakeup/Interrupt function.

The Multi-Input Wakeup (MIW)/Interrupt contains three                                            - LD WKEN, #10H  ; Enabling G4
memory-mapped registers associated with this circuit: WKEDG
(Wakeup Edge), WKEN (Wakeup Enable), and WKPND                                                   Once the Multi-Input Wakeup/Interrupt function has been con-
(Wakeup Pending). Each register has 8-bits with each bit                                         figured, a transition sensed on any of the I/O pins will set the
corresponding to an input pins as shown in Figure 27. All three                                  corresponding bit in the WKPND register. The WKPND bits,
registers are initialized to zero upon reset.                                                    where the corresponding enable (WKEN) bits are set, will bring
                                                                                                 the device out of the HALT mode and can also trigger an inter-
The WKEDG register establishes the edge sensitivity for each                                     rupt if interrupts are enabled. The interrupt service routine can
of the wake-up input pin: either positive going-edge (0) or                                      read the WKPND register to determine which pin sensed the
negative-going edge (1).                                                                         interrupt.

The WKEN register enables (1) or disables (0) each of the port                                   The interrupt service routine or other software should clear the
pins for the Wakeup/Interrupt function. The wakeup I/Os used                                     pending bit. The device will not enter HALT mode as long as a
for the Wakeup/Interrupt function must also be configured as an                                  WKPND pending bit is pending and enabled. The user has the
input pin in its associated port configuration register. However,                                responsibility of clearing the pending flags before attempting to
an interrupt of the core will not occur unless interrupts are                                    enter the HALT mode.
enabled for the block via bit 7 of the T0CNTRL register (see Fig-
ure 19) and the G (global interrupt enable) bit of the SR is set.                                Upon reset, the WKEDG register is configured to select posi-
                                                                                                 tive-going edge sensitivity for all wakeup inputs. If the user
The WKPND register contains the pending flags corresponding                                      wishes to change the edge sensitivity of a port pin, use the fol-
to each of the port pins (1 for wakeup/interrupt pending, 0 for                                  lowing procedure to avoid false triggering of a Wakeup/Interrupt
wakeup/interrupt not pending). If an I/O is not selected to                                      condition.
become a wakeup input, the pending flag will not be generated.
                                                                                                 1. Clear the WKEN bit associated with the pin to disable that
To use the Multi-Input Wakeup/Interrupt circuit, perform the                                         pin.
steps listed below making sure the MIW edge is selected before
enabling the I/O to be used as a wakeup input thus preventing                                    2. Clear the WKPND bit associated with the pin.
false pending flag generation. This same procedure should be
used following any type of reset because the wakeup inputs are                                   3. Write the WKEDG register to select the new type of edge
left floating after resets resulting in unknown data on the port                                     sensitivity for the pin.
inputs.
                                                                                                 4. Set the WKEN bit associated with the pin to re-enable it.

1. Clear the WKEN register.                                                                      PORTG provides the user with three fully selectable, edge sen-
    - CLR WKEN                                                                                   sitive interrupts that are all vectored into the same service sub-
                                                                                                 routine. The interrupt from PORTG shares logic with the wakeup
2. Clear the WKPND register to cancel any pending bits.                                          circuitry. The WKEN register allows interrupts from PORTG to
    - CLR WKPND                                                                                  be individually enabled or disabled. The WKEDG register speci-
                                                                                                 fies the trigger condition to be either a positive or a negative
3. If necessary, write to the port configuration register to select                              edge. The WKPND register latches in the pending trigger condi-
                                                                                                 tions.
the desired port pins to be configured as inputs.

- RBIT 4, PORTGC             ; G4

4. If necessary, write to the port data register to select the                                   Since PORTG is also used for exiting the device from the HALT
                                                                                                 mode, the user can elect to exit the HALT mode either with or
desired port pins input state.                                                                   without the interrupt enabled. If the user elects to disable the
                                                                                                 interrupt, then the device restarts execution from the point at
- SBIT 4, PORTGD             ; Pull-up                                                           which it was stopped (first instruction cycle of the instruction fol-
                                                                                                 lowing HALT mode entrance instruction). In the other case, the
5. Write the WKEDG register to select the desired type of edge                                   device finishes the instruction that was being executed when
    sensitivity for each of the pins used.                                                       the part was stopped and then branches to the interrupt service
    - LD WKEDG, #0FFH ; All negative-going edges                                                 routine. The device then reverts to normal operation.

Figure 26. Multi-input Wakeup (MIW) Register bit assignments

                                                       WKEDG, WKEN, WKPND

Bit 7  Bit 6                                    Bit 5  Bit 4                                     Bit 3  Bit 2     Bit 1                           Bit 0

9 G7   9 G6                                       G5     G4                                        G3     G2        G1                              G0

9. Available only on the 14-pin package option

                                                                                             21                                                   www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Figure 27. Multi-input Wakeup (MIW) Block Diagram                                                                                                                        ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                                                               Data Bus

                                                  7             0

                                                     WKEN[7:0]                                   0

          G0                                                                                                           WKOUT

                                                                                                                       EDGEI

          G7                                                                          7                  WKINTEN 10
                WKEDG[0:7]
                                                                          WKPND[0:7]

10. WKINTEN: Bit 7 of T0CNTRL                                                                    9.1 I/O registers

9. I/O Port                                                                                      The I/O pins (G0-G7) have three memory-mapped port regis-
                                                                                                 ters associated with the I/O circuitry: a port configuration regis-
The eight I/O pins (six on 8-pin package option) are bi-                                         ter (PORTGC), a port data register (PORTGD), and a port input
directional (see Figure 28). The bi-directional I/O pins can be                                  register (PORTGP). PORTGC is used to configure the pins as
individually configured by software to operate as high-                                          inputs or outputs. A pin may be configured as an input by writing
impedance inputs, as inputs with weak pull-up, or as push-pull                                   a 0 or as an output by writing a 1 to its corresponding PORTGC
outputs. The operating state is determined by the contents of                                    bit. If a pin is configured as an output, its PORTGD bit repre-
the corresponding bits in the data and configuration registers.                                  sents the state of the pin (1 = logic high, 0 = logic low). If the pin
Each bi-directional I/O pin can be used for general purpose I/O,                                 is configured as an input, its PORTGD bit selects whether the
or in some cases, for a specific alternate function determined by                                pin is a weak pull-up or a high-impedance input. Table 13 pro-
the on-chip hardware.                                                                            vides details of the port configuration options. The port configu-
                                                                                                 ration and data registers can both be read from or written to.
Figure 28. PORTGD Logic Diagram                                                                  Reading PORTGP returns the value of the port pins regardless
                                                                                                 of how the pins are configured. Since this device supports MIW,
     GXPULLEN                                                                                    PORTG inputs have Schmitt triggers.

      GXBUFEN

GXOUT                                                              GX

GXIN

Figure 29. I/O Register bit assignments

                                                            PORTGC, PORTGD, PORTGD

Bit 7         Bit 6                                  Bit 5         Bit 4                                 Bit 3  Bit 2  Bit 1  Bit 0

11G7          11G6                                     G5            G4                                  12G3     G2     G1     G0

11. Available only on the 14-pin package option
12. G3 after reset is an input with weak pull-up

Table 13. I/O configuration options

Configuration Bit                                    Data Bit                            Port Pin Configuration

       0                                             0             High-impedence input (TRI-STATE input)
                                                                   Input with pull-up (weak one input)
       0                                             1             Push-pull zero output
                                                                   Push-pull one output
       1                                             0

       1                                             1

                                                                                             22                               www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
10. In-circuit Programming Specification                                                                                                                              ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

The ACEx microcontroller supports in-circuit programming of                                      SHIFT_OUT pin. It is recommended that the external program-
the internal data EEPROM, code EEPROM, and the initializa-                                       mer samples this signal t ACCESS (500 ns) after the rising edge
tion registers.                                                                                  of the CLOCK signal. The serial response word, sent immedi-
                                                                                                 ately after entering programming mode, contains indeterminate
In order to enter into program mode a 10-bit opcode (0x34B)                                      data.
must be shifted into the ACE1502 while the device is executing
the internal power on reset (TRESET). The shifting protocol fol-                                 After 32 bits have been shifted into the device, the external pro-
lows the same timing rules as the programming protocol defined                                   grammer must set the LOAD signal to 0V, and then apply two
in Figure 30.                                                                                    clock pulses as shown in Figure 30 to complete program cycle.

The opcode is shifted into the ACE1502 serially, MSB first, with                                 The SHIFT_OUT pin acts as the handshaking signal between
the data being valid by the rising edge of the clock. Once the                                   the device and programming hardware once the LOAD signal is
pattern is shifted into the device, the current 10-bit pattern is                                brought low. The device sets SHIFT_OUT low by the time the
matched to protocol entrance opcode of 0x34B. If the 10-bit                                      programmer has sent the second rising edge during the LOAD
pattern is a match, the device will enable the internal program                                  = 0V phase (if the timing specifications in Figure 30 are
mode flag so that the device will enter into program mode once                                   obeyed).
reset has completed (see Figure 30.)
                                                                                                 The device will set the R bit of the Status register when the write
The opcode must be shifted in after Vcc settles to the nominal                                   operation has completed. The external programmer must wait
level and should end before the power on reset sequence                                          for the SHIFT_OUT pin to go high before bringing the LOAD sig-
(Treset) completes; otherwise, the device will start normal                                      nal to Vcc to initiate a normal command cycle.
execution of the program code. If the external reset is applied by
bringing the reset pin low, once the reset pin is release the                                    10.3.2 Read Sequence
opcode may now be shifted in and again should end before the
reset sequence completes.                                                                        When reading the device after a write, the external programmer
                                                                                                 must set the LOAD signal to Vcc before it sends the new com-
10.3 Programming Protocol                                                                        mand word. Next, the 32-bit serial command word (for during a
                                                                                                 READ) should be shifted into the device using the SHIFT_IN
After placing the device in program, the programming protocol                                    and the CLOCK signals while the data from the previous com-
and commands may be issued.                                                                      mand is serially shifted out on the SHIFT_OUT pin. After the
                                                                                                 Read command has been shifted into the device, the external
An externally controlled four-wire interface consisting of a LOAD                                programmer must, once again, set the LOAD signal to 0V and
control pin (G3), a serial data SHIFT-IN input pin (G4), a serial                                apply two clock pulses as shown in Figure 30 to complete
data SHIFT-OUT output pin (G2), and a CLOCK pin (G1) is                                          READ cycle. Data from the selected memory location, will be
used to access the on-chip memory locations. Communication                                       latched into the lower 8 bits of the command word shortly after
between the ACEx microcontroller and the external programmer                                     the second rising edge of the CLOCK signal.
is made through a 32-bit command and response word
described in Table 14. Be sure to either float or tie G5 to Vcc for                              Writing a series of bytes to the device is achieved by sending a
proper programming functionality.                                                                series of Write command words while observing the devices
                                                                                                 handshaking requirements.
The serial data timing for the four-wire interface is shown in Fig-
ure 31 and the programming protocol is shown in Figure 30.                                       Reading a series of bytes from the device is achieved by send-
                                                                                                 ing a series of Read command words with the desired
10.3.1 Write Sequence                                                                            addresses in sequence and reading the following response
                                                                                                 words to verify the correct address and data contents.
The external programmer brings the ACEx microcontroller into
programming then needs to set the LOAD pin to Vcc before                                         The addresses of the data EEPROM and code EEPROM
shifting in the 32-bit serial command word using the SHIFT_IN                                    locations are the same as those used in normal operation.
and CLOCK signals. By definition, bit 31 of the command word
is shifted in first. At the same time, the ACEx microcontroller                                  Powering down the device will cause the part to exit program-
shifts out the 32-bit serial response to the last command on the                                 ming mode.

Table 14 32-Bit Command and Response Word

Bit Number  Input Command Word                                                                      Output Response Word

bits 31-30  Must be set to 0                                                                     X
bit 29
            Set to 1 to read/write data EEPROM, or the initialization X
bit 28      registers, otherwise 0
bits 27-25
bit 24      Set to 1 to read/write code EEPROM, otherwise 0                                      X
bits 23-19
bits 18 -8  Must be set to 0                                                                     X
bits 7-0
            Set to 1 to read, 0 to write                                                         X

            Must be set to 0                                                                     X

            Address of the byte to be read or written                                            Same as Input command word

            Data to be programmed or zero if data is to be read                                  Programmed data or data read at specified address

                                                                                             23                              www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Figure 30. Programming Protocol13                                                                                                                                                  ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                    A

VCC

                       Treset

RESET                                                                                                                                                       A tload3 tload4

                                                                                                               tload1 tload2                        tready

LOAD (G3)                                                        32 clock pulses                    bit 0
CLOCK (G1)
                                                                                                    _
SHIFT_IN (G4) 1 1 0 1 0 0 1 0 1 1                        bit 31  bit 30                                                                                            bit 31
                                                                                                       BOR
                       10-bit Opcode = 0x34B                                                                                        BUSY low by             READY
                                                                                                    +                              2nd clock pulse
SHIFT_OUT (G2)                                                                                      _
(in write mode)                                                                                                                              BUSY
                                                                                                      LBD
SHIFT_OUT (G2)
  (in read mode)                                                                                    +

                                                         A: start of programming cycle

13. During in-circuit programming, G5 must be either not connected or driven high.

Figure 31. Serial Data Timing

                                              tHI           tLO

CLOCK (G1)

                       tDIS                        tDIH

SHIFT_IN (G4)                     Valid
                                    tDOS
                                                         tDOH

SHIFT_OUT (G2)                                   Valid
                                  tACCESS

11. Brown-out/Low Battery Detect Circuit

The Brown-out Reset (BOR) and Low Battery Detect (LBD)
circuits on the ACEx microcontroller have been designed to
offer two types of voltage reference comparators. The sections
below will describe the functionality of both circuits.

Figure 32. BOR/LBD Block Diagram

                                                                    +1.8V
                                                                     Vref

                                                                                                                                   to RESET logic

                  Vcc                              0

                  G4                               1S

                       Adjust Reference Voltage

                  7            6                   5     4       3                               2  1                           0    LBD
                                                                                                                              LBD  Control
                  BL[4] BL[3] BL[2] BL[1] BL[0] VSEL                                                X                              Register

                                                                                             24                                                             www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
11.1 Brown-out Reset                                                                             Vcc does not fall below ~1.5V. The Power-on Reset circuit works                      ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 best when Vcc starts from zero and rises sharply. In applica-
The Brown-out Reset (BOR) function is used to hold the device                                    tions where Vcc is not constant, the BOR will give added device
in reset when Vcc drops below a fixed threshold (1.83V.) While                                   stability.
in reset, the device is held in its initial condition until Vcc rises
above the threshold value. Shortly after Vcc rises above the                                     The BOR circuit must be enabled through the BOR enable bit
threshold value, an internal reset sequence is started. After the                                (BOREN) in the initialization register. The BOREN bit can only
reset sequence, the core fetches the first instruction and starts                                be set while the device is in programming mode. Once set, the
normal operation.                                                                                BOR will always be powered-up enabled. Software cannot dis-
                                                                                                 able the BOR. The BOR can only be disabled in programming
The BOR should be used in situations when Vcc rises and falls                                    mode by resetting the BOREN bit as long as the global write
slowly and in situations when Vcc does not fall to zero before                                   protect (WDIS) feature is not enabled.
rising back to operating range. The Brown-out Reset can be
thought of as a supplement function to the Power-on Reset if

Figure 33. BOR and POR Circuit Relationship Diagram

Vcc (Pin 8)

             BOR
             output

                      VCC            VCC                                                                                           Reset    Global Reset
                      1.75                                                                                                         circuit  to Logic
                                            Time                                                                          A output
                           0            BOR Output
                      VCC

                           0

             POR                                                                                              External    B
                                                                                                                  Reset
             output                     VCC                                                                          Pin     The Reset circuit will trigger
                      5.0V                                                                                                   when inputs A or B transition
                                                                                                        (14-Pin Only)        from High to Low. At that time
             (Pin 7)         1.8V                                                                                            the Global Reset signal will go
                                                                                                 POR Output                  high which will reset all
                                  0                                                              Pulse                       controller logic. The Global
                            VCC                                                                                              Reset will go high and stay high
                       POR                                                                                                   for around 1us.
                      output 0

11.2 Low Battery Detect                                                                          resetting the LBDEN bit as long as the global write protect
                                                                                                 (WDIS) feature is not enabled.
The Low Battery Detect (LBD) circuit allows software to monitor
the Vcc level at the lower voltage ranges. LBD has a 32-level                                    The LBD circuit is disabled during HALT/IDLE mode. After exit-
software programmable voltage reference threshold that can be                                    ing HALT/IDLE, software must wait at lease 10 s before read-
changed on the fly. Once Vcc falls below the selected threshold,                                 ing the LBD bit to ensure that the internal circuit has stabilized.
the LBD flag in the LBD control register is set. The LBD flag will
hold its value until Vcc rises above the threshold. (See Table 15)

The LBD bit is read only. If LBD is 0, it indicates that the Vcc
level is higher than the selected threshold. If LBD is 1, it indi-
cates that the Vcc level is below the selected threshold. The
threshold level can be adjusted up to eight levels using the three
trim bits (BL[4:0]) of the LBD control register. The LBD flag does
not cause any hardware actions or an interruption of the proces-
sor. It is for software monitoring only.

The VSEL bit of the LBD control register can be used to select
an external voltage source rather than Vcc. If VSEL is 1, the
voltage source for the LBD comparator will be an input voltage
provided through G4. If VSEL is 0, the voltage source will be
Vcc.

The LBD circuit must be enabled through the LBD enable bit
(LBDEN) in the initialization register. The LBDEN bit can only be
set while the device is in programming mode. Once set, the LBD
will always be powered-up enabled. Software cannot disable the
LBD. The LBD can only be disabled in programming mode by

                                                                                             25                                                                www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Table 15. LBD Control Register Definition                                                                                                    ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

Bit 7  Bit 6         Bit 5    Bit 4                                                              Bit 3  Bit 2  Bit 1  Bit 0

                     BL[4:0]                                                                     BL[0]  VSEL      X    LBD

Level  BL[4]  BL[3]  BL[2]                 BL[1]                                                    0   Voltage Reference Range (Typical)
                                                                                                    1
   1      0      0      0                     0                                                     0                             1.81V
   2      0      0      0                     0                                                     1                             1.87V
   3      0      0      0                     1                                                     0                             1.93V
   4      0      0      0                     1                                                     1                             1.99V
   5      0      0      1                     0                                                     0                             2.05V
   6      0      0      1                     0                                                     1                             2.11V
   7      0      0      1                     1                                                     0                             2.17V
   8      0      0      1                     1                                                     1                             2.23V
   9      0      1      0                     0                                                     0                             2.29V
   10     0      1      0                     0                                                     1                             2.36V
   11     0      1      0                     1                                                     0                             2.42V
   12     0      1      0                     1                                                     1                             2.48V
   13     0      1      1                     0                                                     0                             2.54V
   14     0      1      1                     0                                                     1                             2.60V
   15     0      1      1                     1                                                     0                             2.66V
   16     0      1      1                     1                                                     1                             2.72V
   17     1      0      0                     0                                                     0                             2.77V
   18     1      0      0                     0                                                     1                             2.84V
   19     1      0      0                     1                                                     0                             2.91V
   20     1      0      0                     1                                                     1                             2.97V
   21     1      0      1                     0                                                     0                             3.03V
   22     1      0      1                     0                                                     1                             3.09V
   23     1      0      1                     1                                                     0                             3.16V
   24     1      0      1                     1                                                     1                             3.22V
   25     1      1      0                     0                                                     0                             3.28V
   26     1      1      0                     0                                                     1                             3.34V
   27     1      1      0                     1                                                     0                             3.41V
   28     1      1      0                     1                                                     1                             3.47V
   29     1      1      1                     0                                                     0                             3.54V
   30     1      1      1                     0                                                     1                             3.60V
   31     1      1      1                     1                                                                                   3.67V
   32     1      1      1                     1                                                                                   3.73V

                                                                                             26                       www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
12. RESET block                                                                                  Power-on Reset (as described in Section 13)                         ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 Brown-out Reset (as described in Section 11.1)
When a RESET sequence is initiated, all I/O registers will be                                     Watchdog Reset (as described in Section 6)
reset setting all I/Os to high-impedence inputs. The system                                       External Reset 18 (as described in Section 13)
clock is restarted after the required clock start-up delay. A reset
is generated by any one of the following four conditions:                                        18. Available only on the 14-pin package option

13. Power-On Reset                                                                               to 0V before the next power-up sequence the external reset
                                                                                                 option should be used.
The Power-On Reset (POR) circuit is guaranteed to work if the                                    The external reset provides a way to properly reset the ACEx
rate of rise of Vcc is no slower than 10ms/1volt. The POR circuit                                microcontroller if POR cannot be used in the application. The
was designed to respond to fast low to high transitions between                                  external reset pin contains an internal pull-up resistor. There-
0V and Vcc. The circuit will not work if Vcc does not drop to 0V                                 fore, to reset the device the reset pin should be held low for at
before the next power-up sequence. In applications where 1)                                      least 2ms so that the internal clock has enough time to stabilize.
the Vcc rise is slower than 10ms/1 volt or 2) Vcc does not drop
                                                                                                 Figure 34. Crystal
14. CLOCK

The ACEx microcontroller has an on-board oscillator trimmed to                                                  CKI        CKO
a frequency of 2MHz who is divided down by two yielding a
1MHz frequency. (See AC Electrical Characteristics) Upon
power-up, the on-chip oscillator runs continuously unless enter-
ing HALT mode or using an external clock source.

If required, an external oscillator circuit may be used depending                                                      R2
on the states of the CMODE bits of the initialization register.
(See Table 16) When the device is driven using an external                                                                      R1
clock, the clock input to the device (G1/CKI) can range between
DC to 4MHz. For external crystal configuration, the output clock
(CKO) is on the G0 pin. (See Figure 34.) If the device is config-
ured for an external square clock, it will not be divided.

Table 16. CMODEx Bit Definition

CMODE [1] CMODE [0]         Clock Type                                                                      C2         C1

0          0             Internal 1 MHz clock
                        External square clock
0          1          External crystal/resonator

1          0                    Reserved

1          1

15. HALT Mode                                                                                    The device can exit HALT mode only by the MIW circuit. There-
                                                                                                 fore, prior to entering HALT mode, software must configure the
The HALT mode is a power saving feature that almost com-                                         MIW circuit accordingly. (See Section 8) After a wakeup from
pletely shuts down the device for current conservation. The                                      HALT, a 1ms start-up delay is initiated to allow the internal oscil-
device is placed into HALT mode by setting the HALT enable bit                                   lator to stabilize before normal execution resumes. Immediately
(EHALT) of the HALT register through software using only the                                     after exiting HALT, software must clear the Power Mode Clear
"LD M, #" instruction. EHALT is a write only bit and is automati-                                (PMC) register by only using the "LD M, #" instruction. (See Fig-
cally cleared upon exiting HALT. When entering HALT, the inter-                                  ure 36)
nal oscillator and all the on-chip systems including the LBD and
the BOR circuits are shut down.

Figure 35. HALT Register Definition

  Bit 7      Bit 6      Bit 5          Bit 4                                                       Bit 3      Bit 2        Bit 1    Bit 0

Undefined  undefined  undefined      undefined                                                   undefined  undefined      EIDLE    EHALT

                                                                                             27                                     www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Figure 36. Recommended HALT Flow                                                                                        ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                           Normal Mode

Multi-Input  LD HALT, #01H
   Wakeup
                 HALT Mode

             LD PMC, #00H
              Resume Normal

                     Mode

16. IDLE Mode

In addition to the HALT mode power saving feature, the device
also supports an IDLE mode operation. The device is placed
into IDLE mode by setting the IDLE enable bit (EIDLE) of the
HALT register through software using only the "LD M, #" instruc-
tion. EIDLE is a write only bit and is automatically cleared upon
exiting IDLE. The IDLE mode operation is similar to HALT
except the internal oscillator, the Watchdog, and the Timer 0
remain active while the other on-chip systems including the LBD
and the BOR circuits are shut down.

The device automatically wakes from IDLE mode by the Timer 0
overflow every 8192 cycles (see Section 5). Before entering
IDLE mode, software must clear the WKEN register to disable
the MIW block. Once a wake from IDLE mode is triggered, the
core will begin normal operation by the next clock cycle. Imme-
diately after exiting IDLE mode, software must clear the Power
Mode Clear (PMC) register by using only the "LD M, #" instruc-
tion. (See Figure 37.)

Figure 37. Recommended IDLE Flow

             Normal Mode

    Timer0   LD HALT, #02H
Underflow
                  IDLE Mode
Multi-Input
  Wakeup      LD PMC, #00H
               Resume Normal

                      Mode

                                                                                             28  www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Ordering Information                                                                                                                                               ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

              Max. # Program  Operating

              Core Type I/Os Memory Size Voltage Range                                                         Package                                       Tape
                                                                                                                         14-pin 8-pin 14-pin &
Part Number   0125 8  1K 2K                       -40 to -40 to                                     8-pin  14-pin 8-pin
                              1.8 3.6V +85C +125C                                               SOIC   SOIC DIP       DIP TSSOP TSSOP Reel

ACE1502EM8    XX      X       X                         X                                           X

ACE1502EM8X   XX      X       X                         X                                           X                             X

ACE1502EM     XX      X       X                         X                                                  X

ACE1502EMX    XX      X       X                         X                                                  X                      X

ACE1502EMT8   XX      X       X                         X                                                                   X

ACE1502EMT8X  XX      X       X                         X                                                                   X     X

ACE1502EMT    XX      X       X                         X                                                                      X

ACE1502EMTX   XX      X       X                         X                                                                      X  X

ACE1502EN     XX      X       X                         X                                                     X

ACE1502EN14   XX      X       X                         X                                                                X

ACE1502VM8    XX      X       X                                                                  X  X

ACE1502VM8X   XX      X       X                                                                  X  X                             X

ACE1502VM     XX      X       X                                                                  X         X

ACE1502VMX    XX      X       X                                                                  X         X                      X

ACE1502VMT8   XX      X       X                                                                  X                          X

ACE1502VMT8X  XX      X       X                                                                  X                          X     X

ACE1502VMT    XX      X       X                                                                  X                             X

ACE1502VMTX   XX      X       X                                                                  X                             X  X

ACE1502VN     XX      X       X                                                                  X            X

ACE1502VN14   XX      X       X                                                                  X                       X

                                                                                             29                                www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Physical Dimensions inches (millimeters) unless otherwise noted)                                                                                                                                                    ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                                                                                                                         0.189 - 0.197
                                                                                                                                                        (4.800 - 5.004)

                                                                                                                                  87 65

                                                                                                                                     0.228 - 0.244
                                                                                                                                    (5.791 - 6.198)

                                                                                                                      12 34

                                                                                                           Lead #1
                                                                                                           IDENT

0.010 - 0.020 x 45    0.150 - 0.157                                                             0.053 - 0.069
(0.254 - 0.508)        (3.810 - 3.988)                                                           (1.346 - 1.753)

                                        8 Max, Typ.                                                           0.014                                                     0.004 - 0.010
                                          All leads                                                           (0.356)                                                    (0.102 - 0.254)

0.0075 - 0.0098           0.004         0.016 - 0.050                                                                     0.050                                                     Seating
(0.190 - 0.249)          (0.102)        (0.406 - 1.270)                                                                  (1.270)                                                     Plane
Typ. All Leads         All lead tips    Typ. All Leads
                                                                                                                           Typ                                           0.014 - 0.020 Typ.
                                                                                                                                                                         (0.356 - 0.508)

                          Molded Small Out-Line Package (M8)
                       Order Number ACE1502EM8/ACE1502VM8

                                    Package Number M08A

                                                                0.373 - 0.400
                                                                (9.474 - 10.16)

                                           0.092 DIA                       0.090                 0.250 - 0.005                    0.032 0.005                            87
                                           (2.337)                        (2.286)                (6.35 0.127)                   (0.813 0.127)
                                      Pin #1 IDENT              8765                                                                                                       1
                                                                                                   0.039                                      RAD                        Option 2
                                                                   +                              (0.991)
                                                                                                                                            Pin #1
                                                                                                                                           IDENT

                                                      Option 1

                                                                1234

                       0.280 MIN                            0.040 Typ.                                                                                                   0.145 - 0.200
                       (7.112)          0.030 MAX (1.016)                                                                                                                (3.683 - 5.080)
                                        (0.762) 20 1
                       0.300 - 0.320
                       (7.62 - 8.128)

                                                                                                           0.130 0.005
                                                                                                           (3.302 0.127)

             95 5                   0.125         0.065                                                0.125 - 0.140          0.020
                                                      (1.651)                                              (3.175 - 3.556)        (0.508)
0.009 - 0.015                           (3.175)
(0.229 - 0.381)                           DIA                                                    90 4                           Min
                                         NOM                                                       Typ

                              +0.040                                                                     0.018 0.003
                       0.325 -0.015                                                                     (0.457 0.076)
                                                                                                 0.100 0.010
                              +1.016                                                             (2.540 0.254)
                       8.255 -0.381

                                        0.045 0.015                                            0.060
                                        (1.143 0.381)                                          (1.524)

                                                                0.050
                                                                (1.270)

                                                         8-Pin DIP (N)
                                      Order Number ACE1502EN/ACE1502VN

                                                 Package Number N08A

                                                                                             30                                                                                              www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Physical Dimensions inches (millimeters) unless otherwise noted)                                                                                                          ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                              0.114 - 0.122
                              (2.90 - 3.10)

                         8                   5

                                                                                                               (4.16) Typ (7.72) Typ

0.246 - 0.256                                    0.169 - 0.177                                   (1.78) Typ
(6.25 - 6.5)                                    (4.30 - 4.50)
                                                                                                 (0.42) Typ
            0.123 - 0.128               4
             (3.13 - 3.30)      Pin #1 IDENT                                                                   (0.65) Typ

                           1                                                                     Land pattern recommendation

         0.0433  Max
          (1.1)

                                                                                                 See detail A                     0.0035 - 0.0079

                                                0.002 - 0.006
                                                (0.05 - 0.15)

         0.0256 (0.65)                          0.0075 - 0.0118                                                            Gage
              Typ.                                (0.19 - 0.30)                                                            plane

                                                                                                 0 -8

                                                                    DETAIL A                                   Seating     0.0075 - 0.0098
                                                                 Typ. Scale: 40X                                plane        (0.19 - 0.25)

                                                                                             0.020 - 0.028
                                                                                             (0.50 - 0.70)

     Notes: Unless otherwise specified
     1. Reference JEDEC registration MO153. Variation AA. Dated 7/93

                                     8-Pin TSSOP
              Order Number ACE1502EMT8/ACE1502VMT8

                            Package Number MT08A

                                5.0 0.1
                                 -A-

                      14                           8

                                                                                                                           (4.16) Typ (7.72) Typ

6.4                                                                4.4 0.1
                                                                      -B-
                                                                                                 (1.78) Typ
                                                                    0.2 C B A
         3.2                                                     All Lead Tips                   (0.42) Typ

                                                                     (0.9)                                     (0.65) Typ

                      1                         7                                                Land pattern recommendation

                                Pin #1 IDENT

1.1 Max                0.1 C                                                                                 See detail A
    TYP          All Lead Tips

-C-                                                                                                                               0.9 - 0.20 TYP

                                                                    0.10 0.05 TYP

         0.65 Typ.

                                             0.19 - 0.30 TYP                                                               Gage
                                                  0.13 M A B s C s
                                                                                                 0-8                     plane  0.25

Dimensions are in millimeters

                                                                                                 0.6 0.1      Seating        DETAIL A
                                                                                                                plane      Typ. Scale: 40X

Notes: Unless otherwise specified
1. Reference JEDED registration MO153. Variation AB.

    Ref. Note 6, dated 7/93

                                     14-Pin TSSOP
                 Order Number ACE1502EMT/ACE1502VMT

                             Package Number MT14A

                                                                                             31                                                    www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
Physical Dimensions inches (millimeters) unless otherwise noted)                                                                                                                                    ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications

                                                                                                                                                    0.335 - 0.344
                                                                                                                                                   (8.509 - 8.788)
                                                                                                                                     14 13 12 11 10 9 8

                                                               0.228 - 0.244                                                                                        0.010 Max.
                                                               (5.791 - 6.198)                                                                                      (0.254)

                                                                                 123 4567

                                                                        Lead #1                                                                                     30 Typ.
                                                                        IDENT

0.010 - 0.020 x 45  0.150 - 0.157                     0.053 - 0.069
(0.254 - 0.508)     (3.810 - 3.988)                   (1.346 - 1.753)

                                     8 Max, Typ.                                                                                                                    0.004 - 0.010
                                       All leads                                                                                                                    (0.102 - 0.254)

                        0.04                          Seating                                                                                                       0.014 - 0.020 Typ.
                      (0.102)                          Plane                                                                                                        (0.356 - 0.508)
                    All lead tips
0.008 - 0.010                        0.016 - 0.050             0.014    0.050
(0.203 - 0.254)                      (0.406 - 1.270)           (0.356)  (1.270)
Typ. all leads                       Typ. All Leads
                                                                          Typ
                                                                                 0.008
                                                                                 (0.203)Typ

                                        Molded Small Out-Line Package (M)
                                     Order Number ACE1502EM/ACE1502EM

                                                Package Number M14A

                                                                14-Pin DIP (N14)                                                                                             www.fairchildsemi.com
                                            Order Number ACE1502EN14/ACE1502VN14

                                                            Package Number N14A

                                                                                             32
ACE1502 Product Family Rev. 1.7
ACEx Development Tools                                                                           Prototype Board Kits: Fairchild offers two solutions for the sim-    ACE1502 Product Family Arithmetic Controller Engine (ACExTM) for Low Power Applications
                                                                                                 plification of the breadboard operation so that ACEx Applica-
General Information:                                                                             tions can be quickly tested.

Fairchild Semiconductor offers different possibilities to evaluate                               1) ACEDEMO can be used for general purpose applications
and emulate software written for ACEx.
                                                                                                 2) ACETXRX is for transmitting / receiving (RF, IR, RS232,
Simulator: Is a Windows program able to load, assemble, and                                          RS485) applications.
debug ACEx programs. It is possible to place as many break-
points as needed, trace the program execution in symbolic for-                                   ACEDEMO has 8 switches, 8 LEDs, RS232 voltage translator,
mat, and program a device with the proper options. The ACEx                                      buzzer, and a lamp with a small breadboard area.
Simulator is available free-of-charge and can be downloaded
from Fairchild's web site at www.fairchildsemi.com/products/                                     Factory Programming:
memory/ace
                                                                                                 Fairchild offers factory pre-programming and serialization (for
                                                                                                 justified quantities) for a small additional cost. Please refer to
                                                                                                 your local distributor for details regarding factory programming.

                                                                                                 Ordering P/Ns

                                                                                                 Emulator Kit and Programming adapters:

                                                                                                 Please refer to your local distributor for details regarding devel-
                                                                                                 opment tools.

ACEx Emulator Kit: Fairchild also offers a low cost real-time in-
circuit emulator kit that includes:

    Emulator board
    Emulator software
    Assembler and Manuals
    Power supply
    DIP14 target cable
    PC cable

The ACEx emulator allows for debugging the program code in a
symbolic format. It is possible to place one breakpoint and
watch various data locations. It also has built-in programming
capability.

Life Support Policy

Fairchild's products are not authorized for use as critical components in life support devices or systems without the express written
approval of the President of Fairchild Semiconductor Corporation. As used herein:

1. Life support devices or systems are devices or systems which,                                 2. A critical component is any component of a life support
   (a) are intended for surgical implant into the body, or (b) support                              device or system whose failure to perform can be reasonably
   or sustain life, and whose failure to perform, when properly                                     expected to cause the failure of the life support device or
   used in accordance with instructions for use provided in the                                     system, or to affect its safety or effectiveness.
   labeling, can be reasonably expected to result in a significant
   injury to the user.

Fairchild Semiconductor   Fairchild Semiconductor                                                Fairchild Semiconductor         Fairchild Semiconductor
Americas                                                                                         Hong Kong                       Japan Ltd.
Customer Response Center  Europe                                                                 8/F, Room 808, Empire Centre    4F, Natsume Bldg.
Tel. 1-888-522-5372                                                                              68 Mody Road, Tsimshatsui East  2-18-6, Yushima, Bunkyo-ku
                                    Fax: +44 (0) 1793-856858                                     Kowloon. Hong Kong              Tokyo, 113-0034 Japan
                                                                                                 Tel; +852-2722-8338             Tel: 81-3-3818-8840
                          Deutsch Tel: +49 (0) 8141-6102-0                                       Fax: +852-2722-8383             Fax: 81-3-3818-8841

                          English   Tel: +44 (0) 1793-856856

                          Franais Tel: +33 (0) 1-6930-3696

                          Italiano  Tel: +39 (0) 2-249111-1

                                                                                             33                                  www.fairchildsemi.com
ACE1502 Product Family Rev. 1.7
This datasheet has been downloaded from:
             www.EEworld.com.cn

                 Free Download
           Daily Updated Database
      100% Free Datasheet Search Site
  100% Free IC Replacement Search Site
     Convenient Electronic Dictionary

               Fast Search System
             www.EEworld.com.cn

                                                 All Datasheets Cannot Be Modified Without Permission
                                                                Copyright Each Manufacturing Company
小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 大学堂 TI培训 Datasheet 电子工程

器件索引   0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved