Difference between revisions of "Active Protection System"

From ThinkWiki
Jump to: navigation, search
m (R60)
(some details on actual usage for tilt detection)
Line 25: Line 25:
  
 
Furthermore, a list of alternative applications like theft alarm and others can be found on the [[HDAPS]] driver page.
 
Furthermore, a list of alternative applications like theft alarm and others can be found on the [[HDAPS]] driver page.
 +
 +
==Tilt detection field tests==
 +
Using Perl code for WinXP:
 +
<pre>
 +
use Win32API::File qw(:ALL);
 +
sub get_tilt {
 +
      my $file = createFile("//./ShockMgr", "r ke") or die "Can't get ShockMgr device";
 +
      DeviceIoControl($file, 0x733fc, [], 0, my($buf), 0x24, my($bytes), []);
 +
      my @data = unpack "x4s*", $buf;
 +
      return @data[1, 0];
 +
}
 +
</pre>
 +
my T42 gives values of roughly 490 when at rest in normal upright position with base parallel to the ground.  As I gently tilt the T42 through all possible x or y angles, the values range from about 335-645, meaning a resolution of about 155 units per Earth gravity.  This seems to suggest that the operating range of the APS is actually about +-3 gs, although the ADXL320 is supposed to allow +-5 gs.
 +
 +
As the tilt angle is the arcsine of the normalized APS reading, the Thinkpad is most tilt sensitive when in a normal upright position with base parallel to the ground.  In this position, the tilt resolution is about 0.35 - 0.4 degrees.  At maximum tilt, the resolution is much worse, about 6.5 degrees.
 +
 +
Shouldn't matter much, but my tests are at an elevation of about 60 meters above sea level.
  
 
==Related Links==
 
==Related Links==

Revision as of 08:50, 29 November 2006

IBM Active Protection System

The Active Protection System

With the new series of ThinkPads IBM introduced the Active Protection System (APS) in 2003. The APS is a protection system for the ThinkPads internal harddrive. A sensor inside the ThinkPad recognizes when the notebook is accelerated. A software applet then is triggered to park the harddisk. This way the risk of data loss in case of when the notebook is dropped is significantly reduced since the read/write head of the harddrive is parked and hence can't crash onto the platter when the notebook drops onto the floor.

The hardware sensor is capable of not only recognizing acceleration of the notebook, but also (to a certain degree) of its whole orientation in space, relative to gravity's axis. Furthermore, having the actual control put into software, its functionality is extendable and it gives chance to implement features like the "ignore minor shocks" feature which is present in the Windows based control applet. (This feature prevents the harddrive from parking in case of minor regular shocks such as occur when in a train or car.)

The measurements are physically performed by an Analog Devices ADXL320 accelerometer chip, managed by the embedded controller.

Linux Support

Linux support is in development.

This feature definitely depends on software and there is no hardware or BIOS only way of making it work. IBM made contradictory statements about their willingness to release the specifications of the hardware sensor and its API to the linux community or some developers. Although a lot of developers and other interested people from the OpenSource community actively contacted IBM to get the specs, in fact they never got them.

However, after first efforts of Amit Singh on a PowerBook and Mark Smith on a ThinkPad, the HDAPS project was founded to produce a linux kernel driver for the acceleration sensor and a user space application to monitor it. Later, a kernel patch to enable harddisk parking followed.

See How to protect the harddisk through APS for instructions and Problem with APS harddisk parking for Troubleshooting.

Furthermore, a list of alternative applications like theft alarm and others can be found on the HDAPS driver page.

Tilt detection field tests

Using Perl code for WinXP:

use Win32API::File qw(:ALL);
sub get_tilt {
      my $file = createFile("//./ShockMgr", "r ke") or die "Can't get ShockMgr device";
      DeviceIoControl($file, 0x733fc, [], 0, my($buf), 0x24, my($bytes), []);
      my @data = unpack "x4s*", $buf;
      return @data[1, 0];
}

my T42 gives values of roughly 490 when at rest in normal upright position with base parallel to the ground. As I gently tilt the T42 through all possible x or y angles, the values range from about 335-645, meaning a resolution of about 155 units per Earth gravity. This seems to suggest that the operating range of the APS is actually about +-3 gs, although the ADXL320 is supposed to allow +-5 gs.

As the tilt angle is the arcsine of the normalized APS reading, the Thinkpad is most tilt sensitive when in a normal upright position with base parallel to the ground. In this position, the tilt resolution is about 0.35 - 0.4 degrees. At maximum tilt, the resolution is much worse, about 6.5 degrees.

Shouldn't matter much, but my tests are at an elevation of about 60 meters above sea level.

Related Links

Models featuring this Technology