CANN/driver传感器信息获取API
dcmi_get_device_sensor_info【免费下载链接】driver本项目是CANN提供的驱动模块实现基础驱动和资源管理及调度等功能使能昇腾芯片。项目地址: https://gitcode.com/cann/driver函数原型int dcmi_get_device_sensor_info(int card_id, int device_id, enum dcmi_manager_sensor_id sensor_id, union dcmi_sensor_info *sensor_info)功能说明获取设备的传感器信息。参数说明参数名称输入/输出类型描述card_id输入int设备ID当前实际支持的ID通过dcmi_get_card_list接口获取。device_id输入int芯片ID通过dcmi_get_device_id_in_card接口获取。取值范围如下NPU芯片[0, device_id_max-1]。说明device_id_max值为1当device_id为0时表示NPU芯片当device_id为1时表示MCU芯片。sensor_id输入enum dcmi_manager_sensor_idenum dcmi_manager_sensor_id {DCMI_CLUSTER_TEMP_ID 0,DCMI_PERI_TEMP_ID 1,DCMI_AICORE0_TEMP_ID,DCMI_AICORE1_TEMP_ID,DCMI_AICORE_LIMIT_ID,DCMI_AICORE_TOTAL_PER_ID,DCMI_AICORE_ELIM_PER_ID,DCMI_AICORE_BASE_FREQ_ID,DCMI_NPU_DDR_FREQ_ID,DCMI_THERMAL_THRESHOLD_ID,DCMI_NTC_TEMP_ID,DCMI_SOC_TEMP_ID,DCMI_FP_TEMP_ID,DCMI_N_DIE_TEMP_ID,DCMI_HBM_TEMP_ID,DCMI_SENSOR_INVALID_ID 255};指定传感器索引具体如下值0DCMI_CLUSTER_TEMP_ID表示CLUSTER温度返回值对应输出联合体中的uchar成员1DCMI_PERI_TEMP_ID表示PERI温度返回值对应输出联合体中的uchar成员2DCMI_AICORE0_TEMP_ID表示AICORE0温度返回值对应输出联合体中的uchar成员3DCMI_AICORE1_TEMP_ID表示AICORE1温度返回值对应输出联合体中的uchar成员4DCMI_AICORE_LIMIT_IDAICORE限核状态返回结果是0不限核返回结果是1返回值对应输出联合体中的uchar成员5DCMI_AICORE_TOTAL_PER_ID表示AICORE脉冲总周期返回值对应输出联合体中的uchar成员6DCMI_AICORE_ELIM_PER_ID表示AICORE可消除周期返回值对应输出联合体中的uchar成员7DCMI_AICORE_BASE_FREQ_ID表示AICORE基准频率MHz返回值对应输出联合体中的ushort成员8DCMI_NPU_DDR_FREQ_ID表示DDR频率单位MHz返回值对应输出联合体中的ushort成员9DCMI_THERMAL_THRESHOLD_ID返回值对应输出联合体中的temp[2]成员temp[0]为温饱限频温度temp[1]为系统复位温度10DCMI_NTC_TEMP_ID返回值对应输出联合体中的ntc_tmp[4]成员ntc_tmp[0] ntc_tmp[1] ntc_tmp[2] ntc_tmp[3]分别对应四个热敏电阻温度。11DCMI_SOC_TEMP_ID表示SOC最高温返回值对应输出联合体中的uchar成员12DCMI_FP_TEMP_ID表示光模块最高温度返回值对应输出联合体中的signed int iint成员13DCMI_N_DIE_TEMP_ID表示N_DIE温度返回值对应输出联合体中的signed int iint成员14DCMI_HBM_TEMP_ID表示片上内存最高温度返回值对应输出联合体中的signed int iint成员。该场景支持11~14。说明DCMI_FP_TEMP_ID:不插光模块时会返回-8008。若插入光模块时显示正常温度。若插入铜缆时不支持温度查询返回0x7EFF。sensor_info输出union dcmi_sensor_info *返回传感器结构体信息union dcmi_sensor_info {unsigned char uchar;unsigned short ushort;unsigned int uint;signed int iint;signed char temp[DCMI_SENSOR_TEMP_LEN];signed int ntc_tmp[DCMI_SENSOR_NTC_TEMP_LEN];unsigned int data[DCMI_SENSOR_DATA_MAX_LEN];};返回值说明类型描述int处理结果成功返回0。失败返回码请参见return_codes。异常处理无。约束说明表 1不同部署场景下的支持情况产品形态物理机场景裸机root用户物理机场景裸机运行用户组非root用户物理机普通容器场景root用户Atlas 900 A2 PoD 集群基础单元YYYAtlas 800T A2 训练服务器YYYAtlas 800I A2 推理服务器YYYAtlas 200T A2 Box16 异构子框YYYA200I A2 Box 异构组件YYYAtlas 300I A2 推理卡YYYAtlas 300T A2 训练卡YYY注Y表示支持N表示不支持NA表示不涉及当前未规划此场景。调用示例… int ret 0; int card_id 0; int device_id 0; enum dcmi_manager_sensor_id sensor_id DCMI_CLUSTER_TEMP_ID; union dcmi_sensor_info sensor_info {0}; ret dcmi_get_device_sensor_info(card_id, device_id, sensor_id, sensor_info); if (ret ! 0){ //todo记录日志 return ret; } …【免费下载链接】driver本项目是CANN提供的驱动模块实现基础驱动和资源管理及调度等功能使能昇腾芯片。项目地址: https://gitcode.com/cann/driver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考