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