在某些使用上, 用家可能要不時監控系統芯片的溫度, 在 x86 系統上 linux 有很完善的一套 lm-sensors 套裝, 在 edgeboard 使用的芯片也有比較原始的替代
用家可以透過訪問 /sys/bus 下的3個 io 接口, 得到兩個 PS 部分, 和一個 PL 部份 的實時溫度原始數據
/sys/bus/iio/devices/iio:device0/in_temp0_ps_temp_raw
/sys/bus/iio/devices/iio:device0/in_temp1_remote_temp_raw
/sys/bus/iio/devices/iio:device0/in_temp2_pl_temp_raw
只要將以下, 在國外網站得到的換算方程式 制成 bash 的小程序, 就可以直接得到芯片的攝氏溫度:
awk '{ printf "PS temp 1: %.1f C\n", ((($1 * 509.314)/65536.0)-280.23) }' < /sys/bus/iio/devices/iio:device0/in_temp0_ps_temp_raw
awk '{ printf "PS temp 2: %.1f C\n", ((($1 * 509.314)/65536.0)-280.23) }' < /sys/bus/iio/devices/iio:device0/in_temp1_remote_temp_raw
awk '{ printf "PL temp : %.1f C\n", ((($1 * 509.314)/65536.0)-280.23) }' < /sys/bus/iio/devices/iio:device0/in_temp2_pl_temp_raw
輸出範例:
图好渣
您好,请问您这个公式适用于多少位什么性能的ADC呢?或您能解释一下他的含义吗?谢谢
看看
感谢分享,学习了!
高级