first and compiling freertos
This commit is contained in:
140
docs/timing/precision-timing-concepts.md
Normal file
140
docs/timing/precision-timing-concepts.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user