zynq 7000 獲取CPU片內溫度

2021-10-24 11:47:46 字數 1323 閱讀 7902

xadc是zynq晶元內部進行溫度和電壓檢測的模組,通過(這篇wiki可以知道,xadc控制器有兩種表現形式,一種是位於ps內部,即文件中提到的the ps-xadc inte***ce for the ps software to control the xadc,另一種是位於pl內部,通過ip核的方式實現。目前常用的是第一種。這裡也採用第一種ps自帶的xadc來獲取cpu片內溫度

檢視核心是否支援xadc,勾上config_xilinx_xadc

xilinx xadc driver
檢視dts,檔案為linux-xlnx/arch/arm/boot/dts/zynq-7000.dtsi,可以看到dts已經支援xadc

amba: amba ;
系統起來後在/sys/bus/iio/devices/iio:device0目錄下看到以下資訊

in_temp0_raw 是溫度原始值,要經過轉換,網上查了資料,轉換**如下

#include #include #include #include #include #include #include #include #include #include #include #include #include /**iio獲取溫度原始值檔案**/

#define sys_path_temp_iio_value "/sys/bus/iio/devices/iio:device0/in_temp0_raw"

static const int multiplier = 1 << 12; //4096

int main(int argc, char *ar**)

fseek(stream, seek_set, 0);

fread(buf, sizeof(char), sizeof(buf), stream);

val=atof(buf);

temp_value=((val * 503.975)/multiplier )-273.15;

printf("the cpu temp is %.2f\r\n",temp_value);

fclose(stream);

return 0;

}

編譯之後執行得到正確的片內溫度值

root:~/test/temp# ./temp 

the cpu temp is 74.07

因為沒有加散熱片,可以看到溫度還是比較高的,有74℃了。

ZYNQ7000效能分析

提到自動駕駛,機械人視覺,高畫質攝像機,都要想到攝像頭這個單元,先前本俠也講過一些fpga應用在高畫質攝像頭和機器視覺中的深度攝像頭以及雙目攝像頭等,fpga在裡面的作用主要是對採集的影象進行處理,對影象的處理需要硬體有著很好的並行的效能,那麼它處理速度跟arm的cpu比起來有沒有優勢呢?本俠今天就...

Zynq7000晶元內部介紹

基於arm雙核coretexa9 arm v7架構 高達1ghz 單雙精度浮點單元 neon多 處理引擎 高速緩衝,中斷,dma,定時器,rtc,ent,3個看門狗 快取每個cpu 32kb 1級指令和資料快取 512kb 2級快取 2個cpu共享 支援8位奇偶校驗 片內儲存 片上boot rom ...

Zynq 7000能幹什麼

zynq 7000能幹什麼 1背景知識 2應用概述 2.1汽車 圖1 汽車系統 左 輔助駕駛系統 右 道路標識識別 現在的汽車裡都有大量的電子裝置,從引擎管理到車窗 倒車輔助系統 駕駛員輔助系統 後視鏡和燈光等控制功能,以及導航和資訊娛樂系統都有。先進駕駛輔助系統 advanced driver a...