在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于EsDA MPC-ZC1 快速實現I2C 監控報警

ZLG致遠電子 ? 2023-08-23 15:16 ? 次閱讀

本文介紹如何通過EsDA開發套件,快速完成一個I2C采集數據的監控報警系統,通過該系統可以減少I2C設備的故障損失和維修成本。

079d14c2-4185-11ee-8e12-92fbcf53809c.jpg ?簡介

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

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

設置過溫值和低溫值;

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

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

該實驗主要用到timer、fscript、i2c_master_read、i2c_master_write和log節點,具體實現請見下文。


07a45426-4185-11ee-8e12-92fbcf53809c.jpg ?模擬恒溫箱業務邏輯

1. 設置過溫值和低溫值

自TPS02RAH從機設備中讀取到的實時溫度>過溫值,則說明需要減緩加熱功率;自TPS02RAH從機設備中讀取到的實時溫度

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

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

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

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

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

1.1添加節點并連線

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

07ae58c2-4185-11ee-8e12-92fbcf53809c.png1.2 配置節點

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

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

設置Tlow寄存器(0x02)如下:

print(msg.payload)
wb = wbuffer_create()wbuffer_write_uint8(wb,0x05)wbuffer_write_uint8(wb,0xA0)wbuffer_write_uint8(wb,0x00)wbuffer_write_uint8(wb,0x7F)wbuffer_write_uint8(wb,0xFF)wbuffer_write_uint8(wb,0xFA)
output.payload = wbuffer_get_data(wb)output.payloadLength = 6output.subAddress = 0x02

設置Thigh寄存器(0x03)如下:

print(msg.payload)
wb = wbuffer_create()wbuffer_write_uint8(wb,0x06)wbuffer_write_uint8(wb,0x40)wbuffer_write_uint8(wb,0x00)wbuffer_write_uint8(wb,0x7F)wbuffer_write_uint8(wb,0xFF)wbuffer_write_uint8(wb,0xFA)
output.payload = wbuffer_get_data(wb)output.payloadLength = 6output.subAddress = 0x03

雙擊i2c_master_write節點,打開屬性面板根據TPS02RAH數據手冊設置如下圖所示,并點擊I2C主機配置的鉛筆圖標去設置I2C主機設備路徑名和時鐘頻率。

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

07bdd8b0-4185-11ee-8e12-92fbcf53809c.png配置I2C從機設備寄存器Thigh?寄存器(0x03)如下:

07ce706c-4185-11ee-8e12-92fbcf53809c.png

2. 配置報警模式根據TPS02RAH的數據手冊可知,報警模式需要在configurature寄存器中進行設置。后讀取configurature寄存器的ALERT報警狀態位來報警。本實驗需要使能通道1 的配置,且需要連續測試的溫度值有2個均大于Thigh或者均小于Tlow的情況下才能報警置位(防止溫度不穩定,忽高忽低頻繁假報警)。

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

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

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

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

2.1添加節點并連線

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

07e0c758-4185-11ee-8e12-92fbcf53809c.png

2.2配置節點

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

雙擊i2c_master_write的輸入節點fscript,因需要使用通道1 且根據數據手冊可知:因不支持待機模式所以SD置0;報警信號輸出TM為0比較模式;報警引腳輸出信號狀態控制POL為0;因本實驗采取的PT100精度頗高響應超快所以當在過溫或低溫狀態下,觸發 ALERT 輸出信號的溫度值測試個數為2,所以F1置0,F0置1;通道1 的EN置0,使能配置;所以讀取configurature寄存器的ALERT報警狀態位時,初始狀態為高,當高于Thigh超溫時,則ALERT報警狀態為0,當低于Tlow超溫時,則ALERT報警狀態為1。

print(msg.payload)
wb = wbuffer_create()wbuffer_write_uint8(wb,0x28)wbuffer_write_uint8(wb,0xb8)

output.payload = wbuffer_get_data(wb)output.payloadLength = 2output.subAddress = 0x01

雙擊i2c_master_write節點,打開屬性面板根據TPS02RAH數據手冊設置如下圖所示,并點擊I2C主機配置的鉛筆圖標去設置I2C主機設備路徑名和時鐘頻率。

07f35526-4185-11ee-8e12-92fbcf53809c.png

3. 讀取報警狀態

根據數據手冊以及2.2的操作可知,除去初始狀態,configurature寄存器的ALERT報警狀態變為0時為超溫狀態;configurature寄存器的ALERT報警狀態變為1時為低溫狀態。

本次實現需要用到 timer,fscript, i2c_master_read, fscript, log 這些節點:

  • timer: timer節點用于定時觸發I2C節點讀取數據;
  • fscript:根據TPS02設備的數據手冊可知,設置configurature寄存器共兩個字節。分別代表兩個通道,第一個字節配置通道 1,第二個字節配置通道2。本實驗使用的是通道1。并將讀取出來的ALERT報警狀態提取出來;
  • i2c_master_read:主要用于向從機設備的configurature寄存器讀取ALERT報警狀態;
  • log:將報警狀態打印顯示。

3.1添加節點并連線

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

0801b030-4185-11ee-8e12-92fbcf53809c.png

3.2配置節點

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

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

0815e9a6-4185-11ee-8e12-92fbcf53809c.png雙擊i2c_master_read節點,打開屬性面板根據TPS02RAH數據手冊設置如下圖所示,并點擊I2C主機配置的鉛筆圖標去設置I2C主機設備路徑名和時鐘頻率。08212cf8-4185-11ee-8e12-92fbcf53809c.png

雙擊i2c_master_read的消費者節點fscript,將通道1 的ALERT報警狀態從讀取到的兩個字節的configurature寄存器數據提取出來。

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

Initialize:

stat = 1;

Function:

//將讀取的6個uint8_t類型的數據打印rb = rbuffer_create(msg.payload, msg.payloadLength)print("length: "+ msg.payloadLength)
for(var i=0; i1) { d = rbuffer_read_uint8(rb); if(i == 0){ msg.channel1 = (d>>6) & 0x01; } msg.channel2 = (d>>6) & 0x01;}
if(stat != msg.channel1) { stat = msg.channel1; if(stat == 0) { //通道1 從1-->0,超溫報警 print("high temp error!\n"); } else if(stat == 1) { //通道1 從0--->1,低溫報警 print("low temp error!\n"); }}


07a45426-4185-11ee-8e12-92fbcf53809c.jpg ?模擬恒溫箱業務實現本模擬實驗在高溫報警時采取遠離熱水源的形式來達到減少加熱功率的操作;在低溫報警時采取靠近熱水源的形式來達到增大加熱功率的操作,來實現模擬恒溫箱。并結合EsDA MPC-ZC1快速實現I2C采集監測實驗來實時讀取PT100的溫度值。0834cb00-4185-11ee-8e12-92fbcf53809c.png實物接線圖如下:

0849bdda-4185-11ee-8e12-92fbcf53809c.jpg

因讀取溫度傳感器的數據處理比報警機制處理邏輯要稍靠后一點,顯示報警狀態后就立馬采取了相應的減緩功率措施或增加功率措施。所以下圖大部分只截圖到正常的溫度顯示和報警打印顯示,而沒有具體的超溫/低溫溫度顯示。實驗結果如下:086337f6-4185-11ee-8e12-92fbcf53809c.png

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

087145e4-4185-11ee-8e12-92fbcf53809c.png讀取configurature寄存器的ALERT報警狀態位可知此時是高溫報警,此時需要減緩功率。088317ce-4185-11ee-8e12-92fbcf53809c.png讀取configurature寄存器的ALERT報警狀態位可知此時是低溫報警,此時需要增加功率。0891578a-4185-11ee-8e12-92fbcf53809c.png實驗結果:通過報警機制可保持45℃恒溫,上下5℃波動。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發
    +關注

    關注

    0

    文章

    373

    瀏覽量

    41372
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1537

    瀏覽量

    127131
  • ESDA
    +關注

    關注

    0

    文章

    28

    瀏覽量

    7734
  • MPC
    MPC
    +關注

    關注

    2

    文章

    36

    瀏覽量

    21439
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    I2C總線復用

    帝晶智慧屏I2C總線復用
    的頭像 發表于 03-11 17:20 ?1322次閱讀

    I2C總線通信原理 如何設計I2C總線電路

    I2C總線通信原理 I2C(Inter-Integrated Circuit)總線是一種用于集成電路之間進行通信的串行通信協議。它最早由飛利浦公司(現被恩智浦電子收購)于1982年推出,是一種簡單
    的頭像 發表于 01-31 15:01 ?942次閱讀

    I2C總線在物聯網中的重要性

    聯網的快速發展中,I2C總線作為一種串行通信協議,扮演著至關重要的角色。 I2C總線簡介 I2C(Inter-Integrated Circuit)總線,也稱為
    的頭像 發表于 01-17 16:24 ?535次閱讀

    I2C總線的優缺點分析

    I2C總線作為一種廣泛使用的串行通信協議,以其簡單性和高效性在嵌入式系統中占據著重要地位。 I2C總線的優點 1. 簡單性和低成本 I2C總線只需要兩條線(數據線SDA和時鐘線SCL)
    的頭像 發表于 01-17 15:50 ?998次閱讀

    I2C總線與Arduino的接口示例

    在現代電子設計中,I2C總線因其簡單性和靈活性而廣受歡迎。它允許多個設備共享同一通信線路,從而節省空間和成本。Arduino,作為一個多功能的微控制器平臺,自然也支持I2C通信。 I2C總線
    的頭像 發表于 01-17 15:34 ?1417次閱讀

    I2C總線協議詳細解析

    1. I2C總線簡介 I2C總線由Philips Semiconductor(現為NXP Semiconductors)在1980年代初期開發。它是一種多主機總線,允許多個設備共享同一總線。I
    的頭像 發表于 01-17 15:22 ?785次閱讀

    I2C總線故障排除技巧

    導致整個系統的功能受到影響。 1. 檢查硬件連接 1.1 確認電源和接地 首先,確保I2C設備的電源和接地連接正確無誤。不良的電源或接地連接可能導致信號不穩定,從而引發通信錯誤。 1.2 檢查總線線纜 檢查SDA和SCL線是否正確連接,并且沒有損壞。在長距離傳
    的頭像 發表于 01-17 15:20 ?1993次閱讀

    I2C總線應用實例分析

    在現代電子系統中,I2C總線因其簡單、靈活和高效的特點而被廣泛應用于各種設備之間的通信。 I2C總線概述 I2C總線由Philips(現為NXP)在1980年代初期開發,最初用于音頻和視頻設備
    的頭像 發表于 01-17 15:09 ?644次閱讀

    RISC V的I2C操作

    函數功能,除了必須通過I2C主設備實現的功能:發送start和stop之外,函數本身并沒有主從之分;當需要RISC V中的I2C做從設備時,只需監控總線狀態(如是否接收到有效的數據等)
    的頭像 發表于 11-01 11:06 ?636次閱讀

    了解I2C總線

    電子發燒友網站提供《了解I2C總線.pdf》資料免費下載
    發表于 10-08 11:13 ?2次下載
    了解<b class='flag-5'>I2C</b>總線

    TAS5421-Q1和TAS5411-Q1 I2C應用說明

    電子發燒友網站提供《TAS5421-Q1和TAS5411-Q1 I2C應用說明.pdf》資料免費下載
    發表于 09-26 10:35 ?0次下載
    TAS5421-Q<b class='flag-5'>1</b>和TAS5411-Q<b class='flag-5'>1</b> <b class='flag-5'>I2C</b>應用說明

    I2C基本指南

    電子發燒友網站提供《I2C基本指南.pdf》資料免費下載
    發表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

    具有熱插拔功能和IEC ESD功能的隔離式I2C緩沖器如何改進隔離式I2C

    電子發燒友網站提供《具有熱插拔功能和IEC ESD功能的隔離式I2C緩沖器如何改進隔離式I2C.pdf》資料免費下載
    發表于 09-07 09:58 ?0次下載
    具有熱插拔功能和IEC <b class='flag-5'>ESD</b>功能的隔離式<b class='flag-5'>I2C</b>緩沖器如何改進隔離式<b class='flag-5'>I2C</b>

    簡單認識I2C通信協議

    I2C(Inter-Integrated Circuit)通信協議是由飛利浦公司(現為恩智浦半導體)開發的一種簡單、雙向二線制同步串行總線協議。自1982年發布以來,I2C協議因其高效、靈活和易于實現的特點,在電子設備間的數據交
    的頭像 發表于 07-25 18:06 ?2413次閱讀

    TCA8418E I2C控制鍵盤掃描IC,帶集成ESD保護數據表

    電子發燒友網站提供《TCA8418E I2C控制鍵盤掃描IC,帶集成ESD保護數據表.pdf》資料免費下載
    發表于 06-27 09:58 ?0次下載
    TCA8418E <b class='flag-5'>I2C</b>控制鍵盤掃描IC,帶集成<b class='flag-5'>ESD</b>保護數據表
    主站蜘蛛池模板: 一级毛片看真人在线视频 | 种子天堂 | 777国产精品永久免费观看 | 香淫| 国产精品乳摇在线播放 | 日韩欧美卡一卡二卡新区 | 一级一级毛片免费播放 | 夜夜做夜夜爽 | 美女三级网站 | 欧美一级特黄高清免费 | 免费观看黄a一级视频 | 色综合88| 加勒比一区二区三区 | 欧美人与zoxxxx另类 | 天天爽夜夜爽人人爽 | 饥渴少妇videos| 国模私拍视频在线观看 | 免费国产不卡午夜福在线观看 | 韩国免费特一级毛片 | 亚洲精品午夜久久aaa级久久久 | 人人玩人人添天天爽 | 天天拍拍天天爽免费视频 | 亚洲 欧美 动漫 | 69日本xxxxxxxxx13| 你懂得网址在线观看 | 伊人网网| 操狠狠 | 天天做天天爱天天影视综合 | 国产稀缺精品盗摄盗拍 | 欧美女同网站 | 色中色综合 | 欧美特黄一免在线观看 | 色中射| 日本加勒比在线视频 | 久久久国产高清 | 免费在线看视频 | 天堂视频在线观看 | 天堂中文在线观看 | 91在线网址 | 日本四虎影院 | 伊人久久综合成人网小说 |