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