El KBC EC (Enbedded Controller) o Keyboard Controller (Controlador de Teclado) es un IC que cumple muchas funciones en la tarjeta madre. Es responsable de las funciones de standby (manejo de energia), temperaturas, cargas de batería, mouse, teclado, etc. Regularmente tienen 128 pines.
KBC El EC es el responsable de las siguientes tareas. Encendido/Apagado. Manejo de Energía. Controlador de Teclado/Mouse. Carga/Descarga de batería. Iluminación de la Pantalla. Ventilador del CPU. LEDs/Otros. KBC Pudiéramos decir que el KBC esta compuesto por bloques como se muestra en la siguiente figura. Alimentación: Se alimenta de 3voltios. En la mayoría de los casos viene de la fuente lineal LDO de la fuente de 3y5 voltios pero pueden tener un circuito aparte. KBC LPC. Low Pin Count. Introducido por Intel, es la comunicación del KBC con el Puente Sur. La especificación LPC define siete señales obligatorias para transferencia de datos en forma bidireccional. Cuatro de esas señales llevan los datos y dirección multiplexados. Los otros tres son señales de control (frame, reset y reloj).
KBC Controlador del Teclado. Los KBC incluyen un controlador basado en el 8042 de IBM para conectar el CPU con el teclado o un mouse PS/2, esta función es para que el CPU pueda tener acceso a la memoria extendida y pueda regresar a la memoria base, ésta funci´´on es la más importante y se denomina la función de la compuerta A20. KBC SMBUS. Es una interfaz serial de 2 líneas. Una para la data y una para el reloj. Diseñado por Intel en 1995 para la comunicación entre la batería y el charger. Después fue desarrollado para la comunicación entre los distintos chipsets pero ahora son parte del protocolo Phillips I2C. Al ser un bus lento (alrededor de 100Kbits/s) pero actualmente pudiera llegar hasta 3Mbits/s. Se utiliza para enviar sensores, y otras señales que no requieran una gran velocidad. Al ser un bus de comunicación existe uno o varios master (los que inician la comunicación) y suele tener uno o varios esclavos (slaves). Cada dispositivo necesita su propia dirección única que la obtienen de NXP. KBC SPI Bus. Es otro bus de comunicación creado por Motorola en los 80s. Es mucho mas rápido que SMBus, alrededor de 10Mbps pero no hay una velocidad definida. Utiliza 4 pines SCLK (Señal de reloj, no mas de 12.5Mhz). Esta señal rige la velocidad de cada bit. El MISO o SI (Master Input Slave Output): Es la señal de entrada a nuestro dispositivo, por aquí se reciben los datos desde el otro integrado. También tenemos el MOSI o SO (Master Output Slave Input): Transmisión de datos hacia el otro integrado y CS: Chip Select habilita el integrado hacia el que se envían los datos. KBC Múltiples Entradas y Salidas Configurables. GPIO. El KBC se le llama Súper I/O por algo, es decir, tiene múltiples entradas y salidas que dependiendo del firmware y del BIOS pueden tener diferentes funciones: ADC (Convertidor de Analógico a Digital), DAC (Convertidor Digital a Analógico), PWM (Pulse Width Modulation), Buses de comunicación, etc. Algo que tenemos que tener en cuenta al reemplazar los KBCs es que no solo deben tener el modelo exacto sino también la versión. 1.- En el primer ejemplo podemos ver claramente que el KBC es el Nuvoton NPCE288NA0DX es distinto al NPCE885LA0DX. KBC 2.- En el segundo ejemplo si necesitamos reemplazar el IT8518E no solo tenemos que conseguir el mismo sino también la versión HXA, por ende el BXS no nos sirve por la configuración de los GPIO. En el grafico podemos ver como la señal RSMRST# esta en el PIN 123 pero en el BXS es RF_LED_ON. Debemos tener cuidado. KBC 3.- En el tercer ejemplo, tenemos el KB3926F D2 con respecto al C0. Miren como en el pin 110 tenemos un pin importante que es el VGA_PWROK pero en el C0 se usa para bajar el volumen. Que necesita el EC para funcionar?
Alimentación: VCC,VSTBY, AVCC (Viene de una fuente lineal externa o de la fuente de 3v)= 3v. El cristal: 32.768Khz (puede ser un cristal externo o interno) Reset: EC_RST#, WRTSTR# (Viene de una fuente lineal externa o de la fuente de 3v)=3v. LID_EC#: Tapa del portátil = 3v.
ACIN= Cargador ok = 3v. La programación: BIOS.
BIOS El BIOS es un programa que bajo nivel que se utiliza para el control del hardware en una computadora. Puede estar dentro del KBC o fuera. BIOS significa Basic Input Output System. Dependiendo del diseño podemos tener 1 o 2 BIOS (EC BIOS y el otro es el SYSTEM BIOS). BIOS El BIOS se encuentra dentro de una memoria FLASH dentro de un chip que se le llama CMOS de la manera como esta construida. En su mayoría tiene 8 pines. (Antes tenían 48, 40 o 32 pines que se comunicaban a través del X-bus pero actualmente se comunican a través del protocolo SPI) Vienen de distintos tamaños desde 256K – 2MB EC y desde 2MB hasta 16MB SYSTEM. En equipos anteriores se alimentaban de 3v, actualmente puede ser de 3v o 1.8v. BIOS Los 8 pines son los siguientes:
1.- CS# = Chip Select. (Habilita el chip) 2.- SO# = Serial Out. (Salida) 3.- WP# = Write Protect. (Protección Escritura) 4.- GND = Tierra.
5.- SI = Serial Input. (Entrada) 6.- SCLK = Serial Clock.(Reloj) 7.- HOLD# = Pausa. 8.- VCC = Alimentación.
BIOS Así podemos ver esas señales con el Osciloscopio.
1.- CS# = Chip Select. (Habilita el chip)
2.- SO# = Serial Out. (Salida)
5.- SI = Serial Input. (Entrada)
6.- SCLK = Serial Clock.(Reloj)
BIOS Como es un programa, puede dañarse y debe reprogramarse con uno bueno. Para ello necesitaremos un lector/programador de BIOS. Actualmente el programador que utilizo se llama SVOD 3. Cuando el BIOS se encuentra fuera del IC utilizamos el adaptador 150mm o 200mm SOP dependiendo del tamaño físico del chip.
Si necesitamos leer o reprogramar los BIOS de los KBC entonces utilizamos el otro adaptador que se conecta al teclado de la laptop.