| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 0.嵌入式控制器(Embedded Controller,EC)学习embedded controller开发概述 -> 正文阅读 |
|
[嵌入式]0.嵌入式控制器(Embedded Controller,EC)学习embedded controller开发概述 |
文章目录1.嵌入式控制器EC概述嵌入式控制器EC是挂在CPU的LPC(Low Pin Count)总线下的一颗嵌入主控芯片,嵌入式控制器的目的是帮助计算机(主要是笔记本)管理低速外设,像触摸板、矩阵键盘等,当然最重要的是计算机通过EC来做电源管理,在笔记本电脑中,电源管理尤为重要,不仅仅需要控制开关机的电源,还要控机笔记本做休眠挂起即之后的唤醒。EC就像计算机的隐形管家,在电脑的正常运行中起到了至关重要的作用。 接下来列举一下我们所使用的商用笔记本电脑都有哪些功能是通过EC来实现的。
2.EC芯片框图(IT8502为例)通过框图的最上端LPC总线与CPU的LPC总线相连,EC通过LPC总线与操作系统或BIOS进行通信,最上端的SERIRQ是用于向CPU发送串行中断信号的。 在框图中有两条总线,Internal Bus(内部总线),EC Bus(EC总线)。内部总线用于CPU的LPC总线对内部总线下外挂的各个逻辑设备(KBC/PMC/UART等)的访问,也可以用于各个逻辑设备之间的通信。EC总线则用于EC下面各个功能模块间、EC下模块与内部总线下的逻辑设备间的通信。 芯片中的最重要的部分是EC8032的部分,他是一个MSC-51系列的单片机,对EC的编程和对51单片机的编程几乎是一样的。后面在代码框架讲解中会提到。 当EC芯片上电后,8032微处理器将从SPI Flash的0x0000地址中取出固件(代码)运行,下面列出了EC中最常用的矩阵键盘,PS/2触摸板、主机接口0x60/0x64等功能。 3.General Purpose I/O Port (GPIO)通用I/O端口由寄存器控制的独立I/O管脚组成。 在EC中有十组通用GPIO,分别是GPIOA—GPIOJ,每组GPIO有8个pin脚,总共是80个pin脚。 在EC芯片上电后,代码执行的第一步复位后初始化Reset_Initialization()函数中就会首先配置这80个pin的工作模式。有以下几种工作模式:
在上下电时序控制中,完全是由GPIO来控制的,首先按照CPU厂商提供的各设备的上电时序图,EC控制各个电源及设备的复位,这一部分的控制引脚都是配置为输出模式。而各个电源的PowerGood信号则需要将相应的引脚配置为输入模式。 电源灯、大小写灯、数字灯的控制也是将相应的引脚配置为输出模式。 开关机按键、开合盖霍尔传感器、适配器拔插信号在代码中则需要定义为输入模式,并添加相应的事件函数,当有相应动作产生时,需要进入事件处理函数中执行相应的控制。例如适配器插入后需要控制充放电芯片对电池进行充电,切换为适配器对笔记本电脑进行供电,并通过LPC总线通知操作系统。 4.SMBus(System Management Bus,系统管理总线)在笔记本电脑中一般会用到两个SMBus接口,一个接口用于与智能锂电池、一个用于CPU、GPU和主板等温度传感器温度监控。 SMBus为I2C协议的子集,SMBus协议帧在I2C定义的通用帧格式基础上针对事务的不同进行了更加确定的定义。 通过SMBCLK和SMBDAT信号引脚来进行通信,与I2C通信协议的CLK与DATA引脚的通信方式是相似的。 5.PWM、TACH在笔记本中PWM一般有两个用处,一个用于控制风扇的风速,一个用于显示屏的亮度调节。 TACH则是用于监控风扇的转速,用于风扇的智能调速。 6.KBC(KeyBoard Controller)KBC作为一个逻辑设备挂在LPC总线下,操作系统或BIOS可以通过LPC的0x60/0x64与EC进行通信,KBC在EC与操作系统或BIOS的通信过程中起到了非常重要的作用。矩阵键盘、PS/2触摸板的数据都是通过KBC提供的0x60和0x64端口上报给操作系统或BIOS的。详细的通信过程可以通过《8.嵌入式控制器(Embedded Controller,EC)学习 操作系统或BIOS通过KBC(0x60/0x64)和PMC(0x62/0x66)对EC ram进行读写》博文了解。 7.PS/2只用作PS/2触摸板,数据最终是通过KBC的0x60和0x64端口上报操作系统或BIOS。 8.ADC(模数转换)在EC中GPI0—GPI7这8个引脚可以配置为ADC工作模式,用于监测主板的各个电压。 总结本文作为嵌入式控制器EC开发的总体概述,介绍了EC中各个部分的功能,简单的介绍了相关的开发方式,在本专栏中的后续章节中将详细介绍开发流程。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:34:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |