detailed subsystems

This commit is contained in:
canisio
2026-04-02 17:36:23 -03:00
parent 5caaa7fd9a
commit 27ec12161c
3 changed files with 191 additions and 34 deletions

View File

@@ -1,33 +1,85 @@
# 🧠 PS Subsystem
# 🧠 PS Subsystem (Control + Processing)
[🏠 Project Home](../README.md)
---
## Overview
Handles control and processing.
The PS subsystem is responsible for:
- Configuring PL subsystems
- Receiving data via DMA
- Performing frame-based processing
---
## Control
## Responsibilities
- Writes parameters
- Triggers Tx (TxPulseStart)
### Control
- Writes parameters to PL registers:
- Tx generator configuration
- Generates TxPulseStart trigger
---
## Processing
### DMA Handling
DMA → unpack → complex → RMS/peak
- AXI4-Stream → DMA (S2MM)
- Data stored in PS DDR
Configuration:
- Frame size: 512
- Buffers: 16
---
## Execution
### Processing Pipeline
- Event-driven
- Frame drops possible
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 Overview (README)](../README.md)
- [🏠 Project Home](../README.md)
- [PL Tx Subsystem](pl_tx_subsystem.md)
- [PL Rx Subsystem](pl_rx_subsystem.md)