Embedded controller: Difference between revisions
m (→Background: typo) |
m (typos; fix OBX box top title; link to local datasheet PDF) |
||
Line 1: | Line 1: | ||
{{OLPC}} |
{{OLPC}} |
||
{{Translations}} |
{{Translations}} |
||
{{Olpcboxtop}} |
{{Olpcboxtop|toptext=[[{{PAGENAME}}|Embedded Controller]]}} |
||
{{OBX source dev|projects/openec}} |
{{OBX source dev|projects/openec}} |
||
{{Olpcboxbottom}} |
{{Olpcboxbottom}} |
||
Line 14: | Line 14: | ||
The EC, implemented as a KB3700, has a paramount importance in controlling the XO when the CPU is not active. To do so, the KB3700 communicates with the CPU via the [[Revised_EC_Port_6C_Command_Protocol|EC protocol]], this protocol is managed in the ports 0x66 and 0x62 of the KB3700. These two ports are serially connected with the 0x6C and 0x68 ports of the CPU (for more info check [[Ec specification]]). |
The EC, implemented as a KB3700, has a paramount importance in controlling the XO when the CPU is not active. To do so, the KB3700 communicates with the CPU via the [[Revised_EC_Port_6C_Command_Protocol|EC protocol]], this protocol is managed in the ports 0x66 and 0x62 of the KB3700. These two ports are serially connected with the 0x6C and 0x68 ports of the CPU (for more info check [[Ec specification]]). |
||
The KB3700 also communicates with the [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5104 DS2657] |
The KB3700 also communicates with the [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5104 DS2657] battery fuel gauge IC within the battery pack, via the [http://en.wikipedia.org/wiki/1-Wire 1-wire] Dallas protocol. Data sheet: [[Media:DS2756.pdf]]. |
||
One can deduce part of the internal state of the EC using [http://dev.laptop.org/~joel/ec-dump.fth ec-dump.fth] under OpenFirmware. |
One can deduce part of the internal state of the EC using [http://dev.laptop.org/~joel/ec-dump.fth ec-dump.fth] under OpenFirmware. |
||
Line 35: | Line 35: | ||
=== Related Documentation === |
=== Related Documentation === |
||
http://wiki.laptop.org/go/Category |
http://wiki.laptop.org/go/Category:EC |
||
[[Media:KB3700-ds-01.pdf|ENE KB3700 Datasheet]] |
[[Media:KB3700-ds-01.pdf|ENE KB3700 Datasheet]] |
Revision as of 05:20, 26 November 2007
Introduction
OLPC is now working in an Open Source implementation of the XO's Embedded Controller firmware.
The EC hardware consists of the ENE KB3700 (File:KB3700-ds-01.pdf), which has a 8051 microprocessor at it's core. We have chosen to impliment the firmware in C, using SDCC as our compiler. Efforts are also under way to have CamelForth, a Forth implementation for the 8051, run on the KB3700.
Background
The EC, implemented as a KB3700, has a paramount importance in controlling the XO when the CPU is not active. To do so, the KB3700 communicates with the CPU via the EC protocol, this protocol is managed in the ports 0x66 and 0x62 of the KB3700. These two ports are serially connected with the 0x6C and 0x68 ports of the CPU (for more info check Ec specification).
The KB3700 also communicates with the DS2657 battery fuel gauge IC within the battery pack, via the 1-wire Dallas protocol. Data sheet: Media:DS2756.pdf.
One can deduce part of the internal state of the EC using ec-dump.fth under OpenFirmware. Running the ec-dump script gives us valuable data about internals of the EC, being the EC Register Settings.
The procedure to run ec-dump over internet in a wireless connection is:
ok wifi media lab 802.11 *change it to your name AP ok fl http:\\18.85.2.147\~joel\ec-dump.fth *change to your AP IP direction
Running ec-dump over internet and saving the file in a USB key:
ok wifi media lab 802.11 *change it to your name AP ok fload http:\\18.85.2.147\~rafael\to-file.fth ok to-file u:\ec-dump fload http:\\18.85.2.147\~joel\ec-dump.fth
OpenEc firmware project
OpenEC is an effort for an open implementation of the firmware on the EC. It currently is in an early stage and not functional yet.