Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to measure timing manager sensor data timing #428

Closed
elsevers opened this issue Dec 6, 2024 · 0 comments · Fixed by #429
Closed

Add ability to measure timing manager sensor data timing #428

elsevers opened this issue Dec 6, 2024 · 0 comments · Fixed by #429
Assignees
Labels
driver Involves the drivers which interface between C firmware and hardware. dsp Involves the DSP C code. fpga Involves the FPGA Verilog code.

Comments

@elsevers
Copy link
Contributor

elsevers commented Dec 6, 2024

Abstract

Add ability to measure timing manager sensor data timing

Context

AMDC v1.3 added a timing manger to the AMDC which synchronizes the collection of sensor data to enable precision controls.

Functionality we wish we had

It would be useful from both a diagnostic and control perspective if the control task could have access to the timing information on when the sensor data is collected. Specifically:

  • Time that sensor acquisition started (when the sensor trigger is initiated)
  • Acquisition time of each sensor (how long it took for each of the sensors to acquire data)
  • Time that the scheduler interrupt was asserted

From this information, a user could determine how old each of the acquired data samples is.

Currently implementation

The timing manager driver already allows a user to read the acquisition time of each sensor via timing_manager_get_time_per_sensor().

The timing manager does not currently have a driver function to provide the time that the sensor trigger is initiated. This is not even readable via the AXI bus. However, the verilog module has a register for this: count_time that could be made readable by the driver.

Approach

Create a PR that adds a new driver function to read the time that the timing manager sensor trigger occurs by reading count_time. To do this, we'll need to:

  • Add count_time as an output to the timing_manager IP block
  • Memory map the count_time register here. We recommend adding this to address 0xF (the slv_reg12-slv_reg15 values are unused, it is recommended to use slv_reg15 to allow for future growth of the sensor types), but it may be a good idea to first have a discussion on what additional sensors we wish to add to the timing manager.

Consider if additional driver functionality is needed.

@elsevers elsevers added driver Involves the drivers which interface between C firmware and hardware. dsp Involves the DSP C code. labels Dec 6, 2024
@elsevers elsevers added the fpga Involves the FPGA Verilog code. label Dec 11, 2024
@elsevers elsevers linked a pull request Dec 19, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
driver Involves the drivers which interface between C firmware and hardware. dsp Involves the DSP C code. fpga Involves the FPGA Verilog code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants