General Description
GPM8F8009C is a highly integrated microcontroller which integrates a pipelined 1T 8051 CPU, 2K byte XRAM, 256-byte IDM SRAM and 32K-byte program FLASH. It supports up to 26 programmable multi-functional I/Os, Timer0/1, CCP0/1, Timer A/B, UART0/2, one SPI (master/slaver), one I2C (master/slaver), one real time counter, a Capacitive Touch Sensor , one 10-channle SAR ADC with 12-bit resolution for general-purpose application. It operates over a wide range of working voltage, from 2.2V through 5.5V, in different clock sources. It has one mode in power management unit. Moreover, there is one on-chip debug circuit with two pins to facilitate full speed in-system debug.
Features
- CPU
- High speed, high performance 1T 8051
- 100% software compatible with industry standard 8051
- Pipeline RISC architecture enables to execute instructions 10 times faster than standard 8051
- Up to 32MHz clock operation
- Memories
- 2K bytes XRAM
- 256 bytes internal Data Memory (IDM) SRAM
- 32K bytes FLASH with high endurance
- Minimum 100K program/erase cycles
- Minimum 20us program time
- Minimum 2ms page erase time, 10ms macro erase time.
- Minimum 10 years data retention
- 1KB page size
- Flexible AP and ISP memory size
- Protect for FLASH memory access
- Programming read only level for software security
- Clock Management
- Internal oscillator with 32MHz±5% @ 2.2V~5.5V
- Internal oscillator with 32KHz ± 10% @2.2~5.5V
- Crystal input with 32KHz
- Power Management
- A stop mode for power saving
- Interrupt Management
- 19 interrupt sources
- 4 wakeup source
- Up to 2 external interrupt sources
- Up to 16 keyboard interrupt sources
- Reset Management
- Power On Reset (POR)
- Low Voltage Reset (LVR)
- Pad Reset (PAD_RST)
- Watchdog Reset (WDT_RST)
- Software Reset (S/W_RST)
- FLASH Access Error Reset (ADDR_ERR_RST)
- Programmable Watchdog Timer
- A time-base generator
- An event timer
- System supervisor
- I/O Ports
- 26 multifunction bi-direction I/Os
- Each incorporate with pull-up resistor, pull-down resistor, output high, output low , output driving capability and floating input which depending on programmer’s settings on the corresponding registers
- I/O ports with 12mA current source
- I/O ports with 12mA current sink
- 8 I/O ( PORT0 ) with 70mA high sink current.
- Two 16-bit Timer/Counter (Timer 0/1)
- Timer mode with selectable clock source
- 13-bit/ 16-bit up-count timers
- Auto reload 8-bit timers
- Two 8-bit timers
- Externally gated event counters
- Two 16-bit Timer (Timer A/B)
- Timer mode with selectable clock source
- Auto reload 16-bit timers
- Two 16-bit Compare / Capture / PWM Unit(CCP 0/1)
- Timer mode with selectable clock source
- Auto-reload 16-bit timers
- Event capturing
- Pulse width modulation and measurement
- UART0
- One synchronous mode
- Three asynchronous modes
- UART 2
- Full duplex, asynchronous communications
- Single wire half duplex communication.
- Wide range baud rate generator
- Programmable data word length (8 or 9 bits)
- Configurable stop bits (1 or 2 stop bits)
- SPI (master / slaver mode)
- Programmable phase and polarity of master clock
- Programmable master SPI clock frequency
- A/D Converter
- 10-channel 12-bit resolution ADC
- Max conversion rate@125K sps
- Control independent per set
- Programmable A/D conversion data width
- Support 4 sets ADC_VREF voltage selection
- I2C (master / slaver mode)
- Programmable master I2C clock frequency
- Max I2C clock: 400KHz.
- Key Change
- Programmable 16 IOs key change interrupt
- Programmable 16 IOs key change wakeup source.
- DMA
- DMA transfer size is 2K
- DMA path:
Timer B capture register(CTC) to XRAM
- RTC
- Programmable real time counter wakeup condition.
60 seconds / 30 seconds / 1 second / 0.5 seconds
- Capacitive Touch Sensor unit
- Up to 23-channel Capacitive Touch sensor
- CTC Mode, 16-bit Timer B to measure the time duration for CTC_DUTY.
- Built-in Low Voltage Reset
2.3V, 2.6V, 3.0V, 4.0V
- Built-in Low Voltage Detection
2.4V, 2.6V, 2.8V, 3.0V, 3.2V, 3.4V , 4.2V , 4.4V
- On-chip Debug Unit
- C compatible development tools