基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx

上传人:聆听****声音 文档编号:948285 上传时间:2023-04-29 格式:DOCX 页数:40 大小:441.85KB
下载 相关 举报
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第1页
第1页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第2页
第2页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第3页
第3页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第4页
第4页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第5页
第5页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第6页
第6页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第7页
第7页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第8页
第8页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第9页
第9页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第10页
第10页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第11页
第11页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第12页
第12页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第13页
第13页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第14页
第14页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第15页
第15页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第16页
第16页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第17页
第17页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第18页
第18页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第19页
第19页 / 共40页
基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx

《基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx(40页珍藏版)》请在冰点文库上搜索。

基于I2C总线的多通道温度实时采集系统的设计与实现Word文档格式.docx

2.2.2I2C扩展芯片的选型 4

2.2.3温度传感器的选型 4

2.2.4LCD液晶驱动器的选型 5

2.2.5A/D转换器的选型 5

2.3总结 5

3P89LPC922单片机及I2C接口 6

3.1P89LPC922单片机概述 6

3.1.1芯片内部框图 6

3.3.2引脚配置 7

3.4I/O口 7

3.4.1I/O端口配置 8

3.4.2准双向口输出配置 8

3.4.3开漏输出配置 8

3.4.4仅为输入配置 8

3.4.5推挽输出配置 9

3.5中断 9

3.6I2C总线接口 9

3.6.1概述 9

3.6.2I2C特殊功能寄存器描述 10

3.6.3I2C操作模式 12

3.7总结 13

4硬件电路设计 14

4.1单片机控制电路 14

4.2LED显示模块 15

4.3远程传输模块 16

4.4电源模块 18

4.5温度测量模块 18

4.5.1A/D转换器PCF8591 19

4.5.2温度传感器AD590 19

4.6总结 20

5系统软件设计 21

5.1Main函数设计 21

5.2I2C发送数据函数 22

5.3键盘中断函数 23

5.4键盘处理函数 23

5.5LED显示函数 24

5.6A/D转换函数 24

5.7总结 25

6总结与展望 26

6.1课题总结 26

6.2课题展望 26

致谢 28

参考文献 29

附录Ⅰ 元器件清单 30

附录Ⅱ 原理图 31

基于I2C总线的多通道温度实时采集系统的

设计与实现

傅煜

(电子信息工程系 指导教师:

薛建国)

摘要:

针对远距离多点数据的采集,节省微处理器的输入输出引脚,满足多器件控制的要求,设计一套基于I2C总线的远程数据采集系统。

本系统以带有I2C接口的LPC900系列单片机作为主控MCU,来实现数据的处理;

以P82B96驱动器提高I2C总线的负载能力,提高传输距离从而实现数据的远程传输;

以带有I2C接口的A/D转换器PCF8591来采集数据并进行数据类型的转换;

以温度传感器

AD590来测量环境温度;

以LED驱动器ZLG7290驱动数码管显示数据。

通过不断的调试和完善实现多点的温度测量,在数码管上显示即时温度。

本系统采用LPC922单片机为主控制器,通过I2C总线实现远距离的温度测量。

本系统分为以下几个模块:

微处理器核心模块、LED显示模块、键盘模块、温度测量模块、数据远距离传输模块、电源模块。

关键词:

单片机,I2C总线,远程数据采集

DesignandimplementationofrealtimedataacquisitionsystemformultichanneltemperaturebasedonI2Cbus

Fuyu

(Electronic&

InformationEngineeringDepartment,Supervisor:

XueJianguo)

Abstract:

Forlong-distancemulti-pointdatacollection,tosavetheinputandoutputpinsofthemicroprocessor,tomeettherequirementsthecontrolofmultipledevices,designasetofI2Cbusbasedremotedataacquisitionsystem.ThesysteminterfaceswithLPC900MCUI2CasamasterMCU,toachievedataprocessing;

toP82B96I2Cbusdrivetoimproveloadcapacityandimprovetransmissionrangeinordertoachievetheremotetransmissionofdata;

toI2CinterfacewithA/DPCF8591convertertocapturedataandperformdatatypeconversions;

toAD590temperaturesensortomeasureambienttemperature;

todriveZLG7290LEDdigitaldisplaydriverdata.Debugandimprovethroughcontinuousmulti-pointtemperature

34

measurement,digitaldisplayinreal-timetemperature.

ThissystemusestheLPC922microcontroller-basedcontroller,throughtheI2Cbusforremotetemperaturemeasurements.Thesystemisdividedintothefollowingmodules:

microprocessorcoremodule,LEDdisplaymodule,keyboardmodule,temperaturemeasurementmodule,remotedatatransmissionmodule,powersupplymodule.

KEYWORDS:

microcontroller,I2Cbus,remotedataacquisition

1绪论

1.1数据采集系统及发展历程

数据采集是将被测对象(外部世界、现场)的各种参量(如物理量、化学量、生物量等)通过各种传感元件作适当转换后,再经信号调理、采样、放大、滤波、量化、编码,然后通过无线或有线的方式进行传输等步骤,最后送到控制器进行数据处理或存储纪录的过程。

在进行数据采集时,由于许多被测对象离主控中心距离较远或现场环境不允许数据采集系统就近放置,只能用长线通过远距离传送给主控制器,这便产生了远程数据采集系统。

应用远程数据采集系统可对生产现场的各种参数进行采集、监视和记录,是提高产品质量、降低成本、增加生产效率和节省人力的重要手段;

另外,远程数据采集是控制系统实现控制的基本条件,只有准确实时的获取对象的运行数据才能实施有效的控制。

数据采集系统经历了几个发展阶段。

早期的数据采集系统基于ISA、PCI总线,采集的数据是模拟量,系统庞大,采集后需要将模拟信号经过放大、调理通过长线传送给计算机系统;

在长线传输过程中信号的电磁干扰是不可避免的,信号转换的过程也存在干扰;

基于串口传输数据的数据采集系统传输速度慢,而且多为主从式结构,系统稳定性低。

基于单片机的数据采集系统利用数字传感器直接输出数字信号,经过总线的传输直接送给计算机系统,操作方便,无需信号转换。

1.2I2C总线及优点

I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。

它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。

在主从通信中,可以有多个I2C总线器件同时连接到I2C总线上,所有

I2C兼容的器件都具有标准的接口,通过地址来识别通信对象,使他们可以经由I2C总线互相通信。

I2C总线很大程度上减轻了系统对I/O口需求的压力,弥补了系统主处理芯片I/O口的不足,通过扩展芯片总线的传输长度可高达1000米,并且能够以最高以3.4Mbps的最大传输速率支持40个组件。

I2C总线是由数据线SDA和时钟线SCL构成的串行总线,可发送和接受数据。

CPU与被控IC之间,IC和IC之间进行双向传送,各种被控电路均并联在这条总线上,每个电路都有唯一的地址。

在信息传输过程中,I2C总线上并联的每一个模块电路既是被控器(或是主控器),又是发生器(或是接收器),这取决与它所要完成的功能。

CPU发出的控制信号分为地址码和数据码两部分:

地址码用来选址,及接通需要控制的电路;

数据码是通信的内容,这样各控制电路虽然挂在同一条总线上,却彼此独立。

利用I2C总线实现远程数据采集不但布线方便,传输速度快,操作方便,节省I/O资源,多主式的结构更增加了系统的稳定性。

2系统方案

2.1系统方案简介

该系统设计是利用LPC900系列单片机,通过I2C总线,实现远程的温度采集。

基于

I2C的远程数据采集系统由主控制模块和数据采集模块两大部分构成。

主控制模块以

LPC900系列单片机为核心控制器,集成了键盘操作功能。

温度传感器AD590测得温度后转换为电信号经过放大和信号调理送入A/D转换器PCF8591实现模数转换,再通过由扩展芯片P82B96扩展后的I2C总线实现远距离通信。

显示模块利用I2C总线可以并联多

个I2C接口器件的特性,使用ZLG7290作为LED驱动器驱动数码管显示。

系统方案如下:

SDA

P82B96

SCL

SC

段输出

ADS590

共阴数码管

A/DPCF8591

LED驱动器7290

SDA SCL

L

键盘电路

LPC922

晶振电路

复位电路

图2-1系统设计框图

2.2系统总体方案的确定

2.2.1主控制器方案的选型

方案一:

常用的51单片机89C51

89C51无硬件I2C,需用软件模拟I2C时序,操作繁琐,调试麻烦,内部资源不充足,且5V工作电压功耗高、速度低,用于该课题无明显优势。

方案二:

LPC900系列单片机

LPC900系列单片机具有体积小、有I2C引脚、超低的功耗(完全掉电时电流低至1µ

A,工作电压低至2.4~3.6V)、6倍速于80C51、工业级芯片、可靠性高、增强型I/O口、丰富的片内资源和ICP在线编程方便快捷等优势。

用LPC93X系列单片机能满足要求但资源浪费,价格高,故最终确定选用LPC922单片机。

2.2.2I2C扩展芯片的选型

I2C的传输距离有限。

实际应用时,必须扩展I2C通信距离。

P82B715和P82B96是

Philips研制的应用于远距离通信的I2C扩展器。

P82B715只有3000pF的输出容性负载,且不可电平转换,而P82B96的最大输出容性负载高达4000pF,支持电平转换,还可以作为通用的准双向总线缓冲器。

当通信速率为31KHz可达到1000米。

因此在这个系统里选用P82B96。

2.2.3温度传感器的选型

热电偶传感器

热电偶传感器的原理是将温度变化转换为电势的变化。

它是利用两种不同材料的金属连接在一起,构成的具有热点效应原理的一种感温元件。

其优点为精确度高、测温范围广、结构简单、使用方便、型号种类比较多且技术成熟。

目前广泛应用于工业和民用产品中。

热电偶传感器的种类很多,在选择时必须考虑其灵敏度、可靠性、稳定性等条件。

热电阻传感器

热电阻传感器的原理是将温度变化转换为电阻值的变化。

热电阻传感器是中低温区最常用的一种温度传感器。

它的主要特点是:

测量精度高,性能稳定、其中铂电阻的测量精度是最高的,被制作成标准的基准仪。

从热电阻的测温原理可以知道,被测温度的变化是直接通过热电阻阻值的变化来变现的。

因此,热电阻的引出线的电阻的变化会给测温带来影响。

为了消除引线电阻的影响,一般采用三线制或四线制。

方案三:

半导体集成模拟温度传感器

半导体IC温度传感器是利用半导体PN结的电流、电压与温度变换关系来测温的一种感温元件。

这种传感器输出线性好、精度高,而且可以把传感器驱动电路、信号处理电路等与温度传感器部分集成在同一硅片,体积小,使用方便,应用比较广泛的有

AD590等。

IC温度传感器在微型计算机控制体系中,通常用于室温的测量,以便微型计算机对温度测量值进行补偿。

方案四:

半导体集成数字温度传感器

随着科学技术的不断进步和发展,新型温度传感器的种类繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式、多总线式发展。

数字温度传感器更适合与各种微处理器的I/O接口相连接,组成自动温度控制系统,这种系统克服课模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,被广泛应用于工业控制、电子测温等各种温度控制系统中,数字温度传感器中比较有代表性的有DS18B20等。

本设计为设计方便,性能稳定,准确性高,决定选用半导体集成温度传感器,由于

DS18B20采用的是单总线技术,不支持I2C总线,所以选用AD590模拟温度传感器。

2.2.4LCD液晶驱动器的选型

LCD字符型液晶驱动器

PCF2113是LCD字符型液晶驱动器,自身带有I2C接口,I2C速率是400khz,工作电压为2.5V到5V,可驱动两行、每行12个字符,片内可产生LCD偏置电压,功耗很低且本身自带片内RAM,但是外围引脚多,操作繁琐。

LED驱动器ZLG7290

ZLG7290是一种具有I2C接口的键盘及LED驱动管理器件,提供数据译码和循环、移位、段寻址等控制。

它能够直接驱动8位共阴式数码管(或64只独立的LED),并可扩展驱动电流和驱动电压。

本系统利用I2C总线接口,直接用数码管显示,所以选用ZLG7290可满足要求。

2.2.5A/D转换器的选型

考虑到选用的A/D转换器应该有I2C总线接口,精度达到8位就可以满足要求,芯片内部应该有多个通道来配合I2C总线进行多点的数据采集,选用PCF8591芯片。

2.3总结

本章节主要介绍了系统的整体方案,给出了系统的设计方法和设计思路,同时对系统中的各个器件进行选型,为系统的硬件设计最好准备。

3P89LPC922单片机及I2C接口

3.1P89LPC922单片机概述

P89LPC922是一款单片封装的微控制器,适合于许多要求高集成度、低成本的场合,可以满足多方面的性能要求。

P89LPC922采用了高性能的处理器结构,指令执行时间只需要2~4个时钟周期,6倍于标准80C51器件。

P89LPC92集成了许多系统级的功能,这样可大大地减少元件的数目、电路板面积以及系统的成本。

LPC922的运算速度很快,当操作频率为12MHz时,除乘法和除法指令外

80C51CPU的指令执行时间为167~333ns。

同一时钟频率下,LPC922的速度为标准

80C51器件的6倍。

只需要较低的时钟频率即可达到同样的性能,这样无疑降低了功耗

EMI;

LPC922的操作电压范围为2.4~3.6V。

I/O口可承受5V(可上拉或驱动到5.5V)的电压;

它有2个16位定时/计数器,每一个定时器均可设置为溢出时触发相应端口输出或作为PWM输出;

LPC922有400kHz字节宽度的I2C通信端口;

可以直接实现I2C总线通信;

有8个键盘中断输入,另加2路外部中断输入;

4个中断优先级;

低电平复位,使用片内上电复位时不需要外接元件。

复位计数器和复位干扰抑制电路可防止虚假和不完全的复位。

另外还提供软件复位功能;

可配置的片内振荡器及其频率范围和RC振荡器选项(通过用户可编程Flash配置位选择),选择RC振荡器时不需要外接振荡器件。

振荡器选项支持的频率范围为20KHz~12MHz可选择RC振荡器选项并且其频率可进行很好的调节;

LPC922有可编程端口输出模式,准双向口,开漏输出,推挽和仅为输入功能模;

所有口线均有LED驱动能力20mA;

LPC922最少有15个I/O口,选择片内振荡和片内复位时可多达18个I/O口。

3.1.1芯片内部框图

LPC922单片机的功能框图如3-1所示。

图3-1功能框图

3.3.2引脚配置

P0口是一个可由用户定义输出类型的8位I/O口。

在上电复位时,P0锁存器配置为内部上拉禁止的仅为输入模式。

P0口由口配置寄存器设定为输出或输入模式,每一个管脚均可单独设定。

P0口具有键盘输入中断功能。

所有管脚都具有施密特触发输入。

引脚有1,20,19,18,17,16,14,13。

P1是一个可由用户定义输出类型的8位I/O口。

在上电复位时P1锁存器配置为内部上拉禁止的仅为输入模式。

P1口由口配置寄存器设定为输出或输入模式,每一位均可单独设定。

P1.2、P1.3作为输出时为开漏。

P1.5为仅为输入模式。

引脚12,11,10,9,8,4,3,2;

其中4引脚是RST外部复位输入(通过Flash配置选择)。

作为复位管脚时,输入的低电平会使芯片复位,I/O口和外围功能进入默认状态,处理器从地址0开始执行。

P3口是一个可由用户定义输出类型的2位I/O口,在上电复位时,P3锁存器配置为内部上拉禁止的仅为输入模式。

P3口由口配置寄存器设定为输出或输入模式,每一个管脚均可单独设定,所有管脚都具有施密特触发输入。

3.4I/O口

LPC922有3个I/O口P0、P1和P3。

P0和P1为8位I/O口而P3为2位I/O口。

I/O口的具体数目取决于所选择的振荡和复位方式,具体如表3-1。

表3-1可用的I/O口数目

时钟源

复位选项

I/O口数目

片内振荡器或看门狗振荡器

无外部复位上电时除外

18

使用外部复位脚RST

17

外部时钟输入

16

低/中/高速振荡器外部晶振或谐振器

15

3.4.1I/O端口配置

除了3个口(P1.2、P1.3和P1.5)以外,LPC922其他所有的I/O口均可由软件配置成4种输出类型之一,四种输出类型分别为:

准双向口(标准8051输出模式)

(PXM1.Y=0,PXM2.Y=0);

推挽(PXM1.Y=0,PXM2.Y=1);

开漏输出

(PXM1.Y=1,PXM2.Y=1);

仅为输入功能(PXM1.Y=1,PXM2.Y=0)。

每个口配置2个控制寄存器控制每个管脚输出类型。

P1.5(RST)只能作为输入口,无法进行配置。

P1.2(SCL/T0)和P1.3(SDA/INT0)只能配置为输入口或开漏口。

3.4.2准双向口输出配置

准双向口输出类型可用作输出和输入功能而不需重新配置口线输出状态。

这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低。

当管脚输出为低时,它的驱动能力很强,可吸收相当大的电流。

准双向口除了有三个上拉晶体管适应不同的需要外,其特性和开漏输出有些相似。

LPC922为3V器件,但管脚可承受5V电压。

在准双向口模式中如果用户在管脚加上5V电压将会有电流从管脚流向VDD。

这将导致额外的功率消耗,因此建议不要在准双向口模式中向管脚施加5V电压。

准双向口带有一个施密特触发输入以及一个干扰抑制电路。

3.4.3开漏输出配置

当口线锁存器为‘0’时,开漏输出关闭所有的上拉晶体管而仅驱动端口的下拉晶体管。

作为一个逻辑输出时这种配置方式必须有外部上拉,一般通过电阻外接到VDD。

开漏端口带有一个施密特触发输入以及一个干扰抑制电路。

3.4.4仅为输入配置

该配置无输出驱动器,它带有一个施密特触发输入口以及一个干扰抑制电路。

3.4.5推挽输出配置

推挽输出配置的下拉结构和开漏输出以及准双向口的下拉结构相同,但当锁存器为

‘1’时提供持续的强上拉。

推挽模式一般用于需要更大驱动电流的情况。

推挽管脚带有一个施密特触发输入以及一个干扰抑制电路。

3.5中断

LPC922采用4中断优先级结构。

这为P89LPC922的多中断源的处理提供了极大的灵活性。

LPC922支持12个中断源:

外部中断0和1、定时器0和1、串口Tx、串口Rx、组合的串口Tx/Rx、掉电检测、看门狗/实时时钟、I2C、键盘中断和比较器1和2。

任何一个中断源均可通过对IEN0和IEN1中相应的位置位或清零,实现单独使能或禁止。

IEN0中还包含了一个全局禁止位EA,它可禁止所有中断。

每个中断源都可被单独设置为四个中断优先级之一,分别通过清零或置位

IP0、IP0H、IP1、IP1H中相应位来实现(00——最低优先级,11——最高优先级)。

一个中断服务程序可响应更高级的中断,但不能响应同优先级或低级中断。

最高级中断服务程序不响应其它任何中断。

如果两个不同中断优先级的中断源同时申请中断时,响应较高优先级的中断申请。

如果两个同优先级的中断源同时申请中断,那么通过一个内部查询顺序序列确定首先响应哪一个中断请求,这叫做仲裁队列。

3.6I2C总线接口

3.6.1概述

I2C(全称:

interintegratedchips)是一种串行通信协议,专利权归属于Philips公司。

I2C有三

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2