1.前言
USB" title="USB">USB技術(shù)的先進(jìn)性使得設(shè)計(jì)者在PC外設(shè)開發(fā)中首選USB接口,,而在現(xiàn)有虛擬儀器開發(fā)平臺(tái)如LabWindows/CVI中并沒有提供直接支持USB接口的函數(shù)庫,,基于這種情況,筆者利用FTDI公司的FT232AM" title="FT232AM">FT232AM完成RS232" title="RS232">RS232和USB之間的接口轉(zhuǎn)換" title="接口轉(zhuǎn)換">接口轉(zhuǎn)換,,然后再對(duì)USB接口實(shí)現(xiàn)間接的數(shù)據(jù)讀寫,。
2 硬件設(shè)計(jì)
2.1 FT232AM簡介
FT232AM是FTDI公司提供的USB-RS232轉(zhuǎn)換器,它可以在RS232和USB接口之間非常容易地建立可靠連接,。通過USB接口的即插即用和熱插拔性能給RS232的外圍設(shè)備提供非常容易使用的環(huán)境,,并提供高達(dá)115 kb/s的傳輸速率(如果電平轉(zhuǎn)換器選用MAX3245CAI,則傳輸速率可達(dá)1 Mb/s以上),。同時(shí)還提供USB-RS422/RS485口,,這樣就把RS422/RS485與USB兩種通訊協(xié)議取長補(bǔ)短,使得設(shè)備既具有即插即用和熱插拔性能又具有遠(yuǎn)距離傳輸和抗干擾性特性,。
2.2 硬件設(shè)計(jì)
FT232AM的設(shè)計(jì)電路如圖1所示,,它向外提供標(biāo)準(zhǔn)的DB-9引腳信號(hào)線,當(dāng)PC外設(shè)為RS232電平時(shí),采用MAX3245CAI進(jìn)行RS232/TTL電平轉(zhuǎn)換,。設(shè)計(jì)中還擴(kuò)展了一片93C46,。用于儲(chǔ)存開發(fā)的PC外設(shè)的VID、PID,、設(shè)備序列號(hào)等,。
![]() |
2.3 驅(qū)動(dòng)程序
在Window 98/2000/XP系統(tǒng)下,用戶級(jí)的應(yīng)用程序必須通過驅(qū)動(dòng)程序訪問USB硬件設(shè)備,,雖然目前有許多公司提供編寫驅(qū)動(dòng)程序的開發(fā)工具,,但是相對(duì)來講還是比較困難。使用FT232AM時(shí),,由于FTDI公司提供了一個(gè)虛擬串行口(VCP:virtualCOM port)的驅(qū)動(dòng)程序,,因而在安裝了VCP設(shè)備驅(qū)動(dòng)程序后,系統(tǒng)就將USB外設(shè)虛擬成一個(gè)串口設(shè)備(通常為COM3),,這樣應(yīng)用程序訪問USB口就像訪問一個(gè)標(biāo)準(zhǔn)的串行口一樣,,而在LabWindows/CVI中提供了串口編程的函數(shù)庫,這樣就可以很方便地進(jìn)行用戶程序開發(fā),。
3 LabWindows/CVI
LabWindows/CVI是NI公司面向計(jì)算機(jī)測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺(tái),它提供了豐富的虛擬儀表控件,,同時(shí)又具有很好的硬件接口功能,,幾乎為所有的數(shù)據(jù)卡、采集儀器之類的采集設(shè)備都提供了專門的驅(qū)動(dòng)程序,。其中RS232函數(shù)庫提供了各種方式的串口通訊控制函數(shù),,根據(jù)實(shí)際串口通訊可分為打開,關(guān)閉串口函數(shù),、I/O讀寫函數(shù),、調(diào)制解調(diào)器控制函數(shù)、串口設(shè)置函數(shù),、寄存器狀態(tài)函數(shù)和回調(diào)函數(shù)6類,。其中部分較常用的函數(shù)如下:
(1) 打開/關(guān)閉函數(shù)
![]() |
(2) I/O讀寫函數(shù)
I/O讀寫函數(shù)提供了多種讀寫方式,這里只介紹部分函數(shù),。
![]() |
(3) 調(diào)制解調(diào)器控制函數(shù)
4 軟件設(shè)計(jì)
串口通訊的程序流程圖如圖2,。由于不同的采集儀器具有各自不同的通訊協(xié)議,因此需要根據(jù)具體的儀器通訊協(xié)議編寫PC的程序,。本文中將以PC與USB的通訊為例,,說明LabWindows/CVI中實(shí)現(xiàn)USB通訊的方法。圖3是虛擬示波器的程序界面圖,。
![]() |
程序中部分代碼如下:
(1) 配置和打開串行端口
通信端口的選擇和通信參數(shù)配置面板如圖3所示,,在"配置"按鈕的回調(diào)函數(shù)中,按所選的參數(shù)配置并打開串口。
![]() |
![]() |
5 結(jié)束語
在虛擬儀器的設(shè)計(jì)開發(fā)過程中,,采用USB轉(zhuǎn)RS232接口和LabWindows/CVI相結(jié)合的方式,,一方面可以利用USB接口的方便性,使得虛擬儀器測試系統(tǒng)更為方便的實(shí)現(xiàn)和應(yīng)用,,另一方面由于Lab-Windows/CVI提供了很多專門針對(duì)測試程序開發(fā)的函數(shù)庫,,從而使得上位機(jī)用戶程序開發(fā)變得非常容易得多,極大地提高了設(shè)計(jì)速度,,具有很好的經(jīng)濟(jì)效益,。