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

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

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

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

設(shè)置過溫值和低溫值;


(資料圖)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

根據(jù)數(shù)據(jù)手冊以及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設(shè)備的configurature寄存器讀取報警模式,將timer,fscript,i2c_master_read,log節(jié)點加入到畫布中,并繪制連線。

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

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

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

Function:

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

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團隊 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - 670818.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號-3