Skip to content

[Hardware] Implement On-Chip Linear Sweeps for Keithley 2460 #5

Description

@MasterUser43

Current point-by-point polling is limited by serial latency.

  1. python loop sends :SOUR:VOLT <value> via VISA
  2. waits for the command to traverse the USB bus
  3. Sends :READ? to request current measurement
  4. Waits for response to return.

This is finee(ish), however, puts a latency bottleneck onto the python loop rather than utilizing full efficiency by placing it onto Keithley 2460's internal ARM processor itself. Currently, the latency floor for the python is ~10-50ms, which when considering full sweeps (and future J-V long-term stuff) leads to 'dead time' in the seconds (technically leading to unnecessary degradation).

As such, moving that current method into a more efficient one is consideration that would need more research. The following proposed solution w/ limited research suggests:

  • Migrate from SOUR:VOLT loops to :SOUR:SWE:VOLT:LIN.
  • Use the Keithley internal buffer to store results :TRAC:MAKE ?
  • Perform a single bulk-read after the sweep completes.
  • Likely utilize *OPC* query to let python sleep as well.

Once more, this should not be done UNLESS previous issues have been fully merged and tested.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions