C8051F340单片机对智能测量系统的控制设计

发布时间:2024-01-11  

1 引言

智能测量在各行各业已得到广泛的应用,测量所得到的数据可以通过串口或经外部的 USB 桥接器桥接后经 USB 口与上位机 交换 数据。如果单片机本身已集成了 USB通讯模块,这将大大降低系统成本,提高系统的可靠性。本系统正是基于此而选用 C8051F34x 芯片,它是SILICon Laboratories 公司最新推出的一款可提供 USB 功能的混合信号微控制器 的高度集成产品[1],包含了高速管线的 8051 兼容微控制器核心,可以在高达 48 MIPS 的速率下工作,它提供 64 KB 的芯片内建闪存以及 5376 字节的 RAM,其中 70%的指令可以在一个或两个机器周期中执行,并获得同等级中最佳的 CPU 传输率;USB 功能控制器具有完整的 USB 2.0 认证,支持全速与低速操作并包含 8 个端点管线;模拟外设包含一个真正 10位 200 ksps 差分或单端 ADC,可以支持高达 17 个外部模拟输入;时序功能可以通过 4 个通用型 16 位定时器或一个 5 通道的可编程计数器/定时器阵列(PCA)来实现,在此有 5 个全功 能端口可以提供 40 个可控制的 I/O 引脚(5 个 8 位口)。

C8051F340单片机对智能测量系统的控制设计

图 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 位定时器方式。

C8051F340单片机对智能测量系统的控制设计

图 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)。

C8051F340单片机对智能测量系统的控制设计

图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 中断的工作模式;主控程序处理前台任务,主要是响应各类中断和利用公共数据区进行数据交换;步进电机的控制、数据的采集和数据的通信都将利用中断服务程序在后台实现。

C8051F340单片机对智能测量系统的控制设计

C8051F340单片机对智能测量系统的控制设计

图 5 上位机程序框图

上位机程序采用 VC 可视化开发平台,对 USB 端口形成的通信管道进行标准的读写操作,从而实现上位机与 C8051F340 的数据通讯,实时显示现场参数、绘制图形,并对现场参数进行系统分析。

上位机程序采用主线程和辅线程协调工作模式, 可以降低主程序处理时间, 提高通讯效率。

对图 1 所示的系统进行 测试 :分别对椭圆偏振片、圆偏振片组成的光路进行光强分布测试,步进电机由 C8051F单片机控制,每秒钟转一圈测 200 个数据;PC 机通过 USB 口接收数据,并对数据进行分析和拟合,根据偏振片的不同组合,可得到圆形、椭圆形、腰果形等不同类型的图形。


4 结束语

论文提出的基于 C8051F340 的智能测量系统由于采用小体积贴装芯片,不必外接其它A/D转换和 USB 通信接口器件,减小了整机的体积,提高了整机的性价比和可靠性。测试表明,该模块在实际检测过程中能够准确的提取被测对象的信号特征,各项指标都符合测试要求。

本文作者创新点:采用SILICon Laboratories 公司最新推出的一款微控制器 C8051F340 为 智能测量系统的核心,因其可提供 USB 功能,集测量控制、数据采集、数据通讯为一体,便于软件开发,并减小了整机的体积,提高了整机的性价比和可靠性。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于51单片机的智能路灯控制器设计;一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+ADC0832+按键+小灯。 本次设计的智能路灯控制系统以AT89C51单片机为控制......
    基于C8051F330芯片和MPPT技术实现太阳能路灯智能控制系统的设计;太阳能是一种清洁高效的可再生能源。在阳光充足的白天,屋顶的光伏电池将太阳能转化成电能,供人们在夜晚使用。据专家预测,到......
    以LPC935单片机为主控制器的智能太阳能路灯控制系统设计;随着科学技术的迅速发展,世界能源危机日益严重,利用常规能源已不能适应世界经济快速增长的需要,开发和利用新能源越来越引起各国的重视。太阳......
    基于51单片机的电梯控制系统设计;一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+ADC0832+按键+小灯。 本次设计的智能路灯控制系统以AT89C51单片机为控制......
    基于51单片机的太阳能路灯控制系统; 简介:太阳能路灯控制系统:51单片机练手项目,简单可复制。 带太阳能充电功能,oled显示, 白天根据光强判断开关灯晚上开灯,二级菜单可以设置时间日期。 太阳......
    基于51单片机的太阳能路灯控制系统设计方案;简介:太阳能路灯控制系统:51单片机练手项目,简单可复制。 带太阳能充电功能,oled显示, 白天根据光强判断开关灯晚上开灯,二级......
    是否出现故障和光强等信息进行采集,通过无线传感网络将状态信息通过网关上传至网络服务器中,实现用户远程监测与控制。 1 系统整体方案设计 本系统设计了基于ZigBee/GSM和WEB服务器的智能路灯监控系统......
    AT89C52中对系统进行仿真,其仿真画面如图7所示。 图7  系统的Proteus仿真画面 4、结语 基于单片机的多功能交通灯控制系统充分利用AT89C52单片机芯片,提高了系统......
    ,具有较强  的抗干扰性能,一路为夜间全明,另一路可设置晚上照明时间,到时自动关闭。 硬件电路介绍 本路灯控制器原理图如下图所示,它主要由光敏电阻、8421数码开关、AT89C2051单片机......
    些简单的练习项目 前面学习的都是单片机的基础,完成学习之后,就可以做选择做一些简单的单机开练习项目了,例如电子时钟,智能路灯控制系统等。 如果是0基础学员,大概需要1-2个月时间可以达到这个阶段,具体......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>