運用LabView控制DS3900串口通信模塊
本篇應(yīng)用筆記討論了DS3900串口通信模塊和LabView的使用問題,LabView是適用于嵌入式應(yīng)用的圖形化界面開發(fā)平臺。本文可作為面向DS3900的LabView界面用戶指南。
LabView作為嵌入式應(yīng)用的圖形化界面開發(fā)平臺得到了廣泛應(yīng)用。DS3900串口通信模塊是一款通用接口板,借助該接口板,用戶可使用PC串口與具有I2C接口的器件通信。DS3900的指令集允許應(yīng)用軟件與I2C器件直接通信。
本應(yīng)用筆記是面向DS3900的LabView界面的用戶指南。首先,用戶需要安裝LabView。為用戶提供了標(biāo)準(zhǔn)VI,以加載并運行程序。可以下載與本應(yīng)用筆記相關(guān)的LabView代碼(ZIP,321K)。
使用LabView軟件
加載VI后,用戶必須運行該程序并按照以下步驟操作。(見圖1)
用戶首先要選擇DS3900所連接的串口。LabView自動搜索所有的可用串口資源,并在下拉列表中顯示這些串口。選擇DS3900所連接的串口。
注意:與DS3900通信的缺省波特率為57600。本應(yīng)用已在該波特率下進(jìn)行了測試,可正常工作。建議用戶在使用本應(yīng)用時不要改變這個波特率。
正確設(shè)置串口后,即可正常使用LED開/關(guān)功能。如果終端應(yīng)用將LED連接到DS3900的脈沖輸出端口(P3引腳),則按下LED開/關(guān)按鈕時LED會閃爍。
下一步,通過點擊FIND I2C ADDRESS按鈕,找到連接到I2C總線上的所有器件地址。在Set I2C Address輸入框內(nèi)鍵入將要與VI通信的從器件地址。
通過窗口頂端的標(biāo)簽選擇用戶要使用的功能。提供多種功能選項:
1BYTE:讀或?qū)懸粋€寄存器,每次1個字節(jié)。
2BYTE:讀或?qū)憙蓚€連續(xù)存儲器地址。我們假定以下情況:在每次讀或?qū)懖僮魍瓿珊?,設(shè)備的內(nèi)部地址計數(shù)器自動遞增。
Manual (手動):用戶通過它可以控制I2C總線如何操作。下面的手動控制一節(jié)給出了一些例子。
單字節(jié)讀/寫操作
用戶可以選擇四個不同地址以進(jìn)行通信(圖2)。任何READ DATA結(jié)果都會被復(fù)制到相應(yīng)的WRITE DATA輸入框內(nèi),以便于處理各數(shù)據(jù)位。
雙字節(jié)讀/寫操作
對于某些特定設(shè)備,一個寄存器可能包括存儲器中的兩個連續(xù)字節(jié)。如果設(shè)備的存儲器地址指針可自動遞增以指向下一個寄存器,則2BYTE標(biāo)簽(圖3)允許用戶讀取兩個連續(xù)寄存器。讀出的數(shù)據(jù)會被自動復(fù)制到WRITE DATA TO輸入框內(nèi)。
手動控制
用戶利用MANUAL控制選項(圖4),來決定字節(jié)數(shù)和所需的操作。下面給出了標(biāo)準(zhǔn)單字節(jié)寫操作和雙字節(jié)讀操作的例子。
重要提示:當(dāng)讀數(shù)據(jù)時,最后一個讀取的字節(jié)應(yīng)該采用“Read with NACK”。這允許用戶根據(jù)需要讀取多個字節(jié)。需要“Read with NACK”以告知設(shè)備不要再發(fā)送更多數(shù)據(jù)。
用戶可以復(fù)位I2C總線。如果用戶在手動控制的通信過程中不知怎樣操作,并且總線處于未知狀態(tài),那么這個功能非常有用。SCL和SDA High/Low (高/低)按鈕允許用戶將這些引腳強(qiáng)制為期望的狀態(tài)。
總結(jié)
本應(yīng)用筆記結(jié)合提供的LabView VI,闡述了與DS3900通信時LabView起到的巨大作用。一旦理解了這些基本概念,用戶就可以修改VI或者復(fù)制特定模塊,以滿足特定的應(yīng)用需求。
評論