首頁 區(qū)塊鏈 > 正文

【EsDA應用】基于EsDAMPC-ZC1快速實現I2C監(jiān)控報警

本文基于前文的一篇I2C博客文章繼續(xù)拓展I2C實時采集后的監(jiān)控報警實驗,PT100溫度傳感器的溫度采集和讀取顯示不在本文贅述,具體詳細的操作步驟可在《EsDA MPC-ZC1 快速實現I2C采集監(jiān)控》文章中查看。

實驗基于EsDA開發(fā)平臺,MPC_ZC1作為I2C主機設備,TPS02測溫模塊作為從機設備。因本實驗器材是高精度儀器,但實驗環(huán)境有限所以溫度波動范圍較大,所以本實驗通過報警機制模擬恒溫箱(恒溫45℃,誤差±5℃)的實驗場景。設計步驟如下:

設置過溫值和低溫值;


(資料圖)

配置TPS02測溫模塊configurature寄存器的工作模式;

讀取TPS02測溫模塊configurature寄存器的ALERT報警狀態(tài)位,過溫和低溫時做相應的操作。

自TPS02RAH從機設備中讀取到的實時溫度>過溫值,則說明需要減緩加熱功率;自TPS02RAH從機設備中讀取到的實時溫度<過溫值,則說明需要增大加熱功率。通過以上邏輯去設置模擬恒溫箱的過溫值和低溫值。

本次實現需要用到 timer,fscript, i2c_master_write 這些節(jié)點:

timer:timer節(jié)點用于觸發(fā)I2C節(jié)點寫入值,因過溫值和低溫值不需要頻繁被設置所以timer的定時周期設置大一點;

fscript:根據TPS02設備的數據手冊可知,設置溫度的上、下限值,都是6個字節(jié),前三個字節(jié)對應通道1的上、下限值,后三個字節(jié)對應通道2的上、下限值。

i2c_master_write:主要用于向從機設備的Thigh寄存器寫溫度上限值,Tlow寄存器寫溫度下限值。

本實驗采用的是通道1 ,上限值是50℃(0x06 4000),下限值是45℃(0x05 A000)。

timer節(jié)點觸發(fā)通過I2C向TPS02RAH設備的Thigh寄存器和Tlow寄存器寫入過溫值和低溫值,將timer,fscript,i2c_master_write節(jié)點加入到畫布中,并繪制連線。

雙擊timer節(jié)點,打開屬性面板設置定時周期(ms),觸發(fā)i2c_master_write節(jié)點寫入溫度上、下限值。

雙擊i2c_master_write的輸入節(jié)點fscript,并查看TPS02RAH測溫模塊的數據手冊。得知TPS02RAH的Thigh寄存器有6個字節(jié)是設置溫度的上限值,測溫模塊有兩個通道,所以前三個字節(jié)設置通道1的溫度上限值,后三個字節(jié)設置通道2 的溫度上限值;而Tlow寄存器有6個字節(jié)是設置溫度的下限值,同樣,前三個字節(jié)設置通道1的溫度下限值,后三個字節(jié)設置通道2的溫度下限值。

配置I2C從機設備寄存器Tlow寄存器(0x02)如下:

本次實現需要用到 timer,fscript, i2c_master_write 這些節(jié)點:

timer: timer節(jié)點用于觸發(fā)I2C節(jié)點寫入值,因報警模式不需要頻繁被設置所以timer的定時周期設置大一點;

fscript:根據TPS02設備的數據手冊可知,設置configurature寄存器共兩個字節(jié)。分別代表兩個通道,第一個字節(jié)配置通道 1,第二個字節(jié)配置通道2。本實驗使用的是通道1;

i2c_master_write:主要用于向從機設備的configurature寄存器寫工作模式。

timer節(jié)點觸發(fā)通過I2C向TPS02RAH設備的configurature寄存器寫入報警模式,將timer,fscript,i2c_master_write節(jié)點加入到畫布中,并繪制連線。

雙擊timer節(jié)點,打開屬性面板設置定時周期(ms),觸發(fā)i2c_master_write節(jié)點寫入報警模式。

根據數據手冊以及2.2的操作可知,除去初始狀態(tài),configurature寄存器的ALERT報警狀態(tài)變?yōu)?時為超溫狀態(tài);configurature寄存器的ALERT報警狀態(tài)變?yōu)?時為低溫狀態(tài)。

timer節(jié)點定時觸發(fā)通過I2C向TPS02RAH設備的configurature寄存器讀取報警模式,將timer,fscript,i2c_master_read,log節(jié)點加入到畫布中,并繪制連線。

雙擊timer節(jié)點,打開屬性面板設置定時周期(ms),觸發(fā)i2c_master_read節(jié)點讀取報警模式。

雙擊i2c_master_read的輸入節(jié)點fscript,并查看數據手冊。將configurature寄存器的兩個字節(jié)讀取出來。

因stat是ALERT報警狀態(tài)位的賦值,由數據手冊可知,當報警信號輸出TM為0比較模式,報警引腳輸出信號狀態(tài)控制POL為0時,ALERT報警狀態(tài)位的賦值stat的初始值是1。因為只需初始化一次所以將stat變量放在Initialize中進行初始化:

Function:

讀取configurature寄存器的ALERT報警狀態(tài)位可知此時是低溫報警,此時需要增加功率。

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網 - www.zzkede.cn All rights reserved
聯系我們:39 60 29 14 2@qq.com
皖ICP備2022009963號-3