色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

【產品應用】基于 EsDA MPC-ZC1 快速實現 I2C采集監測

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-05-31 18:05 ? 次閱讀

EsDA開發平臺為產品上線提供動力。本文將基于EsDA開發平臺,通過拖拽、連線方式,10分鐘快速搭建一個I2C數據采集監測業務,為客戶產品開發、部署、上線縮短周期。

1a7b00ae-ff9a-11ed-90ce-dac502259ad0.jpg??簡介

I2C 是一種串行通信總線,只需SCK、SDA兩根雙向I/O線即可在連接到總線上的設備之間傳送信息。因其所需引腳少,可擴展性強,數據傳輸速率快等,所以現被廣泛使用于IC間的通訊。在各種嵌入式應用場景中,使用I2C總線通信的傳感器也有很多。比如 eeprom、溫濕度傳感器、流量傳感器、壓力傳感器等。

EsDA 平臺在使用I2C總線通信時只需要通過拖拽節點、連線繪制流圖,即可實現從I2C從機讀取數據,大大的簡化了開發流程,縮短了項目開發周期,為客戶產品搶占市場提供先機。

本文基于EsDA開發平臺,MPC_ZC1作為I2C主機設備,定時從TPS02RAH從機設備中去讀取溫度寄存器的值,并將采集到的溫度值上傳到ZWS云端,實現溫度實時監控功能,該實驗主要用了到timer、fscript、i2c_master_read、log和zws節點,具體實現請見下文。

1a84ef2e-ff9a-11ed-90ce-dac502259ad0.jpgI2C相關節點介紹

I2C外設共有3個幾點,分別是i2c_master、i2c_master_read和i2c_master_write節點。i2c_master節點主要用來配置I2C的設備名稱以及設備參數,i2c_master_read節點主要用于讀取從機設備的數據,i2c_master_write節點主要用于向從機設備寫入數據。

1. i2c_master_write節點

I2C主機向從機設備寫數據,可配置從機相關的設備信息和通信參數。

1.1 屬性

1a91fba6-ff9a-11ed-90ce-dac502259ad0.png

  • 名稱(name):節點名稱,用于索引查找本節點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 主機配置(i2c master config):綁定一個I2C主機的配置節點;
  • 從機地址(Slave address):從機設備的地址;
  • 地址位數(address bits):從機的地址位數,由于7位尋址和10位尋址是兼容的所以可以在同一個I2C總線上同時使用7位和10位兩種不同模式的設備,可配為7位(7 bits);10位(10 bits);
  • 是否忽略從機應答(whether to ignore the slave ack signal):可配:忽略從機應答(ignore);不忽略從機應答(do not ignore);
  • 從機設備寄存器地址位寬(SubAddressBitWidth):可配:do not set sub-address表示不設置從機的寄存器地址寬度;1 bytes sub-address表示從機具有1字節(8位)的寄存器地址寬度;2 bytes sub-address表示從機具有2字節(16位)的寄存器地址寬度;4 bytes sub-address表示從機具有4字節(32位)的寄存器地址寬度;
  • 從機設備寄存器地址(SubAddress):從機設備子地址(寄存器地址)。注意從機設備寄存器地址位寬為0則不能設置從機子地址。
1.2輸入
  • payload :輸入數據流,存放需要寫入的數據。此節點接收如下類型的數據:binary type(二進制類型); wbuffer object type(指針類型); string type(字符串類型);

  • payloadLength :需要寫入的數據長度,單位字節;

  • subAddress :從機設備子地址(寄存器地址)。注意從機設備寄存器地址位寬為0則不能設置從機子地址。

1.3輸出

sink類型節點一般并不具備數據輸出。

2.i2c_master_read節點

I2C主機向從機設備中讀數據:對從機的設備地址等進行輸入/配置,最后將從機中讀取到數據和長度等信息進行輸出。

2.1 屬性

1aa0d3b0-ff9a-11ed-90ce-dac502259ad0.png

  • 名稱(name):節點名稱,用于索引查找本節點;

  • 顯示名稱(displayName):用于畫布上顯示的名稱;

  • 主機配置(i2c master config):綁定一個I2C主機的配置節點;

  • 從機地址(Slave address):從機設備的地址;

  • 地址位數(address bits):從機的地址位數,可配為7位(7 bits);10位(10 bits);

  • 是否忽略從機應答(whether to ignore the slave ack signal):可配:忽略從機應答(ignore);不忽略從機應答(do not ignore);

  • 是否發送應答(whether send nak):當主機讀取數據時主機是否發送給從機的應答ACK信號; do not send表示不發送主機ACK信號; send表示發送主機的ACK信號;

  • 從機設備寄存器地址位寬(SubAddressBitWidth):可配:do not set sub-address表示不設置從機的寄存器地址寬度;1 bytes sub-address表示從機具有1字節(8位)的寄存器地址寬度;2 bytes sub-address表示從機具有2字節(16位)的寄存器地址寬度;4 bytes sub-address表示從機具有4字節(32位)的寄存器地址寬度;

  • 從機設備寄存器地址(SubAddress):從機設備子地址(寄存器地址)。注意從機設備寄存器地址位寬為0則不能設置從機子地址。

2.2輸入
  • Length :讀的數據長度,單位字節;

  • subAddress :從機設備子地址(寄存器地址)。注意從機設備寄存器地址位寬為0則不能設置從機子地址;

2.3輸出
  • payload :讀緩沖區,用于存放接受讀取到的數據,類型pointer.如果下一個節點為fscript,則可以使用rbuffer讀取數據;

  • payloadLength :讀的數據長度,單位字節;

  • subAddress :從機設備子地址(寄存器地址)。注意從機設備寄存器地址位寬為0則沒有從機子地址。

3.i2c_master配置節點

I2C主機的通用配置。

3.1 屬性

1aae364a-ff9a-11ed-90ce-dac502259ad0.png

  • 名稱(name):節點名稱,用于索引查找本節點,在某些aw_flow_designer的版本被隱藏起來了,只能通過點擊i2c_master_read和i2c_master_write這兩個節點主機配置去顯現;

  • 顯示名稱(displayName):用于畫布上顯示的名稱;

  • 設備名(Devname):I2C主機設備路徑名;

  • 時鐘頻率(clock frequency):I2C設備的SCK時鐘頻率。

3.2輸入

config配置節點一般不具備數據輸入。

3.3輸出

config配置節點一般不具備數據輸出。

1a84ef2e-ff9a-11ed-90ce-dac502259ad0.jpg業務開發

1. 采集PT100的實時溫度

MPC_ZC1作為I2C主機設備,定時從TPS02RAH從機設備中去讀取溫度寄存器的值,并將采集到的溫度值上傳到ZWS云端,實現溫度實時監控。

該實驗主要用到timer、fscript、i2c_master_read、log和zws節點:

  • timer:timer節點用于定時觸發采集PT100的溫度;
  • i2c_master_read:i2c_master_read節點主要用于從從機設備讀取數據;
  • fscript:fscript節點主要用于對TPS02RAH從機設備讀取的數據進行轉換處理
  • 和對i2c_master_read節點進行輸入配置(配置要讀取的字節長度);
  • log:log對采集到的溫度值進行打印顯示;
  • zws:zws節點將fscript節點輸出溫度值上報到zws云端。
1.1添加節點并連線周期性的去讀取I2C從機TPS02RAH設備溫度寄存器的值,將timer,fscript,i2c_master_read,log節點添加到畫布中,并連線繪圖。1ac3cdc0-ff9a-11ed-90ce-dac502259ad0.png1.2配置節點雙擊timer節點,打開屬性面板設置定時周期(ms),周期性的去讀取TPS02的溫度值。雙擊i2c_master_read的輸入節點fscript,并查看TPS02RAH溫度傳感器的數據手冊。得知TPS02RAH溫度寄存器的值有6個字節,且數據傳輸順序:先傳輸高字節后傳輸低字節,可知前3個字節存儲通道1的溫度測試結果,后3個字節存儲通道2的溫度測試結果。所以i2c_master_read節點的輸入:fscript需讀取兩個通道6個字節的數據。其他的參數可在i2c_master_read節點的屬性中配置。1ad9285a-ff9a-11ed-90ce-dac502259ad0.png雙擊i2c_master_read節點,打開屬性面板根據TPS02RAH的數據手冊設置如下圖所示,并點擊I2C主機配置的鉛筆圖標去設置I2C主機設備路徑名和時鐘頻率。1ae0d622-ff9a-11ed-90ce-dac502259ad0.png雙擊i2c_master_read的輸出消費者節點fscript,將讀取到溫度寄存器的兩個通道溫度根據下面的溫度轉換公式將溫度輸出并打印到log中。TPS02ARH的溫度轉換公式:兩通道六字節數據,前三位字節數據對應通道 1,后三位字節數據對應通道 2,操作方法一樣,取通道一數據分析如下:1af081da-ff9a-11ed-90ce-dac502259ad0.png當 value≥223時,即當前測量溫度為負溫度值:1b0618ec-ff9a-11ed-90ce-dac502259ad0.png

當 value<223時, 即當前測量溫度為正溫度值:

1b1d09a8-ff9a-11ed-90ce-dac502259ad0.png

i2c_master_read的輸出消費者節點fscript的內容如下:

//將讀取的6個uint8_t類型的數據打印
rb = rbuffer_create(msg.payload, msg.payloadLength)


temperature1 = 0 //通道1的溫度
temperature2 = 0 //通道2的溫度
for (var i = 0; i < msg.payloadLength; i = i+1) {
    d = rbuffer_read_uint8(rb);
    if(i > 2){
        temperature2 = temperature2 + (u32(d)<<(8*(5-i)));
    }
     temperature1 = temperature1 + (u32(d)<<(8*(2-i)));
}
if (temperature1 < 8388608) {//temperature<2^23正溫度
    msg.temperature1 = temperature1/8192
} else {//負溫度
    msg.temperature1 = -(16777216 - temperature1)/8192
}
if (temperature2 < 8388608) {
    msg.temperature2 = temperature2/8192
} else {//負溫度
    msg.temperature2 = -(16777216 - temperature2)/8192
}
msg.payload = join(",","channel 1:",msg.temperature1,"channel 2:",msg.temperature2)


print(msg.payload)

1.3下載驗證

選擇流圖下載接口,并點擊運行按鈕。

1b391ab2-ff9a-11ed-90ce-dac502259ad0.png

完成流圖下載,根據實物連線可知PT100連接的是通道1,隨著手捂探頭,可以看到channel 1(通道1)的溫度從27.67上升到30.23,因為channel 2(通道2)沒有接PT100的探頭所以數值保持850不變。

1b49033c-ff9a-11ed-90ce-dac502259ad0.jpg

1b52c4b2-ff9a-11ed-90ce-dac502259ad0.png

1b5d1728-ff9a-11ed-90ce-dac502259ad0.png

1.4接入zws云端

登錄:https://www.zlgcloud.com/按照EsDA MPC-ZC1應用:IoT監測控制系統(一)這篇文章中接入云端方法的介紹,在ZWS云端上為MPC-ZC1添加新的數據點,如下圖所示:添加通道1 的溫度顯示:

1b6ad6e2-ff9a-11ed-90ce-dac502259ad0.png

添加通道2 的溫度顯示:

1b79dca0-ff9a-11ed-90ce-dac502259ad0.png

在AW_FLOW Designer畫布中添加zws_iot_data_out節點并連線。

1b8837a0-ff9a-11ed-90ce-dac502259ad0.png

輸入對應的三元組信息并選擇正確的數據上報方式和目標鍵值對。

1b9a1010-ff9a-11ed-90ce-dac502259ad0.png

下載流圖并觀察云端設備列表的實時數據如下圖所示。

1ba8a6ca-ff9a-11ed-90ce-dac502259ad0.png

1a84ef2e-ff9a-11ed-90ce-dac502259ad0.jpg技術交流長按識別如下二維碼可加入“工控板/核心板技術交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。

1bc65b0c-ff9a-11ed-90ce-dac502259ad0.png


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

    關注

    13

    文章

    406

    瀏覽量

    31301

原文標題:【產品應用】基于 EsDA MPC-ZC1 快速實現 I2C采集監測

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RISC V的I2C操作

    。tsuData中,1代表10ns;Timeout中,1表示10nstLow和tHigh的1代表10ns10.1.3 軟件部分(Risc V)l? I2C通信主要包括以下幾個部分:
    的頭像 發表于 11-01 11:06 ?196次閱讀

    了解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>

    CAN轉I2C橋接器

    電子發燒友網站提供《CAN轉I2C橋接器.pdf》資料免費下載
    發表于 08-28 11:10 ?0次下載
    CAN轉<b class='flag-5'>I2C</b>橋接器

    I2C靜電放電防護方案

    100 kbps至5 Mbps。該總線在嵌入式系統設計領域使用廣泛,主要應用于低速外設與處理器、微控制器之間的互連,如溫度傳感器、LCD顯示屏驅動器、數模轉換器等。 由于I2C總線需外接線路以傳輸數據,易受ESD靜電放電等不利因素侵擾,對終端
    的頭像 發表于 08-21 15:34 ?503次閱讀
    <b class='flag-5'>I2C</b>靜電放電防護方案

    簡單認識I2C通信協議

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

    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>保護數據表

    I2C邏輯選型指南

    電子發燒友網站提供《I2C邏輯選型指南.pdf》資料免費下載
    發表于 06-20 16:20 ?2次下載

    什么是I2C協議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現的一個問題就是死鎖 ,死鎖在I2C中主要表現為:I2C死鎖時表現為SCL為高,SDA一直為低。
    發表于 03-12 09:17 ?1051次閱讀
    什么是<b class='flag-5'>I2C</b>協議 <b class='flag-5'>I2C</b>總線的控制邏輯

    如何為TC334LP32F200FAAKXUMA1實現I2C

    嗨, 我正在使用 TC334LP32F200FAAKXUMA1 微控制器。 如何為該控制器實現 I2C? 由于沒有物理 I2C 硬件,我們能否實現
    發表于 03-04 07:03

    I2C接口稱重采集單元

    本周帶來的是一款稱重采集變送器單元WeightI2CUnit。該傳感器內部采用”STM32+HX711芯片”的方案,通過I2C通訊方式實現24位精度的重量測量。同時支持并聯多個設備到同
    的頭像 發表于 02-24 08:28 ?443次閱讀
    <b class='flag-5'>I2C</b>接口稱重<b class='flag-5'>采集</b>單元

    GD32 MCU硬件I2C不可靠不如軟件I2C?來看看紅楓派開發版的硬件I2C驅動如何做到穩得一批

    在一個評論中,看到網友對硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩得一批。
    的頭像 發表于 02-23 09:37 ?2781次閱讀
    GD32 MCU硬件<b class='flag-5'>I2C</b>不可靠不如軟件<b class='flag-5'>I2C</b>?來看看紅楓派開發版的硬件<b class='flag-5'>I2C</b>驅動如何做到穩得一批

    ADE7880使用I2C讀取數據,怎么設置I2C快速模式?

    ADE7880使用I2C讀取數據問題,怎么設置I2C快速模式,謝謝。
    發表于 12-26 07:41
    主站蜘蛛池模板: 在线 日韩 欧美 国产 社区| 天天看高清影视在线18| 欧美精品专区第1页| 蜜芽国产在线精品欧美| 欧美日韩一级黄色片| 日韩亚洲欧美中文在线| 窝窝色资源站| 亚洲深夜在线| 97国产在线观看| 岛国电影网址| 国产色精品VR一区二区| 久草在线精彩免费视频| 免费毛片在线播放| 日本高清不卡一区久久精品| 西西人体大胆牲交PP6777| 亚洲精品福利在线| 69SEX久久精品国产麻豆| 大胆国模一区二区三区伊人| 国产一区91| 美女内射视频WWW网站午夜| 日本特黄的免费大片视频| 亚洲AV成人片色在线观看网站| 永久免费精品影视网站| 啊轻点灬大JI巴又大又粗| 国产强奷伦奷片| 毛片大全网站| 午夜AV亚洲一码二中文字幕青青| 伊人角狠狠狠狠| 成人免费观看www视频| 激情办公室| 欧美亚洲韩日午夜| 亚洲成人免费观看| 97影院午夜午夜伦不卡| 国产精品一区二区在线播放| 老阿姨才是最有味的一区二区 | 国产精品久久久久影院嫩草| 久草大| 日韩午夜影院| 曰本老头同性xxxxx| 公和我做好爽添厨房中文字幕| 久久久久伊人|