《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > USB接口的虛擬儀器設(shè)計(jì)與實(shí)現(xiàn)
USB接口的虛擬儀器設(shè)計(jì)與實(shí)現(xiàn)
摘要: USB技術(shù)的先進(jìn)性使得設(shè)計(jì)者在PC外設(shè)開發(fā)中首選USB接口,而在現(xiàn)有虛擬儀器開發(fā)平臺(tái)如LabWindows/CVI中并沒(méi)有提供直接支持USB接口的函數(shù)庫(kù),基于這種情況,筆者利用FTDI公司的FT232AM完成RS232和USB之間的接口轉(zhuǎn)換,然后再對(duì)USB接口實(shí)現(xiàn)間接的數(shù)據(jù)讀寫。
Abstract:
Key words :

  1.前言

USB" title="USB">USB技術(shù)的先進(jìn)性使得設(shè)計(jì)者在PC外設(shè)開發(fā)中首選USB接口,而在現(xiàn)有虛擬儀器開發(fā)平臺(tái)如LabWindows/CVI中并沒(méi)有提供直接支持USB接口的函數(shù)庫(kù),基于這種情況,筆者利用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簡(jiǎn)介

  FT232AM是FTDI公司提供的USB-RS232轉(zhuǎn)換器,它可以在RS232和USB接口之間非常容易地建立可靠連接。通過(guò)USB接口的即插即用和熱插拔性能給RS232的外圍設(shè)備提供非常容易使用的環(huán)境,并提供高達(dá)115 kb/s的傳輸速率(如果電平轉(zhuǎn)換器選用MAX3245CAI,則傳輸速率可達(dá)1 Mb/s以上)。同時(shí)還提供USB-RS422/RS485口,這樣就把RS422/RS485與USB兩種通訊協(xié)議取長(zhǎng)補(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)用程序必須通過(guò)驅(qū)動(dòng)程序訪問(wèn)USB硬件設(shè)備,雖然目前有許多公司提供編寫驅(qū)動(dòng)程序的開發(fā)工具,但是相對(duì)來(lái)講還是比較困難。使用FT232AM時(shí),由于FTDI公司提供了一個(gè)虛擬串行口(VCP:virtualCOM port)的驅(qū)動(dòng)程序,因而在安裝了VCP設(shè)備驅(qū)動(dòng)程序后,系統(tǒng)就將USB外設(shè)虛擬成一個(gè)串口設(shè)備(通常為COM3),這樣應(yīng)用程序訪問(wèn)USB口就像訪問(wèn)一個(gè)標(biāo)準(zhǔn)的串行口一樣,而在LabWindows/CVI中提供了串口編程的函數(shù)庫(kù),這樣就可以很方便地進(jìn)行用戶程序開發(fā)。

  3 LabWindows/CVI

  LabWindows/CVI是NI公司面向計(jì)算機(jī)測(cè)控領(lǐng)域的虛擬儀器軟件開發(fā)平臺(tái),它提供了豐富的虛擬儀表控件,同時(shí)又具有很好的硬件接口功能,幾乎為所有的數(shù)據(jù)卡、采集儀器之類的采集設(shè)備都提供了專門的驅(qū)動(dòng)程序。其中RS232函數(shù)庫(kù)提供了各種方式的串口通訊控制函數(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的通訊為例,說(shuō)明LabWindows/CVI中實(shí)現(xiàn)USB通訊的方法。圖3是虛擬示波器的程序界面圖。
 

  程序中部分代碼如下:

  (1) 配置和打開串行端口

  通信端口的選擇和通信參數(shù)配置面板如圖3所示,在"配置"按鈕的回調(diào)函數(shù)中,按所選的參數(shù)配置并打開串口。
 

 


 5 結(jié)束語(yǔ)

  在虛擬儀器的設(shè)計(jì)開發(fā)過(guò)程中,采用USB轉(zhuǎn)RS232接口和LabWindows/CVI相結(jié)合的方式,一方面可以利用USB接口的方便性,使得虛擬儀器測(cè)試系統(tǒng)更為方便的實(shí)現(xiàn)和應(yīng)用,另一方面由于Lab-Windows/CVI提供了很多專門針對(duì)測(cè)試程序開發(fā)的函數(shù)庫(kù),從而使得上位機(jī)用戶程序開發(fā)變得非常容易得多,極大地提高了設(shè)計(jì)速度,具有很好的經(jīng)濟(jì)效益。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。