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