140 lines
3.1 KiB
Markdown
140 lines
3.1 KiB
Markdown
# 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 |