基于C8051F020单片机的实时测控装置设计
(1)核心模块
核心模块由Cygnal单片机(C8051F020)、UT62L1024SRAM、SPI串行方式8 Mb的FLASH存储器AT45DB081、日历时钟S-3530A、10M以太网芯片8019等组成。全部芯片和电路组合在42.5 mmx53.8 mm的PCB板上,由2 mm脚距的40P双排插针与数据采集模块相连接,核心模块在使用时相当于一个“大芯片”。C8051F020单片机实时采集各种数据,根据预先设定在单片机中的参数,对接收数据进行综合处理和分析计算,输出满足要求的各种控制信号。
(2)数据采集模块
数据采集模块上设计有脚距2 mm的40P双排插孔,可以很方便地实现核心模块的转接。每个模块还设计有3个8位数字I/O端口(P1,P2,P3)和一个8通道模拟输入端口(AIN),另外还有RS 485通信端口和电源模块。
通过这些端口单片机可以很方便地对外部传感器输入的信号进行实时采集,并通过RS 485通信与系统其他组件实现数据交换。
(3)输出控制模块
测控装置工作过程中根据时序对外部组件进行供电和控制,需要3 V,5 V,12 V和27 V等多种工作电压,以及多路输出控制信号,为此设计了输出控制模块,通过单片机的可编程数字I/O端口对相关继电器进行实时控制,从而实现多路电压和控制信号的稳定输出。
(4)数字逻辑模块
数字逻辑模块将单片机输出的部分数字信号进行转换,提供给需要的外部组件,同时也可以接收其他单片机和外部组件的数字信号,进行硬件逻辑判决,从而实现在预定时机可靠地输出系统触发信号,最终完成触发外部执行装置的功能。
1.2 传感器数据采集
传感器是能感受规定的被测量并转换成可用输出信号的器件,本系统使用的传感器作为某型电子装备的重要组成部分,根据各自的功能“感知”外界环境变化,完成将各种物理量转化为单片机可以处理的模拟或数字信号,并由单片机对这些信号进行采集和处理。
本系统使用的传感器主要分为两大类,一类是无线电传感器,用来测量系统距目标的距离;另一类是惯性传感器,用来监测系统运行过程中的实时加速度值。其中惯性传感器既有高精度大量程的电子式传感器,又有稳定可靠的机械式传感器。
对于传感器输出的模拟信号,C8051F020单片机拥有专用的模拟输入引脚(AIN),通过12位ADC对输入的模拟信号进行采集转换,并利用ADC转换结束引起中断响应,将转换得到的数据进行分析处理。而对于传感器输出的数字信号,经电平转换后即可由数字I/O端口(P1,P2,P3)进行采集,单片机根据采集到的信号分析判断系统当前状态,为适时输出控制信号和系统触发信号提供依据。
2 测控装置的软件设计
单片机采用C语言编程,相对于汇编语言来说,程序的可读性大大提高,采用模块化设计思想也为系统调试和维护带来极大的方便。
测控装置软件采用采用模块化设计,主要包括数据采集模块、串口通信模块,时序控制模块和信号处理模块。数据采集模块又包含ADC数据转换和数字信号采集两个子模块,主要是通过单片机的中断系统实时采集外部模拟和数字信号;串口通信模块主要实现单片机与外部组件间的RS 485通信,接收其他测控设备的控制命令,反馈单片机实时采集的各种数据;时序控制模块利用单片机的定时器精确计时,并根据预先设定的参数,按照系统要求的时序及时准确地发出各种控制信号;信号处理模块对各类传感器发出的信号进行中断处理和分析计算,最终输出所需的系统触发信号。
2.1 主程序设计
测控装置通过串口接收上位机的指令,并存储由上位机发送的系统参数,在运行过程中,通过传感器A和传感器B的动作情况判断测控装置当前所处状态,根据不同的状态输出满足系统需要的各种控制信号。测控装置通过预先设定的参数和从传感器C接收的实时数据,进行分析处理,并结合传感器D发出的各种标志信号进行综合计算,从而确定输出系统触发信号的时机。另外传感器E的信号具有排他性,可以直接导致测控装置输出系统触发信号。测控装置的主程序流程图如图2所示。本文引用地址:https://www.eepw.com.cn/article/192803.htm
2.2 串口通信程序设计
在以单片机为核心构成的数据采集系统中,往往需要实现PC机与单_片机之间的数据交换。传统的基于RS 232协议的串口通信存在传输距离短、速度慢、信号易受干扰等不足,其应用局限性日益突出,而利用RS 485串行通信,可以实现快速、稳定、远距离地传送数据。
评论