-
Notifications
You must be signed in to change notification settings - Fork 2
305 lpgbt temperature #351
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
base: main
Are you sure you want to change the base?
Conversation
…nstants, finds good vreftune, estimates junction temp, saves results to yaml, measures adc value for vreftune, measures internal temp
tomeichlersmith
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is excellent and detailed work! I am curious about making this more specialized so that it can be faster (and not have to download the CERN CSV and/or have a cached YAML). What are these used for? Could we take out the few lines that correspond to our chip IDs and hard-code those into the software? (Documenting where we got the numbers from for future reference.)
The EcalSMM and HcalBackplane use the same lpGBT mezzanine design so, as long as these calibrations don't change much from chip-to-chip, I think we could hard-code them. Thoughts from your experience?
|
I guess the reason I'm pushing in this direction rather than keeping the current (more general) solution is that I'd like the temperature to be included in a |
|
I do think that we could make it specific to the chip IDs that we have. The constants pulled from the CSV files are used in the formulas to calculate optimal VREF_TUNE, TJ_USER (estimated junction temp), an ADC voltage, and, finally, estimated sensor temperature. The values in the CSV are sufficiently different that using just one set of constants could cause major erroneous temperature estimates. I actually tested this on UVA's TRG and DAQ lpGBTs. I mixed up the two chip IDs and found an estimated temperature of hundreds of degrees. So, if we do want to make it hardcoded, I would just need the various chip IDs. I could put it all into the .h or something. |
|
Oh so the chip IDs are like serial numbers and not the different types of chips? What happens if the chip IDs are not in the CSV? For example, the DAQ lpGBTs on the EcalSMMs at SLAC (I don't think) have been properly tested and so their serial numbers would not be present in any kind of testing database. (This statement comes with the belief that the DAQ and TRG lpGBTs on the HcalBackplane are the same mezzanine, they are just configured differently.) |
|
Yes, they are like serial numbers. To my knowledge, the DAQ and TRG lpGBTs are the same but would have different chip IDs and also likely different constants. There is some more information here Also, it looks like there are "typical" constants listed here So, perhaps I could do some testing to see if we get reasonable temperature readings with these default constants. Perhaps reasonable could be defined as +- a few degrees C. The only issue is, I would need to know the actual temperature from someone physically present at the mezzanines. |
|
Unfortunately, I do not have access to that area of Anyways, I do have physical access to the HcalBackplane and its lpGBTs here at UMN so I'd just need to find a temp sensor that I can use to verify that the "typical" constants are good enough. I still think your detailed code is good especially in the long term where we would have a specific set of well-tested lpGBTs. This would then give us a database of calibration constants to either look-up live or cache in a local CSV/DB/YAML file. Just trying to think about how to structure it so it can fail to do the precise calculation quickly and quietly. |
|
After chatting with Jeremy about this - I should correct what I said earlier. The lpGBTs we are using should be in the database, but Jeremy confirmed that the average constants should be ok. His idea is to put most (all?) of this temperature code into the |
|
If I understand correctly -
|
|
Yes, have the precise calibrations that require download "opt-in" |
Solves 305 by estimating the internal temperature of the lpGBT board.
calibration_results.yamlfile already existslpgbt_calibration.csvfile (downloads the csv file if needed) and finds the constantsPrint out for if the correct constants already exist in the yaml file:
I followed Gabi Hamilton's slides very closely for this
https://github.com/user-attachments/files/23972425/CassettesTemps_CWM_Oct15.pdf