本 應(yīng)用 筆記 討論 了 DS3900 串行 通信 模 塊 和 LabView(用于 開發(fā) 嵌入式 應(yīng)用 的 圖形 化 編 程 平臺(tái))。本文 可 作為 基于 LabView 的 DS3900 接口 用戶 指南。
介紹
LabView 作為 用于 開發(fā) 嵌入式 應(yīng)用 程序 的 圖形 化 編 程 平臺(tái) 很 廣受歡迎。DS3900串行通信模塊是一塊通用接口板,使用PC的串行端口與配備I2C接口的設(shè)備進(jìn)行通信。DS3900的指令集允許應(yīng)用軟件直接與I2C器件通信。
本 應(yīng)用 筆記 是 基于 LabView 的 DS3900 接口 用戶 指南。要使用此應(yīng)用程序,用戶需要安裝LabView。提供標(biāo)準(zhǔn)VI供用戶加載和運(yùn)行程序。本 應(yīng)用 說明 的 LabView 代碼 可 下載 (ZIP, 321K)。
使用 LabView 軟件
加載VI后,用戶必須運(yùn)行程序并執(zhí)行以下步驟。(請(qǐng)參閱圖 1。
圖1.LabView屏幕,用戶從中配置系統(tǒng)進(jìn)行操作。
用戶首先選擇用于DS3900編程的串行端口。LabView自動(dòng)搜索可用的串行端口資源,并將其顯示在下拉列表中。選擇DS3900連接的串口。
注意:DS3900通信的默認(rèn)波特率為57600。此應(yīng)用程序已經(jīng)過測(cè)試,在此波特率下正常運(yùn)行。建議用戶在使用應(yīng)用程序時(shí)不要更改此速率。
如果串口設(shè)置正確,LED 開/關(guān)功能應(yīng)該可以工作。如果終端應(yīng)用有一個(gè)LED連接到DS3900的脈沖輸出(引腳P3),則當(dāng)按下LED開/關(guān)按鈕時(shí),該LED應(yīng)打開和關(guān)閉。
接下來,通過單擊“查找I2C地址”按鈕,找到I2C總線上所有器件的從地址。使用設(shè)置I2C地址字段輸入VI將與之通信的從地址。
頂部的選項(xiàng)卡確定用戶要使用的特定功能。有多種選項(xiàng)可供選擇:
1BYTE:寫入或讀取寄存器,一次 1 個(gè)字節(jié)。
2BYTE:寫入或讀取兩個(gè)連續(xù)的內(nèi)存地址。這假設(shè)每次完成讀取或?qū)懭霑r(shí),設(shè)備的內(nèi)部地址計(jì)數(shù)器都會(huì)自動(dòng)遞增。
手動(dòng):用戶決定I2C應(yīng)如何操作的控制。下面的“手動(dòng)控制”部分給出了一些示例。
單字節(jié)讀寫
圖2.執(zhí)行單字節(jié)操作時(shí),用戶可以在四個(gè)地址中選擇與I2C器件通信。
用戶可以選擇四個(gè)不同的地址進(jìn)行通信(圖 2)。任何讀取數(shù)據(jù)都將復(fù)制到相應(yīng)的寫入數(shù)據(jù)部分,以便于操作單個(gè)位。
雙字節(jié)讀取和寫入
圖3.2BYTE 選項(xiàng)卡允許用戶從兩個(gè)寄存器讀取數(shù)據(jù)。
對(duì)于某些設(shè)備,一個(gè)寄存器可能包含內(nèi)存中的兩個(gè)連續(xù)字節(jié)。此2BYTE選項(xiàng)卡(圖3)允許用戶讀取兩個(gè)連續(xù)寄存器的值,前提是器件中的存儲(chǔ)器地址指針自動(dòng)遞增到下一個(gè)寄存器。讀取的值會(huì)自動(dòng)復(fù)制到“將數(shù)據(jù)寫入”條目部分。
手動(dòng)控制
圖4.手動(dòng)控制選項(xiàng)卡允許用戶定義字節(jié)數(shù)和預(yù)期的讀取或?qū)懭氩僮鳌?/p>
通過手動(dòng)控制(圖4),用戶決定字節(jié)數(shù)和所需的特定操作。下面提供了執(zhí)行標(biāo)準(zhǔn) 1 字節(jié)寫入和 2 字節(jié)讀取的示例。
1 字節(jié)寫入
START |
SEND WRITE (DEVICE ADDRESS FOR WRITE) |
SEND BYTE (MEMORY ADDRESS) |
SEND BYTE (DATA TO BE WRITTEN) |
STOP |
2 字節(jié)讀取
START |
SEND WRITE (DEVICE ADDRESS FOR WRITE) |
SEND BYTE (MEMORY ADDRESS) |
SEND START (REPEATED START) |
SEND READ (DEVICE ADDRESS FOR READ) |
READ WITH ACK (READ 1ST BYTE) |
READ WITH NACK (READ 2ND BYTE) |
STOP |
重要提示
:讀取數(shù)據(jù)時(shí),最后一個(gè)讀取的字節(jié)應(yīng)該是“使用 NACK 讀取”。這允許用戶根據(jù)需要讀取任意數(shù)量的字節(jié)。需要“使用 NACK 讀取”來通知設(shè)備不再發(fā)送數(shù)據(jù)。
用戶還可以復(fù)位I2C總線。如果用戶在手動(dòng)通信期間迷路并使總線處于未知狀態(tài),這將非常有用。SCL 和 SDA 高/低按鈕允許用戶強(qiáng)制這些引腳達(dá)到所需狀態(tài)。
結(jié)論
本 應(yīng)用 筆記 所 包含 的 LabView VI 顯示 了 LabView 在 與 DS3900 通信 方面 的 用 用 大 用。一旦理解了這些初始概念,用戶就可以修改VI或復(fù)制某些模塊以適應(yīng)特定的應(yīng)用需求。
審核編輯:郭婷
-
led
+關(guān)注
關(guān)注
242文章
23272瀏覽量
660794 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19118瀏覽量
305102 -
LabVIEW
+關(guān)注
關(guān)注
1971文章
3654瀏覽量
323523
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論