chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

【Z站推薦】基于 EsDA MPC-ZC1 快速實現 I2C采集監(jiān)測

ZLG致遠電子 ? 2022-10-18 10:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

32bcc244-4cc9-11ed-b116-dac502259ad0.jpg ?簡介

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

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

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


32c620dc-4cc9-11ed-b116-dac502259ad0.jpg I2C相關節(jié)點介紹

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

1. i2c_master_write節(jié)點

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

1.1 屬性

32d017b8-4cc9-11ed-b116-dac502259ad0.png

  • 名稱(name):節(jié)點名稱,用于索引查找本節(jié)點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 主機配置(i2c master config):綁定一個I2C主機的配置節(jié)點;
  • 從機地址(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字節(jié)(8位)的寄存器地址寬度;2 bytes sub-address表示從機具有2字節(jié)(16位)的寄存器地址寬度;4 bytes sub-address表示從機具有4字節(jié)(32位)的寄存器地址寬度;
  • 從機設備寄存器地址(SubAddress):從機設備子地址(寄存器地址)。注意從機設備寄存器地址位寬為0則不能設置從機子地址。

1.2輸入

payload :輸入數據流,存放需要寫入的數據。此節(jié)點接收如下類型的數據:binary type(二進制類型); wbuffer object type(指針類型); string type(字符串類型);

payloadLength :需要寫入的數據長度,單位字節(jié);

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

1.3輸出

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

2.i2c_master_read節(jié)點

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

2.1 屬性

32f81204-4cc9-11ed-b116-dac502259ad0.png

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

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

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

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

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

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

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

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

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

2.2輸入

Length :讀的數據長度,單位字節(jié);

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

2.3輸出

payload :讀緩沖區(qū),用于存放接受讀取到的數據,類型pointer.如果下一個節(jié)點為fscript,則可以使用rbuffer讀取數據;

payloadLength :讀的數據長度,單位字節(jié);

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

3.i2c_master配置節(jié)點

I2C主機的通用配置。

3.1 屬性

330028cc-4cc9-11ed-b116-dac502259ad0.png

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

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

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

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

3.2輸入

config配置節(jié)點一般不具備數據輸入。

3.3輸出

config配置節(jié)點一般不具備數據輸出。


32c620dc-4cc9-11ed-b116-dac502259ad0.jpg 業(yè)務開發(fā)

1. 采集PT100的實時溫度

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

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

  • timer:timer節(jié)點用于定時觸發(fā)采集PT100的溫度;
  • i2c_master_read:i2c_master_read節(jié)點主要用于從從機設備讀取數據;
  • fscript:fscript節(jié)點主要用于對TPS02RAH從機設備讀取的數據進行轉換處理
  • 和對i2c_master_read節(jié)點進行輸入配置(配置要讀取的字節(jié)長度);
  • log:log對采集到的溫度值進行打印顯示;
  • zws:zws節(jié)點將fscript節(jié)點輸出溫度值上報到zws云端。

1.1添加節(jié)點并連線周期性的去讀取I2C從機TPS02RAH設備溫度寄存器的值,將timer,fscript,i2c_master_read,log節(jié)點添加到畫布中,并連線繪圖。330c520a-4cc9-11ed-b116-dac502259ad0.png1.2?配置節(jié)點雙擊timer節(jié)點,打開屬性面板設置定時周期(ms),周期性的去讀取TPS02的溫度值。雙擊i2c_master_read的輸入節(jié)點fscript,并查看TPS02RAH溫度傳感器的數據手冊。得知TPS02RAH溫度寄存器的值有6個字節(jié),且數據傳輸順序:先傳輸高字節(jié)后傳輸低字節(jié),可知前3個字節(jié)存儲通道1的溫度測試結果,后3個字節(jié)存儲通道2的溫度測試結果。所以i2c_master_read節(jié)點的輸入:fscript需讀取兩個通道6個字節(jié)的數據。其他的參數可在i2c_master_read節(jié)點的屬性中配置。33171dca-4cc9-11ed-b116-dac502259ad0.png雙擊i2c_master_read節(jié)點,打開屬性面板根據TPS02RAH的數據手冊設置如下圖所示,并點擊I2C主機配置的鉛筆圖標去設置I2C主機設備路徑名和時鐘頻率。331fd564-4cc9-11ed-b116-dac502259ad0.png雙擊i2c_master_read的輸出消費者節(jié)點fscript,將讀取到溫度寄存器的兩個通道溫度根據下面的溫度轉換公式將溫度輸出并打印到log中。TPS02ARH的溫度轉換公式:兩通道六字節(jié)數據,前三位字節(jié)數據對應通道 1,后三位字節(jié)數據對應通道 2,操作方法一樣,取通道一數據分析如下:3329dadc-4cc9-11ed-b116-dac502259ad0.png當 value≥223?時,即當前測量溫度為負溫度值:3334735c-4cc9-11ed-b116-dac502259ad0.png

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

333dc0a6-4cc9-11ed-b116-dac502259ad0.png

i2c_master_read的輸出消費者節(jié)點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下載驗證

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

33507912-4cc9-11ed-b116-dac502259ad0.png

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

33597666-4cc9-11ed-b116-dac502259ad0.jpg

3380777a-4cc9-11ed-b116-dac502259ad0.png

3386712a-4cc9-11ed-b116-dac502259ad0.png

1.4接入zws云端

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

338b4aba-4cc9-11ed-b116-dac502259ad0.png

添加通道2 的溫度顯示:

33b1bc4a-4cc9-11ed-b116-dac502259ad0.png

在AW_FLOW Designer畫布中添加zws_iot_data_out節(jié)點并連線。

33b97dcc-4cc9-11ed-b116-dac502259ad0.png

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

33bef86a-4cc9-11ed-b116-dac502259ad0.png

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

33c83c36-4cc9-11ed-b116-dac502259ad0.png

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

    關注

    2

    文章

    4323

    瀏覽量

    47082
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1555

    瀏覽量

    130940
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ISO1640-Q1:汽車級雙向 I2C 隔離器的卓越之選

    ISO1640-Q1:汽車級雙向 I2C 隔離器的卓越之選 在電子設計領域,對于需要可靠隔離的 I2C 通信場景,德州儀器(TI)的 ISO1640-Q1 汽車級雙向
    的頭像 發(fā)表于 01-21 14:00 ?184次閱讀

    I2C 為什么只要兩根線就能搞定通信?

    到目前為止,我們已經討論了SPI通信和UART通信的基礎知識,現在讓我們討論本系列的最后一個協(xié)議,即集成電路間協(xié)議(I2C)。如果您曾經構建過使用OLED顯示器、氣壓傳感器或陀螺儀/加速度計模塊
    的頭像 發(fā)表于 01-04 09:14 ?1238次閱讀
    <b class='flag-5'>I2C</b> 為什么只要兩根線就能搞定通信?

    基于FPGA的I2C控制模塊設計

    I2C_WRITE_WDATA.v模塊實現I2C寫時序,I2C_Controller (I2C控制器)例化了
    的頭像 發(fā)表于 12-26 09:48 ?3543次閱讀
    基于FPGA的<b class='flag-5'>I2C</b>控制模塊設計

    TCA8418:I2C控制的鍵盤掃描IC深度剖析

    TCA8418:I2C控制的鍵盤掃描IC深度剖析 在電子設備的設計中,鍵盤掃描IC是實現人機交互的關鍵組件之一。德州儀器(TI)的TCA8418就是這樣一款具有卓越性能的I2C控制鍵盤掃描IC,它
    的頭像 發(fā)表于 12-25 09:20 ?216次閱讀

    深入解析TCA9617B:I2C總線中繼器的卓越之選

    TCA9617B是一款雙通道雙向I2C緩沖器,支持標準模式、快速模式(400kHz)和快速模式+(1MHz)的I2
    的頭像 發(fā)表于 12-22 15:20 ?307次閱讀

    AS32X601的I2C模塊操作EEPROM詳解

    。 I2C接口模塊實現I2C協(xié)議的標準模式和快速模式,支持多主機I2C總線架構。其標準模式為100K,
    的頭像 發(fā)表于 12-21 21:39 ?556次閱讀
    AS32X601的<b class='flag-5'>I2C</b>模塊操作EEPROM詳解

    I2C的優(yōu)點介紹

    位)可實現更快的數據傳輸,使其適合中速設備。高速模式(高達每秒 3.4Mbits)可滿足需要設備之間快速數據交換的高性能應用程序的需求。選擇合適的速度模式取決于系統(tǒng)的具體要求。 同步通信: I2C
    發(fā)表于 11-27 07:49

    深入剖析I2C協(xié)議

    ,I2C也是一種可以多主設備,多從設備的總線協(xié)議,通過地址索引,I2C可以使能所需從設備,I2C的出現主要是用來實現不同集成電路組件之間的控制功能,比如通過
    的頭像 發(fā)表于 08-21 15:10 ?3562次閱讀
    深入剖析<b class='flag-5'>I2C</b>協(xié)議

    SPC574s如何使用SPC5Studio自帶的I2C實現I2C通信?

    SPC574s并沒有硬件I2C外設,可以使用SPC5Studio自帶的SW I2C庫來實現,但是由于SPC5Studio軟件資料太少,I2C一直沒有數據,各位有相關的資料嗎?
    發(fā)表于 06-09 06:22

    SPC574s如何使用SPC5Studio自帶的I2C實現I2C通信?

    SPC574s并沒有硬件I2C外設,可以使用SPC5Studio自帶的SW I2C庫來實現,但是由于SPC5Studio軟件資料太少,I2C一直沒有數據,各位有相關的資料嗎?
    發(fā)表于 06-05 08:17

    CX3 I2C啟動失敗的原因?

    你好 我有一個定制的 CX3 控制板(CYUSB3065 芯片),它使用 I2C EEPROM (ST M24M02) 連接到 OV5460 相機。 該測試按原樣使用 FX3 SDK1.3.4 中
    發(fā)表于 05-28 07:46

    SPC574s如何使用SPC5Studio自帶的I2C實現I2C通信?

    SPC574s并沒有硬件I2C外設,可以使用SPC5Studio自帶的SW I2C庫來實現,但是由于SPC5Studio軟件資料太少,I2C一直沒有數據,各位有相關的資料嗎?
    發(fā)表于 05-14 07:10

    基于RT-Thread的I2C(軟件) 實踐 | 技術集結

    ,我們可以通過菜單配置工具menuconfig快速設置軟件I2C的引腳,并借助其內部已實現的驅動程序,方便快捷地完成調用與開發(fā)。(二)FRDM-MCXA153FR
    的頭像 發(fā)表于 05-06 18:44 ?945次閱讀
    基于RT-Thread的<b class='flag-5'>I2C</b>(軟件) 實踐 | 技術集結

    I2C總線復用

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

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

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