MLX90640 紅外熱成像儀測溫傳感器模塊開發(fā)筆記(九)EEPROM、 RAM、寄存器說明
河北穩(wěn)控科技MLX90640 紅外熱成像儀測溫傳感器
EEPROM
地址范圍為 0x2400~0x273F,共 832 個字(1664 字節(jié)), 前 16 個字包含了唯一 ID 碼、工作參數(shù)(上電后自動同步到寄存器)、 MLX90640 的 I2C 地址。后面的 816 個字全部是每個像素的校正或者測量參數(shù),數(shù)據(jù)手冊也沒有寫每個數(shù)據(jù)到底是什么意思,直接用就是了,不要問為什么。
RAM
地址范圍為 0x0400~0x073F,共 832 個字(1664 字節(jié)),前 768 個字是實時的 768 像素的測量數(shù)據(jù),后面 64 個字是與當(dāng)前剛剛測量完成的一半像素有關(guān)的計算因數(shù)。 RAM 是只讀的。
寄存器
地址范圍為 0x8000~0x8010,共 16 個字(32 字節(jié)),其中用戶可以訪問的有狀態(tài)寄存器0x8000、控制寄存器 0x800D,改變控制寄存器可以直接控制 MLX90640 的運行行為,是既有讀又有寫的部分。
河北穩(wěn)控科技MLX90640 紅外熱成像儀尺寸
三部分建議的操作
上電后讀取一下 EEPROM,扔給 API 函數(shù) MLX90640_ExtractParameters 得到的參數(shù)項變量。根據(jù)需要修改控制寄存器的值。循環(huán)讀取狀態(tài)寄存器,當(dāng)有新的數(shù)據(jù)測量完成時讀取全部 RAM 扔給 API 函數(shù)MLX90640_CalculateTo 得到每個像素的溫度值。
狀態(tài)寄存器說明
狀態(tài)寄存器從字面來理解應(yīng)該是只讀的,但數(shù)據(jù)手冊里卻定義了一些位是參數(shù)(可修改的),不管寄存器叫什么了,根據(jù)參數(shù)功能來用吧。
STA[15:5]:保留,只能寫入 0STA[4]: RAM 是否可寫, 0:不可寫; 1:可寫。在幀測量完成后,是否允許 MLX90640將測量的數(shù)據(jù)寫入(更新)到 RAM 里,這個功能可以在讀取一幀數(shù)據(jù)的過程中設(shè)置為不允許,即:當(dāng)上位機正在讀取 RAM 的過程中,不允許再更新 RAM。這個位置同時還受控制寄存器中的 bit2 的限制,當(dāng) CTR[2]=0 時,無論這個位置怎樣設(shè)置,都會自動更新 RAM,僅當(dāng) CTR[2]=1時, STA[4]參數(shù)才會起作用。STA[3]:子頁測量完成標(biāo)志位。 0:表示沒有完成; 1 表示已經(jīng)完成了一幀的測量。STA[2:0]:剛剛完成的是幀 0 還是幀 1。
控制寄存器說明
CTR[15:13]:保留,只能寫入 0
CTR[12]:幀交錯模式,默認(rèn)為 1(像素交錯模式),數(shù)據(jù)手冊上說了只有這種模式才能保證精度,那就不要改這一位,保持默認(rèn) 1。
CTR[11:10]:測量精度, 00~11 表示 16 位~19 位,默認(rèn)為 10(18 位)。改成 11 也沒什么效果,所以這個參數(shù)也保持默認(rèn)吧。
CTR[9:7]:設(shè)置測量速率, 0~7 表示 0.5、 1、 2、 4、 8、 16、 32、 64Hz,默認(rèn)為 010(2Hz),這個參數(shù)是唯一有用的參數(shù)。
CTR[6:4]:手動測量時,指定要測量哪個子頁(幀 0 還是幀 1)。數(shù)據(jù)手冊已經(jīng)把手動測量部分刪除了,所以手動測量相關(guān)的參數(shù)可以忽略。
CTR[3]:手動測量還是自動測量,默認(rèn)為 0(自動測量),不要使用手動測量(原因同上)。
CTR[2]:如何更新 RAM。 0:測量完成后自動更新; 1:根據(jù) STA[4]參數(shù)。
CTR[1]:保留,只能寫入 0。
CTR[0]: 0:所有數(shù)據(jù)更新在一頁里; 1:使能子頁模式(頁 0 和頁 1),默認(rèn)
河北穩(wěn)控科技MLX90640 紅外熱成像儀測溫成果展示
審核編輯 黃昊宇
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97375 -
紅外熱成像儀
+關(guān)注
關(guān)注
1文章
111瀏覽量
14898 -
測溫傳感器
+關(guān)注
關(guān)注
0文章
40瀏覽量
7077
發(fā)布評論請先 登錄
相關(guān)推薦
評論