资源描述
成都理工大学学生撰文专用纸集成加速度传感器的软件设计摘要在加速度测试系统传统结构中,从传感器、温度偏移纠正电路、放大电路到数据采集各设备往往都是孤立的,不便于携带并受到测量空间的限制。本文介绍了一种利用单片机集成系统进行数据采集与传输的方案,较好的解决了系统集成化问题。方案采用通用性较强,价格便宜的80C51单片机;人机接口采用8297;A/D转换器采用ADC0809;片外存储器选用两片6264,容量扩至16k×8;数据传输采用USB,用CH375芯片作为单片机串行口与USB的连接芯片。数据采样频率设为六种可选,最小至0.2ms,最大至625ms,可以适应不同的应用场合。单片机系统在实际工业系统中可能会遇到各种干扰和自身的随机性误差,目前的抗干扰方法主要有硬件看门狗技术和软件陷进技术等,本方案将两种方法结合起来,进一步提高了系统的稳定性。关键词:单片机;数据采集;硬件看门狗;中断系统;串行通信The software design of the integrated accelerometerAbstractIn traditional acceleration test system, components form accelerometer, temperature compensation, electric enlarge circuit to data acquisition unit are all stand alone, inconvenience in take and being subjected to the measuring space. This text introduced a method that using integration system of single chip microcomputer for data acquisition and deliver, resolving the integration of the system.This project adopts in general used, low-cost 80C51 system;Person's machine connects to adopt 8297;The A/D conversion machine adoption ADC0809; RAM use two slices of 6264 , the capacity expands to the 16 k × 8;Data_deliver uses the USB, using the CH375 chips as conjunct chip between the USB and the serial interface. The date- acquisition frequency sets for six kinds of eligibility, the minimum to 0.2 ms, the biggest to 625 ms, adapting different applied situationSingle chip microcomputer system may fall across some impacting factors and self random error, the current anti- impacting methods mainly have the hardware watchdog technique and software trap method etc. This project put together two kinds of methods, further raising the stability of the systemKeyword:single chip microcomputer;data-acquisition; the hardware watchdog;outage system;serial communication目 录第一章 引言.11.1 当前加速度测试系统的使用现状及存在缺陷.11.2 加速度测试系统传统构造.11.3 论文的预期目标.3第二章系统的硬件组成.32.1 系统的硬件总体设计.32.2 A/D转换模块 .52.2.1 A/D转换模块的设计.52.2.2 数据存储器的扩展.72.3 键盘显示接口的设计.72.3.1 8279的介绍.72.3.2 接口的设计.102.4 数据传输模块.112.4.1 CH375芯片简介.112.4.2 数据传输模块设计.142.5 看门狗复位电路.14第三章系统的软件实现.153.1 软件的总体结构.153.2 数据采集子程序.173.2.1 采样频率.173.2.2 数据采集.183.3 指令采集子程序 .193.3.1 8279的初始化.193.3.2指令采集程序的设计.213.4 数据传输子程序.21第四章系统抗干扰设计.224.1 干扰源及其传播途径.234.2 系统抗干扰措施.24第五章 结论.25致谢.26参考资料.27附 件.271.引言1.1当前加速度测试系统的使用现状及存在缺陷机械在运动时,由于旋转件的不平衡、负载的不均匀、结构刚度的各向异性、间隙、润滑不良、支撑松动等因素,总是伴随着各种振动。机械振动在大多数情况下是有害的,振动往往会降低机器性能,破坏其正常工作,缩短使用寿命,甚至导致事故。机械振动还伴随着同频率的噪声,恶化环境,危害健康。另一方面,振动也被利用来完成有益的工作,如运输、夯实、清洗、粉碎、脱水等。这时必须正确选择振动参数,充分发挥振动机械的性能。加速度传感器是目前应用广泛的测量振动与冲击的装置。在航天、航空、常规武器、船舶、交通运输、冶金、机械制造、化工、轻工、生物医学工程、自动检测与计量等技术领域中,已经越来越广泛的应用到传感器,而其中不乏加速度传感器的身影。从加速度传感器采集到数据后,通过温度偏移纠正电路、电荷放大电路再到数据采集就组成了加速度测试系统。在传统的系统结构中,这些设备往往都是孤立的,不便于携带,同时在测量空间狭小时也很不方便。1.2加速度测试系统传统构造现有测试系统的各个组成部分常常以信息流的过程来划分。一般可以分为:信息的获得,信息的转换,信息的显示、信息的处理。作为一个完整的非电量电测系统,也包括了信息的获得、转换、显示和处理等几个部分。因为它首先要获得被测量的信息,把它变换成电量,然后通过信息的转换,把获得的信息变换、放大,再用指示仪或记录仪将信息显示出来,有的还需要把信息加以处理。因此非电量电测系统,具体来说,一般包括传感器(信息的获得)、测量电路 (信息的转换)、放大器、指示器、记录仪(信息的显示)等几部分有时还有数据处理仪器(信息的处理)。它们间的关系可用图1.1的框图来表示。被测量传感器测量电路指示仪器记录仪器数据处理仪器图1.1测试系统的组成其中传感器是一个把被测的非电物理变换成电量的装置,因此是一种获得信息的手段,它在非电量电测系统中占有重要的位置。它获得信息的正确与否,直接影响到整个测量系统的测量效果。测量电路的作用是把传感器的输出变量变成易于处理的电压或电流信号,使信号能在指示仪上显示或在记录仪中记录。测量电路的种类由传感器的类型而定。压电加速度传感器常用的测量电路是电荷放大器。常用的压电加速度传感器的动态测量系统如图1.2所示:被测非电量压电加速度传感器补偿电路记录器电荷放大器数据处理器图1.2压电加速度传感器动态测量系统1.3论文的预期目标针对目前加速度测试系统存在的缺陷,开发出一种集成加速度测试系统。论文的预期目标为:1设计系统的硬件结构(不包括A/D转换器前端装置)在硬件方面,要对集成加速度传感器硬件总体进行设计,并对数据采集系统的硬件电路进行设计。系统为一个以 80C51 单片机为核心组成的数据采集系统,具有人机对话功能,可选择采集频率、通道等。系统工作时,首先初始化各功能寄存器及8079等外围芯片,而后开始采集,模拟信号经过ADC0809进行 A/D 转换变为数字信号送入单片机,然后再送入计算机进行处理。2设计系统软件在软件方面,按程序结构可分为以下两个部分:(1)主程序,使硬件接口和监控程序的各工作单元置成初始状态。(2)中断服务子程序:包括接受键盘指令子程序、数据采集子程序、数据传输子程序等。3系统的抗干扰设计在工业应用环境下,往往存在着系统内在和外界环境的各种干扰。在分析或设计数据采集系统时,必须考虑到可能存在的干扰对电路的影响。所以把抗干扰问题作为系统设计中一个至关重要的内容,贯彻在整个设计工作中,从硬件、软件上采取相应的措施以增强其抗干扰能力。2.系统的硬件组成2.1 系统的硬件总体设计系统的硬件分为两大部分:传感器电路部分和微机主控板部分。系统硬件结构框图如图2.1所示:A/D转换器ADC080980C51单片机USB接口芯片CH375硬件看门狗电路USB接口被测量加速度传感器电荷放大电路单片机主控板传感器电路部分两片6264数据存储器键盘显示器接口8279图2.1 系统硬件结构示意图系统工作原理:首先将传感器置入待测设备中,按下复位键迫使系统复位,回到程序开始处。传感器将采集到的数据通过温度补偿电路、电荷放大电路、A/D转换器,在预定的采集频率下将选定通道的数据传到单片机并进行存储。然后再将数据通过USB接口芯片CH375传到计算机系统进行分析和处理。由于数据的采集和传输是分段进行的,因此第一次的采集频率可能不能满足要求(信号采集过疏,不能反映信号的实际情况;过密,则容易造成存储空间的浪费)。为此,可以进行下一轮数据采集,此时可根据前一轮的情况进行调整,即在系统复位、开始(显示字母P)后按下所选频道开关。后续工作同上。单片机主控板按功能划分,可以分为以下几个功能模块:1 A/D转换模块由A/D转换器和80C51单片机构成。系统采用ADC0809作为A/D转换器,将从电荷放大器传来的模拟信号转换为数字信号,再传送给80C51。其中,ADC的8位通道用到3位,采样频率由软件设定。2数据传输模块系统选用通用性较强的USB接口传输。系统选用CH375作为USB接口芯片。CH375与单片机之间采用串行通信方式,当数据采集结束后就可以将数据用USB接口传到计算机了。3 键盘显示接口模块硬件中设计了2×8键盘,4个LED显示器,通过8279与80C51相连。通过键盘设定数据采集的通道、频率,并在必要的时候强制复位。显示器用于显示采样过程中的相关参数。4 看门狗复位电路系统采用两片CD4040 十二位二进制串行计数器构成的“看门狗”电路,有效避免了系统运行过程中程序的跑飞或者由于外界干扰所造成的死机现象。2.2 A/D转换模块2.2.1 A/D转换模块的设计此模块用于将模拟信号转换为数字信号。采用8位A/ D转换器ADC0809 实现模/ 数转换。ADC0809 是8 路8 位逐次逼近式A/ D 转换器,它能分时地对8路模拟量信号进行A/ D转换,结果为8位二进制数据, 其转换速度约为100s, 分辨率为19mV。ADC0809 是CMOS集成电路,可与单片机的数据总线直接相连,而且有8 路模拟开关,可以直接连接8个模拟量,实现多路转换功能(方案只用到3个通道)。并且它与单片机的接口简单,使用方便。ADC0809与80C51 单片机的连接如图2.2所示,分别为:(1) ADC0809 的时钟CL K由80C51 的地址锁存端AL E信号经过二分频后产生。(2) ADC0809 的数据线D0D7 与单片机的数据总线直接相连。(3) ADC0809 的地址选择端ADDA、ADDB、ADDC 与80C51 的数据总线AD0 、AD1 、AD2 直接相连。(4) ADC0809 的A/ D 转换结束信号EOC 接80C51的接口。(5) ADC0809 地址锁存信号和起动信号START 接在一起,并经过反相器与80C51的写信号相连,80C51读信号端经反相器与0809 的OE 端相连,完成输出允许控制,读写控制均由译码器的控制。对A/ D转换结果的读出采用中断方式,即EOC经反相器接至80C51的接口,每次通过写信号起动A/ D转换后,EOC 呈高电平,表明A/ D转换结束,于是启动中断1将数据读入80C51 的RAM区83÷274LS138Y2ALEP080C51P2.52.7CLK AD0 BD7 CADC0809EOC VR(+)ST VR(-)ALEOEP0.0P0.1P0.2+5VGNDIN0 IN711图2.2 A/D转换模块与80C51的接口电路222 数据存储器的扩展由于80C51单片机系统只有80B的数据缓冲器,需要扩展片外存储器。根据一般经验,采用2片6264芯片扩展数据存储器。单片机与6264的连接电路如图2.3:8883P0ALE80C51 P2.4P2.0 P2.7P2.5A7A0D7D06264A12A874LS373 G 74LS1388888A7A0D7D06264A12A8图2.3数据存储器的扩展图2.3 键盘显示接口的设计2.3.1 8279的介绍Intel8279是一种通用的可编程键盘显示器接口器件,单个芯片就能完成键盘输入和七段显示器控制两种功能。8279的内部结构如图2.4所示。1、I/O控制和数据缓冲器数据缓冲器是双向缓冲器,连接内部总线和外部数据总线,用于传送CPU和8279之间的命令、状态和数据。I/O控制线是CPU对8279进行控制的引线。是片选信号,当为低电平时,8279才允许读出或写入信息。A0用于区别信息的特征,当A01时,CPU写入8279的信息为命令,CPU从8279读出的信息为8279的状态;当A0=0时,写入和读出的信息都为数据。和是读、写控制信号,是8279数据缓冲器从外部总线接收数据或向外部总线发送数据。8OUTA0OUTA3 OUTB0OUTB3 SL0SL3 RL0RL7 CNTL/STB4RESET数据缓冲器I/O控制FIFO/传感器RAM的状态寄存器显示地址寄存器16×8显示器控制和定时寄存器8×8FIFO/传感器RAM键盘去抖及控制显示寄存器定时和控制扫描计数器回 送D7D0A0IRQCLKSHIFT888888888888图2.4 8279内部结构框图2、控制逻辑控制和定时寄存器用来寄存键盘和显示器的工作方式及由CPU编程的其他操作方式。这些寄存器一旦接收并锁存送来的命令,就通过译码产生相应的信号,从而完成相应的控制功能。定时和控制包含一些计数器,其中有一个5位计数器,对CLK引线输入的时钟信号进行分频,产生的定时信号,然后再经过分频为键盘扫描提供适当的逐行扫描频率和显示扫描时间。RESET是复位输入线,高电平有效。是消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,显示器将消隐。3、扫描计数器扫描计数器有编码和译码两种工作方式。按编码方式工作时,扫描计数器的状态从SL0SL3输出,通过外部译码器,可以外接16位显示器和8×8键盘;按译码方式工作时,扫描计数器的低2位的状态从SL0SL3输出,状态为00,SL0输出低电平,SL1SL3输出高电平;状态为01,SL1输出低电平,其他输出高电平;状态为10,SL2输出低电平,其他输出高电平;状态为11,SL3输出低电平,其他输出高电平。此时只能外接4位显示器和4×8键盘。4、键输入控制和FIFO(先进先出)RAM这部分电路可以完成对键盘的自动扫描,锁存RL0RL7的输入信息,搜索闭合键,去除键抖动,并将键输入数据写入先进先出存储器(FIFO RAM)。8279具有8个字节先进先出的键输入寄存器。当FIFO RAM中存有键盘上闭合键的键码时,IRQ变为高电平,向CPU请求中断;当CPU从FIFO RAM中读取数据时,IRQ变为低电平。若RAM中仍有数据,则IRQ再次恢复高电平;当CPU将RAM中的输入键数据全部读出时,IRQ下降为低电平。在键盘扫描方式中,从8279的FIFO RAM中读出的8位键输入数据按表2.1格式存放:表2.1 8279的FIFO RAM中8位数据存放格式CNTLSHIFT扫描计数器的状态RL7RL0的编码值CNTL/STB和SHIFT为控制键输入线,通常用来扩充键的控制功能。5、显示RAM和显示地址寄存器8279中有16个字节的显示器存储器。CPU将段数据写入显示存储器,存储的显示数据轮流从显示寄存器输出。CPU将显示数据写入显示存储器有左端送入和右端送入两种方式。左端送入为依次填入方式;右端送入为移位方式。显示寄存器分为A、B两组,OUTA0OUTA3和OUTB0OUTB3可以单独传送数据,也可以合送一个8位的二进制数据。显示地址寄存器用来寄存由CPU进行读/写显示RAM的地址,它可以由命令设定,也可以设置成每次读出或写入之后自动递增。2.3.2 接口的设计键盘和显示器的控制采用可编程键盘/ 显示器接口8279 。8279 能对显示器自动扫描,能识别键盘上闭合键的键号,它独立于CPU 工作,可以大大地提高CPU 的工作效率。在工作时,将IRQ经反相器接至80C51的。当IRQ为高电平时,接受用户按键的响应,并根据键盘的功能作出相应的处理。为了便于用户操作,设了一个8×2 的键盘,其中包括数据采集控制键、数据传输控制键、复位键、02 的3 路通道选择数字键以及频率选择数字键(6个)。显示器选用四位七段L ED 数码管完成数据的显示,其中一位用来显示通道号(三个),一位用来显示采集频率段(六段),另外两位用来显示存储地址(高位)8279 与80C51 单片机的连接分别为:(1) 8279 的数据线D0D7 与80C51 的AD0AD7 直接相连。(2) 8279 的读/ 写、信号由80C51 的、信号直接提供。(3) 8279 的片选信号CS 由80C51 的引脚(P2.5P2.7)通过译码器74LS138的 控制,当时,可对8279 进行读写。8279与单片机接口如图2.5所示。collect2collect1road3road2road1resettrancoll824#LED显示器collect6collect5collect4collect38+5V883P0ALE80C51 RESET P2.7P2.574LS373 G 74LS138VccA3A0B3B0A0DB7 CNTLDB0 SHIFTCLK Vss SL0IRQ SL1RESET SL2 SL3 RL0 RL7反相器驱动器1#LED显示器反相驱动器8图2.5 单片机与8279的接口电路2.4 数据传输模块2.4.1 CH375芯片简介1、概述CH375 是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE 设备方式。在本地端,CH375 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。CH375 的USB 设备方式与CH372 芯片完全兼容,CH375 包含了CH372 的全部功能。CH375 的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应的USB 协议与USB 设备通讯。CH375 还内置了处理Mass-Storage 海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备(包括USB 硬盘/USB 闪存盘/U 盘)。2、特点 全速USB-HOST 主机接口,兼容USB V2.0,外围元器件只需要晶体和电容。 主机端点输入和输出缓冲区各64 字节,支持常用的12Mbps 全速USB 设备。 支持USB 设备的控制传输、批量传输、中断传输。 自动检测USB 设备的连接和断开,提供设备连接和断开的事件通知。 内置控制传输的协议处理器,简化常用的控制传输。 通过U 盘文件级子程序库实现单片机读写USB 存储设备中的文件。 并行接口包含8 位数据总线,4 线控制:读选通、写选通、片选输入、中断输出。 串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。 支持5V 电源电压和3.3V 电源电压,CH375A 芯片还支持低功耗模式。 采用SOP-28 封装,可以提供SOP28 到DIP28 的转换板。3、封装图2.6 CH375引脚图表2.2 CH375封装说明封装形式塑体宽度引脚间距封装说明订货型号SOP-287.62mm300mil1.27mm50mil标准的28脚贴片CH375S/A4、引脚表2.3 CH375引脚说明引脚号引脚名称类型引脚说明28VCC电源正电源输入端,需要外接0.1uF电源退耦电容12、23GND电源公共接地端,需要连接USB总线的地址9V3电源在3.3V电源电压时连接VCC输入外部电源在5V电源电压时外接容量为0.01uF退耦电容13X1输入晶体振荡的输入端,需要外接晶体及振荡电容14X0输出晶体振荡的反相输出端,需要外接晶体及振荡电容10UD+双向三态USB总线的D+数据线,内置可控的上拉电阻11UD-双向三态USB总线的D数据线2215D7D0双向三态8位双向数据总线,内置上拉电阻4RD#输入读选通输入,低电平有效,内置上拉电阻3WR#输入写选通信号,低电平有效,内置上拉电阻27CS#输入片选控制输入,低电平有效,内置上拉电阻1INT#输出在复位完成后位中断请求输出,低电平有效8A0输入地址线输入,区分命令口和数据口,内置上拉电阻,当A0=1时可以写命令,当A0=0时可以读写数据24ACT#输出在内置固件的USB设备方式下时USB设备配置完成状态输出,低电平有效对于CH375A芯片,在USB主机方式下时USB设备连接状态输出,低电平有效5TXD输入输出仅用于USB主机方式,设备方式只支持并口,在复位期间为输入引脚,内置上拉电阻,如果在复位期间输入低电平那么输入低电平那么使能并口,否则使能串口,复位完成后为串行数据输出6RXD输入串行数据输入,内置上拉电阻2RST1输入外部复位输入,高电平有效,内置下拉电阻25RST输出电源上电复位和外部复位输出,高电平有效26RST#输出电源上电复位和外部复位输出,低电平有效7NC空脚空脚,必须悬空2.4.2 数据传输模块设计数据的传输采用 USB接口芯片CH375。图2.7 给出了80C51单片机读写U盘的电路原理图,如果CH375芯片的TXD引脚悬空或者没有通过下接电阻接地,那么CH375工作于串口方式。在串口方式下,CH375只需要与单片机连接2路信号线,TXD引脚和RXD引脚,其他引脚都可以悬空。80C51图2.7 CH375在单片机读写U盘中的电路原理图2.5 看门狗复位电路利用两片CD4040 十二位二进制串行计数器构成的“看门狗”电路如图2.8所示。计数器在下降沿进行计数,将RESET 输入端置于高电平或正脉冲,可使计数器的输出全部为低电平。若单片机时钟振荡频率fosc =6MHz, ALE 输出的频率为1/6fosc, 则ALE 信号周期为1s, 第一个计数器Q12 端脉冲出现时间为1s×212=4.096ms, 第二个计数器Q8 端的脉冲出现时间为4.096ms×28=1.048s。测控系统应用程序在循环过程中, P1 口的P1.3 发出定时周期小于1.048s 清零脉冲信号, 就能保证第二个计数器Q8 端输出为零, 不影响测控系统的正常运行。当测控系统受到干扰进入死循环, P1 口的P1.3 不能正常送出清零信号超过1.048s 时, 第二个计数器的Q8 端输出高电平产生复位信号使测控系统复位并脱离死循环。图2.8 计数器型“看门狗”电路3.系统的软件实现3.1 软件的总体结构主程序是系统的监控程序,主要对系统中的各部分进行初始化工作,使整个系统在上电后进入初始化状态,并监控系统按照设计者的设计意图进行工作。主要工作流程是:系统在上电后首先完成 CPU 和外部端口的初始化,显示器显示“字母P”,表示程序开始,此时进入等待键盘接口中断状态,若某功能键被按下,则转相应键功能处理子程序,若“COLL”键及“COLLECT1”“COLLECT6”中任意键被按下则开外部中断进行数据采集并进行A/D转换,然后调用数据处理子程序,并由LED显示通道和采集频段号等信息。软件采用模块化结构设计,各种功能都由相应的子程序完成,系统软件主要由以下几部分组成:) 数据采集子程序;) 指令采集处理子程序;) 数据传输子程序;系统软件总体结构如图3.1所示:“TRAN”键NY非“COLL”键与“TRAN”键“COLL”键开始初始化显示提示符有键按下等待键盘接口中断功能键处理数据采集与存储数据传输显示提示符”C”键入”collectx”键功能键判断图3.1系统软件总体结构图3.2 数据采集子程序3.2.1采样频率数据的采集是系统软件中最重要的一个部分,它决定整个检测单元是否能达到预期的性能指标,而采样频率的选择是关键。采样频率越高越能如实反映原信号的变化,但是采样频率取得过高,势必增加 CPU的负担,为了确保检测的实时性,根据采样定理,采样频率应大于或等于最大信号频率的两倍,但不能大于采样程序的运行时间及ADC0809的A/D转换时间(约为)。依据这一原则,为了对不同的测试系统具有一定的通用性,设计采用六种可选采样频率(实为采样时间间隔)(0.2ms625ms,以5为倍数递增)。在采样开始前及采样过程中,均可通过采样频段按键调整采样频率。由于时间间隔均为0.2ms的倍数,这里0.2ms的定时通过定时器T0实现,而倍数则通过键盘控制R2中内容实现。考虑到0.2625跨度太大,而R2是8位的,不能装载这么大的倍数,这里另由T1设置5ms的定时。现在通过计算对计数初值、TMOD内容进行确定: 计算计数初值:对于定时0.2ms来说,用定时器方式2(8位定时器)就可实现。机器周期为:时间常数为:计数初值为:故TH0=38H,TL0=38H。同理,对于5ms的定时,可用定时方式0,时间常数为:计数初值为:则高五位为14H,低8位为48H,故TH1=14H,TL1=48H。 确定TMOD方式字:对于定时器T0来说,、;对于定时器T1,、。于是3.2.2数据采集A/D采样程序采用外部中断方式,地址为5FFFH,当模拟信号从ADC0809转换为数字信号之后,ADC0809发出中断信号,单片机响应中断,其处理过程如图3.2所示。YN“COLLETx”键按下开外中断1等中断关中断数据采集与存储时钟溢出中断置计数初值结束否通道、频段等的显示显示结束图3.2数据采集子程序流程图3.3指令采集处理子程序 3.3.1 8279的初始化8279的操作方式是通过CPU对8279写入命令字来确定的。8279共有8条命令,其定义的格式及功能如表3.1所示:表3.1 8279命令功能表命令命令特征位命令功能特征位D7D6D5D4D3D2D1D0键盘/显示器工作方式0000左端送入08×8显示00(双键锁定)0编码方式01(N键轮回)1右端送入116×8显示10(传感器矩阵)1译码扫描11(选通输入显示扫描)时钟编程001对CLK引线输入的时钟分频的分频系数(131),复位31读FIFO/传感器RAM0101自动加1×8字节显示RAM的地址读显示RAM0111自动加116字节显示RAM的地址写显示RAM1001自动加116字节显示RAM的地址显示器写禁止/消隐101禁止写A组禁止写B组消隐A组消隐B组清除(清除显示寄存器A组和B组的输出)1101允许清除0×FIFO设置空状态,中断复位,传感器读出地址置0总清除1011结束中断/错误方式设置1111特殊工作方式××××在方案中,8279的命令字地址为7FFFH。初始化程序如下:MOV P2,#7F;接至8279的命令口MOV R0,#FFMOV A,#10H;左端送入,8×8显示,双键锁定,译码扫描MOVX R0,A MOV A,#25H;5分频,得100KHZMOVX R0,AMOV A,#0A0H;不灭显示,允许写入MOVX R0,AMOV A,#090;写入RAM,从零地址开始,地址自动加1MOVX R0,AMOV A,#50H;读FIFO RAM,从0地址开始,地址自动加1MOV R0,A3.3.2指令采集程序的设计键盘在微处理系统中是必不可少的键盘是人机相对话的桥梁,性能良好的键功能有助于监控系统作用的充分发挥。系统根据设计的要求,设计采用16键构成2×8矩阵键盘,并通过8279与CPU 相连。任何种类的键盘输入都会遇到触头抖动以及在操作时按下多余键的误操作等现象。8279芯片在内部设置了消除触头抖动以及消除重键的电路,这就为用户带来了很大的方便。因此,程序的设计显得比较简单。指令采集子程序流程图如图3.3所示。关中断接收闭合键号键相应功能处理返回图3.3 子令采集子程序流程图3.4 数据传输子程序数据传输模块是用来和计算机之间进行数据传送的,由于CH375的运用,使得软件的设计变得十分简单,相当于异步串行通信方式。采用中断方式进行传送,首先送入一个数据到发送缓冲器(SBUF),然后等待中断,程序流程如图3.4。NY等待中断送第一个数据到SBUF关中断取下一个数据送入SBUF结束否显示该数据值显示结束图3.4 数据传输子程序流程图4.系统抗干扰设计所谓干扰就是外在的或内在的噪声对有用信号的不良作用。而噪声可概括地认为是目的信号以外所有电信号的总称。在分析或设计一个具体的数据采集系统时,必须考虑到可能存在的干扰对电路的影响。评价一个系统的质量好坏的一个重要指标就是它可能达到的信噪比。换句话说,一个系统的抗干扰能力直接关系到系统质量或性能的优劣。所以必须把抗干扰问题作为系统设计中一个至关重要的内容,贯彻在整个设计工作中,从硬件、软件上采取相应的措施以增强其抗干扰能力。4.1 干扰源及其传播途径系统真实工作环境中干扰源很多,按类型可分为:1内部干扰源如电路中的电阻热噪声;晶体管、场效应管器件内部的分配噪声和闪烁噪声;放大电路正反馈引起的自激振荡等。2外部干扰源如汽车的汽缸点火引起的火花放电;电路的脉冲开关接触所产生的电磁信号以及自然界的雷电、太阳系行星辐射的电磁波等均属于外部干扰源。干扰信号在电路中的传播途径大致有以下几类。a.电导通路耦合干扰电导通路泛指构成电回路的通路。电导通路耦合干扰是由各单元回路间的公共阻抗产生的。由于接地电位不同而造成的干扰是这类干扰的主要表现形式。例如远距离信号传输中,由于大地的电位间存在电位差而产生的干扰;直流电源供电时,除直流成分外,还混有不同频率的交流电压,这些交流电压馈入电路形成干扰。b.磁场干扰由磁耦合引起的电噪声干扰称磁场干扰。在连接信号源的传输线所经过的空间中总存在着交变电磁场,这主要是由 50MHZ 的市电产生。这些交变磁场穿过传输线形成的回路将在传输线或闭合导线上感应出交流干扰电压。c.电场干扰由电耦合引起的电噪声干扰称电场干扰。从电路理论可知,电流流经导体时会产生电场,这个电场可交连到附近的导体中,使它们感生出电位,此电位就是干扰电位。当元件与导线间存在交流电压时会相互耦合形成干扰。4.2 系统抗干扰措施系统抗干扰措施采用硬件和软件结合的方法。硬件抗干扰方法采用计数器型“看门狗”电路,这在2.5节已经有过介绍,就不赘述了。本节主要讲软件抗干扰方法。在设计中,主要用到:1、软件陷阱技术;2、冗余指令技术。1设置软件陷阱由于系统干扰可能破坏程序指针 PC,PC 一旦失控,使程序“跑飞”,可能进入非程序区,造成系统运行的一系列错误。设置软件陷阱可防止程序“乱飞”。软件陷阱是在程序模块间和程序之后,增设由若干个空操作指令和一条无条件跳转指令组成的“陷阱”,一旦程序跑飞,跌落“陷阱”,便转入初始程序或有关的失控恢复处理程序,从而恢复程序的正确流程。该方法无需增加任何硬件,适用性较强。通常在EPROM中非程序区填入以下指令作为软件陷阱:NOPNOPLJMP 0000H2设置冗余指令CPU 执行指令的顺序是先取操作码,再取操作数,然后使PC 加“1”(该1 表示当前指令的字节长度) .当PC(程序计数器) 受干扰出现错误,程序便脱离正常轨道“乱飞”. 当乱飞到某多字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错. 合理设置冗余指令将会有效避免程序乱飞. 通常是在双字节指令和三字节指令后插入两个字节以上的NOP (空操作) ,这样既使乱飞程序飞到操作数上,由于NOP 的存在,可避免后面的指令被当作操作数执行,程序会自动纳入正轨. 对控制系统流向指令如RET、RETI、LCALL 、LJMP、JC 等指令之前插入两条NOP ,也可将乱飞程序纳入正轨,确保这些重要指令的执行.5.结论课题通过分析传统加速度测试系统的使用现状及存在的缺陷,对系统集成化进行了研究,提出了一种集成加速度测试系统的方案。论文完成的主要工作有:1、设计系统硬件结构硬件部分为传感器电路模块和单片机主控模块。单片机主控部分包括A/D转换模块、键盘/显示接口电路、数据传输模块、看门狗复位电路。2、编写系统软件软件采用模块化设计的思路,给出了主程序流程图,并对数据采集、指令采集、数据传输子程序进行了设计。其中数据采集子程序实现数据采集和存储,指令采集子程序接收键盘指令并进行相应处理,数据传输子程序将采集到的数据传送到计算机。方案具有集成度高、价格便宜、抗干扰能力强的优点,具有较好的推广价值。系统仍然有需要改进的地方,如系统精度不高,不适宜采集频率过高的振动信息等方面。致 谢首先感谢我的各级母校在我十多年的学海生涯中给予我的培养和关怀,感谢我所有的老师对我孜孜不倦的教诲!本文是在刘念聪老师的悉心指导下完成的。在这几个月的毕业设计中,我从刘念聪老师身上,不仅学到了相关的专业知识,而且刘老师严谨的治学态度和辛勤的工作作风深深地感染了我,使我终身受益,在此对老师表示衷心的感谢。感谢我的同班同学,与他们一起生活,带给我很多快乐,与他们一起讨论,使我受益匪浅,感谢和我一起学习、生活的所有同学,他们的关心和帮助使我感受到集体的温暖。衷心感谢所有给予过我帮助和支持的人。参考资料:1张毅坤等.单片微型计算机原理及应用.西安:西安电子科技大学出版社.1998.2朱定华等.单片微机原理与应用.北京:北方交通大学出版社.20033师明珠.嵌入式应用系统软件设计技术研究.计算机工程与应用.2002.7.4王幸之等.单片机应用系统抗干扰技术.北京航空航天大学出版社.2000.5陈德山等.单片机测控系统“看门狗”技术的软件与实现.福建电脑.2006年第2期.6董玉杰等.工业用单片机系统中的软件抗干扰技术.河南理工大学学报.2006.12.7王中训等.远程多路数据采集系统.煤矿机械.2006.3.附件(程序):ORG 0000HLJMP MAIN;跳至主程序ORG 0003HNOPNOPSJMP KEYB;接受键盘指令ORG 000BHNOPNOPSJMP INTT0;T0中断处理(数据采集)ORG 0013NOPNOPLJMP COLLECT;跳至数据采集处ORG 001BHNOPNOPMOV TH1,#14H;T1的初值重载MOV TL1,#48HLJMP COLLECT;跳至数据采集处ORG 0023H NOPNOPLJMP INT;跳至数据传输处RESTART: POP R1 POP R1PUSH 00HPUSH 00HNOPNOPRETIINTT0 :MOV DPTR,#7F00;启动A/D转换MOV A,R1MOV DPTR,ARETI;接收键盘指令KEYB: CLR IE0MOV DPTR,#7FFEH;数据指针指向键盘端口处MOVX A,DPTRRL AMOV DPTR ,#JTJMP A+DPTR;转向各功能键处理COLL: CLR ESSETB EX1 ;开始数据的采集MOV P2,#7F;指向键盘显示器数据口MOV R0,#FEMOV A,#00HMOVX R0,AMOVX R0,AMOVX R0,AMOV A,#39H;显示“C”,提示键入“COLLECTx”MOVX R0,ARETITRAN: CLR TR0CLR ET0CLR TR1CLR ET1CLR EX1 SETB ES;允许串行口中断(数据传输)CLR DPTR;取第一个发送数据MOVX A,DPTRMOV SBUF,A;送入发送缓冲器RETIRESET: SJMP $;利用延时情况下,硬件看门狗复位功能ROAD1: MOV R1,#00HNOPNOPRETIROAD2: MOV R1,#01HNOPNOP RETIROAD3: MOV R1,#02HNOP NOP RETICOLLECT1: CLR ET1SETB ET0SETB TR0;启动T0MOV R2,#01H;采集频率设为0.2ms MOV R3,#01HMOV R6,#01H NOP NOPRETICOLLECT2: CLR ET1SETB ET0SETB TR0;启动T0MOV R2,#05H;采集频率设为1msMOV R3,#05HMOV R6,#02HNOPNOP RETICOLLECT3: CLR ET0SETB ET1SETB TR1;启动T1MOV R2,#1H;采集频率设为5msMOV R3,#1HMOV R6,#03HNOP NOP RETICOLLECT4: CLR ET0SETB ET1SETB TR1;启动T1MOV R2,#5H;采集频率设为25msMOV R3,#5HMOV R6,#04HNOPNOPRETICOLLECT5: CLR ET0SETB ET1SETB TR1;启动T1MOV R2,#19H;采集频率设为125msMOV R3,#19HMOV R6,#05HNOP NOPRETICOLLECT6: CLR ET0SETB ET1SETB TR1;启动T1MOV R2,#7DH;采集频率设为625msMOV R3,#7DHMOV R6,#06H NOP NOPRETI;各功能键意义(RESET复位;ROAD:通道选择;COLLECT:采集分频选择)JT: DW COLL,TRAN,RESETDW ROAD1,ROAD2,ROAD3DW COLLECT1,COLLTCT2,COLLECT3DW COLLECT4,COLLECT5,COLLECT6BOX:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H;数据的采集与存储COLLECT: CLR IE1DJNZ R3,RET0;若 R3不为零则退出MOV A,R2MOV R3,AMOV A,R4;接数据存储区MOV DPH,AMOV A,R5MOV DPL,AMOV P2,#5FH;接至A/D转换器MOVX A,R1;接至通道口MOVX DPTR,A;数据的存储;存贮地址的显示(只显示高位地址,前面两位用于显示通道和采集频率段)NOPNOPCJNE R5,#00F,NEXTMOV P2,#7F;指向键盘显示器数据口MOV R0,#FEMOV A,R1ACALL WR;显示通道MOV A,R6ACA
展开阅读全文