资源描述
届毕业设计说明书1 引言在现实世界中要通过计算机对现实世界中的信息进行处理和显示,首先必须将计算机和现实世界联系起来,这需要将真实世界中的各种信号(称为模拟信号)转化为计算机可以识别、存储的信号(称为数字信号),这一过程即是数据采集。数据采集技术是以前端的模拟信号处理、模拟信号数字化、数字信号处理和计算机控制技术等高科技为基础而形成的综合技术。它在许多领域得到了广泛的应用1。数字技术促进了上述这些领域的发展,而反过来又对数据采集系统提出了愈来愈高的要求。随着计算机技术的发展和计算机技术在信号处理中的广泛应用,现代的测量系统在数字信号处理方面的能力也大大加强了,形成了所谓的数字化测量技术数字化测量就是借助于各种类型的传感器检测外部世界的各种信号,并转换成电信号,然后进行信号调理和A/D转换,使之转换成为能够在数字系统中进步处理的数字信号。具体来说,就是将电压、电流、温度、压力 等物理信号转化为数字量并传递到计算机中。本文在研究单片机技术、单片机数据采集及单片机通信技术的基础上,设计并实现了基于单片机的多通道数据采集系统,该系统具有构造简单、性能稳定、造价低廉、便于维护等特点,可广泛应用于工业控制、仪器、仪表、机电一体化、智能家居等诸多领域2。1.1 课题研究的背景及意义数据采集系统的任务,就是采集传感器输出的模拟信号转换成计算机能识别的信号,并送入计算机,然后将计算得到的数据进行显示或打印,以便实现对某些物理量的监测,其中一些数据还将被生产过程中的计算机控制系统用来控制某些物理量。数据采集系统的市场需求量大,特别是随着技术的发展,可用数据器为核心构成一个小系统,而目前国内生产的主要是数据采集卡,存在无显示功能、无记忆存储功能等问题,其应用有很大的局限性,所以开发高性能的,具有存储功能的数据采集产品具有很大的市场前景3 。随着电子技术的迅速发展,一些高性能的电子芯片不断推出,为我们进行电子系统设计提供的更多的选择和更多的方便,单片机具有体积小、低功耗、使用方便、处理精度高、性价比高等优点,这些都使得越来越广泛的选用单片机作为数据采集系统的核心处理器。一些高性能的A/D转换芯片的出现也为数据采集系统的设计提供了更多的方便,无论是采集精度还是采样速度都比以前有了较大的提高。其中一些知名的大公司如MAXIM公司、TI公司、ADI公司都有推出性能比效突出的A/D转换芯片,这些芯片普通具有低功耗、小尺寸的特点,有些芯片还具有多通道的同步转换功能。这些芯片的出现,不仅因为芯片价格便宜,能够降低系统设计的成本,而且可以取代以前繁琐的设计方法,提高系统的集成度。本课题研究的对象是采用51单片机、串行A/D转换器、12864中文液晶屏、基于I2C总线E2PROM存储器AT24C1024。该系统可将各种标准变送器送来的模拟电信号经过A/D转换和程序运算处理转换成相应非电量的数值并实时显示和存储4。1.2 国内外研究状况随着测试测量和控制应用的要求变得愈发苛刻,数据采集(DAQ)板制造商正在提供吞吐速度更快、集成度更高、灵活性更强,且更易于编程的数据采集板。数据采集器是目前工业控制中应用效多的一类产品,数据采集器的研究在国内外已经相当成熟,而且数据采集器的种类不断增多,功能越来越强大,主要体现为体积小、功能多样、和使用方便等方面。比如美国FLUKE公司的262XA系列数据采集器是一种小型、便携、操作简单、使用灵活的数据采集器。它可单独使用又可与计算机连接使用,它具有多种测试功能,多种数据存储功能和控制方式。Measurement Computing公司的最新产品包括USB-1608HS和USB-1608HS-2A0。这些模块提供真正同时发生的数据捕获,以每通道250kHz的采样率对最多8个通道的16位单端或差分模拟输入数据进行采集。这两款产品都包含16位的数字I/O,USB-1608HS-2A0还额外包含两个信号范围在-10到+10V的16位模拟输出通道【5】。 随着BAQ板制造商使用速度更快的信号转换器及其他高速设计技术,数据采样率也在不断增长。几年以前,采样率最快就是用于音频的200ksps,由于技术进步,目前的采样率可以达到500ksps。今天,更多的DAQ板开始集成通用串行总线(USB)。除Measurement Computing公司之外,NI公司也发布了USB-6221和USB-6229 DAQ板,提供最多32个模拟输入和250ksps的单通道采样率。尽管从目前来看,PCI和PXI是很多最新DAQ板中的通用接口总线,但USB却显示了强劲的发展势头。由于便携应用的需要,USB已经变成流行的DAQ总线。同PCI相比,USB采集板存在等待时间较长的问题,这是因为USB基于操作系统的访问方式和串行性质降低了数据传输率【6】。在国内,由于数据采集技术不断发展,市场上出现各种新型的数据采集器。例如北京凯文斯系统集成系统有限公司E16(单端),可编程增益为1,2,4,8倍,分辨率为十六位,采用率为16位,采样最高频率决定于微机的CPU及处理速度,一般6080KHZ5。国内的数据采集器与国外的数据采集器相比,在技术上仍有一定的差距。目前国内的数据采集器在高精度、高速度、实时数据采集和数据采集器的现场处理能力等方面仍有不足,不能满足运动控制、爆炸检测、医疗设备、快速生产过程和变电站自动化等领域的要求6。1.3 本课题主要研究内容1.3.1 单片机技术在信号采集系统中,单片机主要担当控制ADC,并对采集到的数据传输到上位机的角色,同时若上位机反馈信息、指令,单片机收到指令后还需对外围设备进行相关的控制。单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低。目前用的比较多的单片机有以下几种:(1)MCS5l单片机MCSSI系列单片机开始是Intel公司在20世纪80年代初研制出来的121,但现在以MCS51技术核心为主导的单片祝已成为许多厂家、电气公司竟相选用的对象,并以此为基核,推出许多与MCS51有极好兼容性的CHMOS单片机,同时增加了一些新的功能例如ATMEL公司推出的AT89S51单片机,,PHILIPS公司系列单片机,华邦(WINBOND),Silicon公司出品的C9051Fxxx单片机。以现在常用的AT89C51为例:AT89C51是一种低功耗,高性能CMOS8位单片机,片内含4Kbytcs的可系统编程的Flash只读程序存储器,器件采用高密度、非易失性存储技术生产,兼容标准MCS51系列指令系统及引脚。它集Flash程序存储器既可在线编程也可用传统方法进行编程,片内置通用8位微处理器和FIASH存储单元,功能强大,可灵活应用于各种控制领域9。(2)PIC单片机由美国Microchip公司推出的PIC单片机系列产品。首先采用了RISC结构的嵌入式微控制器,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。在全球都可以看到PIC单片机从电脑的外设、家电控制、电讯通信、智能仪器、汽车电子到金融电子各个领域的广泛应用。现今的PIC单片机已成为世界上最有影响力的嵌入式微控制器之一。PIC8位单片机具有指令少、执行速度快等优点,其主要原因是PIC系列单片机在结构上与其它单片机不同。该系列单片机引入了原用于小型计算机的双总线和两级指令流水结构。这种结构与一般采用CISC(复杂指令集计算机)的单片机在结构上是有不同的。PIC的结构特点还体现在寄存器组上,如寄存器I/O口、定时器和程序寄存器等都是采用了RAM结构形式,而且都只需要一个周期就可以完成访问和操作。而其它单片机常需要两个或两个以上的周期才能改变寄存器的内容。上述各项,就是PIC系列单片机能做到指令总数少,且大都为单周期指令的重要原因11。(3)AVR单片机AVR单片机是ATMEL公司1997年推出的精简指令集(RISC)单片机系列。ATMEL公司通过AVR把RISC技术带到了8位单片机世界,这种全新的结构带来了很多优势。该系列的程序存贮器是在片内的Flash存贮器,可以反复修改上于次、这对新产品开发,产品升级都是很方便的。单片机的指令基本上都是单个晶振周期的,能够到lMIPS/MHS的性能。该系列单片机针对应用C语言编程做了优化。这一系列单片机好的多型号都是宽电压工作的,同时有各种睡眠模式有利于降低系统功耗再加上内部的振荡器、看门狗、上电复位、A/D输入,嗍输出等功能,它也可以称为“零外设”的单片机,具有片上系统(SOC,system oil chip)的雏形。因此AW单片机适合于很多领域的应用,表现出卓越性能。AVR单片机家族已经发展成为一个很全的系列:包括TINY AVR、MEGA AVR、LCD AVR、USB AVR、FPGA AVR等类别。Tiny AVR系列的典型芯片如Tinyll、Tinyl2、Tinyl3等等,这一类型的单片机的特点是很好的把价格、性能和灵活性结合在一起,典型的应用包括锂电池充电器、冰箱控制和门禁系统等等。AVRmega系列的典型芯片如AtmegaS,Atmegal6等等,这一类型的单片机的特点是带有具有自编程能力的程序存储器,可以通过SPI、USART、和二线制接口(I C)编程,适合于需要远程编程和现场升级的应用领域;同时该类型单片机具有很全的外围设备适合于多种应用。同时还有一些增加了面向特殊应用具有特殊功能的单片机。这些单片机都是在相同的AVR的基础上加上了面向应用的特殊功能,LCD AVR加上了LCD驱动器比如Atmegal69能够驱动4X25段的LCD。USB AVR单片机例如:AT43USB351M集成了USB的物理层和数据链层的硬件协议,同时由AVR核通过编程实现传输层的实现。DVD AVR例如:AT78C1501内部通过AVR核实现内部数据通道核缓存的控制。FPGA AVK例如AT94KOSA则内部集成有FPGA这些类型构成了AVR系列单片机的庞大家族,使AVR在相应应用领域发挥独特性能。尽管AVR系列单片机型号繁多,功能各异,但是所有AVR单片机都有相同的存储器结构和指令集,因此各系列AVR单片机之间的代码移植是很方便的。不同系列单片机都会分别具有配置不同的SRAM,EEPROM,外部SRAM的接口,AD转换器,硬件乘法器,UART,USAIIT等等外围设备12。1.3.2 数据采集技术对于数据采集系统中使用哪种技术取决于对下列因素的权衡:(1)分辨率。由于精密元件成本高,所以随着分辨率的提高,A/D转换器的价格也会急剧上升。8位分辨率的模拟多路器的每通道价格几乎相当于一个转换器的价格。分辨率高于12位时,情况则相反,模拟多路切换趋于更加经济。(2)通道数。通道数决定所用多路器的大小、连线数量以及内部连接。在许多情况下,把数字多路器连到共用数据总线上,可使连线数量降到最低。模拟多路切换适用于8256个通道;超过这个数目,此技术就难以应用,模拟误差也很难减小。在大系统中,模拟和数字多路切换技术常结合在一起应用。(3)检测速度或吞吐量。高速A/D转换器会使系统造价大幅度上升。如果模拟多路器要求高速转换器以达到所要求的采样速率,那么,每一通道配置一个低速转换器,并进行数字多路切换就会便宜些。(4)信号电平及调理。对模拟多路切换而言,要使诸通道间具有宽广的动态范围是很困难的。低于iv的信号,一般要求价格昂贵的、差分低电平模拟多路切换,而且在MUX(多路器)操作之后,还要有可编程增益放大器另一种方法可能更有效,这就是:每个通道用一个放大倍数固定的运算放大器,并针对该通道的要求设计信号调理,同时采用数字多路切换。(5)检测点的物理位置。鉴于模拟信号存在衰减、传输线反射以及干扰等问题,模拟量多路切换适合于距转换器几百英尺以内的检测。依据信号电平、传输距离以及环境噪声,传输线可从双绞线到多芯屏蔽电缆。如果有合适的传输设备,在几千英里范围之内,均可进行数字切换操作,因为数字传输系统能提供长距离传输所要求的功能强大的抑制噪音特性13。1.3.3 通信技术通信是信息的处理、传输与交换过程,也就是信息的交流。我们通常把信息的发生者称为信源,信息的接收者称为信宿,传播信息的媒介称为载体,信源和信宿之间的信息传输的途径与设备称为信道。通信技术是研究如何将信源产生的信息,通过传输媒介,高效、安全、迅速、准确地传送到受信者的技术。通常,根据传输介质的不同,通信技术可分为有线通信技术和无线通信技术两大类;根据传输信号类型的不同,通信技术可分为模拟通信技术和数字通信技术。计算机通信按接口来分可分为并行通信方式和串行通信方式。(1)并行通信方式并行通信传输中有多个数据位,同时在两个设备之间传输。发送设备将这些数据位通过对应的数据线传送给接收设备,还可附加一位数据校验位。接收设备可同时接收到这些数据,不需要做任何变换就可直接使用。并行方式主要用于近距离通信。计算机内的总线结构就是并行通信的例子nSl。这种方法的优点是传输速度快,处理简单,缺点是所需连接线多,远距离通信时成本高。(2)串行通信方式串行数据传输时,数据是一位一位地在通信线上传输的,先由具有几位总线的计算机内的发送设备,将几位并行数据经并一串转换硬件转换成串行方式,再逐位经传输线到达接收站的设备中,并在接收端将数据从串行方式重新转换成并行方式,以供接收方使用14。串行传输类型主要有以下几种:1)R8-232串行通信接口目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。路一232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与312V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k 欧。所以RS232适合本地设备之间的通信。计算机上的串行通信端口RS-232是标配,虽然与现在的一些新出的标准相比,RS-232通信数据低,传输距离短,但由于其控制相对简单,设计成本低,在许多工控设备、电子测量仪器上都备有RS-232通信端口。一般的计算机将COMI以9Pin的接头接出15。2)RS-422串行通信接口如果在工业环境杂讯干扰较强,用RS-232作为传输就会容易收到干扰,使信号发生错误。为此常改用RS-422传输方式。RS-422的信号将被传送出去时会先分成正负的两条线路,当到达接收端后,再将信号相减还原回原来的信号。这样可有效防止杂讯的干扰,传输距离和速度也得到提高。RS-422与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使一对双绞线,将其中一线定义为A,另线定义为B 通常情况下,发送驱动器A、B之间的正电平在+2+6V,是一个逻辑状态,负电平在26V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“O”的第三态RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。典型的RS-422是四线接口。实际上还有一根信号地线,共5根线。其DB9连接器引脚定义。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可按10个节点。即一个主设备(Master其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4K,故发端最大负载能力是104k+100欧(终接电阻)。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XONX0FF握手)或硬件方式(一对单独的双绞线)实现18。RS-422的最大传输距离为1219米,最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为lMb/s。3) RS-485串行通信接口由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿:如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进,无论四线还是二线连接方式总线上可多接到32个设备。RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是7V至+12V之间,而RS-422在-7V至+7V之间;RS-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用 RS-485与RS-422一样,其最大传输距离约为1219米,最大传输速率为100Mb/s。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。只有在很短的离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1Mb/s。4)USB通用串行通信接口USB通用串行总线接口是现在比较流行的接口,它最大的好处在于能支持多达127个外设,外设可以独立供电,也可以通过USB接口从主板上获得500 mA+5 V的电流,并且支持热拔插,真正做到即插即用。USB的带宽容量可容纳多种不同的数据流,因此可连接大量的设备,并且USB支持在同一时刻的不同设备具有不同比特率,而且可动态变化。USB接口有着功能强大、传输速度高、连接外设数量多,可向外设提供电源等特点,其应用越来越广,但是USB接口的上位机(即PC机)程序的开发有着开发难度大、涉及知识面广,开发周期长等特点,同时在下位机(即单片机)硬件设计时必须选用带有USB接口的单片机或扩展专门的USB接口芯片,这必然会给下位机的软硬件系统设计增加难度并提高了软硬件成本。所以,USB接口通常用于对传输速度要求高、传输功能复杂、或需上位机提供电源的外设和装置上19。2 基于单片机的多通道数据采集系统总体方案设计2.1 总体方案设计概述数据采集是指将各种模拟量进行采集、转换成数字量后,再进行存储、处理、显示或打印的过程,相应的系统称为数据采集系统。它包括硬件和软件两大部分,其中硬件部分又可分为模拟部分和数字部分。基于单片机的多通道数据采集系统一般都使用单片机进行数据采集及控制,通过单片机与PC机的通信将数据传送到PC机。基于单片机的数据采集硬件系统结构框图如图2.1所示: 模拟信号A/D转换单片机PC机显示、按键 存储器RS232图2.1 基于单片机的数据采集系统结构框图该系统从结构上可将其划分为两个部分:(1)单片机数据采集:包括单片机、A/D转换电路、显示电路、按键电路,实现模拟数据的转换及采集,PC机与单片机问数据通信:(2)PC机数据处理:对单片机采集的数据的接收、处理及反馈。系统设计的基本工作流程如下:(1)系统通过按键或单片机与上位机的通信设置系统的工作模式;(2)系统通过传感器采集模拟信号;(3)采集的模拟信号通过A/D转换器转换成数字信号;(4)单片机将A/D转换器传过来的数字信号进行处理,将数据通过液晶屏显示、存储、或上传上位机;系统的功能与技术指标:(1) 数据采集通道11路(2) 精度:0.01%(3) 输入信号范围:420mA或05V(4) 环境湿度:0-90%RH(5) 环境温度:2060(6) 供电电源:5V(AC)(7) 与上位机PC通讯接口;RS232串行接口2.2 本次设计需要完成的任务(1)具有采样模式转换功能,可以进行单通道采样、多通道循环采样等采样模式之间的转换;(2)具有采样频率转换功能,可以进行高频采样、低频采样;(3)具有A/D转换,按键触发功能;(4)采样所得到的结果要传输到PC机。2.3 系统硬件电路设计原则一般在系统硬件电路设计应遵循以下原则:(1)尽可能选择标准化、模块化的典型电路,且符合单片机应用系统的常规用法。(2)硬件结构应结合应用程序设计一起考虑。软件能实现的功能尽可能由软件来完成,以简化硬件结构。但“软化”的结果可能使响应时间比硬件长。在实时性要求高的场合应采用硬件完成。(3)系统中相关的器件要尽可能做到性能匹配。(4)单片机外接电路较多时,必须考虑其驱动能力。(5)可靠性及抗干扰设计是硬件设计不可缺少的一部分。2.4 系统硬件器件设选择(1)货源充足,所选单片机芯片在国内元器件市场上货源要稳定充足、具有成熟的开发设备。(2)性价比要高,在保证性能指标情况下,所用芯片价格要尽可能低,使系统有较高的性价比。(3)研制周期短,在研制任务重、时间紧的情况下,应考虑采用自己比较熟悉的系列、型号。2.5 单片机及编程语言的选择目前单片机的发展速度较快,单片机的型号繁多,要根据设计系统的功能要求、性能指标及价格等选择型号,一般来说,控制关系较简单的小家电,可以采用RISC型单片机:控制关系较复杂的场合,如通讯产品、工业控制系统应采用CISC单片机。51系列单片机以其高性能、高速度、体积小、价格低廉、可重复编程和方便功能扩展等优点,在市场上得到广泛的应用。本系统采用SCT89C52型号的单片机作为本系统的控制中心。单片机应用系统的软件主要包括两大部份:用于管理数据采集系统工作的监控程序、系统主程序和各项功能子程序。根据系统软件的总体构思,按照先粗后精的方法,把整个系统软件划分成多个功能独立、大小适当的模块。应明确规定各模块的功能,尽量使每个模块功能单一,各模块间的接口信息简单、完备,接口关系统一,尽可能使各模块间的联系减少至最低限度。最后再将各个模块连接成个完整的程序进行总的调试目前单片机的程序编写一般用C语言或者汇编语言。汇编语言是一种面向机器的程序语言,其可以直接控制硬件,指令执行速度快,且指令时间固定,因而汇编语言的执行效率很高。但其语言格式比较晦涩、可读性差、难以编写与调试,也不便于移植,影响了程序代码的共享。与汇编语言相比,单片机C语言在结构上更易理解、可读性强、且开发速度快、可靠性好、易与移植。因此,使用单片机C语言进行单片机系统的开发,可以缩短开发周期、降低开发成本,随着单片机硬件系统的发展和产品更新速度的提升,单片机的开发越来越侧重程序本身的开发效率。因此单片机C语言已经成为目前最流行的单片机开发语言【12】。3 系统硬件设计3.1 硬件系统的总体结构 系统的原理图见附录1系统共有6个按键,其中Button1、Button2按键为自锁按键,Button2用于控制系统电源的通断。S1按键为单片机系统的中断按键。按键K1用于选择数据采集的工作方式,本系统共有单路数据采集采集值只显示、四路数据采集采集值只显示、单路数据采集采集值显示并存储、多路数据采集采集值显示并存储四种工作方式。当Button1按下锁定时,K2键用于选择存储时每次存储的间隔时间。当Button1未锁定时,K2键用于选择单路数据采集时用哪一路进行采集。INT1键用于选择完工作方式后的确定,按下INT1键后系统便按设定的方式进行工作。INT0键用于单片机与上位机的通信,每按下一次INT0键,系统便把当前的采集值上传上位机。系统也可根据上位机传给系统的命令设定系统的工作方式。3.2 AD转换及单片机电路单片机数据采集电路的功能是对多路模拟信号的采集与预处理部分,包括单片机电路、A/D变换器电路、按键电路、显示电路等,选择何种技术要根据设计的电路的应用范围决定,本文设计的数据采集系统是一个应用于工业控制、仪器、仪表、机电一体化、智能家居等领域的通用型数据采集系统,确定该系统采集分辨率为8-12位、通道数为8-12位、检测速度为几十KPS、信号电平为小于或等于5V、检测距离小于或等于10m。其具体的电路方案选择如下:(1)A/D转换及单片机电路:对多路模拟量进行采集的数据采集系统,一般在不要求高速采集的场合,可使用公共模数转换器筛称A/D转换器),用模拟多路开关轮流切换各路模拟量与A/D转换器之间的通道,使得在一个特定的时间内,只允许一路模拟信号输入到A/D转换器,从而实现分时转换的目的。被测信号被限定在05V之间,对于AD变换器可以选用专用变换器,也可以使用集成在MCU的变换器。对于独立变换器,当对信号精度和采集速度不高的情况下可以直接用8位变换器ADC0809,再加上MSC51单片机进行信号选择和通信。或采用TI公司的TLC1543 10位串行A/D转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省5l系列单片机IO口资源。也可以直接用集成10位精度ADC的AVR Megal6来对信号采集、控制和传输。本次设计的A/D采样模块采用的器件为TLCl543。TLCl543是TI公司推出的采用SPI技术的模数转换器。具有输入通道多、高速、高分辨率、性价比高、易于和单片机接口等特点,在各种数据采集系统中有着广阔的应用空间。采用51单片机、TLCl543外加很少的外围器件即可构成一个高性价比的数据采集系统,同时TLCl543占用单片机I/O资源较少, 使得单片机有足够的I/O 资源去完成控制、显示等功能。TLCl543为20脚封装的CMOS 10位开关电容逐次A/D逼近模数转换器。芯片内部有一个14通道多路选择器,可以选择11路模拟输入通道和3路内部自测电压中的任意一路进行测试。片内设有采样保持电路,在转换结束时,EOC置高表明转换完成。TLCl543具有高速(10微妙转换时间)、高精度(10位分辨率,最大1LSB不可调整误差)和低噪声的特点。TLC1543的封装如图2.1。 图2.1 TLC1543引脚图TLC1543与单片机的电路连接图如图3.1所示。A0A10:模拟输入端。这11个模拟信号输入由内部多路器选择。驱动源的阻抗必须小于或等于1K欧。 EOC:转换结束信号。在第十个I/O CLOCK该输出端从逻辑高电平变为低电平并保持低直到转换完成及准备数据传输。ADDRESS:串行数据输入端。一个4位串行地址选择下一个即将被转换所需的模拟输入或测试电压。串行数据以MSB为前导并在I/O CLOCK的前四个上升沿被移入。在四个地址被读入地址寄存器后,这个输入端对后续信号无效。CS:片选端。在CS端的一个有高到低变化将复位内部计数器并使能 DATA OUT、ADDRESS、和I/O CLOCK 一个由低到高的变化将在一个设置时间内禁止ADDRESS和I/O CLOCK。DATA OUT:用于A/D转换结果输出的3态结果输出端。DATA OUT在CS为高时处于高阻抗状态,而CS为低时处于激活状态。CS一旦有有效,按照前一次转换结果的MSB值将DATA OUT从高阻抗状态变成相应的逻辑电平。I/O CLOCK的下一个下降沿将根据MSB的下一位将DATA OUT驱动成相应的逻辑电平,剩下的各位依次出,而LSB在I/O CLOCK的第九个下降沿出现。在 I/O CLOCK的第十个下降沿,DATA OUT被驱动成逻辑地电平,因而多于十个时钟串行接口传送的是一些“零”。I/O CLOCK:输入输出时钟端。 REF+:正基准电压比较端。基准电压的正端(通常为VCC)被加到REF+。最大的输入电压范围取决于加于本端与加于REF-端的电压差。REF-:负基准电压电压端。基准电压的低端(通常为地)被加到VEF-。 图3.1 TLC1543与单片机的连接图 3.3 显示部分为了直接从单片机上了解当前采集信号的信息和机器状态。可在单片机系统板安装数码管,也可直接用Mega16驱动一块LCD2X16液晶屏。由于数码管只能显示一些数字信息,很难从这些数字了解机器的状态,故选液晶屏更合适。本系统采用12864中文液晶屏,带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个1616点汉字,和128个168点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字,也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块20。基本特性:(1)低电源电压(VDD:+3.0+5.5V)(2)显示分辨率:12864点(3)内置汉字字库,提供8192个1616点阵汉字(简繁体可选)(4)内置 128个168点阵字符(5)2MHZ时钟频率(6)显示方式:STN、半透、正显(7)驱动方式:1/32DUTY,1/5BIAS(8)视角方向:6点(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10(10)通讯方式:串行、并口可选(11)内置DC-DC转换电路,无需外加负压(12)无需片选信号,简化软件设计(13)工作温度: 0 +55 ,存储温度: -20 +60 模块接口说明并行接口管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)12864中文液晶屏与单片机的连接电路图如图3.2所示: 图3.2 12864中文液晶屏与单片机的连接图3.4 单片机与上位机通信部分 并行传输由于数据线间相互干扰明显,传输距离不能很远,放在此设计主要考虑串行传输方式。RS232串行通信接口技术成熟、结构简单,只需3条普通导线就可以进行双向通信,传输距离较远,一般可达10m以上现在流行的高级语言都支持对串口的直接操作,常用的单片机也把串行通讯口作为一个标准接口集成在单片机内,开发者在进行单片机应用系统设计时只需增加1片RS232C与TTL电平转换芯片就可以构成一个单片机与PC机之间的RS232C串行通讯接口。因此,RS232C串行通讯接口的开发具有开发周期短,对开发者的软硬件水平要求不高等特点。本系统单片机与上位机的通信采用RS232。如果系统采集的模拟信号速率低,且对周围的环境要求不严格,从设计的简单实用,利于维护,并考虑成本方面的因素,对以上几种传输方式,优选RS-232方式。本系统单片机与上位机的通信采用RS232接口,在进行单片机应用系统设计时只需要增加1片RS232与TTL电平转换芯片就可构成一个单片机与PC机之间的RS232串行通行接口。PC机的串口分为9针串口(DB9)和25针串口(DB25),目前比较常用的是9针串口,本系统用的是9针串口。系统已单片机为下位机,PC机为上位机,二者通过RS232串行口接收或上传数据,由于PC机上的COM口采用的是RS232电平,而单片机接口采用的是TTL电平21。两者电平方式如下:RS232信号电平为:逻辑1(MARK)-3- -15V 逻辑0(MARK)+3+15V电平为TTL电平: 逻辑1为大于3.6V 逻辑0为小于0.3V所必须进行二者之间的电平转换。转换的方法可以选择集成的电平转换芯片MAX232来进行RS232C和TTL电平转换,也可以用分立的元器件组成电平转换电路。MAX232用+5V为其工作,配接4个1uF电解电容既可完成RS232电平与TTL电平之间的转换。串口与MAX232及单片机的连接图如图3.3所示: 图3.3 串口与MAX232及单片机的连接图3.5 存储部分本系统的存储器采用基于I2C总线的E2PROM AT24C1024。AT24C1024是内含128K8位低功耗CMOS的E2PROM,具有工作电压宽(2.55.5V),擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。AT24C1024的1、2、3引脚A0、A1、A2是三条地址线,用于确定芯片的硬件地址,4引脚为接地端,5引脚为串行时钟输入线,6引脚为串行数据输入/输出,数据通过这条双向I2总线串行传送,7引脚为写保护端,8引脚为电源。AT24C1024中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加一,以实现对下一个存储单元的读写。所有字节以单一方式读取。为降低总的写入时间,一次操作可写入多大8字节的数据。带I2C总线接口的器件可十分方便的用来将一个或多个单片机及外围器件构成单片机系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线与连接引脚少,因而其构成的系统价格低,器件间总线简单,结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统的修改和扩展性好。AT24WC01/02/04/08/16/1024 支持I2C 总线数据传送协议I2C 总线协议规定任何将数据传送到总线的器件作为发送器任何从总线接收数据的器件为接收器数据传送是由产生串行时钟和所有起始停止信号的主器件控制的主器件和从器件都可以作为发送器或接收器但由主器件控制传送数据发送或接收的模式通过器件地址输入端A0、 A1 和A2 可以实现将最多8 个24WC01 和24WC02 器件4 个242C04 器件,2 个24WC08 器件和1 个24WC16 器件连接到总线上。AT24C1024与单片机的连接图如图3.4所示21: 图3.4 24C1024与单片机的连接图 3.6 印刷电路板的设计3.6.1 Protel DXP 简介Protel DXP是在原来Protel99SE的基础上推出了一款基于Windows2000和WindowsXP操作系统的EDA设计软件。Protel DXP在前版本的基础上增加了许多新的功能。新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。Protel DXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。Protel DXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP 提供了全面的设计解决方案22。3.6.2电路原理图设计在绘制电路原理图时,需要注意以下几个问题:首先,在绘制电路原理图之前,应该将电气格点和锁定格点设置为开启状态,可以避免导线与器件引脚产生的虚连接。其次,在完成电路图的绘制后,进行电气规则检查(ERC)是一项非常重要的工作。根据设计要求,在电气规则检查矩阵中,设置相应的电气警告和电气错误的条件,ERC就可以全面的分析原理图的常见错误和无效的电气连接。 3.6.3 PCB版图设计在印刷电路板的设计过程中,应该遵循一些设计的基本原则,否则会使系统工作不稳定甚至不能正常工作,一般的解决办法包括布局设计、布线设计。(1)布局设计考虑到本设计中元器件比较多,所以我按照以下方法进行布局。首先,按电气性能合理分区,完成同一功能的器件应相对集中,并调整各元器件以保证连线最为简洁;同时调整各功能模块间的相对位置,使功能块间的连线最简洁。其次,本设计中电源和地的滤波电路中的去耦电容较多,在放置去耦电容时,应将电容尽量靠近电源、接地引脚。此外,I/O驱动器件尽量靠近印刷板的边线或靠近引出接插件;并且将时钟发生器尽量靠近用到该时钟的器件。(2)布线设计布线是整个PCB设计中最重要的工序,这将直接影响着PCB板的性能好坏。在该信号源系统的PCB设计中,版图使用手工布线,首先注意到该设计中绝大部分的信号线是数据线和地址线。所以在元器件位置确定后,应该先完成它们的布线,尽可能做到成组、平行分布,同时应尽可能的短,之后再进行各种控制信号的布线,最后处理电源和接地引脚。在布线时,应按照地线电源线信号线的关系加宽电源、地线宽度,地线及电源线的典型线宽值为40mil。其次,振荡器外壳接地,时钟线尽量短。时钟振荡电路下面应加大地的面积,不走其它信号线,以使周围电场趋近于零。采用45的折线布线,以减小高频信号的辐射。最后在版图布线完成后,对布线进行优化;同时,经初步网络检查和DRC检查无误后,对未布线区域进行地线填充。该系统采用以上方式进行布线,共有两块PCB板(双面板)。系统的PCB版图设计见附录222。 4 系统软件设计4.1 单片机软件程序设计语言的选择及其实现针对通用数据采集系统的硬件电路总体设计以及各部分电路的组成,本章将对系统要完成的数据采集、数据显示、数据传输、数据存储四个基本功能展开设计。在系统研制过程中,A/D采样控制软件完成了系统对数据采集功能的实现;串行口软件则实现了和上位机的通讯、数据交互功能:数据存储软件完成对采集数据的定时存储,此外还包括外围的键盘控制和LCD显示软件。4.2 程序设计主程序为整个通用数据采集系统的主体部分,它是由若干模块组成:自检与初始化模块、A/D转换程序模块、显示驱动模块、按键程序模块、数据上传通讯模块、数据存储模块。其中有些模块还包含有子模块,使用时下一级模块被高一级模块调用,各部分既相互独立,又相互联系。主程序首先是系统初始化。当运行正常后,进入数据采集软件的主程序运行,根据按键的设置或接收到的上位机命令,完成数据采集、数据显示、数据传输及数据存储等基本功能。本系统共有四种采集方式,采集方式1程序流程图如图4.1所示,程序开始后首先是系统初始化,然后按下采集方式选择按键选择采集方式1,再按下采集通道选择按键选择采集通道,再按下确定按键进入采集方式1子程序,采集方式1子程序里调用液晶屏显示子程序显示设定的采集方式和选定的通道,然后调用A/D子程序采集信息,再调用液晶屏显示子程序显示采集结果,接着判断是否上位机上有命令出来或上传上位机的按键按下,若有则进入中断程序执行上传程序,下一步判断是否有停止按键按下或有上位机传来停止命令,若有则画面显示停止前的采集值。在程序执行过程中若有复位键按下则程序重新从开始断开始执行。 图4.1 采集方式1的程序流程采集方式2的程序流程图如图4.2所示,程序开始后首先是系统初始化,然后按下采集方式选择按键选择采集方式2,再按下确定按键进入采集方式2子程序,采集方式2子程序里调用液晶屏显示子程序显示设定的采集方式,然后调用A/D子程序采集信息,再调用液晶屏显示子程序显示采集结果,接着判断是否上位机上有命令出来或上传上位机的按键按下,若有则进入中断程序执行上传程序,下一步判断是否有停止按键按下或有上位机传来停止命令,若有则画面停止在停止前采集值。在程序执行过程中若有复位键按下则程序重新从开始断开始执行。 图4.2 采集方式2程序流程图采集方式3程序流程图如图4.3所示,程序开始后首先是系统初始化,然后按下采集方式选择按键选择采集方式3,再按下采集通道选择按键选择采集通道,再按下确定按键进入采集方式3子程序,采集方式3子程序里调用液晶屏显示子程序显示设定的采集方式和选定的通道,然后调用A/D子程序采集信息,再调用液晶屏显示子程序显示采集结果,再调用存储子程序存储采集信息,接着判断是否上位机上有命令出来或上传上位机的按键按下,若有则进入中断程序执行上传程序,下一步判断是否有停止按键按下或有上位机传来停止命令,若有则画面停止在停止前采集值。在程序执行过程中若有复位键按下则程序重新从开始断开始执行。图4.3 数据采集3程序流程图采集方式4的程序流程图如图4.4所示,程序开始后首先是系统初始化,然后按下采集方式选择按键选择采集方式4,再按下确定按键进入采集方式4子程序,采集方式4子程序里调用液晶屏显示子程序显示设定的采集方式,然后调用A/D子程序采集信息,再调用液晶屏显示子程序显示采集的结果,接着判断是否上位机上有命令出来或上传上位机的按键按下,若有则进入中断程序执行上传程序,下一步判断是否有停止按键按下或有上位机传来停止命令,若有则画面停止在停止前采集值。在程序执行过程中若有复位键按下则程序重新从开始断开始执行。 图4.4 采集方4程序流程图(1)接收中断处理程序接收中断处理程序主要负责接收微机发送到单片机接收缓冲区(不对数据进行处理,以减少中断占用的时间)的数据,当接收到规定的字符数或在一定等待时间内无后续数据之后,置接收完毕标志,以表明接收缓冲区中有待处理的数据并请求通信处理程序对其进行处理。其流程图如图4.5所示 图4.5 接收子程序流程图(2)发送中断处理程序发送中断处理程序主要负责向微机发送数据,发送中断一般处于禁止状态,只有在通信处理程序将需要发送的数据写入单片机的发送缓冲区,并将发送中断置为允许方式后,发送中断才开始工作,并将缓冲区数据逐一发送给微机。当发送完指定长度的数据后(发送缓冲区为空),发送中断处理程序将发送中断置为禁止(关闭)状态,直到通信处理程序将其再一次开放。其流程如图4.6所示。 图4.6接收子程序流程图 A/D转换器TLC1543在程序开始时,在前4个时钟的上升沿往ADDRESS引脚输入4位的地址,在填入六个时钟后,在接下来的10 个时钟周期的下降沿读出模数转换值,高位数据在前。TLCl543工作时序图中,当EOC为高时,将CS置低,A/D开始工作,由ADDRESS端送人4位地址的最高位B3,在B3有效期间输入一个I/O CLOCK信号,将地址最高位移入A/D地址寄存器,同时从DATAOUT端口读出前一次采样转换的IO位数据的最高位A9。然后送入B2,同时输入一个I/O CLOCK信号,将B2移人ME)地址寄存器,从DATAOUT读出A8。按此时序进行直到将4位地址送入A/D,同时读出前一次采样转换结果的A9、A8、A7、A6高四位。然后,输入6个I/OCLOCK信号将A5-A0读出。10个I/O CLOCK信号后EOC将置低,此时AID进入转换过程,转换完成后EOC置高。TLC1543时序图如图4.7所示,其程序流程图如图4.8所示。 图4.7 TLC1543时序图 图4.8 A/D程序流程图5 系统调试及其验证5.1 硬件系统的调试任何一台仪器设计完成后,都要进行硬件调试和软件调试。许多的故障只有在系统软硬件同时调试的条件下才能正确找出硬件上或软件上的错误。但是首先要对仪器的硬件系统做出仔细的调试,在保证硬件连接无错误后再进行软件调试。5.1.1 硬件检查在对系统上电之前,首先要检查系统上的元器件的安装是否正确。比如集成电路块的引脚是否插错、二极管和三极管管脚有没有接反、晶振的参数是否正确、是否选择了大小合适的电容和电阻。5.1.2 电源系统的调试在整个仪器样机上电之前,首先不要把元器件安装到PCB板上面而是要先调试电源部分。因为电源故障,则加电后将造成元器件的损坏电源系统中常见错误有:(1)输出电压不正确。(2)电源负载驱动能力不够。(3)纹波系数大,抗干扰能力差。5.1.3 静态测试在样机加电之前,先用万用表对电源走线,电源之间的极性错误和短路进行检查,而且重点检查扩展系统总线(地址总线,数据总线、控制总线)是否存在相互之间的短路。上电后,然后检查各插件和芯片的引脚电位,仔细检查各电位点是否正常。5.2 软件系统调试5.2.1 软件系统比较常见的错误(1)程序失控这种错误的现象是当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有。这是由于程序转移到没有预料到的地方或在某处死循环所造成的。这类错误的原因有:程序中转移地址计算错误,堆栈溢出,工作寄存器冲突等。(2)中断错误CPU不响应任何中断或不响应某一个中断。这种错误的现象是连续运行时不执行中断服务程序中的规定操作,当断点设在中断入口或中断服务程序中时碰不到断点。(3)输入输出错误这类错误包
展开阅读全文