SPL30A
© Sunplus Technology Co., Ltd. PAGE 2 MAR. 26, 2001
Version: 1.5
FUNCTION DESCRIPTION
1. ROM AREA
SPL30A is a large ROM based micro-controller with 220 dots LCD
driver. The large ROM can be defined as a program ROM, LCD
font and audio data continuously without any limitation. To access
the ROM area, user should program the BANK SELECT register
($07) first, then access the bank #1 or bank #2 by addressing the
higher bank address ($8000 - $FFFF) to fetch the data.
2. STOP CLOCK MODE
SPL30A supports power saving mode for those applications
needing very low standby current. The user simply enables the
wake-up sources to stop the CPU clock by writing the STOP
CLOCK register($09). Thus CPU will go to standby mode and the
RAM and I/O remain in their previous state until awakened. There
are four sources of wake-up in this chip, PORT IOEF wake-up,
TIMER 0 wake-up, 4Hz/8Hz/16Hz/32Hz wake-up and 2Hz/1Hz
wake-up. After the chip is awakened, the internal CPU will go to
the RESET state. The RAM and I/O are not affected by this
wake-up reset.
3. MAP OF MEMORY AND I/Os
*I/O PORT:
─ PORT IOAB $0002
IOCD $0003
IOEF $0004
─ I/O CONFIG $0000
*NMI SOURCE:
─ INT1 (from TIMER 1)
*INT SOURCE
─ INT0 (from TIMER 0)
─ INT1 (from TIMER 1)
─ 2KHz
─ LCDL (1/3, 1/4 duty 256Hz;
1/2 duty 128Hz)
─ 128Hz
─ EXT INT
─ 2Hz
─ I/O CONFIG $001E
H/W registers , I/Os , LCD RAM
$00000
* MEMORY MAP
USER RAM and STACK
$00060
UNUSED
$00100
SUNPLUS TEST PROGRAM
$00200
USER's PROGRAM
DATA AREA
ROM BANK
$00600
ROM BANK #1
$08000
ROM BANK #2
$0FFFF
$10000
$17FFF
ROM BANK #3
$18000
ROM BANK #4
$1FFFF
$24000
$27FFF
UNUSED
$20000
$23FFF
4. TIME-SETTING REGISTER RELATED
The basic time base of CPU wake-up and interrupt can be changed
by writing to TIME-SETTING register. For example, the
programmer can change 2Hz wake-up and interrupt into 1Hz
wake-up and interrupt by writing 80H into $0A. Therefore, this
system will wake-up to service every second. Also, T16Hz (one of
counter‘s clock source and wake-up & interrupt) can be one of 4Hz,
8Hz, 16Hz or 32Hz by setting bit0 and bit1 of TIME-SETTING
register ($0A). At power on state, T16Hz selects 4Hz and T2Hz
selects 2Hz.
5. PWM OUTPUT
Internally, SPL30A has two-set PWMs (one for each channel).
SPL30A uses Pulse Width Modulation that could directly drive
speaker or buzzer without any buffer or AMP circuit.
6. SPEECH AND MELODY
Since SPL30A can provide a large ROM size and wide CPU
operation speed, it is most suitable for speech and melody
synthesis. For speech synthesis, this chip can provide INT for
precise sampling frequency. Users can record or synthesize the
sound and digitize it into the ROM. The sound can be played
back in the sequence of the control functions as designed by the
internal user's program. Several algorithms are suggested to be
used for high fidelity and good compression of sound: PCM, LOG
PCM, DM and ADPCM. For melody synthesis, SPL30A provides
dual tone mode. Once entered into the dual tone mode, users
only need to program the TM0 and TM1 to tone frequency for each
channel, count the envelope of each channel, and the hardware
can toggle the tone wave automatically without using INT to handle
it.
7. LCD CONTROLLER
SPL30A contains a total of 220 segments LCD controller and
drivers. In the power-on state, LCD display is all on state. The
programmer can set the LCD status (bias, duty, normal scan) by
writing to LCD option ($1F), update the LCD content by writing to
LCD registers. After the power-on state, LCD option is defined only
one time and then fill the LCD registers to display the desired
pattern. The LCD driver are designed to fit most LCD's
specifications in SPL30A. It can either be programmed as 1/2 or
1/3 bias. The duty is also programmable from 1/2, 1/3, 1/4 or 1/5
duty.