The name Geek Port has its origins in the »BeBox personal computer. The name was also adopted in Rehmi Post's »Hackman wearable computer for a very similar purpose to the Geek Port in Wearwulf. The Wearwulf's Geek Port will be based on an Atmel ATmega/8L microcontroller, and will communicate with the LPC2106 via its SPI interface.
| Atmel ATmega/8L (TQFP Package) |
|---|
|
| Note: Image extracted from Atmel website. |
The Atmel ATmega/8L can be reprogrammed in-system by the LPC2106 processor using its SPI interface without using any additional resources. This will allow the maximum flexibility in how the Geek Port is used.
The Geek Port is a 20-way IDC cable connector, with two ground connections. Ideally, multiple grounds would be provided, but this would require a physically larger connector.
| CON | AVR | Label | Purpose |
|---|---|---|---|
| 1 | 12 | PB0/ICP | Digital IO | Input Capture |
| 3 | 13 | PB1/OC1A | Digital IO | Output Compare |
| 5 | 7 | PB6 | Digital IO |
| 7 | 8 | PB7 | Digital IO |
| CON | AVR | Label | Purpose |
| 2 | 23 | PC0/ADC0 | Digital IO | 10-bit ADC |
| 4 | 24 | PC1/ADC1 | Digital IO | 10-bit ADC |
| 6 | 25 | PC2/ADC2 | Digital IO | 10-bit ADC |
| 7 | 26 | PC3/ADC3 | Digital IO | 10-bit ADC |
| 10 | 27 | PC4/ADC4/SDA | Digital IO | 8-bit ADC | I2C Data |
| 12 | 28 | PC5/ADC5/SCL | Digital IO | 8-bit ADC | I2C Clock |
| CON | AVR | Label | Purpose |
| 9 | 30 | PD0/RXD | Digital IO | Serial Receiver |
| 11 | 31 | PD1/TXD | Digital IO | Serial Transmitter |
| 13 | 32 | PD2/INT0 | Digital IO | Interrupt |
| 15 | 1 | PD3/INT1 | Digital IO | Interrupt |
| 17 | 2 | PD4/XCK/T0 | Digital IO | Serial Clock (in synchronous mode) | Timer Clock |
| 19 | 9 | PD5/T1 | Digital IO | Timer Clock |
| CON | AVR | Label | Purpose |
| 14,16 | - | GND | Ground |
| 18 | - | VCC | 3.3V regulated supply |
| 20 | - | VBAT | Unregulated supply |
The LPC2106 will communicate with the ATmega/8L over an SPI interface using a simple command protocol. The ATmega/8L only ever responds to requests from the LPC2106, and can only initiate a request for attention to the LPC2106 by generating an interrupt. This interrupt request should only be used to indicate that there has been a power failure - although this may be expanded in the future.
| Pipelined Commands |
|---|
|
| Note: Demonstrates pipelining to increase data transfer rate. |
The SPI interface operates in full-duplex mode, i.e. data can pass in both directions at the same time, allowing commands to be pipelined. For example, in the figure above, the checksum request and battery status requests can be butted together like a jigsaw puzzle (any gaps are filled with 0x00). Pipelining may not be implemented in the initial version, dependent upon performance requirements.
The following list of commands (and responses) must be implemented - all other commands should follow a similar pattern, although they will be application specific.
|
|
|
|
(Powered by PWP Version 1.4.2)