賈佳
(西安航空職業(yè)技術學院 電子工程系,陜西 西安 710089)
虛擬儀器是電子測量技術與計算機技術深層次結合的產(chǎn)物,通過應用程序將通用計算機與功能化模塊硬件結合起來,充分利用計算機系統(tǒng)強大的數(shù)據(jù)處理能力,在基本硬件的支持下,利用軟件完成數(shù)據(jù)的采集、控制、數(shù)據(jù)分析和處理以及測試結果的顯示等,通過軟、硬件的結合來實現(xiàn)傳統(tǒng)儀器的各種功能,大大突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、存儲等方面的限制,使用戶可以方便地對儀器進行維護、擴展和升級。用戶通過友好的圖形界面來操作虛擬儀器的面板就如同操作真實儀器一樣方便[1-2]。
USB接口是一種總線接口標準,具有數(shù)據(jù)傳輸速度快、即插即用、兼容性強等優(yōu)點,在數(shù)據(jù)傳輸、信號采集等領域得到廣泛應用[3]。
文中通過PIC18F258單片機實現(xiàn)了基于虛擬儀器的USB接口數(shù)據(jù)傳輸采集設備,內容包括硬件電路的設計和上位機虛擬儀器編程,相當于一個高速數(shù)據(jù)采集系統(tǒng)再加上實現(xiàn)傳統(tǒng)儀器設備的一些基本功能,并且采用USB接口傳輸數(shù)據(jù)給計算機來顯示和處理,使其具有了良好的人機在線操作接口,熱插拔即插即用性能和基于模塊的系統(tǒng)自組織能力,此外,系統(tǒng)規(guī)模根據(jù)不同的應用需求具有可裁減性。
在設計數(shù)據(jù)采集系統(tǒng)時,采用內嵌CAN總線控制器的Microchip公司PIC18F258單片機作為核心芯片[4],通過與PC機USB接口連接實現(xiàn)數(shù)據(jù)的傳輸與采集。用戶使用上位機軟件向PC機的USB端口發(fā)送數(shù)據(jù),包括CAN總線控制數(shù)據(jù)或者D/A轉換數(shù)據(jù),數(shù)據(jù)采集設備通過USB接口模塊進行接收并傳送至PIC單片機內部進行處理,最后發(fā)送至CAN總線控制模塊和D/A轉換模塊完成外電路控制。同時,數(shù)據(jù)采集設備將溫度采集模塊讀取的溫度數(shù)據(jù)通過USB接口模塊實時傳送至PC機的上位機面板,用戶可以調用溫度監(jiān)控面板進行查詢。此外,該數(shù)據(jù)采集設備也實時監(jiān)聽CAN總線狀態(tài),并將CAN總線數(shù)據(jù)傳送至上位機CAN總線監(jiān)控面板。系統(tǒng)結構如圖1所示。
硬件原理圖如圖2所示。主要包括USB接口電路,CAN總線控制電路、D/A轉換電路和溫度采集電路4部分。
圖1 系統(tǒng)結構圖Fig.1 System structure diagram
與計算機連接實現(xiàn)USB接口通信功能的電路主要由CP2101芯片完成。通過PIC單片機的USART串口引腳RC6(TX)和 RC7(RX)與 CP2101連接進行數(shù)據(jù)交換。CP2101芯片是美國SILICON公司推出的USB-UART橋接電路,CP2101通過驅動程序將計算機的USB口虛擬成COM口以達到擴展的目的,COM口使用運行在計算機上的應用軟件以訪問一個標準硬件COM口的方式訪問基于CP2101的器件,而計算機與CP2101間的數(shù)據(jù)傳輸是通過USB接口完成的。
圖2 硬件電路圖Fig.2 Hardware circuit diagram
由ADuM1100高速數(shù)字隔離器、MCP2551高速CAN收發(fā)器構成。ADuM1100高速數(shù)字隔離器支持100 Mbps數(shù)據(jù)傳輸速率并且可以采用3.0~5.5 V單電源供電。MCP2551是一種可容錯的高速CAN收發(fā)器,可作為CAN協(xié)議控制器和系統(tǒng)物理總線的接口。該器件具有差分發(fā)射和接收能力,可將許多節(jié)點與同一網(wǎng)絡相連接。
D/A轉換器使用AD公司的12位AD7243芯片,它具有300 kHz的轉換速率,3種可選擇的輸出電壓范圍,分別是0~+10 V、0~+5 V 和-5~+5 V,采用串行端口通訊。 根據(jù)系統(tǒng)需求,設置AD7243電壓輸出范圍為±5 V,將AD7243芯片的ROFS引腳與REFIN引腳相連實現(xiàn)。在AD7243芯片的輸出端還接有OP07放大器,用于調整輸出電壓到±10 V,可用于控制電機正反方向和調節(jié)轉速。
采用一線式數(shù)字溫度傳感器DS18B20,溫度測量范圍為-55~125℃,測溫分辨率可達 0.5 ℃。
系統(tǒng)上位機采用虛擬儀器軟件LabVIEW進行開發(fā),完成數(shù)據(jù)的接收與發(fā)送,并進行相應的處理及圖像顯示。Lab VIEW是NI公司開發(fā)的虛擬儀器應用程序編程環(huán)境,是一種圖形編程語言,特別適合測控應用軟件的開發(fā)。具有所有通用編程環(huán)境的標準功能,如數(shù)據(jù)結構、循環(huán)結構和事件處理。其內置各種專業(yè)工具軟件包可滿足工程應用開發(fā)的需要[5]。
LabVIEW程序開發(fā)主要包括3方面內容:分別是數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊和監(jiān)控面板主程序。其中,數(shù)據(jù)接收和發(fā)送模塊作為子VI供各監(jiān)控面板主程序調用。
由于CP2101通過驅動程序將計算機的USB口虛擬成COM口,因此,數(shù)據(jù)發(fā)送模塊使用VISA Write節(jié)點予以實現(xiàn),并將該發(fā)送模塊作為子VI調用。在LabVIEW平臺控制的串行通信過程中,數(shù)據(jù)格式是以字符串的格式組成的,字符串中的每個字符實際上對應我們熟悉的ASCII字符,即計算機能夠識別的數(shù)據(jù)代碼是ASCII代碼,所以在傳送到串口發(fā)送數(shù)據(jù)之前要經(jīng)過代碼轉換,這就意味著以十進制、二進制、十六進制表示的數(shù)據(jù)必須轉化為ASCII字符串才能進行傳送和接收[6]。數(shù)據(jù)發(fā)送模塊如圖3所示,其中,以0x39作為與單片機的握手信號,與需要發(fā)送的數(shù)據(jù)以PIC18F258單片機8位數(shù)據(jù)格式組合發(fā)送。
圖3 數(shù)據(jù)發(fā)送模塊程序Fig.3 Data send program
如果發(fā)送的數(shù)據(jù)超過一個字節(jié)長度,如控制12位D/A轉換芯片AD7243,可以分為兩個字節(jié)調用兩次發(fā)送模塊進行數(shù)據(jù)傳送。
數(shù)據(jù)接收模塊使用VISA Read節(jié)點讀取數(shù)據(jù),如圖4所示,從緩沖器接收到的數(shù)據(jù)是ASCII字符串,經(jīng)過ASCII字符串轉換為十六進制字節(jié)數(shù)組的模塊處理后,最終得到正確的數(shù)據(jù)。其中,共接收4字節(jié)數(shù)據(jù),并以0x39作為握手信號,包含兩字節(jié)溫度數(shù)據(jù),及一個字節(jié)的有用信息數(shù)據(jù)。
圖4 數(shù)據(jù)接收模塊程序Fig.4 Data receive program
用戶可以根據(jù)自己需要,選用數(shù)據(jù)采集系統(tǒng)的對應功能,編寫PIC單片機的CAN總線、DS18B20溫度采集和D/A轉換芯片AD7243的控制程序,并調用數(shù)據(jù)發(fā)送和接收模塊開發(fā)相應的上位機LabVIEW控制面板,完成數(shù)據(jù)的采集與控制。圖5和圖6分別為設計的CAN總線監(jiān)控面板和溫度監(jiān)控面板。
圖5 CAN總線監(jiān)控面板Fig.5 CAN bus control panel
圖6 溫度監(jiān)控面板Fig.6 Temperature control panel
筆者提出了基于Microchip公司的PIC18F258單片機設計的具有USB接口的虛擬儀器數(shù)據(jù)采集設備,給出了具體的設計方案及測試結果。經(jīng)測試,數(shù)據(jù)傳輸穩(wěn)定,運行可靠,安裝方便,支持即插即用,為工程人員在現(xiàn)場設備調試提供了方便。
[1]雷振山.LabVIEW8.2基礎教程[M].中國鐵道出版社,2010.
[2]汪敏生.LabVIEW基礎教程[M].北京:電子工業(yè)出版社,2002.
[3]石磊.USB-CAN總線通信協(xié)議轉換器[J].自動化技術與應用,2004 ,23(6):33-36.SHI Lei.Communication protocol convertor for USB-CAN bus[J].Techniques of Automation and Applications,2004,23(6):33-36.
[4]劉和平,劉林,于紅欣,等.PIC18FXXX單片機原理及接口程序設計[M].北京:北京航空航天大學出版社,2004.
[5]吳懷超,周勇.基于虛擬儀器和MSP430單片機的數(shù)據(jù)采集系統(tǒng)的開發(fā)[J].化工自動化及儀表,2011,38(1):52-55.WU Huai-chao,ZHOU Yong.Development of data acquisition system based on virtual instrument and MSP430 single-chip microprocessor[J].Controland Instrumentsin Chemical Industry,2011,38(1):52-55.
[6]閻世棟.在虛擬儀器LabVIEW平臺中串行通信模塊的應用[J].國外電子測量技術,2004(增刊):39-40.YAN Shi-dong.Application of series communication module in visual instruments LabVIEW platform[J].Foreign Electronic Measurement Technology,2004(Supplement):39-40.