This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mission:tech:odyssey:sku [2012-04-23 09:55] – [SKU - EN/IEC 60603-2C Header] chrono | mission:tech:odyssey:sku [2014-11-22 19:22] (current) – [Station Keeping Unit (SKU)] chrono | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Station Keeping Unit (SKU) ====== | ||
+ | [{{ : | ||
+ | |||
+ | The purpose of the SKU is to monitor, analyze and control all of Odyssey' | ||
+ | |||
+ | * Positioning | ||
+ | * Precision Time-Keeping | ||
+ | * Power controlling | ||
+ | * System-Alerting/ | ||
+ | * Basic Vehicle Operating & Module-Communication System | ||
+ | |||
+ | It will also monitor and record habitual & mobile environmental parameters (external/ | ||
+ | |||
+ | It is meant to be always kept powered on, so the power consumption budget of the SKU is very demanding. The Goal was to deploy a system that will not draw more than 1-2W in full system operation mode, the current implementation of the SKU draws **less than 1W**, running Gentoo-Linux, | ||
+ | |||
+ | ~~CL~~ | ||
+ | =====Hardware platform===== | ||
+ | |||
+ | |||
+ | After researching different embedded solutions the choice went in favour of the Acme-Systems Netus G20 system, with an ATMEL AT91SAM9G20 400MHz ARM9 CPU (max. 50mW@25°C = 0.125mw/ | ||
+ | \\ | ||
+ | |||
+ | ^CPU^Mhz^DMIPS^mW^mw/ | ||
+ | |Intel Atom N270|1600|4000|10000|6.3|400|low-end miniitx / netbooks| | ||
+ | |Intel Atom Z515|1200|2500|3600|3.0|830|mid-range netbooks/ | ||
+ | |Arm9 old|200|220|260|1.3|830|Smartphones, | ||
+ | |**Arm9 new**|400|450|50|0.13|**5500**|Smartphones, | ||
+ | |Arm11|600|780|360|0.6|2000|Smartphones, | ||
+ | |Arm Cortex A8|1100|1500|500|0.45|3500|Smartphones (3GS), netbooks| | ||
+ | |**Cortex A5**|480|700|60|0.12|**13000**|Smartphones NG| | ||
+ | |AVR32|150|210|150|1.0|1400|embedded (atmel/avr) boards| | ||
+ | |||
+ | |||
+ | =====Operating System and Software===== | ||
+ | |||
+ | The underlying Operating System will be Gentoo with a custom portage tree for the individual house- and station-keeping modules. The Development and compilation shall be done in a chroot container either on the MCU when mobile or the HP DL380 when stationary and on-grid, for fast deployment. | ||
+ | |||
+ | * Chrony | ||
+ | * GPSD | ||
+ | * TPV Logging | ||
+ | * Watchdogs | ||
+ | * CollectD | ||
+ | |||
+ | For more Info about the SKU Software go [[mission: | ||
+ | |||
+ | ===== Station Keeping Runlevel ===== | ||
+ | |||
+ | * Mobile | ||
+ | * Stationary Off-Grid | ||
+ | * Offline | ||
+ | * Online | ||
+ | * Hibernating | ||
+ | * Basic Operation | ||
+ | * Full Operation | ||
+ | * Stationary On-Grid | ||
+ | |||
+ | ===== External Peripherals ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | The SKU gathers relevant performance/ | ||
+ | * leave room for future optimization | ||
+ | * maintain overall system funcionality - in case of single module malfunction | ||
+ | * modules can be used otherwise when the system doesn' | ||
+ | * keep power consumption low by only supplying power to active modules | ||
+ | * off the shelf usb modules have a bigger chance to be quickly replaced on the road in different countries | ||
+ | |||
+ | |||
+ | ^Name^Connect via^U^I^Purpose^ | ||
+ | |Rockwell/ | ||
+ | |uBlox LEA-6T|3.3V Serial + DCD|3.3|-|Time & Frequency GPS disciplined clock/10MHz OCXO| | ||
+ | |uBlox LEA-6R|3.3V Serial RX-only|3.3|-|PV + Dead-Reckoning| | ||
+ | |CUL-868|USB|5|? | ||
+ | |USB UMTS/GPRS (PrePaid)|USB|5|? | ||
+ | |USB WLAN 802.11a/ | ||
+ | |PDU sensor input|3.3V Serial RX|3.3|? | ||
+ | |PDU switch output|3.3V Serial TX|3.3|? | ||
+ | |DS1820 Tempsensors|1-Wire|3.3|0.001|Temperatur sensor Bus (-55/ | ||
+ | |||
+ | ==== GPS ==== | ||
+ | |||
+ | It was more by accident than intention that I was able to get one of the old Rockwell/ | ||
+ | |||
+ | As it turned out the TU30-420-031 is not only capable of supplying the rare GPS disciplined 10kHz frequency output feature, I originally wanted it for, but it is also capable of dead-reckoning. Even when satellite reception is lost due to a tunnel/ | ||
+ | |||
+ | Altough I cursed myself at first for buying a 3.3V model, I came to realize how lucky I've been. Since the SKU base board is a 3.3V model I hooked it up directly to ttyS1 (RX/TX and PPS on DCD) - ttyS1 is the only serial interface on the Netus G20, that supports all serial pins (including DCD). Although there are patches to use CTS as PPS input I opted for DCD. | ||
+ | |||
+ | The only problem with 3.3V was, that the GPSDO had to be redesigned to work with the 3.3V 10kHz frequency to PLL sync the OCXOs 10MHz ouput. | ||
+ | |||
+ | The GPS module is responsible for the following features: | ||
+ | |||
+ | * GPS PV Data for navigation subsystems (GPSD) | ||
+ | * Dead-Reckoning PV data for navigation systems (GPSD) | ||
+ | * Stratum 1 time sync capabilities (Chrony/ | ||
+ | * Kernel PPS through DCD | ||
+ | * Chrony GPSD socket sync (nanosecond deviation) | ||
+ | * 10kHz GPS disciplined frequency (->GPSDO Module) | ||
+ | |||
+ | [{{: | ||
+ | [{{: | ||
+ | |||
+ | [[apollo: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== RNG ==== | ||
+ | |||
+ | http:// | ||
+ | |||
+ | |||
+ | ==== IMU ==== | ||
+ | |||
+ | ===Accelerate=== | ||
+ | ===Gyro=== | ||
+ | ===Compass=== | ||
+ | |||
+ | Honeywell tilt compensated MEMS Compass Module HMC4363 | ||
+ | |||
+ | ===== Interfaces ===== | ||
+ | |||
+ | ==== Software ==== | ||
+ | |||
+ | * SKU <-> [[mission: | ||
+ | * SKU <-> [[mission: | ||
+ | |||
+ | === Position to Timezone Tracking === | ||
+ | |||
+ | Apollo-NG' | ||
+ | |||
+ | [[mission: | ||
+ | |||
+ | |||
+ | === Solar-Output prediction model === | ||
+ | |||
+ | [[lab: | ||
+ | ==== User ==== | ||
+ | |||
+ | * Button-panel with led status on/off | ||
+ | * Display (budget dependent) | ||
+ | |||
+ | |||
+ | ===== Notes ===== | ||
+ | |||
+ | ==== SKU - EN/IEC 60603-2C Header ==== | ||
+ | |||
+ | The following table is a documentation of the latest Netus/ | ||
+ | |||
+ | ^ FOX ^ PIN ^ Description ^ A ^ B ^ C ^ | ||
+ | | J6.08 | RXD0 | Receive GPS data on ttyS1 | 23 | | | | ||
+ | | J6.09 | TXD0 | Transmit data ttyS1 | | 23 | | | ||
+ | | J7.31 | DCD0 | PPS0 Timepulse input | | | 23 | | ||
+ | |J6.15 | RXD5 | Receive PDU data ttyS6 | 4 | | | | ||
+ | |J6.16 | TXD5 | Transmit PDU data ttyS6 | | | 4 | | ||
+ | | J6.30 | AD0 | Analog input 0 | 28 | 28 | 28 | | ||
+ | | | 1W VCC | OneWire VCC | 1 | | | | ||
+ | | | 1W DATA | OneWire DATA | | 2 | | | ||
+ | | | 1W GND | OneWire GND | | | 3 | | ||
+ | | | Sys VCC | System VCC | 28 | 28 | 28 | | ||
+ | | | Sys GND | System GND | 26 | 26 | 26 | | ||
+ | | J7.40 | Sys 3V3 | System 3V3 | 32 | 32 | 32 | |