论文部分内容阅读
摘 要 随着电子信息技术的不断发展,我国已经逐渐的步入到了大数据时代。在这一时代背景下,诸多研究学者已经积极努力的投身于模拟信号采集器的研究当中。本文分析了通过设计一个基于C8051F320芯片的多功能模拟信号采集器,实现对模拟信号的采集,并对信号进行A/D转换传输,实现USB总线传输利用PC机对信号进行分析、存储、处理。
关键词 C8051F320芯片 USB总线 程序编写
一、引言
现今工业生产过程中都是连续或成批的工作,需要严格的过程控制和安全措施,需要对一些模拟量(如电流、压强、液体流量等)进行数据采集完成各类数据采集任务,并对数据进行处理,从而实现提供生产过程数据和动态监控等功能。在当今卫星通讯,无线通信,导航系统等设备中模拟信号采集器应用广泛,是通信技术的基础部件,在智能仪器、信号处理以及工业自动控制等领域中也起着重要的基础作用。需要对生产环节的数据进行实时采集的数据采集系统,在整个生产过程中,发挥着非常重要的作用。目前,USB设备在国外的应用比较广泛,在国内的应用处于起步阶段。USB数据采集在USB工业控制等领域已经取得一定成果,尤其是在工业生产、医用领域。各种基于USB的信号采集器必将以其高性价比,体积小,便于携带和使用等特点广泛应用于各行各业。
二、USB总线的概念及优点
1、USB总线的概念
USB指的是让计算机设备进行连接的简单化接口,其规格主要是Intel以及NEC等共同制定的。USB总线,即“通用串行总线”,是英文Universal Serial Bus的缩写它是应用在计算机领域中的接口技术,主要使用把USB设备与主机总线结构进行有效的连接,是对低速与中速的外设[1]。USB系统可分为USB主机、USB互连、USB设备这三个逻辑层。
2、USB总线的优点
(1)USB可以为全部的外设进行单一连接类型的提供,有效的达到数据的通用性接口,其使用起来十分便利。
(2)USB系统拥有一个中断与端口,这在很大程度上使系统资源被节约。
(3)USB支持热插拔(hot plug)和PNP(Plug-and-Play)。也就是说,在PC不被关闭的现象下,能够让USB设备被安全断开与插上,计算机相关系统能够对外设插拔情况进行检测,并且是驱动程序得以加载。
(4)可连接鼠标、键盘、打印机、扫描仪、摄像头等几乎所有的外部设备。要相对不同设备要求进行适应,USB所提供的数据传输主要有四种类型,分别是控制、Bulk数据、中断数据以及同步数据等传输类型。同步数据的传输能够为视频与音频进行带宽的提供。
三、USB接口
全低速USB功能控制器主要是C8051F320集成器件,进行这项工作的主要目的就是将挖外部的USB接口的功能实现。通常将2.0版串行通用串行总线作为USB功能收发控制器的主要工作规范[2]。其工作原理如图1所示。
图1 USB原理框图
对USB0控制寄存器的访问时通过两个特殊功能寄存器来完成这项工作的。在将INDEX寄存器进行写入目标端号之后,就能够进行相应状态/控制的寄存器访问。
四、软件应用
负责操控系统初始化操作的是主程序,其主要进行的工作是转换启动A/D以及对系统的应用程序运行的情况进行测试。
1、ADC数据采集
负责将传感器里面的模拟信号转变成数字信号的程序是ADC数据采集程序。而在这个系统里面,Timer2出现自动溢出的情况是触发ADC的转换的前提条件。而要想进行A/D转换器采样周期的界定工作需要进行C8051F320芯片上的定时器设置,并且利用这些被测数据完成测样工作。
2、A/D转换中断处理
由于C8051F320内部已经集成了ADC、FIFO和USB接口,所以数据采集最为复杂的A/D转换和传输问题都可以用一个芯片解决,在芯片外只需加一些控制电路,如滤波、复位电路等,即可完成对模拟数据的采集、转换和传输工作。
系统运行过程中,USB通信程序以及A/D转换这两项工作时交替进行的,而对其运行起到決定性作用的因素是MCU,当端点1的缓冲区里面有等待读取的数据出现的时候,MCU正式进行数据读取工作;假如这个命令是要求启动的,这个时候就要进行控制芯片USB的关闭工作,这个时候会USB会展开通信,并且A/D会呈现中断状态。而当模拟开关1这个多通道就会呈现接通的状态,这个时候A/D转换启动;而A/D转换工作正式进行的时候,这个时候会出现中断的情况,会先对低4位以及高8位的转换结果进行读取,在完成这项工作之后进行下一项任务,这个时候重新将A/D转换启动;按顺序循环进行工作,直至将8通道里面所有的数据都完成转换为止。之后进行禁止中断A/D操作,使用USB中断的操作方式进行工作,并且向主机利用USB控制器芯片进行转换结果的传输,并等候之后数据的来临[3]。
五、USB通信程序
开发USB设备工作过程里面一项十分重要的任务就是进行固件编程工作。而对外设以及单片机进行初始就是固件的主要工作目标,并进行USB请求的发送,并完成相应的数据交换工作。而进行初始化编程工作主要的任务目标就是完成控制器使能、系统时钟设置、I/O口和初始化以及初始化USB控制器的工作,在完成初始化工作之后,可以在主机里面插入USB设备,主机会根据USB协议进行初始化以及识别设备。
进行USB设计总线开发的关键就是进行客户端驱动程序设计。这种采用的驱动模型是分层的WDM,利用这种方式可以不用直接和硬件进行操作,仅仅需要利用相应的驱动程序进行硬件的访问就可以了。而一旦要对设备进行I/O操作的时候,就需要利用Windows API函数进行工作。而USB功能驱动程序进行工作的方式主要就是利用USB总线驱动程序进行USB总线接口的访问工作,通过USB总线驱动程序可以进行所有的低层I/O的处理工作,因此,这一程序工作驱动只需要注意怎样进行数据处理、传输管道、传输时序以及传输类型情况。
结语
总之,随着科学技术的迅速发展进步,相应的USB进行数据传输的速度也在不断地提升,会有更多相应USB设备的出现。但是如今数据采集系统的可拓展性比较差,安装比较繁琐,价格较贵,所以本文进行了一个以USB总线接口为基础的数据采集系统设计。该系统安装方便,电路也很简单,可以随时应用,能够有效的完成采集各种数据的任务。
参考文献
[1]冯博琴.微型计算机原理与接口技术.清华大学出版社,2002:30-69.
[2]舒剑,曾桂英.基于C8051F020的USB多路模拟信号采集器设计.吉林师范大学学报(自然科学版),2009,2(1):7-9.
[3]Silicon laboratories.USBXpress Development Kit Programmer’s Guide.AN169.
关键词 C8051F320芯片 USB总线 程序编写
一、引言
现今工业生产过程中都是连续或成批的工作,需要严格的过程控制和安全措施,需要对一些模拟量(如电流、压强、液体流量等)进行数据采集完成各类数据采集任务,并对数据进行处理,从而实现提供生产过程数据和动态监控等功能。在当今卫星通讯,无线通信,导航系统等设备中模拟信号采集器应用广泛,是通信技术的基础部件,在智能仪器、信号处理以及工业自动控制等领域中也起着重要的基础作用。需要对生产环节的数据进行实时采集的数据采集系统,在整个生产过程中,发挥着非常重要的作用。目前,USB设备在国外的应用比较广泛,在国内的应用处于起步阶段。USB数据采集在USB工业控制等领域已经取得一定成果,尤其是在工业生产、医用领域。各种基于USB的信号采集器必将以其高性价比,体积小,便于携带和使用等特点广泛应用于各行各业。
二、USB总线的概念及优点
1、USB总线的概念
USB指的是让计算机设备进行连接的简单化接口,其规格主要是Intel以及NEC等共同制定的。USB总线,即“通用串行总线”,是英文Universal Serial Bus的缩写它是应用在计算机领域中的接口技术,主要使用把USB设备与主机总线结构进行有效的连接,是对低速与中速的外设[1]。USB系统可分为USB主机、USB互连、USB设备这三个逻辑层。
2、USB总线的优点
(1)USB可以为全部的外设进行单一连接类型的提供,有效的达到数据的通用性接口,其使用起来十分便利。
(2)USB系统拥有一个中断与端口,这在很大程度上使系统资源被节约。
(3)USB支持热插拔(hot plug)和PNP(Plug-and-Play)。也就是说,在PC不被关闭的现象下,能够让USB设备被安全断开与插上,计算机相关系统能够对外设插拔情况进行检测,并且是驱动程序得以加载。
(4)可连接鼠标、键盘、打印机、扫描仪、摄像头等几乎所有的外部设备。要相对不同设备要求进行适应,USB所提供的数据传输主要有四种类型,分别是控制、Bulk数据、中断数据以及同步数据等传输类型。同步数据的传输能够为视频与音频进行带宽的提供。
三、USB接口
全低速USB功能控制器主要是C8051F320集成器件,进行这项工作的主要目的就是将挖外部的USB接口的功能实现。通常将2.0版串行通用串行总线作为USB功能收发控制器的主要工作规范[2]。其工作原理如图1所示。
图1 USB原理框图
对USB0控制寄存器的访问时通过两个特殊功能寄存器来完成这项工作的。在将INDEX寄存器进行写入目标端号之后,就能够进行相应状态/控制的寄存器访问。
四、软件应用
负责操控系统初始化操作的是主程序,其主要进行的工作是转换启动A/D以及对系统的应用程序运行的情况进行测试。
1、ADC数据采集
负责将传感器里面的模拟信号转变成数字信号的程序是ADC数据采集程序。而在这个系统里面,Timer2出现自动溢出的情况是触发ADC的转换的前提条件。而要想进行A/D转换器采样周期的界定工作需要进行C8051F320芯片上的定时器设置,并且利用这些被测数据完成测样工作。
2、A/D转换中断处理
由于C8051F320内部已经集成了ADC、FIFO和USB接口,所以数据采集最为复杂的A/D转换和传输问题都可以用一个芯片解决,在芯片外只需加一些控制电路,如滤波、复位电路等,即可完成对模拟数据的采集、转换和传输工作。
系统运行过程中,USB通信程序以及A/D转换这两项工作时交替进行的,而对其运行起到決定性作用的因素是MCU,当端点1的缓冲区里面有等待读取的数据出现的时候,MCU正式进行数据读取工作;假如这个命令是要求启动的,这个时候就要进行控制芯片USB的关闭工作,这个时候会USB会展开通信,并且A/D会呈现中断状态。而当模拟开关1这个多通道就会呈现接通的状态,这个时候A/D转换启动;而A/D转换工作正式进行的时候,这个时候会出现中断的情况,会先对低4位以及高8位的转换结果进行读取,在完成这项工作之后进行下一项任务,这个时候重新将A/D转换启动;按顺序循环进行工作,直至将8通道里面所有的数据都完成转换为止。之后进行禁止中断A/D操作,使用USB中断的操作方式进行工作,并且向主机利用USB控制器芯片进行转换结果的传输,并等候之后数据的来临[3]。
五、USB通信程序
开发USB设备工作过程里面一项十分重要的任务就是进行固件编程工作。而对外设以及单片机进行初始就是固件的主要工作目标,并进行USB请求的发送,并完成相应的数据交换工作。而进行初始化编程工作主要的任务目标就是完成控制器使能、系统时钟设置、I/O口和初始化以及初始化USB控制器的工作,在完成初始化工作之后,可以在主机里面插入USB设备,主机会根据USB协议进行初始化以及识别设备。
进行USB设计总线开发的关键就是进行客户端驱动程序设计。这种采用的驱动模型是分层的WDM,利用这种方式可以不用直接和硬件进行操作,仅仅需要利用相应的驱动程序进行硬件的访问就可以了。而一旦要对设备进行I/O操作的时候,就需要利用Windows API函数进行工作。而USB功能驱动程序进行工作的方式主要就是利用USB总线驱动程序进行USB总线接口的访问工作,通过USB总线驱动程序可以进行所有的低层I/O的处理工作,因此,这一程序工作驱动只需要注意怎样进行数据处理、传输管道、传输时序以及传输类型情况。
结语
总之,随着科学技术的迅速发展进步,相应的USB进行数据传输的速度也在不断地提升,会有更多相应USB设备的出现。但是如今数据采集系统的可拓展性比较差,安装比较繁琐,价格较贵,所以本文进行了一个以USB总线接口为基础的数据采集系统设计。该系统安装方便,电路也很简单,可以随时应用,能够有效的完成采集各种数据的任务。
参考文献
[1]冯博琴.微型计算机原理与接口技术.清华大学出版社,2002:30-69.
[2]舒剑,曾桂英.基于C8051F020的USB多路模拟信号采集器设计.吉林师范大学学报(自然科学版),2009,2(1):7-9.
[3]Silicon laboratories.USBXpress Development Kit Programmer’s Guide.AN169.