86 lines
1.2 KiB
Markdown
86 lines
1.2 KiB
Markdown
# 🧠 PS Subsystem (Control + Processing)
|
|
|
|
[🏠 Project Home](../README.md)
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
The PS subsystem is responsible for:
|
|
|
|
- Configuring PL subsystems
|
|
- Receiving data via DMA
|
|
- Performing frame-based processing
|
|
|
|
---
|
|
|
|
## Responsibilities
|
|
|
|
### Control
|
|
|
|
- Writes parameters to PL registers:
|
|
- Tx generator configuration
|
|
- Generates TxPulseStart trigger
|
|
|
|
---
|
|
|
|
### DMA Handling
|
|
|
|
- AXI4-Stream → DMA (S2MM)
|
|
- Data stored in PS DDR
|
|
|
|
Configuration:
|
|
- Frame size: 512
|
|
- Buffers: 16
|
|
|
|
---
|
|
|
|
### Processing Pipeline
|
|
|
|
DMA → uint64[512]
|
|
→ unpack real/imag
|
|
→ convert to complex
|
|
→ RMS + peak detection
|
|
|
|
---
|
|
|
|
## Execution Model
|
|
|
|
- Event-driven (DMA trigger)
|
|
- No buffering queue
|
|
- Frames may be dropped
|
|
|
|
---
|
|
|
|
## Performance Notes
|
|
|
|
- Bottleneck: unpacking + conversion
|
|
- Cannot sustain full-rate input
|
|
|
|
---
|
|
|
|
## Interaction with PL
|
|
|
|
### Tx Control
|
|
- Low-rate trigger (~Hz)
|
|
- Starts burst generation
|
|
|
|
### Rx Data
|
|
- Continuous high-rate stream
|
|
|
|
---
|
|
|
|
## Future Work
|
|
|
|
- Replace processing with FrFT
|
|
- NEON optimization
|
|
- Throughput improvements
|
|
|
|
---
|
|
|
|
## 🔗 Related Components
|
|
|
|
- [🏠 Project Home](../README.md)
|
|
- [PL Tx Subsystem](pl_tx_subsystem.md)
|
|
- [PL Rx Subsystem](pl_rx_subsystem.md)
|