高精度压力变送器的设计_第1页
高精度压力变送器的设计_第2页
高精度压力变送器的设计_第3页
高精度压力变送器的设计_第4页
高精度压力变送器的设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、长春大学 毕业设计(论文)纸高精度压力变送器的设计摘要:随着网络技术、信息技术和自动化技术的飞速发展,传统仪表易失控,互换性和可靠性等缺点的不足日益明显,越来越不能满足用户的需求。新的总线型仪表除了能够完成基本的测量功能外,还应具有控制功能和现场总线通信功能。现场总线技术的发展改变了传统控制系统结构,在总线条件下与控制网络相结合,逐渐形成网络集成式全分布控制系统现场总线控制系统。本文选用Silicon Labs公司的C8051F系列微控制器和Keller 10系列压阻式压力传感器,开发了一种高精度压力变送器。该压力变送器是通过压力传感器采集信号,再将采集后的模拟信号通过AD7793芯片转换成数

2、字信号,然后传输到单片机进行处理,单片机对采集回来的压力信号进行转换、存储及显示,然后当上位机需要压力变送器所测得的数据时,利用CAN总线技术将单片机的数据发送到上位机进行处理。该压力变送器主要是由压力传感器、模数转换模块、控制模块、稳压模块、存储模块、通信模块等组成。压力变送器的压力测量精度为0.010.03%FS,传感器线性度较高。本文结合C8051F500单片机的低功耗特性和技术要求,提高了系统的可靠性、自治性和灵活性,达到了高精度压力变送器的要求。关键词:压力变送器;可靠性;现场总线Design of High Precision Pressure TransmitterAbstrac

3、t: Along with the network technology, the rapid development of information technology and automation technology, traditional instrument easy out of control, compatibility and reliability shortcoming of increasingly apparent, more and more can't meet the needs of users. New main line instrument i

4、n addition to being able to complete basic measurement function, but also has the function of control and field bus communication. The development of field bus technology has changed the traditional control system structure, under the condition of the bus and the combination of control network, grad

5、ually formed network integrated total distributed control system, field bus control system.In order to meet with the requirements of field bus instrument, a high accuracy pressure transmitter has been developed. It has exploited the Silicon Labs products: C8051F series microcontroller and Keller 10

6、series pressure stop pressure sensor. The pressure transmitter is the signal of the pressure sensor, and then the analog signal is converted into digital signal through AD7793 chip, and then transmitted to the microcontroller processing, microcontroller on the acquisition of the back pressure signal

7、 of conversion, storage and display and when PC need pressure transmitter the measured data using CAN bus technology will MCU data is sent to the host computer for processing. The pressure transmitter is mainly composed of pressure sensor, analog module, control module, voltage regulator module, mem

8、ory module and communication module.The rating of pressure measurement precision of the transmitter is 0.010.03%FS and the sensor is characteristic of high linearity. With the low wastage and the technologic requirements of the C8051F500 SCM, the reliability, autonomy and flexibility of the system a

9、re improved, and the requirements of high precision pressure transmitter are achieved.Keywords:Pressure Transmitter, Reliability, Field busii装订线长 春 大 学 毕业设计(论文)纸目录第1章 绪论11.1 课题的研究背景及意义11.2 国内外研究现状11.3 本文的总体结构与内容安排2第2章 系统整体设计方案42.1 总体设计方案42.2 系统主要模块的选择42.2.1 控制模块42.2.2 模数转换模块52.2.3 通信模块5第3章 系统硬件设计73.

10、1 系统控制模块73.1.1 C8051F500控制电路73.1.2 C8051F500工作原理83.2 稳压电源模块103.3 存储模块113.3.1 AT24CL256存储电路113.3.2 AT24CL256的写操作原理113.3.3 AT24CL256的读操作原理123.4 压力传感器模块133.4.1 压阻式压力传感器工作原理133.4.2 压力传感器模块电路133.5 AD转换模块143.5.1 AD7793电路原理143.5.2 AD7793工作原理153.6 通信模块193.6.1 通信电路193.6.2 CAN控制器工作原理19第4章 软件程序设计204.1 高精度压力变送器

11、组网程序设计204.1.1 高精度压力变送器组网结构204.1.2 压力变送器基本工作流程204.2 系统的主程序及各个子程序设计214.2.1 系统主程序设计214.2.2 AD转换模块子程序设计224.2.3 串口通信模块子程序设计234.2.4 存储模块子程序设计24第5章 总结25致谢26参考文献27II第1章 绪论1.1 课题的研究背景及意义在许多工业生产设计中,压力变送器是工业设备中用以控制工业过程和压力变化的重要元件。压力变送器是指以输出为标准信号的压力传感器,是一种接受压力变量比例转换为标准输出信号的仪表。它可以将测压元件传感器感受到的气体、液体等物理压力参数转变成标准的电信号

12、,以供给指示记录仪、报警仪、调节器等二次仪表进行测量、过程和指示调节。例如在工业生产过程中,操作人员需要实时的了解生产过程中的精确压力变化,据此才能更精确地下达操作指令,完成工业生产。因此,压力变送器是工业生产过程中必不可少的测量仪器,也是工业自动化控制的基本数据来源,也是最主要的数据来源之一。压力变送器广泛应用于各种工业自控环境,包括铁路交通、水利水电、智能建筑、航空航天、军工、石化、电力、船舶、机床、管道等众多行业。压力变送器是直接与被测介质相接触的现场仪器,常常在高温、低温、腐蚀、振动和冲击等环境中工作。世界各国对压力变送器的研究都十分广泛,几乎渗透到了各个行业,但归纳起来主要有以下几种

13、,它们分别是:陶瓷压力变送器、扩散硅压力变送器、压电压力变送器和电容式压力变送器等。(1)陶瓷压力变送器陶瓷是一种公认的高弹性、抗磨损、抗腐蚀、抗冲击和振动的材料。高特性低价格的陶瓷压力变送器会是压力变送器的未来发展方向。(2)扩散硅压力变送器被测介质的压力直接作用于传感器的膜片上(不锈钢或陶瓷),使膜片产生与介质压力成正比的微位移,传感器的电阻值发生变化。用电子线路检测这一变化,可以转换输出一个对应于这一压力的标准测量信号。(3)压电压力变送器压电传感器中主要使用的压电材料包括石英、酒石酸钠钾和磷酸二氢胺。(4)电容式压力变送器陶瓷电容传感器适用于正常或有腐蚀性介质的测量,如气体或液体,但不

14、倾向于沉淀,结晶或加劲材料。常应用于测量船舱液位、海水、船上用水、柴油和废油。1.2 国内外研究现状压力变送器是很多工业设备中用以控制工业过程和压力变化的重要元件。压力变送器用于测量气体、液体或蒸汽的液位、压力和密度,然后将压力信号转变为420mADC信号输出。压力变送器的发展大体经历了四个阶段:1. 早期的压力变送器精度低而且笨重,如水银浮子式差压计和膜盒式差压变送器;2. 20世纪50年代有了精度稍高的力平衡式差压变送器,但它的结构复杂,反馈力小,可靠性和稳定性较差;3. 70年代中期,在电子技术的飞速发展下,出现了体积小而且结构简单的位移式变送器;4. 90年代科学技术迅猛发展,压力变送

15、器的测量精度高而且逐渐向智能化发展,数字信号传输更有利于数据的采集。当今世界各国压力变送器的研究领域十分广泛,几乎渗透到了各个行业,但归纳起来主要有以下几个趋势:1. 标准化:压力变送器的设计和制造已经形成了一定的行业标准;2. 广泛化:压力变送器的发展趋势是正在逐步扩展到汽车领域、医疗领域和能源领域。3. 智能化:随着集成化的发展,在集成电路中可以添加一些微处理器,使变送器具有自动补偿和逻辑判断等功能;4. 集成化:压力变送器已经与其他测量用变送器越来越多的集成以形成测量和控制系统。集成系统在控制过程和工厂的自动化中可提高操作速度和效率;5. 小型化:市场对小型压力变送器的需求越来越大,这种

16、小型变送器可以工作在极端恶劣的环境下,并且只需要很少的保养和维护,对周围的环境影响也很小,可以放置在人体的各个重要器官中收集资料,不影响人的正常生活。1.3 本文的总体结构与内容安排本文的设计是高精度压力变送器,主要通过CAN技术将工业生产过程中所测量得到的压力值,压力变化等参数通过CAN总线将数据传输到上位机进行处理,从而实现检测结果可以快速可靠的传输以及上位机采集命令的接收。论文安排内容如下:第 1 章:绪论。本章介绍了压力变送器的研究背景及意义、国内外发展现状,概述了系统的研究内容与目标;第 2 章:系统整体设计方案。本章对压力变送器的相关理论基础及原理进行介绍。首先介绍了压力变送器的工

17、作原理,接着介绍了压力变送器的各部分组成,及芯片的选取,通过芯片的选择和组成,从而实现压力变送器的各项功能;第 3 章:高精度压力变送器的硬件设计。本章分别阐述了各个模块的工作原理,包括主控模块、电源模块、存储模块、信号转换模块、通信模块、压力传感器模块等硬件电路的介绍;第 4 章:高精度压力变送器的软件设计。本章包括系统整体的工作流程分析、各个组成模块的软件功能分析等;第 5 章:全文总结。本章对本文的研究工作进行总结,并指出了下一步研究工作的重点。第2章 系统整体设计方案压力变送器是一种将压力变量转换为可传送的标准化输出信号的仪表,主要用于工业过程压力参数的测量和控制。本文旨在设计一种压力

18、变送器,该变送器由传感器、信号转换器及控制单元组成。该变送器输出信号与压力变量之间具有一定的函数关系。此外,该变送器还具有通信功能,利用CAN技术实现检测结果的传输以及上位机采集命令的接收。2.1 总体设计方案该压力变送器是通过压力传感器采集信号,再将采集后的模拟信号通过AD7793芯片转换成数字信号,然后传输到单片机进行处理,单片机对采集回来的压力信号进行转换、存储及显示,然后当上位机需要压力变送器所测得的数据时,利用CAN总线技术将单片机的数据发送到上位机进行处理。该压力变送器主要是由压力传感器、模数转换模块、控制模块、稳压模块、存储模块、通信模块等组成,原理框图如图2.1所示。图2.1

19、高精度压力变送器原理组成2.2 系统主要模块的选择2.2.1 控制模块单片机是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机拥有基于复杂指令集(CISC)的内核,虽然速度不快,12个振荡周期才执行一个单周期指令,但其端口结构为准双向并行口,可兼有外部并行总线,故其扩展性能非常强大。本设计选用的是C8051F系列的C8051F500芯片。C8051F500单片机由Silicon Labs公司推出,是业内最小封装的微控制器(MCU)(小至2mmx2mm),不会牺牲性能或集成性。完整的小型封装产品线包括高

20、达100MIPs的CPU、12-位ADC、12-位DAC以及其他重要的模拟外围设备,如集成精密振荡器(±2%)和精密温度传感器(±2°C)。还提供成本敏感、引脚兼容的一次性可编程(OTP)选项。应用程序可以使用MOVC和MOVX指令对FLASH进行读或改写。C8051F500使用Silicon Labs公司的专利CIP-51微控制器核。CIP-51与MCS-51指令集是兼容的,使用标准803x/805x的汇编器以及编译器进行软件的开发。CIP-51的指令执行速度是标准8051指令执行速度的12倍,其峰值执行速度可达100MBPS,并且没有执行时间大于8个系统时钟周

21、期的指令。2.2.2 模数转换模块目前单片机在电子产品中已得到广泛应用,许多类型的单片机内部已带A/D转换电路,但此类单片机会比无A/D转换功能的单片机在价格上高几元甚至很多,我们采用一个普通的单片机加上一个A/D转换器,实现A/D转换的功能,串行和并行接口模式是A/D转换器诸多分类中的一种,但却是应用中器件选择的一个重要指标。在同样的转换分辨率及转换速度的前提下,不同的接口方式会对电路结构及采用周期产生影响。在本设计中我们选用的是AD7793,该芯片在单片机接口中应用广泛,串行A/D转换器具有功耗低、性价比较高、芯片引脚少等特点。AD7793适合高精度的测量应用,具有低噪声和低功耗的特点,能

22、够完整模拟前端。芯片内置了一个低噪声的16位或24位-型ADC,含有3个差分模拟输入,同时集成了一个片内低噪声仪表放大器。当增益设置为64、更新速率为4.17Hz时,均方根(RMS)噪声为40nV。2.2.3 通信模块本设计采用CAN总线进行通信。控制器局域网络(Controller Area Network),通常称作CAN,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。在汽车行业,出于对安全性、方便性、低污染和低成本的要求,开发出各种电子控制系统。这些系统间通信所使用的数据类型和可靠性不完全一样,多条总

23、线构成的系统很多,线束的数量也随之增加。为适应进行大量数据的高速通信的需要,1986年德国电气商博世公司开发出了面向汽车的CAN通信协议。在那之后,CAN通过ISO11519及ISO11898进行了标准化,成为欧洲的汽车网络标准协议。本设计选用的C8051F500芯片内部已集成了CAN接口,而收发器选择的是TI公司生产的SN65HVD230。该器件适用于较高通讯速率和良好抗干扰能力以及高可靠性的CAN总线的串行通信。随着集成技术的不断发展,为了节省功耗,缩小电路体积,一些新型CAN总线控制器的逻辑电平均采用LVTTL,这就需要和之相适应的总线收发器。TI公司生产的SN65HVD230型电路非常

24、好地解决了这个问题。第3章 系统硬件设计压力变送器是一种将压力变量转换为可传送的标准化输出信号的仪表,主要用于工业过程压力参数的测量和控制。本文旨在设计一种压力变送器,该变送器由传感器、信号转换器及控制单元组成。该变送器输出信号与压力变量之间具有一定的函数关系。此外,该变送器还具有通信功能,利用CAN总线技术实现检测结果的传输以及上位机采集命令的接收。下面,就详细介绍各控制模块。3.1 系统控制模块本设计通过软件来实现数据的读取和处理,所以对控制单元的处理速度要求较高,可供选择的有ARM和高速8位单片机。ARM的处理速度极快,但对于本应用,ARM内部的资源浪费严重且成本较高,因此选择高速8位单

25、片机作为控制器,常见的高速8位单片机有AVR系列单片机,本设计选用的是C8051F系列中的C8051F500 单片机。3.1.1 C8051F500控制电路C8051F500最小系统电路图如图3.1所示。系统采用3.3V电压供电,因此DVDD接3.3V。系统时钟电路采用外部晶振,本文选取4MHz晶振作为系统的时钟输入。脚1为模数转换启动信号,脚2是I/O端口电源电压,脚3是电压调节器输入,脚4和脚6分别是数字电源和地,脚5和脚7分别是模拟电源和地,脚8可作为基准电压,本系统的程序通过C2D1与C2CK1进行下载,与C8051F500的11和12脚相连。脚27、28、29和30接显示接口,脚35

26、和36接存储芯片,脚39、40、41和42接AD7793芯片,脚43和44接CAN收发器,脚45和46分别是串口通信的接收和发射,脚47和48接晶振,剩下的都是I/O端口。图3.1 C8051F500芯片电路图3.1.2 C8051F500工作原理C8051F500的工作是通过一系列寄存器的配置来实现的,下面对主要的寄存器进行介绍。1. 程序状态寄存器PSWPSW是一个8位二进制寄存器,用来存放指令招待后的有关CPU的状态,通常由CPU来填写,但是用户也可以改变各状态位的值。程序状态寄存器的定义如表3-1所示。CY是仅为标志,AC则是辅助进位标志。F0为用户标志0,这是一个可位寻址、受软件控制

27、的通用标志位。OV是溢出标志,PARITY是奇偶标志,累加器中 8 个位的和为奇数时该位被置 1,为偶数时被清 0。表3-1 PSW:程序状态寄存器位7位6位5位4位3位2位1位0R/WR/WR/WR/WR/WR/WR/WRCYACF0RS1RS0OVF1PARITY该寄存器中的RS1至RS0用于选择访问寄存器时所使用的寄存器区,不同的地址对应不同的寄存器去,其定义如表3-2所示。表3-2寄存器选择位RS1-RS0定义RS1RS0寄存器区地址0011010101230x00-0x070x08-0x0F0x10-0x170x18-0x1F2. 中断允许寄存器C8051F500包含一个扩展的中断系

28、统,有两个可选择的优先级。中断源在内部与外部的分布随着器件的不同而发生变化。每个中断源都有一个或多个中断标志在一个SFR中。当周围或外部源满足有效的中断条件时,相应的中断标志位被设置为逻辑1。中断请求时产生的中断标志将被放置在一个中断源被允许后。如果当前的指令执行能够结束,CPU会产生一个LCALL到预定的地址,准备开始中断服务例程(ISR)。每个ISR必须以RETI指令结束,这使程序返回到中断的指令的下一条指令。假设中断不被允许,中断标志将被硬件忽略,程序继续正常执行。不管每个中断允许位的设置如何,清除EA位将禁止所有中断。在EA位被清0期间所发生的中断请求被挂起,直到EA位被置1后才能得到

29、服务。中断允许寄存器的定义如表3-3所示。EA表示允许所有中断。ESPI0是串行外设接口(SPI0)中断允许位。ET2是定时器2中断允许位。ES0是UART0中断允许位。ET1是定时器1中断允许位。EX1是外部中断1允许位。ET0是定时器0中断允许位。EX0是外部中断0允许位。表3-3 IE:中断允许寄存器位7位6位5位4位3位2位1位0R/WR/WR/WR/WR/WR/WR/WR/WEAESPI0ET2ES0ET1EX1ET0EX03. 外部振荡器控制寄存器外部振荡器电路可以驱动外部晶振、电容或RC网络,也可以设置使用一个外部时钟。外部晶振必须与XTAL1和XTAL2引脚相联,同时并联一个1

30、0M的电阻。使用外部振荡器电路时,必须对所用端口引脚进行配置。当在晶体/陶瓷谐振器、电容或RC方式使用外部振荡器电路时,应将所用的端口引脚配置为模拟输入。在CMOS时钟方式,应将所用的端口引脚配置为数字输入。XTLVLD是晶体振荡器有效标志,XOSCMD2-0表示外部振荡器方式位,XFCN2-0表示外部振荡器频率控制位。该状态寄存器的定义如表3-4所示。表3-4 OSCXCN:外部振荡器控制寄存器位7位6位5位4位3位2位1位0RR/WR/WR/WR/WR/WR/WR/WXTLVLDXOSCMD2XOSCMD1XOSCMD0保留XFCN2XFCN1XFCN0其中,XOSCMD2-XOSCMD0

31、表示外部振荡器方式位,这些位选择外部振荡器的工作模式。具体的定义如表3-5所示。表3-5 XOSCMD2-XOSCMD0定义XOSCMD2XOSCMD1XOSCMD0模式00011110110011X010101外部振荡器电路关闭外部CMOS时钟方式外部CMOS时钟方式二分频RC振荡器方式电容振荡器方式晶体振荡器方式晶体振荡器方式二分频3.2 稳压电源模块由于电路的芯片有不同的工作电压,为了保证各个芯片的正常工作,我们需要设计稳压电路,为电路提供稳定的直流电源,确保压力变送器以及各个器件可以正常准确的运行。本设计选用LM2937-3.3电流稳压器,该稳压器是正电压稳压,能够提供高达500mA的

32、负载电流。其中1脚是正输入端,在这个管脚处必须加一个适当的输入旁路电容来减小暂态电压,同时为LM2937-3.3提供所需的开关电流。2脚是接地端,3脚则是输出端。具体电路图设计如图3.2所示:图3.2 稳压电路3.3 存储模块由于压力变送器会测得大量的数据,而我们无法实时的进行接收这些数据或进行读取,所以我们需要对这些所测得的压力值数据进行必要的保护,因此需要选用合适的E2PROM来存放CPU读取到的压力变送器所测得的数据以及保护压力变送器的工作状态参数等。本文选用的是AT24C系列的AT24CL256芯片,它具有体积小、功耗低、工作电压允许范围宽等特点;而且占用I/O口线少,容量扩展方便灵活

33、,读写操作相对简单。3.3.1 AT24CL256存储电路AT24CL256存储电路图如图3.3所示,该芯片采用3.3V供电,与C8051F500单片机采用两线制I2C进行通信。SCL为串行时钟线,与C8051F500的35脚相连;SDA为串行数据线,与C8051F500的36脚相连。由于一片AT24CL256即可满足系统的存储要求,将A0,A1,A2引脚直接接地即可。图3.3 AT24CL256电路图3.3.2 AT24CL256的写操作原理写操作从主器件的起始位开始,后加4位控制码。再然后的3位是寻址位或片选位。最后主发送器将R/W位发送给总线。从器件需在第九个时钟周期产生一个确认位。主器

34、件发送的第二个字节是低位地址字节或高位地址字节。这两种情况下,AT24CL256将使每一个地址字节和地址确认地址位为设备地址计数器。对于AT24CL256,只使用地址字节的低4 位,高4位可为任意值。AT24CL256可以发出确认信号ACK在送出最后一个地址字节之后。在接收到该确认信号后,主器件将发送数据字,数据字将被写入内存位置。AT24CL256再次发出确认信号后,主器件会启动内部写周期并且产生停止条件。如果WP引脚维持正常高写内存的操作,该装置将确认命令,但不会启动写周期,不会写数据,会立即接受新的命令。写命令发送后,内部地址计数器增加,指向下一个地址位置。写入周期期间,AT24CL25

35、6不会对命令进行确认。图3.4 写操作:低位地址器件图3.5 写操作:高位地址器件3.3.3 AT24CL256的读操作原理在控制寄存器的R/W位设置为1之后,读操作和写操作差不多是一样的。有三种基本的读操作,分别是当前地址的读操作、当前地址的随机读操作和连续读操作。1. 当前地址的读操作AT24CL256内置自动加1地址计数器,这个计数器会保留最后一次访问的地址。所以,如果之前对地址n(n为任意合法地址)进行读操作或者写操作,那么下一条读操作命令可能会从地址n + 1访问数据。在接收到R/W位的设置是1的控制字节之后,AT24CL256将发送一个确认信号,同时发送 8位数据字节。主要设备不进

36、行数据传输的确认,但它会产生一个停止条件,AT24CL256 就不会发送数据。图3.6 当前地址读操作2. 随机读操作随机读操作允许主设备以一个随机的方式访问任意内存。地址字节必须设置在指令执行之前(R/W设置为0)。主设备接收所产生的初始条件的确认信号,在内部地址计数器设置,写操作被终止。主器件发送控制字节,而字节R/W位设置为1。AT24CL256会发出确认信号在主器件发送控制字节之后,并且会发送8位数据字节。主器件不进行数据传输的确认,但它会停止,同时AT24CL256停止数据的发送,内部地址计数器加1指向下一条地址在随机读取命令。图3.7 随机读操作3. 连续读操作连续读操作的起动过程

37、和随机读操作是差不多相同的,区别在于当AT24CL256发送完第一个数据字节之后,主要设备会发出一个确认信号,而随机读操作发送的是一个停止的条件。在收到确认信号后,AT24CL256会发送下一个连续地址的数据字节。在AT24CL256向主要设备发送最后一个字节之后,它会产生一个停止条件。因为想要进行连续读操作,AT24CL256内置的地址指针在每次结束操作以后加1。地址指针允许一个操作来读取整个存储器的内容不断。在最后一个地址时,地址指针会指向地址0x00。图3.8 连续读操作3.4 压力传感器模块压力传感器是该电路的重要器件,需要用它测量压力值,然后传输到AD转换模块。将压力传感器所测得的模

38、拟信号转化为数字信号,在传输给控制模块进行处理和记录。本设计选用的是瑞士Keller10系列压阻式压力传感器。10系列压力传感器适用于100mbar到1000bar(10kPa100MPa)的一切压力范围,灵敏度高,在2bar以上的标准范围内,1mA激励电流可以得到200mV信号。3.4.1 压阻式压力传感器工作原理压阻式压力传感器通过导线接入惠斯登电桥。没有外部压力刺激敏感芯片时,电桥处于平衡态。传感器的压缩芯片电阻的变化使电桥失去平衡,如果一个恒定电流源或电压源添加到电桥,就会输出相应的压电信号,使传感器的电阻通过电桥转换为压力信号输出。3.4.2 压力传感器模块电路压力传感器的电路原理如

39、图3.9所示。该压力传感器采集的数据为模拟数据,而C8051F500只能处理数字量。因此,压力传感器采集到的数据需要经过AD转换后,才能送至C8051F500进行处理及存储。图3.9 压力传感器电路图3.5 AD转换模块由于本文选取的压力传感器为Keller10系列传感器,该传感器灵敏度高,在2bar以上的标准范围内,1mA激励电流可以得到200mV信号。因此,需要选取高精度的AD转换芯片。本文选用具有24位分辨率的高精度AD转换芯片AD7793,该芯片可以采用内部时钟或外部时钟工作,输出数据速率可通过软件编程设置,可在4.17Hz至470Hz的范围内变化。AD7793采用2.7V至5.25V

40、电源供电,典型功耗为400µA。3.5.1 AD7793电路原理AD7793的电路原理如图3.10所示。该芯片采用3.3V供电,因此DVDD和AVDD都接至3.3V。该芯片采用SPI总线与C8051F500进行通信,SCLK作为同步时钟,与C8051F500的42脚相连,片选端CS与C8051F500的41脚相连,数据输入脚DIN与C8051F500的40脚相连,数据输出脚DOUT与C8051F500的39脚相连。该芯片的模拟数据输入采用差分输入方式,选用1路差分,即AIN1+和AIN1-。AD7793采用外部恒压源作为参考电压,参考电压经计算为1.5V,外部参考电压及电压基准电路如

41、图3.11和图3.12所示。图3.10 AD7793电路图图3.11 AD7793电压基准图3.12外部参考电压3.5.2 AD7793工作原理AD7793的工作状态主要是通过C8051F500配置AD7793内部自带的通信寄存器、状态寄存器、模式寄存器、配置寄存器和数据寄存器来实现的。下面对其一一进行介绍。1. 通信寄存器(RS2,RS1,RS0=0,0,0)通信寄存器是一个8位只写寄存器,该寄存器的格式如表3-6所示。器件之间的所有通信都是从通信寄存器的写操作开始的。数据写入通信寄存器将决定哪些寄存器的读或写操作。对于读/写操作,当对选定寄存器的读/写操作完成后,接口返回到对通信寄存器执行

42、写操作的状态。这是接口的默认状态,在上电或复位后,ADC将处于此默认状态,等待对通信寄存器的写操作。当接口时序丢失之后,执行一个占用至少32个串行时钟周期的写操作,并使DIN处于高电平状态,将可以复位整个器件,从而让ADC返回此默认状态。表3-6列出了通信寄存器位功能描述。CR0至CR7表示位的位置,CR说明这些位属于通信寄存器。CR7表示数据流的第一位。括号中的数值表示该位的上电/复位默认状态。表3-6 通信寄存器定义CR7CR6CR5CR4CR3CR2CR1CR0WEN(0)R/W(0)RS2(0)RS1(0)RS0(0)CREAD(0)0(0)0(0)该寄存器中的RS2至RS0用于寄存器

43、的选取,设置不同的数据对应不同的寄存器,其定义如表3-7所示。表3-7 寄存器选择位RS2-RS0定义RS2RS1RS0寄存器000001111000110011001010101 写操作期间为通信寄存器读操作期间为状态寄存器模式寄存器配置寄存器数据寄存器ID寄存器IO寄存器失调寄存器满量程寄存器2. 状态寄存器状态寄存器是一个8位只读寄存器。要访问该状态寄存器,用户必须对通信寄存器进行写操作,选择下一个操作为读操作,并将0载入位RS2、位RS1和位RS0。该状态寄存器的定义如表3-8所示。表3-8 状态寄存器定义SR7SR6SR5SR4SR3SR2SR1SR0RDY(0)ERR(0)0(0)

44、0(0)0/1CH2(0)CH1(0)CH0(0)该表中,SR0至SR7表示位的位置,SR说明这些位属于状态寄存器。SR7表示数据流的第一位,SR6表示ADC错误位,SR5至SR4自动清0,SR3自动置1,SR2至SR0表示ADC正在对哪一通道执行转换操作。3. 模式寄存器模式寄存器为16位寄存器,可以读取和写入数据。该寄存器用于选择运行模式、更新速率和时钟源。要访问该寄存器,必须对通信寄存器的RS2-RS0位设置成001即可。MR0至MR15表示位的位置,MR说明这些位属于模式寄存器。MR15表示数据流的第一位。该寄存器的定义如表3-9所示。表3-9 模式寄存器定义MR15MR14MR13M

45、R12MR11MR10MR9MR8MD2(0)MD1(0)MD0(0)0(0)0(0)0(0)0(0)0(0)MR7MR6MR5MR4MR3MR2MR1MR0CLK1(0)CLK0(0)0(0)0(0)FS3(1)FS2(0)FS1(1)FS0(0)其中,MD2-MD0是模式选择位,这些位选择AD7793的工作模式。具体的定义如表3-10所示。表3-10 MD2-MD0定义MD2MD1MD0模式000011110011001101010101连续转换模式单次转换模式空闲模式省电模式内部零电平校准内部满量程校准系统零电平校准系统满量程校准4. 配置寄存器配置寄存器是一个16位寄存器,可以读取和写

46、入数据。该寄存器用来配置ADC的单极性或双极性模式、使能或禁用缓冲器、使能或禁用熔断电流、选择增益以及选择模拟输入通道。要访问该寄存器,必须对通信寄存器的RS2-RS0位设置成010即可。CON0至CON15表示位的位置,CON说明这些位属于配置寄存器。CON15表示数据流的第一位。该寄存器的定义如表3-11所示。表3-11 配置寄存器定义CON15CON14CON13CON12CON11CON10CON9CON8VBIAS1(0)VBIAS0(0)BO(0)U/B(0)BOOST(0)G2(1)G1(1)G0(1)CON7CON6CON5CON4CON3CON2CON1CON0REFSEL(

47、0)0(0)0(0)BUF(1)0(0)CH2(0)CH1(0)CH0(0)该表中,VBIAS1-VBIAS0用于偏移电压选择,具体的定义如表3-12所示。G2-G0用于增益选择,具体定义如表3-13所示。REFSEL用于基准电压选择:当REFSEL=0时,基准电压源为REFIN(+)和REFIN()之间的外部基准电压;当REFSEL=1时,基准电压源为内部基准电压。表3-12 VBIAS1-VBIAS0定义VBIAS1VBIAS2偏置电压00110101偏置电压发生器禁用偏置电压连接至AIN1()偏置电压连接至AIN2()保留表3-13 G2-G0定义G2G1G0GainADC输入范围000

48、01111001100110101010112481632641282.5V1.25V625mV312.5mV156.2mV78.125mV39.06mV19.53mV5. 数据寄存器该寄存器用于存储AD7793的数据转换结果。它是一个只读寄存器,只能用于转换数据的读出。要访问该寄存器,必须对通信寄存器的RS2-RS0位设置成011即可。3.6 通信模块3.6.1 通信电路该压力变送器采用CAN总线技术进行通信,所选用的CAN收发器为SN65HVD230,供电电压为3.3V,该收发器由C8051F500内部自带的CAN控制器对其进行控制,具体的电路图如图3.13所示:图3.13 通信模块电路图

49、3.6.2 CAN控制器工作原理CAN控制器的功能行为是通过控制寄存器改变的,通过置位或者清除这些位的值,可以控制CAN控制器的对应位的功能。微控制器可以对该寄存器进行读/写操作。表3-14列出了控制寄存器各位功能描述。表3-14 控制寄存器定义位7位6位5位4位3位2位1位0R/WR/WR/WR/WR/WR/WR/WRTESTCCEDAR保留EIESIEIEINIT该表中,TEST表示测试模式使能,CCE表示配置更改使能,DAR表示禁能自动重发 ,EIE表示错误中断使能,SIE表示状态更改中断使能,IE表示模块中断使能,INIT则表示初始化。第4章 软件程序设计4.1 高精度压力变

50、送器组网程序设计4.1.1 高精度压力变送器组网结构高精度压力变送器通信及组网结构如图4.1所示。图4.1 基本通信流程4.1.2 压力变送器基本工作流程压力变送器的基本工作流程为:首先上电初始化设备,并进行组网,若组网成功,则进行休眠,否则提示设备及存储代码出错,显示错误代码,并进入休眠状态;当设备组网正确进入休眠状态后,500定时唤醒CPU并启动AD转换,进行电池电压检测,若电压过低显示低电压;若电压正常,进行数据采集并进行AD转换及数据处理,利用CAN模块将处理完的数据进行发送。变送器的基本工作流程如图4.2所示。图4.2 压力变送器基本工作流程4.2 系统的主程序及各个子程序设计4.2

51、.1 系统主程序设计系统的主程序结构包括系统初始化、串口初始化、组网、匹配及存储网络地址、AD采集、数据转换及存储和CAN通信等模块。系统的主程序流程如图4.3所示。图4.3 系统主程序4.2.2 AD转换模块子程序设计AD转换模块的工作流程:首先系统开始工作并且系统进行初始化,启动AD采集,然后判断是否达到预设采集次数,若满足则把采集次数发送到主芯片;若未达到采集次数则继续进行AD采集,直到满足采集次数,将采集次数发送到主芯片,最后系统停止工作。AD转换模块的工作过程如图4.4所示。图4.4 模数转换子程序设计4.2.3 串口通信模块子程序设计串口通信为可选设备,主要用于标定、传标定系数、参

52、数、属性及测试用,在数据发送过程禁止串口中断。串口通信模块的工作流程如图4.5所示。图4.5 串口模块子程序4.2.4 存储模块子程序设计存储模块用于接收或读取高精度压力变送器采集到的数据,这些数据通过C8051F500单片机按照约定数据存储协议存储到AT24CL256芯片中。存储模块的工作流程如图4.6所示。图4.6 存储模块子程序第5章 总结经过几个月的努力,掌握了压力变送器的工作原理,初步了解了CAN总线技术及其应用,并成功的实现了设计的基本要求。同时也提高了利用高级语言编写单片机程序的能力,以及查阅资料和解决问题的能力。本设计分析了当前压力变送器的现状,对高精度压力变送器的系统设计的必要性和现实意义进行了阐述,介绍了高精度压力变送器的硬件组成和工作原理,并详细分析了各单元电路的性能和工作原理,同时编写了几个与硬件密切相关的模块程序,基本满足了设计要求。系统主要实现的功能有:1. 通过单片机的控制压力变送器成功测量出压力数值;2. 通过程序得出了输出信号与压力变量之间的函数关系;3. 实现了CAN通信模块在系统中的良好应用;4. 本系统采用电池供电,大大提升了压力变送器的便携性和操作性。不过本设计仍然存在不足的地方。例如:测量精度,在测量时,测量数据会略有偏差;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论