-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathpps.txt
More file actions
87 lines (66 loc) · 3.24 KB
/
pps.txt
File metadata and controls
87 lines (66 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
\\ TALON NAVIGATION //
"walk among the stars"
DCPU-16 Hardware Info:
Name: Pulsar Positioning System (navigator)
ID: 0xfce26509
Version: 0xb01e
Manufacturer: 0x982d3e46 (TALON NAVIGATION SYSTEMS)
Description:
PPS can determine it's position using radio-wave and x-ray signals
from pulsars. PPS can function anywhere in Milky Way galaxy, but it
requires a dish antenna of 2m in diameter. Talon is the only provider
of PPS systems that can utilize over 2000 beacon pulsars for
measuring position.
Talon PPS hardware provides the fastest signal acquisition on market.
It can cold start (no time, no position, no ephemeris) in <55 seconds
and measure new position data every 8-25 seconds.
Talon provides both global and local coordinate systems. Global
coordinates are represented as 64bit integers. Local coordinates are
represented as 16bit integers with configurable origin.
Talon PPS functions by storing latest position measurement results in
internal memory array. Interrupts GET_LOCAL_COORDINATES and
STORE_GLOBAL_COORDINATES can be used to access the data.
Interrupt behavior:
When a HWI is received by the PPS, it reads the A register and does one
of the following actions:
0: CONFIGURE_LOCAL_ORIGIN
Reads Global Coordinate Array pointed by register B from ram and uses
it as the new origin for local coordinates.
Halts the DCPU-16 for 12 cycles.
Register C is set with the operation status:
0x0000 : Success
0xffff : Equipment malfunction
1: GET_LOCAL_COORDINATES
Stores the latest measured position -relative to Local Origin, to
DCPU-16 registers X, Y and Z.
X: (UINT16) x-coordinate (unit 1km)
Y: (UINT16) y-coordinate (unit 1km)
Z: (UINT16) z-coordinate (unit 1km)
Coordinates that are outside the UINT16 range are replaced with
the closest presentable value (0x0000 or 0xffff) and operation status
in register C is set to 0x0002.
Register C is set with the operation status:
0x0000 : Success
0x0001 : Success, but reduced accuracy
0x0002 : Success, but out of range
0x8000 : Failure, no pulsar fix
0xffff : Failure, equipment malfunction
2: STORE_GLOBAL_COORDINATES
Register B is used as the target address to write the latest measured
position as Global Coordinate Array to DCPU ram.
Halts the DCPU-16 for 12 cycles.
Register C is set with the operation status:
0x0000 : Success
0x0001 : Success, but reduced accuracy
0x8000 : Failure, no pulsar fix
0xffff : Failure, equipment malfunction
4: CONFIGURE_INTERRUPTS
Enables interrupts and sets the message to X if X is anything other
than 0, disables interrupts if X is 0. When interrupts are enabled,
the PPS will trigger an interrupt on the DCPU-16 whenever new position
data is available in PPS's internal memory.
Global Coordinate Array:
word 0 - 3: UINT64 X-Coordinate
word 4 - 7: UINT64 Y-Coordinate
word 8 - 11: UINT64 Z-Coordinate
Values are stored from MSB to LSB.