Sales - Read
Download
Report
Transcript Sales - Read
SMSC KBC1100 Keyboard / System
Management Controller Overview
November 05,2004
KBC1100
South Bridge
176 TQFP
LPC Bus
FIR
COM
Legacy I/O
CIR
GPIO (92)
Enhanced
8051 core
16 bit Timers x4
& WDT
SPI x2
SMSC KBC1100
PS/2 x4
Accurate12MHz
RingOscillator
18x8 KeyScan
PwrON Reset Gen
Shut Down
8MByte Shared
Flash Interface
Host Flash
Recovery
MCU
PWM
FanTach
Debug Port
x6
x3
(Audio DJ) uP or EMA
8/10bit
Sigma Delta
ADCx8
768B Data RAM
2KB Scratch RAM
SMSC SentinelAltert™
System BIOS
+ KBBIOS
8bit
0 ~ 2.5V
SMSC
BudgetBus
Sensor
Interface
DACx3
SMBus x4
x2
Vdd
Trace FIFO
LED
smsc confidential
5
2
GND
Page 2
1
3
4
Battery Pack
KBC1100 Features
3.3V Operation with 5V Tolerant
Buffers
ACPI Compliant
LPC Interface
2 SPI ports
Embedded 8051 Keyboard and
System Controller
512 Bytes Data RAM
2 KBytes Scratch ROM/RAM
Up to 18x8 Keyboard Scan Matrix
(can be mux’d GPIO’s)
4 independent Hardware Driven
PS/2 Ports
Page 3
smsc confidential
8MByte Shared Flash ROM
Interface (SFI)
Host Flash Recovery
• Redirection if Boot Block corrupt
Flash Recovery Mode
• On board ROM routine for Flash
Reprogramming via Serial Port
2 8584-Style SMBus Ctlr’s
4 x 16bit Timers
Battery Backed 1 Week timer
Wake capable
Up to 95 General Purpose I/O
Pins
KBC1100 Features
6 Pulse-Width Modulators
3 Fan Tachometer Inputs
1 Serial Port
Multiple clock source and
Independent Clock Rates
8 Bit Duty Cycle Granularity
16550A-Compatible UART
2 Infrared Com. Controller
Advanced IrCC 2.0
• IrDA V1.2 (4Mbps), HPSIR,
ASKIR, Consumer IR Support
SMSC CIRCC2
• CIR supports popular CIR framing
in HW
Page 4
smsc confidential
2 Temp Sensor Inputs
Single Pin Low Cost Sensor
Integrated Standby Power
Reset Generator
KBC1100 Features
DAC features
Voltage Resolution
3 channels, 8 bit res.
Sink and source 1mA
Loads up to 50pF
0V to 2.5V w/ internal Vref
0V to Vcca w/ ext ref.
9.76mV
Sigma Delta ADC
8 voltage channels
Superb linearity
• Integral and Dynamic NonLinearity = .5 LSB
• Monotonic by design
SentinelAlert!® mode
8 bit or 10 bit channels
Programmable Activation
MUX active channels
• Total conversion time dependant
on the number of active channels
Conversion rate
• 10ms per channel in 10bit mode
• 2.5ms per channel in 8bit mode
Page 5
smsc confidential
8051 Features
4-clock instruction cycle in high-performance 8051
A set of External Memory/Mapped Control Registers provides the
80C51 core with the ability to directly control many functional
blocks of the KBC1100
External 0.5M to 8M Flash ROM Through a Shared Flash Interface
Programmed From Serial Flash Programming Interface, 8051, or
LPC Host
2K Bytes Internal Scratch RAM/ROM
256 Bytes Internal Data RAM
512 Bytes of External Data RAM
512 Byte External Memory Mapped Control Register Area
8042-style Keyboard Controller Host Interface
Twelve Interrupt Sources
Watch Dog Timer (WDT)
32Mhz Programmable Ring Oscillator with Fail Safe Control
Page 6
smsc confidential
8051 functional blocks
Shared Flash Interface (SFI)
8042 Style Keyboard Controller Interface
Extended Interrupts
Interrupt Accelerator
Power Management Functions
Direct Keyboard Scan Matrix (up to 18x8)
Four channel PS/2 Interface
Two I2C/SMBus Controllers
LED controls
145 General Purpose I/O (GPIO) Pins
Three ACPI Embedded Controller Interfaces
PM1 Block
Six Pulse Width Modulators
Four 16 bit Counter/Timers
Serial Peripheral Interface (SPI)
Three Fan Tachometer Interface
Consumer Infrared Communications Controller
8 channels Analog to Digital Converter
3 channels Digital to Analog Converter
Page 7
smsc confidential
KBC1100 Power Planes
VCC0
Real-time Clock Supply
• 16 bits Week timer, 32.768kHz clock, Power Fail and Reset Status Register
VCC1
System Suspend Supply
• 8051, GPIO, SMBus, Key Scan, Share Flash Interface, Power management, Wake-up
Functions, PWM, Counter/timer, CIR
VCC2
System Runtime Supply
• LPC Bus, SP, IR, PS/2 Ports
DAC_VCC
System Suspend Supply
• DAC channel with SentinelAlert
ADC_VCC
System Suspend Supply
• ADC channel, Output of Internal DBM General Purpose Input/Output
Page 8
smsc confidential
8051 Clock Frequencies
External Clock Source (VCC2 On)
Generated by 14.318M Clock Input
Powered by VCC2
12, 16, 24 or 32MHz options
Need to use proper Flash to match access timing
Internal 32Mhz Programmable Ring Oscillator (VCC1 On)
Page 9
smsc confidential
Power by VCC1
Auto Start-up and Switch Over when Vcc2 power fail (Interrupt can be generated)
Fixed frequency output in 16MHz
Frequency can program between 1/8/16/32MHz
Calibration with RTC 32.768KHz to determine exact frequency
8051 System Power Management
Run Mode (VCC0, VCC1, Clock ON)
Idle mode (VCC0, VCC1, Clock ON)
Initiated by an instruction that sets the PCON.0 bit
In order to leave idle mode, the 8051 must receive an interrupt. Typically, a General
Purpose timer interrupt is used.
Low Power
Sleep Mode (VCC0, VCC1 ON, Clock OFF)
Sleep mode is initiated by a user defined 8051 command sequence
CPU enters Sleep mode, all internal clocks, including the core clocks, are turned off
RAM contents are preserved
Exiting Sleep Mode
• Wake Up Events - RTC Alarm, Power Button, Ring Indicator
• The 8051 is now running in Idle mode and responds immediately to interrupt.
• 8051 leaves Idle mode, executes interrupt service routine and executes an IRET when done.
Page 10
smsc confidential
Ultra low power
8051 Memory Map
External Program ROM
External Data RAM
Internal RAM space contains the internal 8051 generic register space and
Special Function Registers (SFRs).
MMC Memory Map Control Bit
512 bytes data RAM is available to the 8051 at external RAM addresses 7D00h
– 7EFFh. A 1024 bytes block of Memory Mapped Control Registers (MMCRs)
are located at external RAM addresses 7F00h – 82FFh. 2KB of Scratch RAM
area is accessible at external RAM addresses 0000h – 1FFFh when enabled.
Internal Data RAM
8051 has access to 64KB of program ROM through Shared Flash Interface.
2KB of Scratch ROM area can be enabled that overlays Flash ROM space
MMC=0, a 2KB ScratchRAM area at 0000h--07FFh in data space is available to the 8051.
MMC=1, a 2KB ScratchROM area at 0000h--07FFh in code space is available to the 8051.
HF Host Flash
Page 11
smsc confidential
HF=0, 8051 owns the Shared Flash Interface.
HF=1, LPC Host owns the Shared Flash Interface.
Default 8051 Memory Map (MMC = 0)
Page 12
smsc confidential
8051 Scratch Memory
The KBC1100 8051 has Scratch ROM space that allows 8051 to do useful work
while it does not have access to the Flash and may therefore be running during
a system reset sequence.
Scratch Memory configured as RAM
Scratch Memory configured as ROM
the entire 2KB scratch memory is accessible only as 8051 external data memory at address
0000h to 07FFh
When the MMC bit is set
scratch memory can reside at 0000h up to 07FFh in 8051 external program space.
When the MMC bit is cleared
Scratch memory resides at 0000h to 07FFh in external data RAM space.
scratch memory can be configured as Scratch ROM.
When the 8051 has access to the Shared Flash Interface and Scratch ROM is
enabled, the Scratch ROM area overlays the Flash. When executing the code
from the Scratch ROM address range, the code is fetched from the Scratch
ROM. Outside of the Scratch ROM address range the code is fetched from
Flash.
The 8051 must use the Scratch ROM option to execute code when it does not
have access to the Shared Flash Interface. In this case, the LPC Host has
access to the SFI and the HOST FLASH bit is asserted.
Page 13
smsc confidential
KBC1100 Memory Map MMC = 1, HF = 0
Page 14
smsc confidential
KBC1100 Memory Map MMC = 1, HF = 1
Page 15
smsc confidential
Shared Flash Interface (SFI)
KBC1100 Shared Flash Interface (SFI) supports 0.5 - 8MB of Flash
memory
Memory devices on the SFI can be accessed by Firmware Hub (FWH)
cycles or LPC memory cycles via the LPC interface
SFI Access Arbitration
Page 16
smsc confidential
Normally 8051 is executing code from the Flash device and has ownership of the
SFI
8051 is notified of the LPC Host access request by the Host Access interrupt
The KBC1100 provides hardware arbitration on the SFI so that the 8051 and the
LPC interface can read from Flash without software intervention
Split 8051 Code Space Example
Page 17
smsc confidential
Interrupt Interface
8051 core has twelve interrupts
Interrupt priority level
Two programmable level
• High and low
A third level for the Power Fail Interrupt
• High priority over all other interrupts
Interrupts are same priority level
• Interrupt events are prioritized according to the natural priority level
KBC1100 have 73 additional interrupt sources
Interrupt Accelerator provide a unique vector for each interrupt source
Interrupt Accelerator supports natural priority scheme
Interrupt accelerator
KBC1100 interrupt accelerator provides a four bit vector bus to the 8051 that indicates
which of the sixteen interrupts associated with an external interrupt pin is being asserted
Interrupt accelerator is disabled, the interrupt vector is the standard 8051 interrupt vector
The default interrupt vector can be changed by Interrupt Vector Page register
Page 18
smsc confidential
Interrupt Source Detection
Page 19
smsc confidential
8051 Interrupts
Page 20
smsc confidential
INT1 Interrupt Sources and Interrupt
Accelerator Interrupt Vectors
Page 21
smsc confidential
Wakeup Events
Wakeup Events can bring 8051 from Sleep mode to Run Mode
Wake-up events can be internally or externally generated.
Total 73 Wake up Events
Internal Events (18)
Page 22
smsc confidential
RTC Alarm
Hibernation Timer
Write to PM1 Status, Enable, Control Registers
Thermal Event
ADC Conversion Complete
LPC Host Access to Share Flash Interface
CIR Wake Event
Specific Wake on Keyboard and Mouse
External Wakeup Events
External Events (55)
Page 23
smsc confidential
UART Ring Indicator
SMBus 1 or 2 Start or other event
IR and CIR detected
Any Key Pressed on Key Scan
Fan Tachometer 1 to 3 below programmed speed
LPC Bus Reset (Falling Edge)
PS2 Channel Activity
22 GPI or GPIO Pins (Programmable Edge or Either Edge)
GPIO Interface
KBC1100 includes three general purpose I/O pin types
8051 Non-SFR GPIOs
LPC/8051 Addressable GPIOs
Bit-Wise Addressable 8051 SFR GPIOs
(67) 8051 non-SFR GPIO (Byte-wise Access)
(16) 8051 SFR GPIO (SGPIO30-37, 40-47, Bit-wise Access)
(19) LPC or 8051 addressable GPIO
4 Dedicate LED pins for power and battery
Page 24
smsc confidential
I2C/SMBus Interface/Access Bus
KBC1100 implements two I2C/SMBus controllers
Each controller through a multiplexer, can drive two independent
sets of Clock and Data pins
SMBus logic is powered on the VCC1 and clocked by the 8051 clock
to provide the ability to wake-up the 8051 on an I2C/SMBus event
SMBus interface is fully and directly controlled by the on-chip 8051
through a set of on-chip memory mapped control registers
A single I2C/SMBus controller on a host can accommodate up to 125
peripheral devices
Data Rate is Clock Source/240
Fixed 24MHz clock - 100KHz
• Not available when Vcc2 is off
Page 25
smsc confidential
8051 Clock is 12/16/24/32MHz - 50/67/100/133KHz
8051 Clock is Ring Osc at 1-32 MHz - 4.2-133KHz
Pulse Width Modulator
(6) Independent PWM outputs
Fully Programmable From the 8051 Embedded Controller
8-bit Programmable Frequency
• Use 8 bits Prescaler Register
0 to 100% Duty Cycle in 1/255 Increments
• 8 bits PWM Duty Cycle Register
Four Selectable Clock Sources
• CPU Clock, 14.318MHz, 32.768KHz, 16MHz
Programmable Pre-divider
• divide by 1, 2 or 4 Selection
The frequency of the PWM pulse waveform
Independent PWM Enable for Power Management
fPWMx = fpc / ( CLK_PDIV * 255 * (PWM Prescaler + 1) ).
The duty cycle of the PWM pulse waveform
Page 26
smsc confidential
% dc = PWM Duty Cycle / 255.
PS/2 Device Interface
Four PS/2 ports implemented in hardware which are directly
controlled by the on chip 8051
KBC1100 has logic to detect a keyboard make/break scan codescan
autonomously and generate an 8051 wake event.
KBC1100 has logic to detect specific Mouse button clicks on a
Mouse and generate an 8051 wake event.
Four independent ports to Support External Keyboard & Mouse,
Internal Touch Pad & Pointing Stick
Page 27
smsc confidential
16-Bit Counter/Timer Interface
The KBC1100 implements four 16-bit auto-reloading timer/counters
General Purpose Timers
• General Purpose timers operate in all modes and may be used to generate interrupts after
a specified amount of time.
Input-Only Timers
• Input-Only timers also operate in all modes. Input-Only timers have an external input that
can be used to provide additional counting functionality. The external input can be used as
a trigger in One-Shot mode, a clock source in Event mode or a gate in both Timer and
Measurement modes.
Input/Output Timers
• Input/Output timers provide the same functionality as Input-Only timers. It can generate an
external output signal in Timer mode.
Page 28
smsc confidential
Counter/Timer Operating Modes
Timer Mode
Event Mode
Event mode is used to count events that occur external to the timer. The timer can
be programmed to count the overflow output from the previous timer or the TINx pin
(Input-Only and Input/Output timers only)
One-Shot Mode
Generate periodic interrupts to the 8051 or to generate a periodic output pulse
Timer always counts down
The period between timer interrupts and the width of the output pulse is determined
by the speed of the clock source
One-Shot mode of the timer is used to generate a single interrupt to the 8051 after a
specified amount of time. The timer can be configured to start using the EN bit or an
external event.
Measurement Mode
Measurement mode measure the pulse width or period of an external signal.
Generate 8051 interrupt
• Finish measurement
• Timer overflows
• No measurement occurred
Page 29
smsc confidential
Watch-Dog Timer (WDT)
WDT consists of an 8-bit timer (WDT) with a 9-bit prescaler
Prescaler is fed with 32KHz which always runs, even if the 8051 is in SLEEP state.
8 bit WDT timer is decremented every (1/32KHz) *512 seconds or 16.0 ms.
Watchdog interval is programmable between 16ms and 4.08 seconds on 16ms
intervals
8-bit timer (WDT) underflows, a VCC1 POR is generated.
8051 in Idle Mode
When the WDT timer underflows, the 8051 will be reset.
8051 in Sleep Mode
Page 30
smsc confidential
WDT is enabled, the 8051 should never remain in the SLEEP state for more than
4 seconds.
Hibernation Timer
Hibernation timer is clocked by the 32 KHz clock and is powered by
VCC1.
8-bit binary count-down timer
0.5ms, 1.0ms and 30 second increments
Period ranges are 0.5ms to 128ms, 1ms to 256ms and 30 seconds to 128
minutes
The Hibernation Timer asserts a wake-up interrupt when the count
reaches zero.
Page 31
smsc confidential
Mailbox Registers Interface
The Mailbox Registers Interface provides a standard run-time mechanism
for the host to communicate with the 8051 and other logical components in
the KBC1100.
Page 32
smsc confidential
Serial Peripheral Interface (SPI)
The KBC1100 SPI port is a configurable 3-wire serial interface for
communicating with various peripheral devices (EEPROMS, DACs,
ADCs).
8-bit serial data is transmitted and received simultaneously over two
data pins in Full Duplex mode with options to transmit and receive on
one data pin in Bidirectional mode.
An internal programmable Baud Rate Generator and clock polarity
and phase controls allow communication with various SPI peripherals
with specific clocking requirements.
SPI cycle completion can be determined by status polling or
interrupts.
The SPI port pins can be configured as GPIOs when SPI functionality
is not needed.
The KBC1100 SPI is a master only device and does not support
multiple-master SPI configurations.
The SPI is powered by VCC1 and can run on suspend power only.
Page 33
smsc confidential
Fan Tachometer Interface
KBC1100 has a three port fan tachometer interface for systems with
fans equipped with speed monitoring outputs.
Fan Tachometer Operation Theory
Page 34
smsc confidential
Timebase for the fan tachometer interface is the 32.768kHz RTC oscillator
A fan tachometer input gates the 32.768 kHz RTC oscillator for one period of the
input signal into an 8-bit counter. One fan revolution, TR, consists of two fan
tachometer pulses
Analog to Digital Converter (ADC)
KBC1100 have eight channel sigma delta Analog to Digital
Converter
Page 35
smsc confidential
Sigma delta ADC architecture features superb linearity and is capable of
converting analog signals to either 8 bit or 10 bit words. Conversion rate of the
ADC using the 100 kHz clock is 10ms per channel in 10bit mode and 2.5ms per
channel in 8bit mode.
Input range on the voltage channels spans from 0V to 1.5V which provides
resolutions of 5.88mV in 8bit mode and 1.47mV in 10bit mode. The range can
easily be extended with the aid of resistor dividers.
Digital to Analog Converter (DAC)
DAC in the KBC1100 have 3 channels and 8 bit accuracy
DAC output buffers are capable of sinking and sourcing 1mA of
current and can handle capacitive loads up to 50pF
Low range mode, the DAC relies on an accurate internal reference
voltage
Programmable and spans from 0V to 2.5V
High range mode, supply voltage AVDD serves as the reference
Page 36
smsc confidential
Programmable and spans from 0V to AVDD
SMSC BudgetBus Controller
KBC1100 SMSC BudgetBus Controller contain the control logic to
support two SMSC BudgetBuses
Thermal Events
BudgetBus Controller generates reset to the external temperature sensors
Receives temperature data generated by the external temperature sensors
Controller pushes acquired sensor data into internal FIFO that can store up to
eight sensor readings
Generates a thermal event if the temperature exceeds the threshold value
Thermal event occurs when a temperature reading is greater than or equal to the
value programmed in one of the Thermal Threshold registers
Temperature readings from BudgetBuses are compared against the Thermal
Threshold registers when they are pushed into the FIFO
One BudgetBus controller
Two budgetBus interface
• One interface connect one budget sensor
• Measure 8 temperature points
Page 37
smsc confidential
Thermal Event Routing Diagram
Page 38
smsc confidential
SMSC SentinelAlert! Controls
SMSC SentinelAlert! Controls cause the KBC1100 DAC and
SA_GPIO pins to transition to a known state when either of the
following conditions occur
Watch-Dog timer expires
• A programmable watchdog timer is used to monitor the 8051. The watchdog timer can be
set anywhere from 25 milliseconds to 6.4 seconds. The watchdog is restarted anytime the
8051 writes the WDRST bit in the SentinelAlert! Control Register.
External thermal diode sensors exceed critical temperature limits In SMSC
SentinelAlert! Mode
• Temperatures are monitored by the BudgetBus Controller using the HWPRO Thermal
Threshold
Page 39
smsc confidential
4 DAC outputs can be forced to minimum or maximum output voltage under
program control and the SA_GPIO pins can be programmed as an input or as an
output and forced High or Low.
SMSC SentinelAlert
The Next Step in Thermal Protection
Memory
EMC1202
Sensor
CPU
EMC1202
Sensor
System
Thermal Alert
Battery
Pack
SMSC
BudgetBus™
Sensor Interface
KBC1100
LPC
Interface
SMSC SentinelAlert!™ Logic
Shared Flash
Interface
Page 40
smsc confidential
CIR
Engine
Direct Charger
Temp Limits
Watch Dog
Timer
KeyScan +
PS/2
Programmed
Thermal
Response
Fan
Tach's
D/A
Conterters
32MHz 8051
microcontroller
Serial
+
IRDA
Thermal Sensor Input
GPIO
Chipset
A/D
Interface
DC - DC
Converters
Advantages of Using SMSC KBC1100/1100L
Cost Effective Total Solution
Advanced 0.35u process technology
Shared Flash Architecture
Build-in digital & analog chips
• Competitive total cost with flexible analog options for dumb charger/battery design
• Very Competitive total cost with smart charger/battery design
• Budget bus temp sensor can be placed near CPU
Simplify Designs
Flexible Power Management
Unique Power Plan partition & GP I/O, Interrupt Architecture
Superior Debugging/Field Service Capability
Same EC/KBC code support KBC1100/1100L.
Debug code dumping to serial debug port or parallel port
Interrupt Architecture Allows Single stepping operation
Flash upgrade through parallel port
Technical training course for customer
Important for engineer in EC hardware, software design
Page 41
smsc confidential
SMSC Budget Bus Temperature Sensors
October 28,2004
EMC1201/2- BBUS Sensors from SMSC
Special Interface Allows
For Lower Cost and Small Sensors
Vdd
Host
1
5
Budget Sensor Interface
2
GND
3
4
Thermal Alert to System
The SMSC Budget Sensor Advantage
SOT23 pkg
Features
Page 43
smsc confidential
Only a SOT23 package is required for 2 sensors
Remote temp sensor accuracy 1°C max (40°C < Ta < 80°C)
Simple digital interface reduces the cost of the sensor
The host takes care of all interrupts
EMC1201/2- BBUS Sensors from SMSC
Temperature Monitors
Monitors One Remote Thermal Diode (EMC1202)
•
+/-1°C accuracy 40°C<Td<80°C
•
Extended temperature support
•
Diode Fault Reporting
Vdd
SMSC BBus
2
GND
3
Internal Ambient Temperature sensor
•
11 bit resolution
SMSC BudgetBus™ one wire interface
Low digital overhead reduces size and cost
SMSC host takes care of all the interrupts
Two Operating Modes Active/Standby
< 3µA in Standby
SOT23-5 Package
smsc confidential
NC
4
NC
EMC1201
Vdd
Page 44
5
Max +/- 3°C over 0°C<Ta<85°C
1
1
SMSC BBus
2
GND
3
5
4
EMC1202
SMSC Solutions
To Reduce Cost
EMC1203- BBUS Sensors from SMSC
Temperature Monitors
Monitors Two Remote Thermal Diode (EMC1202)
•
+/-1°C accuracy 40°C<Td<80°C
DP1
1
8
VDD
•
Extended temperature support
DN1
2
7
GND
•
Diode Fault Reporting
DN2
3
6
DP2
4
5
Internal Ambient Temperature sensor
•
Max +/- 3°C over 0°C<Ta<85°C
11 bit resolution
SMSC BudgetBus™ one wire interface
Low digital overhead reduces size and cost
SMSC host takes care of all the interrupts
Two Operating Modes Active/Standby
< 3µA in Standby
MSOP 8 Package
Page 45
smsc confidential
EMC1203
SMSC Solutions
To Reduce Cost
SMSC
BBus