Files
pico-platform/docs/timing/precision-timing-concepts.md

140 lines
3.1 KiB
Markdown
Raw Normal View History

2025-07-27 19:07:40 -04:00
# Precision Timing Concepts
## Time Synchronization Protocols
### NTP (Network Time Protocol)
- **Accuracy**: Typically 1-10ms over Internet, <1ms on LAN
- **Protocol**: UDP port 123
- **Versions**: NTPv3 (RFC 1305), NTPv4 (RFC 5905)
- **Stratum Levels**: 0 (reference) to 15
- **Key Features**:
- Client/server and peer modes
- Symmetric key authentication
- Broadcast/multicast support
### PTP (Precision Time Protocol)
- **Standard**: IEEE 1588-2008 (PTPv2)
- **Accuracy**: Sub-microsecond with hardware support
- **Transport**: Ethernet (Layer 2) or UDP (Layer 3)
- **Clock Types**:
- Ordinary Clock (OC)
- Boundary Clock (BC)
- Transparent Clock (TC)
- **Messages**:
- Sync, Follow_Up
- Delay_Req, Delay_Resp
- Announce, Management
### IRIG Time Codes
- **Types**: IRIG-A, B, D, E, G, H
- **IRIG-B**: Most common (100 pps, 1kHz carrier)
- **Encoding**: Amplitude modulated or DC level shift
- **Information**: Time of year, year, status bits
- **Accuracy**: Microsecond level
### GPS Time
- **Source**: Global Positioning System satellites
- **Accuracy**: ~40ns relative to UTC
- **Outputs**:
- NMEA sentences (serial data)
- PPS (Pulse Per Second)
- 10MHz reference (some receivers)
- **Considerations**:
- GPS-UTC offset (leap seconds)
- Antenna placement
- Signal acquisition time
### PPS (Pulse Per Second)
- **Signal**: Rising edge aligned to second boundary
- **Accuracy**: Typically <100ns jitter
- **Uses**:
- Clock discipline
- Frequency reference
- Time interval measurements
## Clock Synchronization Algorithms
### Phase-Locked Loop (PLL)
- Adjusts local clock frequency
- Minimizes phase error
- Smooth corrections
### Frequency-Locked Loop (FLL)
- Adjusts clock rate
- Good for initial synchronization
- Handles large offsets
### Kalman Filter
- Optimal state estimation
- Handles noisy measurements
- Predicts clock behavior
### Clock Discipline Algorithm
1. Measure time offset
2. Calculate frequency error
3. Apply corrections
4. Monitor stability
## Time Scales
### UTC (Coordinated Universal Time)
- International time standard
- Includes leap seconds
- Based on atomic clocks
### TAI (International Atomic Time)
- Continuous time scale
- No leap seconds
- UTC = TAI - leap_seconds
### GPS Time
- Started January 6, 1980
- No leap seconds
- GPS = TAI - 19 seconds
## Precision Timing Metrics
### Accuracy
- Closeness to true time
- Absolute time error
### Precision
- Repeatability of measurements
- Standard deviation
### Stability
- Allan deviation
- Time deviation (TDEV)
- Maximum time interval error (MTIE)
### Jitter
- Short-term variations
- Peak-to-peak or RMS
### Wander
- Long-term variations
- Low-frequency drift
## Implementation Considerations
### Hardware Timestamping
- PHY or MAC layer stamps
- Reduces software latency
- Critical for PTP
### Interrupt Latency
- PPS edge detection
- Deterministic response
- Priority management
### Clock Sources
- Crystal oscillators (XO)
- Temperature compensated (TCXO)
- Oven controlled (OCXO)
- Chip scale atomic clocks (CSAC)
### Network Considerations
- Asymmetric delays
- Packet delay variation
- Queue management
- Traffic prioritization