分享

embedded controller task

 迎风初开 2015-03-19

Tasks[edit]

A generic embedded controller often has the following tasks:

  • Receiving and processing SIGNALS from the keyboard[1] and other buttons and switches (e.g., power button, laptop lid switch)[2]
  • Turning the computer on and off
  • Controlling access to the A20 line[3]
  • Thermal measurement and response including fan control, CPU throttling, and emergency shutdown in response to rising temperatures
  • Controlling INDICATOR LEDs
  • Managing the battery charger and the battery[2]
  • Allowing remote diagnostics and remediation over the network
  • Performing software-requested CPU reset[1]
  • Controlling the watchdog timer[2]

As a core system component, the embedded controller is always on when power is supplied to the mainboard. To communicate with the main computer system, several forms of communication can be used, including ACPISMBus, orshared memory.

The embedded controller has its own RAM, independent of that used by the main computer system, and almost always its own flash ROM on which the controller's software is stored. Many BIOS updates also include upgrades for the embedded controller firmware.

An embedded controller is sometimes known as a "Keyboard Controller BIOS", which comes from the fact that the embedded controller evolved from the keyboard controller and often still is used as a keyboard controller. Even today, an ACPI embedded controller communicates with the CPU by using the same I/O ports that keyboard controllers used in the past.

Trusted Platform Module contains an embedded controller that performs cryptographic functions and nothing else.

Ergonomics[edit]

Although the embedded controller is very "deep" in the system, it is important to the user because it performs functions such as fan control and thermal management. Computer systems such as laptops often produce large amounts of heat which must be dissipated. This is typically done by activating a fan to blow air over the components that are producing heat; the fan is not simply turned on or off, but is driven at high speed by the embedded controller for a short time and then left running at low speed until the temperature has decreased sufficiently. Such a control scheme can be uncomfortable from an ergonomic point of view, as the change in fan speed is noticeable to the user, especially if this occurs regularly and if the fan is clearly audible.

To prevent this, some embedded controllers are designed to run the fans at a constant speed over a larger range of temperatures and will only increase fan speed when the system is close to overheating. In this case, the ergonomics of the system are improved because the fan is quieter, as it is controlled to rotate at a lower speed and does not change speed as often. However, when the temperature does cross the controller's threshold, it will take much longer to reduce the temperature to safe levels.

To change the fan control policy, updates to the embedded controller's firmware are usually necessary. In some systems, fan control is not provided by the embedded controller, but is instead done by a higher-level component such as an ACPI controller. In this case, changing the behaviour of the fan system can be done by the system administrator through ACPI configuration without changing any firmware.

References[edit]

  1. Jump up to:a b http://www./ps2keyboard/
  2. Jump up to:a b c http://www./ami_downloads/Embedded_Controller_Data_Sheet.pdf
  3. Jump up^ http://www.win./~aeb/linux/kbd/A20.html

See also[edit]


      本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约

      类似文章 更多