电子工程论文数据采集系统.doc
1前 言1.1 研究意义在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进展采集。数据采集技术是信息科学的重要分支,是传感器、信号获取、存储与处理等信息技术结合。将外部世界存在的温度、压力、液位等转换为模拟或数字信号,再传送到计算机作进一步处理的这一过程,即“数据采集。数据采集已在工农业,医药卫生,生态环境,航天航空,军事,气象等领域得到了广泛的应用,可以通过对信号测量,处理,控制及管理,实现测、控、管的自动化与系统化。而利用Philips公司推出的增强型80C51单片机系列P89C51RA2和TI公司的11路12位串行模数转换芯片TLC2543组成多路高精度的数据采集系统,很容易就能实现低本钱、高可靠性、多点的数据采集。并可通过USB数据总线接口与PC机进展数据通信,在PC机上实时地显示和存储采样数据,本系统可应用于实验室或工业现场等多种场合的多路数据实时采集。1.2 研究内容本文介绍的是基于80C51单片机和TLC2543的多路数据采集系统的设计,这个系统的根底是数据采集系统。本文先对数据采集系统做简单的介绍,然后根据此次毕业设计的要求,使数据采集系统在功能上具体化,细致化,实现多路数据采集系统的设计要求。本系统可以实现对14路模拟信号的采集,然后根据需要将14路模拟信号中的任一路或多路信号进展模-数转换,并通过USB接口,在PC机上实时的显示出来。本文采用P89C51RA2作为核心控制部件,它功能比拟齐全,可以满足系统设计的需要。单片机控制数据的采集、显示、传输,它是整个系统的核心,而TLC2543则是此数据采集系统的A/D转换芯片,它使用开关电容逐次逼近技术完成A/D转换过程由于是串行输入构造,能够节省51系列单片机的I/O资源,且价格适中,分辨率较高。本设计的主要任务是TLC2543和单片机的接口电路设计,输入信号的调理电路设计以及A/D转换程序的编写。2数据采集系统的构成在任何计算机测控系统中,都是从尽量快速,尽量准确,尽量完整的获得数字形式的数据开场的。因此,数据采集系统作为沟通模拟域与数字域的桥梁起着非常重要的作用。70年代初,随着计算机技术及大规模集成电路的开展,特别是微处理器及高速A/D转换器的出现,数据采集系统构造发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。因为由微处理器去完成程序控制,数据处理及大局部逻辑操作,使系统的灵活性和可靠性大大的提高,系统的硬件本钱和系统的重建费用大大的降低。数据采集系统一般由信号调理电路,采样保持电路,A/D转换芯片,微处理器组成。构造框图如图2-1所示。采样保持电路A / D转换微处理器信号调理电路图2-1 数据采集系统构造框图其*号调理电路,它是传感器与A/D之间的桥梁,也是测控系统中重要组成局部。信号调理的主要功能是:(1)目前标准化工业仪表通常采用010Ma,420mA信号,为了和A/D的输入形式相适应,必须经I/V变换成电压信号。(2)*些测量信号可能是非电压量,如热电阻等,这些非电压量信号必须变为电压信号,还有些信号是弱电压信号,如热电偶信号,必须放大,滤波,这些处理包括信号形式的变换,量程调整,环境补偿,线性化等。(3)*些恶劣条件下,共模电压干扰很强,如共模电平高达220V,不采用隔离的方法无法完成数据采集的任务,因此,必须根据现场环境,考虑共模干扰的抑制,甚至采用隔离措施,包括地线隔离,路间隔离等等。综上所述,非电量的转换,信号形式的变换,放大,滤波,共模抑制及隔离等等,都是信号调理的主要功能。信号调理电路包括电桥,放大,滤波,隔离等电路。根据不同的调理对象,采用不同的电路。电桥电路的典型应用之一就是热电阻测温。用热电阻测温时,工业设备距离计算机较远,引线将很长,这就容易引进干扰,并在热电阻的电桥中产生长引线误差。解决的方法有:采用热电阻温度变送器:智能传感器加通讯方式连接:采用三线制连接方法。信号放大电路通常由运放承当,运放的选择主要考虑精度要求(失调及失调温漂),速度要求(带宽、上升率),幅度要求(工作电压范围及增益)及共模抑制要求。常用于前置放大器的有uA741,LF347(低精度),OP-07(中精度),ICL7650(高精度)等。滤波和限幅电路通常采用二极管,稳压管,电容等器件。用二极管和稳压管的限幅方法会产生一定的非线性且灵敏度下降,这可以通过后级增益调整和非线性校正补偿。此外,由于限幅值比最大值输入值高,当使用多路开关时,*一路超限时可能影响其他路,需要选用优质模拟开关如AD7501。共模电压的存在对模拟信号的处理有影响。高的共模电压会击穿器件,即使没有损坏器件,也会影响测量的精度。隔离是克制共模干扰影响的有效措施。常用的隔离方法有:光电隔离,采用隔离放大器等。3基于USB的数据采集系统的硬件设计3.1系统的原理及其组成在工业生产和科学技术研究的各行业中,常需要对各种信号进展采集,如液位、温度、压力、频率等。但传统的采集方式是在PC机或工控机内安装数据采集卡,采用这种方式不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线的出现,很好地解决了上述这些冲突,很容易就能够实现低本钱、高可靠性、多点的外置式数据采集系统,这不仅能提高系统的数据传输速度,还能增强系统的灵活性,同时有利于系统的维护。本USB的数据采集系统主要利用了A/D转换技术、温度控制技术、微处理器和USB技术,是伴随着USB技术的迅速开展与新的数据采集技术的开展而开展起来的。采集到的数据通过主机接口(USB口)发送到PC机并实时显示出来,其波形保真性能与A/D转换器的转换速率、分辨率与精度密切相关。A/D转换速率越高,复现的波形的分辨率也就越高:A/D转换器位数越多,精度越高,波形保真性越高。本系统总体构造图如图3-1所示。其中温度控制技术、USB技术和数据采集波形的实现由第三方设计完成,这里不在介绍。USB芯片CPU芯片USB接头数据控制串行数据USB总 线主机USB 接口温度采集电路数据采集电路数据命令数据控制图3-1 USB数据采集系统总体构造图基于USB的数据采集系统的数据采集模块主要是由A/D转换器、微处理器、电压跟随器等组成。数据采集系统的构造框图如图3-2所示:微处理器11路模拟输入信号电压跟随器数据A/D转换 器数据数据图3-2 数据采集系统构造图从以上两个构造图中可知,11路模拟输入信号通过电压跟随器滤波后,输出到A/D转换器,微控制器把经过A/D转换器转换后的数字信号通过USB控制芯片输出给计算机,同时可以在计算机上实现数据的显示;而USB主机及显示局部则通过输出接口在PC机上显示,采用软件来模拟显示输入信号的波形。同时可以控制A/D转换器的启停、数据存取器的存取、USB外设芯片的工作、显示图形的放大和缩小等。3.2硬件电路的芯片选择在选择一个芯片时,用户一般考虑的是芯片含有的功能、价位、是否容易取得以及是否容易开发等因素。一个芯片是否容易开发,视开发工具是否容易取得及其品质,设备的驱动程序,有无例如程序代码,以及对设备构造等的了解而定,下面对本系统中芯片的选择作一个简单的介绍。 单片机芯片选择本设计中我们采用了Philips公司推出的增强型80C51单片机P89C51RA2,此芯片包含8K可并行可编程的非易失性FLASH程序存储器,并可实现对器件串行系统编程(ISP)和在应用中编程(IAP)。在系统编程 ISP(In-System Programming),当MCU安装在用户板上时允许用户下载新的代码。在应用中编程 IAP(In-Application Programming),MCU可以在系统中获取新代码并对自己重新编程,这种方法允许通过调制解调器连接进展远程编程片内ROM中固化的默认的串行加载程序Boot Loader允许。ISP 通过UART将程序代码装入Flash存储器而Flash代码中则不需要加载程序,对于IAP用户程序通过使用片内ROM中的标准程序对Flash存储器进展擦除和重新编程 该器件可通过并行编程或在系统编程的方法对一个Flash位进展编程,从而选择6时钟或12时钟模式。此外也可通过时钟控制存放器CKCON中的*2位选择6时钟或12时钟模式,另外当处于6时钟模式时外围功能可以选择一个机器周期6时钟或是12时钟,这是通过CKCON存放器进展选择的。该系列微控制器是 80C51 微控制器的派生器件是采用先进CMOS工艺制造的8位微控制器,指令系统与80C51完全一样。该器件有4组8位I/O口、3个16位定时/计数器、多中断源-4中断优先级-嵌套的中断构造、1个增强型 UART 片内振荡器及时序电路和扩展数据存储器片内64K、PCA(可编程计数器阵列)、硬件看门狗定时器。新增的特性使得P89C51RA2成为功能更强大的微控制器,从而更好地支持需要用到脉宽调制,高速I/O,递增/递减计数功能(如电机控制)等应用场合。 模数转换芯片选择近年来模数转换技术开展很快,在功能增强、功耗降低的同时转换速度也极大地提高,转换频率从几百kHz提高到几十MHz,而且芯片也较廉价,使用也日益广泛。其A/D转换器的种类也越来越多,目前使用广泛的有:逐次逼近式A/D转换器、余数反应比拟式A/D转换器、双积分A/D转换器、V/F变换式A/D转换器和式A/D转换器等等。(1) 逐次逼近式A/D转换器:速度高,外用元器件也不多,大多数单片集成A/D转换器芯片多采用此种方式。但对快速变化的输入信号应配备采样保持器才能保证转换精度的要求。此外,A/D转换器本身对输入信号中的噪声无抑制作用,必须采用外加软硬件抗干扰措施,才能抑制输入信号中大局部随机干扰。(2) 余数反应比拟式A/D转换器:这种转换方式分辨率很高,量化误差小,转换精度高。这种转换方式的速度主要受两个因素的限制:一是每次循环进展电压数字转换的时间;二是余数模拟电压的建立时间。目前,采用这种方式的A/D芯片,通过辅之以一些另外的技术措施,其转换速度还是比拟快的。(3) 双积分A/D转换器:抗干扰能力强,具有较高的转换精度,电路构造简单,编码方便,但转换速率低,常用于速度要求不高,精度要求较高的测量仪器仪表中。(4) V/F变换式A/D转换器:由于应用了积分电容,具有很好的抗干扰性能、良好的线性度和高的分辨率,电路构造简单。缺点是转换速率低,在一些非快速的检测信道中愈趋向使用V/F变换式A/D转换器代替通常的A/D转换器。(5) 式A/D转换器:它兼有反应比拟和积分式的特征,具有较强的抗干扰能力,量化噪声小、分辨率高和线性度好的优点。转换速率也高于积分式ADC,因此,式A/D转换器是用于户外智能仪器仪表和工业过程参数检测控制的优先选择。在本系统中,根据实际需要和性价比综合考虑,采用了TI公司生产的TLC2543C,11路12位开关电容逐次逼近串行A/D转换器,采样率为66 kbit /s,在工作温度范围内10us转换时间。具有三个控制输入端:片选,输入/输出时钟I/O CLOCK以及地址输入端AD_DIN。它还可以通过一个串行的3态输出端AD_OUT与主处理器或其外围的串行口通讯,输出转换结果。本器件可以从主机高速传输数据。除了高速的转换器和通用的控制能力外,本器件有一个片内的14通道多路器可以在11个输入通道或3个内部自测试(SELF-TEST)电压中任意选择一个。采样-保持是自动的。在转换完毕时,转换完毕EOC输出端变高以指示转换的完成。本器件中的转换器结合外部输入的差分高阻抗的基准电压,具有简化比率转换、刻度以及模拟电路与逻辑电路和电源噪声隔离的特点。开关电容的设计可以使在整个温度范围内有较小的转换误差。此多通道,小体积的TLC2543C器件,线性误差小 (±1 LSB ma*),节省I/O资源,本钱较低,特别适用于单片机数据采集系统的开发。TLC2543的内部构造如图3-3所示。图3-3 TLC2543内部构造图TLC2543内部由通道选择器、输入地址存放器、采样保持电路、12位的模数转换器、输出存放器、并串转换器以及控制逻辑电路等7个局部组成。通道选择器根据输入地址存放器中存放的地址选择输入通道,并将输入通道中的信号送到采样保持电路中,然后在12位数模转换器中将采样的模拟量转换成数字量,存放到输出存放器中,这些数据经过并行串行转换器转换成串行数据,由AD_OUT端输出到微处理器中。3.3 TLC2543和单片机的接口电路设计在80C51系列微处理器中都不带SPI或一样的接口能力,为了和TLC2543模数转换器接口,需要用软件来合成SPI的操作,这样数据传送速率下降,受微处理器指令周期时间控制,因而受微处理器的时钟频率影响。因此要尽可能选择微处理器的最高始终频率,以减小指令周期时间,优化接口数据传输速率。如图3-4所示,TLC2543和单片机的接口电路。TLC2543的转换完毕端EOC、I/O时钟、串行数据输入端AD_DIN、串行数据输出端AD_OUT片选CS分别连接单片机的并行双向I/O口1的管脚P1.0、P1.1、P1.2、P1.3、P1.4。图3-4 TLC2543与单片机的接口电路图在设计制作时要考前须知:(1)电源去耦当使用TLC2543这种12位A/D器件时,每个模拟IC的电源端必须用一个0.1F的陶瓷电容连接到地,用作去耦电容。在噪声影响较大的环境中,建议每个电源和陶瓷电容端并联一个10F的钽电容,这样能够减小噪声的影响。(2)接地对模拟器件和数字器件,电源的地线回路必须分开,以防止数字局部的噪声电流通过模拟地回路引入,产生噪声电压,从而对模拟信号产生干扰。所有的地线回路都有一定的阻抗,因此地线要尽可能宽或用地线平面,以减小阻抗,连线应当尽可能短,如果使用开关电源,则开关电源要远离模拟器件。(3)电路板布线使用TLC2543时一定要注意电路板的布线,电路板的布线要确保数字信号和模拟信号隔开,模拟线和数字线特别是时钟信号线不能互相平行,也不能在TLC2543芯片下面布数字信号线。3.4 电压跟随器的设计电压跟随器由3个LM324四运放电路和假设干个电阻和电容设计而成的。在我们开场设计的时候采用的是LM084芯片,但是在调试电路的时候发现LM084发热量太大,在检查电路没有问题的情况下,由于LM324发热量相对较小而且功能根本一样,所以最后采用了LM324。下面简要介绍一下LM324。LM324 是四运放集成电路,它采用 14 脚双列直插塑料封装。它的内部包含四组形式完全一样的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图 3-5所示的符号来表示,它有 5个引出脚,其中“+、“-为两个信号输入端,“V+、“V-为正、负电源端,“Vo为输出端。两个信号输入端,Vi-(-)为反相输入端,表示运放输出端 Vo 的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端 Vo 的信号与该输入端的相位一样。LM324 的引脚排列见图3-6。图 3-5 图 3-6由于 LM324 四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。LM324图3-7 电压跟随器内部构造图如图3-7为其中一路的电路图。同相输入端的电阻和电容设计成了一个低通滤波器,目的是通过滤波保证模拟电压信号能够无失真的从输出端输出,电压跟随器采用的外部供电,其作用就是保证模拟输入电压能够稳定的输入到数据采集系统A/D转换芯片,从而提高系统采集数据的精度和准确性。3.5 制作USB数据采集系统电路板选用Altium公司的Altium Designer 6 D*P电子设计系统软件来进展电路板的设计制作。Altium Designer 6是最新一套完整的板卡级设计系统,真正实现在单个应用程序中的集成。Altium Designer 6让用户可以选择最适当的设计途径来按自己想要的方式工作。Altium Designer 6线路图设计系统完全利用了Windows *P和Windows 2000平台的优势,具有改良的稳定性、增强的图形功能和超强的用户界面。画原理图原理图(见图3-8)前局部为数据采集模块,电压跟随器为TLC2543提供稳定的模拟输入电压。后半局部为数据通信模块。数据通信模块数据采集模块图 3-8 USB数据采集系统原理图USB数据采集系统的电源使用外接12V电源供电,而芯片TLC2543所需的5V基准电压源则通过LM336稳压管和滑动变阻器将12V电源转换到5V。制作原理图步骤:(1) 创立一个新的PCB工程(2) 创立一个新的原理图图纸(3) 放置器件(4) 连接电路画PCB图在PCB设计中,布线是完成产品设计的重要步骤,在整个PCB中,以布线的设计过程限定最高,技巧最细、工作量最大。布线的方式也有两种:自动布线及交互式布线。由于本设计采用的是单面板且用交互式布线既手工布线。对于单面板,设计的难点是如何减少跳线情况下把线路布通。此次设计经过合理放置元件和屡次改良,最后终于克制一切困难,在跳线很少的情况下把线路布通,到达了设计的目标。为了防止外部电磁干扰,采用了电路板外部用相对较宽的铜线构成非闭合的保护电路。在电路内部,直接用板上剩余空间的大面积接地来提高电路信号的稳定性。如图3-9所示。图3-9 USB数据采集系统PCB图PCB布线原则:(1)电源、地线的处理电源、地线的处理不好会引起干扰,使产品的性能下降,有时甚至影响到产品的成功率。所以对电、地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度。l 在电源、地线之间加上去耦电容,滤除噪音干扰。l 尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线电源线信号线,对数字电路的PCB可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地不能这样使用)。 l 用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。或是做成多层板,电源,地线各占用一层。(2) 数字电路与模拟电路的共地处理现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电和模拟电路混合构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整个PCB对外界只有一个结点,所以必须在PCB内部进展处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的,只是在PCB与外界连接的接口处(如插头等),数字地与模拟地有一点短接,这在设计时必须考虑,只有一个连接点。也有在PCB上不共地的,这由系统设计来决定。(3) 设计规则检查(DRC)布线设计完成后,需认真检查布线设计是否符合设计者所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查有如下几个方面:线与线,线与元件焊盘,线与贯穿孔,元件焊盘与贯穿孔,贯穿孔与贯穿孔之间的距离是否合理,是否满足生产要求。 电源线和地线的宽度是否适宜,电源与地线之间是否紧耦合(低的波阻抗),在PCB中是否还有能让地线加宽的地方。 对于关键的信号线是否采取了最正确措施,如长度最短,加保护线,输入线及输出线被明显地分开。 模拟电路和数字电路局部,是否有各自独立的地线。 后加在PCB中的图形(如图标、注标)是否会造成信号短路。 (4) 制作电路板打印PCB图。打印时注意打印层的设置,还有要保存焊盘孔,方便后面的钻孔。曝光感光板。把打印纸的正面向下平放在感光板上,用玻璃压紧,然后在白炽灯下照射大约12分钟。感光板显像和蚀刻。钻孔、插元器件、焊接。4USB数据采集系统软件编程4.1 TLC2543的工作原理 TLC2543的工作过程TLC2543的工作过程分为两个周期:I/O周期和转换周期。(1) I/O周期I/O周期由外部提供的I/O CLOCK定义,延续8、12或16个时钟周期,决定于选定的数据长度。器件进入I/O周期后进展两种操作。首先,在I/OCLOCK的前8个脉冲的上升沿,以MSB前导方式从DATA INPUT端输入8位数据流到输入存放器。其中前4位为模拟通道地址,控制14通道模拟多路器从11个模拟输入和3个内部测试电压中选通一路送到采样保持电路,该电路从第4个I/O CLOCK脉冲的下降沿开场对所选信号进展采样,直到最后一个I/O CLOCK脉冲的下降沿。I/O周期的时钟脉冲个数与输出数据长度(位数)同时由输入数据的D3、D2位选择为8、12或16。当工作于12或16位时,在前8个时钟脉冲之后,DATA INPUT无效。其次,在DATA OUT端串行输出8位、12或16位数据。当保持为低时,第一个数据出现在EOC的上升沿。假设转换由控制,则第一个输出数据发生在的下降沿。这个数据串是前一次转换的结果,在第一个输出数据之后的每一个后续位均有后续的I/O时钟下降沿输出。(2) 转换周期在I/O周期的最后一个I/O CLOCK下降沿之后,EOC变低,采样值保持不变,转换周期开场,片内转换器对采样值进展逐次逼近A/D转换,其工作由与I/O CLOCK同步的内部时钟控制。转换完成后EOC变高,转换结果锁存在输出数据存放器中,待下一个I/O周期输出。I/O周期和转换周期交替进展,从而可减小外部数字噪声对转换精度的影响。4.1.2接口时序可以用四种传输方法使TLC2543得到全12位分辨率,每次转换和数据传递可以使用8、12或16个时钟周期。一个片选()脉冲要插到每次转换的开场处,或是在转换时序的开场处变化一次后保持 为低,直到时序完毕。图4-1显示每次转换和数据传递使用12个时钟周期和在每次传递周期之间插入 的时序,图4-2显示每次转换和数据传递使用12个时钟周期,仅在每次转换序列开场处插入一次 时序。图4-1 12时钟时序传送图(使用,MSB在前)图4-2 12时钟时序传送图(不使用,MSB在前)4.2 采集模块程序设计在系统上电后,必须从高变到低后开场一次I/O周期。EOC开场为高,输入数据存放器被置为全零。输出数据存放器的内容是随机的,并且第一次转换的结果将被忽略。为了对器件初始化,被转为高再回到低后开场下一次I/O周期。在器件从掉电状态返回后的第一次转换,由于器件的内部调整,读数可能不准确。数据采集系统流程图如图4-3所示。系统上电m+,通道值是否大于14系统初始化通道、时钟、极性设定采集通道m0A/D转换程序返回数据AdResultdatah*256+datal到单片机否是图4-3 数据采集系统流程图采集程序设计为一个循环程序,在一个循环中完成以下工作:A/D转换器通过AD_DIN从单片机接收命令字选取通道、时钟和极性,然后进入采样周期,在I/O周期的最后一个I/O CLOCK下降沿之后,EOC变低,采样值保持不变,转换周期开场,片内转换器对采样值进展逐次逼近A/D转换,其工作由与I/O CLOCK同步的内部时钟控制。转换完成后EOC变高,转换结果锁存在输出数据存放器中,待下一个I/O周期输出。当下一个I/O周期开场时,A/D转换器将上一次的转换结果从AD_OUT串行输入到单片机的外部存储器中。4.2.1 A/D转化程序设计在主程序Mainloop中使用函数init_ADC(m | OUTPUTLENGHT_12 | UNIPOLAR)对A/D芯片进展初始化,定义了系统的初始通道、时钟模式以及极性。由于TLC2543有3种时钟模式分别为8、12和16时钟,其中默认的为12时钟,出于对系统通用的考虑,在A/D转换子程序中把它设计成可选时钟模式。在本数据采集系统中,TLC2543输出结果设置成12位无符号整型数,输出顺序为高位在前且为单极性。在每一个A/D转换过程中,TLC2543都要从串行输入端AD_DIN读取由单片机输入的控制字来选定对*个或多个通道进展采样,然后进展A/D转换,转换结果被存入输出数据存放器AD_OUT。在下一个I/O周期中,由数据输出端AD_OUT串行输出到单片机的外部存放器。但是由于采集的为12 位数据,对于8 位单片机,要存放在两个内存地址中,因此需要利用AdResult=datah*256+datal合成后再返回给主程序送入单片机。本程序不仅实现了14路模拟信号的数据采集而且可以任意选择一路或多路进展数据转换,同时合成了SPI功能使TLC2543A/D转换芯片和P89C51RA2单片机能够快速的进展正常通信。但是还存在一定的问题,需要在后续工作中进一步改良。A/D转换的详细程序见附录A。在 TLC2543 的编程中注意以下几个问题:(1)一个输入输出工作周期为 12个时钟信号,随着12个时钟信号的进入, TLC2543的AD_OUT 引脚送出的12 位数,为上一个工作周期的 A/ D 转换数据,而这一数据是何通道的采集量,取决于上一工作周期从AD_DIN引脚送入TLC2543的控制字的前四位。则对于系统上电后第一个工作周期,从 AD_OUT取出的数据是没有意义的。(2)控制字的低4位决定输出数据长度及格式,初始设定后,一般不要在运行过程中改变,以免数据混乱。而在工作周期循环,假设累加器 A 中数据没有处理好,容易把非法的控制字带入TLC2543,引起输出数据格式错误,这一点应予特别注意。(3)端控制着TLC2543的转换初始化与输入输出。本文中端控制转换过程,在输入输出数据过程必须保持为低,即在输入12个时钟信号期间必须保持0之后,端被置高,以便使由高到低的变化,而产生下一工作周期。 端被置高时,与 TLC2543相联的其它三线呈高阻状态,可为其它线路使用,硬件设计时,可设计为共享线路,软件编程时,根据 情况决定谁使用这些线路。(4)对于转换结果用二进制方式输出,当输入电压等于时,转换结果为 12个“1”,即(1111 1111 1111),当输入电压等于 时,转换结果为12个“0”,即(0000 0000 0000),当输入电压等于( + )/ 2 时,转换结果为(1000 0000 0000),供校正参考。5系统调试图5-1显示的就是在本论文中设计的USB数据采集系统实物图。电压跟随器A/D转换芯片图5-1 USB数据采集系统构造图在调试过程中从硬件到软件由于经历缺乏和知识水平的限制,走了不少弯路,但最终还是调试成功。现在总结一下,对于系统的进一步开发具有一定的积累意义。(1) 拿到电路板之后不要急于焊接元件,要先认真检查板子连线是否存在短 路、断路的情况,在确认无误之后,然后可以加电测试电源供电情况。正常后根本上就可以开场焊接元件了,一般先焊帖片、电阻等元件,遵循由低往高的焊接顺序。焊接完毕后加电,如果电路工作不正常,可以先检查供电、是否存在虚焊、粘连的情况直至排除故障。 (2) 数据采集系统的调试主要是测试AD转换是否正常。A/D电路的测试是通过采样一组确定电压并通过USB接口送往PC机观察,由于TLC2543芯片有3个内测电压即REF+、REF-、(REF+ +REF-)/2,它们的值是固定不变的,分别为5v、0v和2.5v,可以通过这3个通道的值来确定A/D电路采集的数据是否正确,同样也得到AD电路能够正常工作的结论。如图5-2所示为应用程序的界面图。图5-2 应用程序的界面图如下图当按下确定按钮时,从通道1到基准波形3的14路模拟转换通道就开场实时的变化,其中基准波形1,基准波形2,基准波形3这3个为TLC2543的内测电压,AD转换结果正确与否都主要观察这个数值的变化。在转换的过程中它们是根本上不变化的,如果有较大幅度的变化就说明转换过程中存在着问题,使得转换结果的精度和准确性下降,否则转换的结果是正确的。6 完毕语本设计是一个综合型的题目,它涉及硬件设计、单片机C51高级语言编程和电子专业的知识。经过屡次试验、屡次修改,克制了很多困难,最后终于调试成功,实现了数据采集的根本功能,能够实时的多路将多路数据送入单片机的外部存储器,并可通过USB数据总线接口与PC机进展数据通信,在PC机上实时的显示和存储采样数据。而且选用了体积小、功能全的12位TLC2543作为A/D转换器同时采用C51对系统编程,使系统具有易实现、易编程、可移植、体积小、功耗低等优点 ,具有良好的推广与应用价值。本系统可应用于实验室或工业现场等多种场合的多路数据实时采集。由于时间仓促和知识有限,致使许多局部都未能完善,存在着很多错误和问题,敬请各位教师同学提出、指正和批评。通过这次设计,对大学四年所学知识进展了一次检验和全面的复习,并且又学会了很多新的电子与计算机专业知识,从中得到了很多珍贵的经历。致 谢本次设计是在我的导师*永辉副教授的全程带着和指导下完成的。感谢X教师对我的关心和细心指导。X教师不仅为我提供一个良好的工作环境和齐全的工具设备,使我能够更好的完成设计,还帮我解决掉了很多设计中遇到的困难。通过与X教师的讨论和学习使我获得了很多丰富的珍贵的经历。X教师那兢兢业业的治学态度、敏锐创新的科学思维和身体力行的工作作风是我收获的最大财富,同时还要感谢*大学信息学院的易家傅教师在此次设计中对我的精心指导,使我能顺利完成此次设计。在设计过程中还有很多同学对我有很大帮助,特别是王新建同学、许元统同学,感谢他们在我毕业设计过程中给予我的大力支持和耐心指导。还要感谢我的父母、哥哥、姐姐是他们在背后默默的支持我,仅以此文献给他们。最后感谢*大学四年来对我的培养,使我学到了很多的知识,这是本次设计成功的根底。参考文献1 梁合庆.增强核内存80C51教程.: 电子工业,2003 .P1682102 *文涛编著.单片机语言C51程序设计.:原子能,20043 尹勇, 王洪成编著.单片机开发环境Vision2使用指南及USB固件编程与调试. :航空航天大学,2004.10 P1954 杨小川. Protel D*P设计指导教程.:博导创新科技*,2003.115 TLC2543带串行控制和11个输入端模数转换器中文应用笔记.*:*力源*, 98-3-266 TLC2543中文数据手册.*:*力源*,98-6-307 王述全 孟臣 *福军 基于串行接口方式单片机通用数据采集系统设计 2006-2-168 王宜怀 12位A/D转换器TLC2543与51系列单片机接口技术.*丝绸工学院学报,1999 年10 月,第19 卷第5期:45-509 黄天禄 郝东来 邓玉元 用TLC2543 A/D转换器设计数据采集系统.*通信学 报,2004年6月,第3卷第3期10 程继红 TLC2543在传感器实验台测试系统中的应用. *师范大学学报(工程技术版),2003年,第3卷第1期11 卢鑫 庞伟正 新型模数转换器TLC2543的串行接口及其应用. 器件与应用, 维 普资讯 .cqvip.12 左克群 基于TLC2543设计的采集系统.计算机控制监测与管理,2003年第5期13 段军 基于USB数据采集和控制系统的开发与研究.*理工大学,2004年3月 14 LM324 四运放的应用. 51单片机实验网 .51mculab.15 *办 肖艳中 TLC2543在仪器仪表中的应用. .guangdongdz.16 单片机C51论坛. .c51bbs./c51bbs/search2.asp?first=1&id=&sele=1&word=ds18b20#aa附录 A:A/D转换程序/* /* / USB-DATAMUNICATION / File Name:ADC.C / Revision:1.1(2006-05-20) / Author:Liu Shao Fei / Note: /*/#include <stdio.h>#include <string.h>#include <REG51R*2.H> /* special function register declarations */#include "mainloop.h"#include "AD_Convert.H"#define uint unsigned int#define uchar unsigned chare*tern unsigned char *data ADCBuf;sbit AD_CLK = P11; /输入/输出时钟(I/O CLOCK)sbit AD_DIN = P12; /串行数据输入端sbit AD_DOUT = P13; /A/D转换结果三态输出端sbit AD_CS = P14; /片选端sbit AD_EOC = P10; /转换完毕端 /REF、REF:正、负基准电压端。通常REF接VCC,REF接地 /最大输入电压范围取决于两端电压差;void clock_in() /时钟脉冲AD_CLK=1;AD_CLK=0;void init_ADC(unsigned char TongDao) /AD初始化;我们只写不读uchar j,k;if(TongDao&0*04)=0*00) /定义时钟模式12,8,16 k=12;else if(TongDao&0*08)=0*00) k=8; else k=16;ADCBuf0=k;AD_CS=0;AD_CLK=0; /我们采集上边沿for(j=0;j<k;j+)AD_DIN=(bit)(TongDao&0*80); /取tongdao最高位TongDao<<=1; /逐次取得通道数clock_in(); / 进展AD转换,输入:要进展AD转换的通道号tongdao/ 输出:AD转换的结果unsigned int ADC(uchar TongDao)uchar datah