artiq-zynq/cxp_note.md

58 lines
1.4 KiB
Markdown
Raw Normal View History

2024-12-04 16:06:11 +08:00
# CXP
## Finished
- Upconn - Low speed serial
[x] Low speed serial PHY
[x] 20.833Mbps & 41.666Mbps change
[x] 8b10b encoder
[x] TX Pipeline with priority transmission
[x] Trigger
[x] Trigger ack
[x] Test & Ctrl packet with DMA
[x] CTRL Packet serialize firmware
[x] follow DRTIO DMA
[x] check crc
- Downconn - GTX
[x] GTX serial PHY
[x] QPLL & GTX DRP to config linerate
[x] Comma checker & restart rx
[x] RX Pipeline with priority decoder
[x] Trigger ack
[x] CTRL packet DMA with extra buffer
[x] Connection test sequence checker
[x] CTRL Packet deserialize firmware
[x] follow DRTIO DMA
[x] check crc
- Camera boostrap
## TODO
[] remove ALL debug tools
[] flake.nix mod
[] local_run.sh mod
### Gateware
[] GTX Multilane setup
[] Region of interest engine
[] rtio to getting the frame
- O: trigger
- I: frame
- frame crc checker
### Firmware
[] Camera boostrap
- get the CXP version
- test connection
- discovery other extension (links)
- set bitrate
[] Camera linkdown detection
[] API programming
[] add tag handling for api calls
- support line reset in kernel using syscall
[] add heartbeat checking
### Coredevice Driver
[] support simple GenICam api
- camera specific register that hold the same value between reset
- support sub-array readout (i.e Region of Interest (ROI))