找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于C8051F020单片机的数据采集电路设计

[复制链接]
admin 发表于 2013-3-26 06:31:04 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
作者:刘青青,朱清芳

     数据采集是为了对温度、压力、流量、速度、位移、光强度、声音等物理量进行在线测量和控制,通过传感器把上述物理量转换成模拟物理量的电信号。然后将模拟电信号经过处理并转换成计算机能识别的数字量,送入计算机处理、存储、传输和显示。

     在操纵杆控制器的工作过程中,需要对操纵杆X轴和Y轴输出的2路电压信号进行A/D转换,转换后的数据范围要求在-1 500~1 500,采样精度为12位。另外还需要对采集后的数据进行计算,并通过串口与两自由度光电稳定平台进行通信,实现对稳定平台的功能控制,通信周期为80 ms。出于成本的考虑,没有采用传统专用A/D芯片+单片机的设计模式,只用了一片C8051F020单片机实现了上述功能。

1 芯片简介

     Cygnal公司的C8051F020单片机是一款高性能的数字/模拟混合微处理器,具有与8051指令集完全兼容的CIP-51内核。具有丰富的片内资源和外围接口,-40~+85℃的工作环境,内置有12位精度的A/D采集接口,在工业甚至军用领域中自动控制和智能监控等方面得到了广泛的应用。

2 系统设计

     传统的数据采集系统信号处理电路复杂庞大,且采集速率慢,温漂大,抗干扰性差。所以本系统采用C8051F020单片机直接将模拟量转换为数字量传给稳定平台系统,电路简单实用,采集速率快,精度高并且通过RS 422通信模块与稳定平台通信,抗干扰性强。

     该系统由C8051F020单片机、晶体、电源模块及RS 422通信模块等部分组成。外部电源为+28 V,经DC28S5电源模块变换后输出+5 V,给操纵杆和MAX490芯片供电。由于单片机需要3.3 V的电源才能工作,因此需要将+5 V电源经三端稳压器LT1117-3.3 V变换后供给单片机使用。然后把经过电压调制的操纵杆模拟信号连接到单片机的ADC输入端口上,启动单片机内部A/D转换电路,将其转换成数字信号存储到内存。最后,按照规定的通信格式,通过单片机的串口和MAx490芯片将信号发送给稳定平台,从而实现了稳定平台的操纵控制过程。

     系统工作原理如图1所示。

2012110704562700526210.jpg

2.1 基准电压的配置

     单片机ADC0模块所使用的电压基准采用内部基准电压1.2 V,其内部电压基准电路由一个1.2 V1 5 ppm/典型值的带隙电压基准发生器和一个两倍增益的输出缓冲放大器组成内部基准电压(2.4 V)。通过VREF引脚连到芯片的VREF0引脚,并在VREF引脚与AGND之间接入0.1 μF和4.7μF的旁路电容,用来将VREF的开启时间控制在2 ms。
2.2 信号处理电路

     一般操纵杆包括操纵和控制两部分。根据一般目标运动特性,该操纵杆采用X,Y两个方向运动控制。

     而本文选用的操纵杆X轴和Y轴采用霍尔元件感应其位移,输出电压范围为0~5 V。而单片机C8051F020的A/D基准参考电压为2.4 V,因此需要做一个电压变换电路,将0~5 V的电压变换到0~2.4 V,才能被单片机的A/D模块使用。电压变换电路如图2所示。
2012110704562703651211.jpg

     采用公式out=in×R2/(R1+R2)来计算电阻R1和R2的阻值,令out=2.4,in=5,可以得到R2/R1=48/52。考虑到功耗因素,R1采用5.2 kΩ的电阻,R2采用4.8 kΩ的电阻,电阻采用0.5%的高精度军品电阻,可以满足系统高温和低温工作要求。

2.3 A/D采集模块的配置

     C8051F020的ADCO模块包括一个9通道的可编程模拟多路选择器AMUX0,一个可编程增益放大器PGA0和一个100 KSPS 12位分辨率的逐次逼近寄存器ADC。ADC中集成了跟踪保持电路和可编程窗口检测器,原理框图如图3所示。
2012110704562705214212.jpg
AMUX0,PGA0、数据转换方式及窗口检测器都可用软件通过图3所示的特殊功能寄存器来控制。只有当ADC0控制寄存器中的AD0EN位被置1时,ADC0子系统,ADC0跟踪保持器和PGA0才被允许工作;当ADOEN位为0时,ADC0子系统处于低功耗关断方式。

3 软件编程

     软件主要包括主程序、A/D采集子程序和串口通信子程序。

     为了提高采集精度,采用了过采样技术,即多次采集累加后求平均值的办法。但考虑到采集速度的要求,也不能无限制地增加采样次数。经过试验测试,采用8次采样即可同时满足采样精度和采样速度的双重要求。

     此外,根据系统的实际工作环境条件,选择恰当的通信接口和协议,合理设计通信硬件和软件,获得高可靠性、强抗干扰和容错能力,成为衡量此类系统好坏的最重要因素。

     为了提高通信传输的可靠性,通信协议采用了“消息头+消息体+校验和”的防错设计。具体表述如下:消息结构总共10个字节,消息头占2个字节,一般采用固定值,比如EB,90(16进制)。消息体内是有用的数据信息,占7个字节。最后是检验和,一般采用数学和,即消息头和消息体9个字节累加后,整除256的余数。采用这种方式进行通信传送,接收机必须在正确判读了消息头和校验和后才认为命令是有效的,否则该命令消息就被忽略。
2012110704562708339213.jpg

   软件流程如图4~图6所示。
2012110704562709901214.jpg

4 结语

     本文基于工程实际对A/D转换速度和精度的要求,采用了过采样原理以提高数模转换的精度。利用C8051F020单片机自身的片上资源,给出了一种简便有效的过采样原理的工程实现方法。自2007年投入工程应用后实验证明:用这种方法可以提高测量分辨率,并且可以简化外部电路、降低硬件成本。因此,这种方法对硬件成本和采样精度都有较高要求的控制、采集、测量系统来说具有较高的参考价值,可同时满足军事和商业领域。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 20:44 , Processed in 0.055681 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表