1 导言
图 1 体系结构框图
智能数据收集体系包含:步进电机操控、数据收集、数据传输、数据处理等部分(如图1 所示)。为了进一步进步体系的可靠性和下降本钱,本文提出了选用片上体系(SOC)的处理方案——依据C8051F340 的智能丈量模块,该模块接纳上位机的指令来操控步进电机的动 作,对传感器送来的信号进行A/D转化,向上位机传送丈量数据。
2 模块的作业原理和功用
智能丈量模块的中心是片上体系(SOC),即 C8051F340 单片机,它具有 USB 通讯端口和 A/D 转化模块。经过运用 C8051F340 内含的数字端口完结对步进电机的操控,A/D 模块 对模仿输入端的信号进行数据收集,经过芯片中的 USB 端口与上位机进行数据 交流 。选用C8051F340 单片机后,可以充分使用芯片的内部资源,然后节省体系本钱。
2.1 步进电机操控功用
步进电机的操控量为时钟脉冲、启、停和方向操控信号。在实践运用中启、停信号和方 向操控信号相对来说比较简单,只要向指定的数字端口输出高、低电平就能操控步进电机的发动、中止、正向和逆向滚动。 步进电机所需的时钟脉冲则要经过对片内守时器进行编程,运用守时中止在指定的数字端口输出脉冲信号。C8051F340 内含的守时器 2 是一个 16 位的计数器/守时器(见图 2),由两个 8 位的 SFR 组成:TMR2L(低字节)和 TMR2H(高字节)。守时器 2 可以作业在 16 位主动 重装载方法、8 位主动重装载方法(两个 8 位守时器)或 USB 帧开始(SOF)捕捉方法。当T2SPLIT =“0”且 T2SOF =“0”时,守时器 2 作业在主动重装载的 16 位守时器方法。
图 2 守时器 2 的 16 位方法原理图
守时器 2 可以运用 SYSCLK、SYSCLK/12 或外部振荡器时钟/8 作为时钟源。当 16 位定 时器寄存器发生溢出(从 0xFFFF 到 0x0000)时,守时器 2 重载寄存器(TMR2RLH 和 TMR2RLL) 中的 16 位计数初值被主动装入到守时器 2 寄存器对 TMR2H:TMR2L,并将守时器 2 高字节 溢出标志 TF2H 置“1”。假如守时器 2 中止被答应,每次溢出都将发生中止。在守时器 2 的中止服务程序中,可依据上位机下达的指令,对中止次数进行计数。傍边 断次数到达指定数值时当即改动指定端口的数值(0 变 1、1 变 0),然后就能在该数字端口产 生一个指定脉宽的脉冲信号。智能丈量模块选用 C8051F340 片内振荡器(12MHz)发生的 SYSCLK/12 作为守时器的时钟源,数字端口设置为推挽输出,当重载寄存器的值为 0xFF64 时能在数字端口输出最高为3205Hz 的方波。因为所选用的芯片是低电压、低功耗的高速器材,有时还存在着数字端口与步进电机操控电路之间信号电平的匹配问题,为此可选用相应的电平搬运电路来处理。
2.2 数据收集和处理功用
C8051F340 内部有一个 10 位 SAR ADC 和一个差分输入多路挑选器。该 ADC 作业在200ksps 的最大采样速率时可供给真实 10 位的线性度。ADC 体系包含一个可编程的模仿多 路挑选器,用于挑选 ADC 的正输入和负输入以及丈量信号源。A/D 转化可以有 6 种发动方法:软件指令、守时器 0 溢出、守时器 1 溢出、守时器 2 溢出、守时器 3 溢出或外部转化发动信号。这种灵活性答应用软件事情、周期性信号(守时器溢出)或外部硬件信号触发转化。 一个状况位用于指示转化完结,或发生中止(假如被答应)。转化完毕后 10 位成果数据字被锁存到 ADC 数据寄存器,即 ADC0H 和 ADC0L 中(见图 3)。
图3 10位ADC电路图
智能丈量模块在数据收集时,GND 被挑选为负输入,则 ADC0 作业在单端方法,转化 码为 10 位无符号整数,所丈量的输入信号规模为 0 ~VREF×1023/1024。VREF 为 A/D 转化 时的参阅电压,可用片内供给的基准电压。转化数据在寄存器对 ADC0H:ADC0L 中的 存储 方法可以是左对齐或右对齐,选用右对齐时丈量成果的数值规模为 0 ~0x3FF。向 AD0BUSY 写“1”方法供给了用软件操控 ADC0 转化的才能。AD0BUSY 位在转化期间被置“1”,转 换完毕后复“0”。在守时器 2 的中止服务程序中,可依据步进电机的作业形式和上位机的指令,确认步进 电机运动多少步后再发动 A/D (AD0BUSY 写“1”)——收集数据,并将数据保存在闪存中。 关于被测信号电平有严厉的要求,前置放大器的输出级可用运放 OP07 组成电压跟从电路,并在输出端加装限压维护电路以确保单片机模仿输入端的 安全 。
2.3 数据通讯功用
C8051F340 集成了 USB 功用操控器,用于完结 USB 接口的外部设备(C8051F340 不能作 USB 主设备),USB 功用操控器和收发器具有完好的 USB 2.0 认证,支撑全速与低速操作 并包含 8 个端点管线,操控端点(端点 0)总是作为双向 IN/OUT 端点,其它端点被作为 3 对IN/OUT 端点管线,通讯速度可经过特别功用寄存器 USB0XCN 中的 SPEED 位挑选,要使USB0 作业在全速方法,USB0 的时钟有必要为 48 MHz。当 USB 接纳数据时,串行接口引擎SIE)在接纳完一个完好的数据包后中止处理器;相应的握手信号由 SIE 主动发生。当发送 数据时,SIE 在发送完一个完好的数据包而且收到相应的握手信号后中止处理器。智能丈量模块选用 C8051F340 片内振荡器(12MHz)发生的 SYSCLK,经内置的 4 倍时钟 乘法器发生 48MHz 时钟,使 USB0 作业在全速方法。模块设置成经过端点 1 向上位机发送数据,端点 2 接纳上位机送来的数据,USB 作业在中止方法。
3 软件规划及体系 测验
模块通讯 协议 的三层结构模型为:物理层、数据链路层和运用层。物理层和数据链路层的功用包含各种通讯帧结构的安排和收发, 是由 SOC 自身完结的, 因而体系的开发将会集在运用层软件的规划。
固件程序首要包含初始化、主控程序和 3 个中止服务程序。模块初始化部分便是要界说SOC 的作业频率,界说模仿、数字端口的输入/输出形式,界说 USB 中止、守时器 2 中止和A/D 中止的作业形式;主控程序处理前台使命,首要是呼应各类中止和使用公共数据区进行数据交流;步进电机的操控、数据的收集和数据的通讯都将使用中止服务程序在后台完结。
图 5 上位机程序框图
上位机程序选用 VC 可视化开发渠道,对 USB 端口构成的通讯管道进行规范的读写操作,然后完结上位机与 C8051F340 的数据通讯,实时显现现场参数、制作图形,并对现场参数进行体系剖析。
上位机程序选用主线程和辅线程和谐作业形式, 可以下降主程序处理时刻, 提高通讯功率。
对图 1 所示的体系进行 测验 :分别对椭圆偏振片、圆偏振片组成的光路进行光强散布测验,步进电机由 C8051F单片机操控,每秒钟转一圈测 200 个数据;PC 机经过 USB 口接纳数据,并对数据进行剖析和拟合,依据偏振片的不同组合,可得到圆形、椭圆形、腰果形等不同类型的图形。
4 完毕语
论文提出的依据 C8051F340 的智能丈量体系因为选用小体积贴装芯片,不用外接其它A/D转化和 USB 通讯接口器材,减小了整机的体积,进步了整机的性价比和可靠性。测验标明,该模块在实践检测过程中可以精确的提取被测目标的信号特征,各项目标都契合测验要求。
本文作者立异点:选用SILICon Laboratories 公司最新推出的一款微操控器 C8051F340 为 智能丈量体系的中心,因其可供给 USB 功用,集丈量操控、数据收集、数据通讯为一体,便于软件开发,并减小了整机的体积,进步了整机的性价比和可靠性。