APP下载

基于虚拟仪器和PIC单片机的USB接口数据采集系统设计

2011-06-05贾佳

电子设计工程 2011年21期
关键词:虚拟仪器面板总线

贾佳

(西安航空职业技术学院 电子工程系,陕西 西安 710089)

虚拟仪器是电子测量技术与计算机技术深层次结合的产物,通过应用程序将通用计算机与功能化模块硬件结合起来,充分利用计算机系统强大的数据处理能力,在基本硬件的支持下,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,通过软、硬件的结合来实现传统仪器的各种功能,大大突破了传统仪器在数据处理、显示、传送、存储等方面的限制,使用户可以方便地对仪器进行维护、扩展和升级。用户通过友好的图形界面来操作虚拟仪器的面板就如同操作真实仪器一样方便[1-2]。

USB接口是一种总线接口标准,具有数据传输速度快、即插即用、兼容性强等优点,在数据传输、信号采集等领域得到广泛应用[3]。

文中通过PIC18F258单片机实现了基于虚拟仪器的USB接口数据传输采集设备,内容包括硬件电路的设计和上位机虚拟仪器编程,相当于一个高速数据采集系统再加上实现传统仪器设备的一些基本功能,并且采用USB接口传输数据给计算机来显示和处理,使其具有了良好的人机在线操作接口,热插拔即插即用性能和基于模块的系统自组织能力,此外,系统规模根据不同的应用需求具有可裁减性。

1 系统组成

在设计数据采集系统时,采用内嵌CAN总线控制器的Microchip公司PIC18F258单片机作为核心芯片[4],通过与PC机USB接口连接实现数据的传输与采集。用户使用上位机软件向PC机的USB端口发送数据,包括CAN总线控制数据或者D/A转换数据,数据采集设备通过USB接口模块进行接收并传送至PIC单片机内部进行处理,最后发送至CAN总线控制模块和D/A转换模块完成外电路控制。同时,数据采集设备将温度采集模块读取的温度数据通过USB接口模块实时传送至PC机的上位机面板,用户可以调用温度监控面板进行查询。此外,该数据采集设备也实时监听CAN总线状态,并将CAN总线数据传送至上位机CAN总线监控面板。系统结构如图1所示。

2 系统硬件电路设计

硬件原理图如图2所示。主要包括USB接口电路,CAN总线控制电路、D/A转换电路和温度采集电路4部分。

2.1 USB接口电路

图1 系统结构图Fig.1 System structure diagram

与计算机连接实现USB接口通信功能的电路主要由CP2101芯片完成。通过PIC单片机的USART串口引脚RC6(TX)和 RC7(RX)与 CP2101连接进行数据交换。CP2101芯片是美国SILICON公司推出的USB-UART桥接电路,CP2101通过驱动程序将计算机的USB口虚拟成COM口以达到扩展的目的,COM口使用运行在计算机上的应用软件以访问一个标准硬件COM口的方式访问基于CP2101的器件,而计算机与CP2101间的数据传输是通过USB接口完成的。

图2 硬件电路图Fig.2 Hardware circuit diagram

2.2 CAN总线控制电路

由ADuM1100高速数字隔离器、MCP2551高速CAN收发器构成。ADuM1100高速数字隔离器支持100 Mbps数据传输速率并且可以采用3.0~5.5 V单电源供电。MCP2551是一种可容错的高速CAN收发器,可作为CAN协议控制器和系统物理总线的接口。该器件具有差分发射和接收能力,可将许多节点与同一网络相连接。

2.3 D/A转换电路

D/A转换器使用AD公司的12位AD7243芯片,它具有300 kHz的转换速率,3种可选择的输出电压范围,分别是0~+10 V、0~+5 V 和-5~+5 V,采用串行端口通讯。 根据系统需求,设置AD7243电压输出范围为±5 V,将AD7243芯片的ROFS引脚与REFIN引脚相连实现。在AD7243芯片的输出端还接有OP07放大器,用于调整输出电压到±10 V,可用于控制电机正反方向和调节转速。

2.4 温度采集电路

采用一线式数字温度传感器DS18B20,温度测量范围为-55~125℃,测温分辨率可达 0.5 ℃。

3 虚拟仪器监控面板设计

系统上位机采用虚拟仪器软件LabVIEW进行开发,完成数据的接收与发送,并进行相应的处理及图像显示。Lab VIEW是NI公司开发的虚拟仪器应用程序编程环境,是一种图形编程语言,特别适合测控应用软件的开发。具有所有通用编程环境的标准功能,如数据结构、循环结构和事件处理。其内置各种专业工具软件包可满足工程应用开发的需要[5]。

LabVIEW程序开发主要包括3方面内容:分别是数据发送模块、数据接收模块和监控面板主程序。其中,数据接收和发送模块作为子VI供各监控面板主程序调用。

3.1 数据发送模块程序设计

由于CP2101通过驱动程序将计算机的USB口虚拟成COM口,因此,数据发送模块使用VISA Write节点予以实现,并将该发送模块作为子VI调用。在LabVIEW平台控制的串行通信过程中,数据格式是以字符串的格式组成的,字符串中的每个字符实际上对应我们熟悉的ASCII字符,即计算机能够识别的数据代码是ASCII代码,所以在传送到串口发送数据之前要经过代码转换,这就意味着以十进制、二进制、十六进制表示的数据必须转化为ASCII字符串才能进行传送和接收[6]。数据发送模块如图3所示,其中,以0x39作为与单片机的握手信号,与需要发送的数据以PIC18F258单片机8位数据格式组合发送。

图3 数据发送模块程序Fig.3 Data send program

如果发送的数据超过一个字节长度,如控制12位D/A转换芯片AD7243,可以分为两个字节调用两次发送模块进行数据传送。

3.2 数据接收模块程序设计

数据接收模块使用VISA Read节点读取数据,如图4所示,从缓冲器接收到的数据是ASCII字符串,经过ASCII字符串转换为十六进制字节数组的模块处理后,最终得到正确的数据。其中,共接收4字节数据,并以0x39作为握手信号,包含两字节温度数据,及一个字节的有用信息数据。

图4 数据接收模块程序Fig.4 Data receive program

3.3 监控面板设计

用户可以根据自己需要,选用数据采集系统的对应功能,编写PIC单片机的CAN总线、DS18B20温度采集和D/A转换芯片AD7243的控制程序,并调用数据发送和接收模块开发相应的上位机LabVIEW控制面板,完成数据的采集与控制。图5和图6分别为设计的CAN总线监控面板和温度监控面板。

图5 CAN总线监控面板Fig.5 CAN bus control panel

图6 温度监控面板Fig.6 Temperature control panel

4 结束语

笔者提出了基于Microchip公司的PIC18F258单片机设计的具有USB接口的虚拟仪器数据采集设备,给出了具体的设计方案及测试结果。经测试,数据传输稳定,运行可靠,安装方便,支持即插即用,为工程人员在现场设备调试提供了方便。

[1]雷振山.LabVIEW8.2基础教程[M].中国铁道出版社,2010.

[2]汪敏生.LabVIEW基础教程[M].北京:电子工业出版社,2002.

[3]石磊.USB-CAN总线通信协议转换器[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单片机的数据采集系统的开发[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.

猜你喜欢

虚拟仪器面板总线
MasterCAM在面板类零件造型及加工中的应用
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
Photoshop CC图库面板的正确打开方法
虚拟仪器及其在电工电子实验中的应用
虚拟仪器技术在农业装备测控中的应用
基于虚拟仪器的DMFC实时监控系统
CAN总线并发通信时下位机应用软件设计
多通道ARINC429总线检查仪