




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 西安邮电学院 毕 业 设 计(论 文)题 目:基于I2C总线的数据采集系统 院 (系): 自动化 专 业: 自动化 班 级: 自动0702班 学生姓名: 任杰 导师姓名: 周生祥 职称: 副教授 起止时间:2011年03月14日 至2011年06月19日西 安 邮 电 学 院毕业设计(论文)任务书 学生姓名:任杰 指导教师:周生祥职称:副教授系别:自动化学院专业:自动化题目:基于I2C总线的数据采集系统 任务与要求了解I2C总线的协议及规范,编写其控制模块。并对编写的模块进行仿真,仿真无误后,进行硬件的焊接,完成I2C总线的数据采集。开始日期2010年3月14日完成日期2010年6月19日系
2、主任(签字)年月日西 安 邮 电 学 院毕 业 设 计 (论文) 工 作 计 划 学生姓名_任杰 _指导教师_周生祥_职称_副教授_系别_ _自动化学院 _专业_自动化_ 题目_ 基于I2C总线的数据采集系统 _ _ _ 工作进程:起 止 时 间工 作 内 容2011.3.142011.3.20 了解编写此课题的背景知识,具体细节,明确所涉及的内容,确立毕业设计的题目;2011.3.302011.4.13 学习有关I2C协议的相关知识,包括I2C的,I2C协议及规范,和硬件模块的设计;2011.4.142011.4.20 规划设计方案,学习相关EDA工具的使用方法包括Proteus等;2011
3、.4.212011.5.18 编写硬件代码、仿真,综合;2011.5.192011.6.1 形成毕业设计论文,请指导老师评改,改进并加以整合,完成设计;2011.6.42011.6. 19 书写毕业设计论文、整理,准备PPT,答辩。主要参考书目(资料)主要仪器设备及材料对计划的说明无硬件描述语言相关书籍相关EDA软件的参考资料keil开发板一套计算机一台,相关EDA软件。论文(设计)过程中教师的指导安排1、 提交开题报告,叙述对毕业论文任务书的理解和完成计划;2、 上报毕业论文和完成步骤和情况;3、 完成余下的工作计划,预计困难,对应的措施;4、 按要求上交设计成果与论文,进行相应的答辩西安邮
4、电学院毕业设计(论文)开题报告自动化 院(系)自动化 专业 07 级 02 班课题名称:基I2C总线的数据采集系统 学生姓名: 任杰 学号:06071043指导教师: 周生祥 报告日期: 2011-3-30 1本课题所涉及的问题及应用现状综述1.1 课题所涉及的问题I2C 总线是一种具有自动寻址,高低速设备同步和仲裁等功能的高性能串行总线。能够实现完善的全双工数据传输,是各种总线中的使用信号线数量最少的。I2C总线只有两根信号线:数据线SDA和时钟线SCL。所有进入I2C总线系统中的设备都带有I2C总线借口,符合I2C总线电气规范的特性,只需将I2C总线上所有的节点的串行数据线SDA和时钟线S
5、CL分别与总线的SDA和SCL先连即可。各节点供电可以不同,但需共地,另外SDA和SCL需要分别接上拉电阻。当执行数据传送时,启动数据发送并产生时钟信号的器件称为主器件;被寻址的任何器件都可看作从器件;发送数据到总线上的器件称为发送器;从总线上接收数据的器件称为接收器。I2C总线是多主机总线,可以有两个或更多的能够控制总线的器件与总线连接;同时I2C总线还具有仲裁功能,当一个以上的主器件同时试图控制总线时,只允许一个有效,从而保证数据不被破坏.I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就简少了总线数量。主机在发送完启动信号后,立即发送寻址字节来寻址被控器件,并规定数据传送方向
6、。寻址字节由7位从机地址(D7D1)和1位方向位(D0,0/1,读/写)组成。当主机发送寻址字节时,总线上所有器件都将该寻址字节中的高7位地址与自己器件的地址比较,若两者相同,则该器件认为被主机寻址,并根据读/写位确定是从发送器还是从接收器。I2C总线句有多重主控能力,这就意味着可以允许多个作为主控器的电路模块(具有I2C总线接口的弹片机)去抢总线。因此挂接在I2C总线上的集成电路模块的发送器/接收器可以根据不同的工作状态反为住控发送器,主控接受器,被控发送被控接收器。显然,具有I2C总线接口的单片机可以工作在上述4种工作状态中的任一状态,而带有I2C总线接口的存储器I2C只有两根双向的信号线
7、,一根是数据线SDA,另一根是时钟线SCL。所有连接到I2C总线上器件的数据线都是接到SDA线上,各器件的时钟线均接到SCL线上。每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机关系软件设定地址,主机可以作为主机发送器或主机接收器。I2C是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏。串行的8位双向数据传输位速率在标准模式下可达100bit/s,快速模式下可达400bit/s,高速模式下可达3.4Mbit/s。连接到相同总线的IC数量只受到总线的最大电容400pF限制。I2C总线位传输数据的有效性是指:SDA线上的数据必须在时钟
8、的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。起始和终止条件是:SCL线是高电平时,SDA线从高电平向低电平切换,这个是起始条件,SCL线是高电平时,SDA线由低电平向高电平切换,这个是停止条件,起始和停止条件一般有主机产生,总线在起始条件后被认为处于忙的状态,在停止条件的某段时间后总线被认为再次处于空闲状态。1.2 现状综述I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统
9、温度等多个参数,增加了系统的安全性,方便了管理。近年来芯片间的串行数据传输技术被大量采用,由于数据的串行传输连接线少,采用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高,同时系统的更改和扩充极为容易。随着微电子技术的发展,许多厂商不断推出I2C总线接口器件,如E2OROM、A/D转换器、LED及LCD驱动器、日历时钟电路等。对于80C51系列单片机,有一些品种在片上配置了I2C总线接口,但多数品种没有配置I2C总线接口。这时就可以利用通用并行I/O口线模拟I2C总线接口时序,使这些单片机不受带有I2C总线接口的限制。因此在许多单片机应用系统中可以将I2C总线的模拟传送技术
10、作为常规的设计方法。单片机应用系统使用I2C总线扩展时,多为单主结构的形式,在这种系统中,I2C单主机方式,总线数据的传送控制比较简单,没有总线的竞争与同步,只存在单片机对I2C总线上各从器件的读(单片机接收)、写(单片机发送)操作。2本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析本设计采用KEIL开发和编程工具对I2C总线接口进行设计,KEIL设计流程是指利用KEIL开发和编程工具,采用可编程逻辑器件实现待设计的过程,完成KEIL设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现后仿真与验证、板级仿真与调试等主要步骤。主要研究内容:多主通信就是在总线上有多个节点
11、。这些节点既可以作为主节点访问其他的节点,也可以作为从节点被其他节点访问。当有多个节点同时企图占用总线时,就需要总线的仲裁。对于模拟I2C总线系统,怎样实现总线的仲裁是现在研究模拟I2C总线系统的难点。在系统中增加1根BUSY线,在占用总线之前先检测BUSY线,看总线是否被占用。若总线空闲,则设置BUSY线并向总线上传送数据;否则,接收数据,直到总线空闲时才占有总线。这种实现多主通信的方法有两个缺点: 因为I2C最大的优点就是接口少、效率高,这样做不仅增加了使用资源而且减少了I2C总线的优势; 当主节点数比较多时,等待时间比较长,效率不高。解决思路:本设计根据总线的仲裁原理,提出一种基于延时比
12、较的仲裁方法。当主节点想要占用总线时,先检测总线上是否空闲,如果总线是空闲的就发送数据。在发送数据的同时,将总线上的数据接收并与发送的数据进行比较。如果不同,说明总线上同时还存在其他节点,于是就退出;否则,一直到发送完数据。这种方法既体现了I2C总线的高效性,同时还具有良好的扩展性。3完成本课题的工作方案2011.3.142011.3.20 了解编写此课题的背景知识,具体细节,明确所涉及的内容,确立毕业设计的题目;2011.3.302011.4.13 学习有关KEIL设计的相关知识,包括硬件描述语言的学习,I2C总线的协议及规范,和硬件模块的设计;2011.4.142011.4.20 规划设计
13、方案,学习相关KEIL工具的使用方法包括Proteus等;2011.4.212011.5.18 编写I2C协议控制器模块硬件代码、仿真,综合;2011.5.192011.6.01 形成毕业设计论文,请指导老师评改,改进并加以整合,完成设计;2011.6.042011.6. 19 书写毕业设计论文、整理,准备PPT,答辩。 4指导教师审阅意见指导教师(签字): 年 月 日说明:本报告必须由承担毕业论文(设计)课题任务的学生在毕业论文(设计) 正式开始的第1周周五之前独立撰写完成,并交指导教师审阅。西安邮电学院毕业设计 (论文)成绩评定表学生姓名任杰性别男学号06071043专 业班 级自动070
14、2班课题名称基于I2C总线的数据采集系统课题类型科研题目难度较难毕业设计(论文)时间2011 年3月14日6月 19日 指导教师周生祥 (职称:副教授)课题任务完成情况论 文 (千字); 设计、计算说 明书 (千字); 图纸 (张);其它(含附 件):指导教师意见分项得分:开题调研论证 分; 课题质量(论文内容) 分; 创新 分;论文撰写(规范) 分; 学习态度 分; 外文翻译 分指导教师审阅成绩:指导教师(签字): 年 月日评阅教师意见分项得分:选题 分; 开题调研论证 分; 课题质量(论文内容) 分; 创新 分;论文撰写(规范) 分; 外文翻译 分评阅成绩:评阅教师(签字): 年月日验收小
15、组意见分项得分:准备情况 分; 毕业设计(论文)质量 分; (操作)回答问题 分验收成绩:验收教师(组长)(签字): 年月日答辩小组意见 分项得分:准备情况 分; 陈述情况 分; 回答问题 分; 仪表 分答辩成绩: 答辩小组组长(签字): 年 月 日成绩计算方法(填写本院系实用比例)指导教师成绩 20 () 评阅成绩 30 () 验收成绩 30 () 答辩成绩 20 ()学生实得成绩(百分制)指导教师成绩 评阅成绩 验收成绩 答辩成绩 总评 答辩委员会意见毕业论文(设计)总评成绩(等级): 院(系)答辩委员会主任(签字): 院(系)签章) 年 月 日备注西安邮电学院毕业论文(设计)成绩评定表(
16、续表)2目 录摘要14ABSTRACT15第一章 单片机171.1 单片机的简单介绍171.1.1 单片机的特点181.1.2 单片机的应用领域181.2 AT80C51191.2.1 AT80C51单片机简介191.2.2 AT80C51单片机的结构201.2.3 毕设所用电路211.2.4 AT80C51性能介绍23第二章 C总线242.1 C总线概念242.2 C总线结构272.3 C总线上的数据传送282.3.1 位传输282.3.2 数据传输的字节格式292.4 C数据传输协议292.5 串行EEPROM 24C02的硬件连接302.6 24C02芯片相关介绍312.7 EEPROM
17、概述33第三章 程序设计353.1 实验电路图353.2基于I2C总线的数据采集系统程序36实验小结41参考文献42摘要I2C 总线是具有自动寻址,高低速设备同步和仲裁等功能的一种高性能串行总线。它能够实现完善的全双工数据传输,在各种总线中的使用信号线数量最少的。I2C总线只有两根信号线:数据线SDA和时钟线SCL。所有进入I2C总线系统中的设备都带有I2C总线接口,符合I2C总线电气规范的特性,只需将I2C总线上所有的节点的串行数据线SDA和时钟线SCL分别与总线的SDA和SCL先连即可。各节点供电可以不同,但需共地,另外SDA和SCL需要分别接上拉电阻。当执行数据传送时,启动数据发送并产生
18、时钟信号的器件称为主器件;被寻址的任何器件都可看作从器件;发送数据到总线上的器件称为发送器;从总线上接收数据的器件称为接收器。I2C总线是多主机总线,可以有两个或更多的能够控制总线的器件与总线连接;同时I2C总线还具有仲裁功能,当一个以上的主器件同时试图控制总线时,只允许一个有效,从而保证数据不被破坏.I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就简少了总线数量。主机在发送完启动信号后,立即发送寻址字节来寻址被控器件,并规定数据传送方向。寻址字节由7位从机地址(D7D1)和1位方向位(D0,0/1,读/写)组成。当主机发送寻址字节时,总线上所有器件都将该寻址字节中的高7位地址与
19、自己器件的地址比较,若两者相同,则该器件认为被主机寻址,并根据读/写位确定是从发送器还是从接收器。 I2C总线具有多重主控能力,这就意味着可以允许多个作为主控器的电路模块(具有I2C总线接口的单片机)去抢总线。所以挂接在I2C总线上的集成电路模块的发送器/接收器可以根据不同的工作状态反为主控发送器,主控接受器,被控发送器,被控接收器。显然,具有I2C总线接口的单片机可以工作在上述4种工作状态中的任一状态,而带有I2C总线接口的存储器。I2C只有两根双向的信号线,一根是数据线SDA,另一根是时钟线SCL。所有连接到I2C总线上器件的数据线都是接到SDA线上,各器件的时钟线均接到SCL线上。每个连
20、接到总线的器件都可以通过唯一的地址和一直存在的简单的主机关系软件设定地址,主机可以作为主机发送器或主机接收器。I2C是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏。串行的8位双向数据传输位速率在标准模式下可达100bit/s,快速模式下可达400bit/s,高速模式下可达3.4Mbit/s。连接到相同总线的IC数量只受到总线的最大电容400pF限制。本课题是基于I2C总线的数据采集系统,要求单片机与具有I2C总线的24C02存储器件进行读写操作,本课题的思想是用4*4的开关组成的键盘或拨码开关作为外部输入,存储在24c02中,再从24C02中
21、取出数据同在单片机,并在数码管上显示出来。由此完成I2C总线的数据采集系统。Abstract 第一章 单片机1.1 单片机的简单介绍单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。图1-1 MCS-51片内总体结构框图 单片机的特点1.集成度高,体积小,可靠性高。单片机将各功能部件集成在一块晶体芯片上,集成度很高。其内部
22、布线很短,因此其抗工业噪音性能优于一般通用的CPU。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。2.控制功能强。为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,适用于专门的控制功能。 3.扩展。片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 4.外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。5
23、.低电压,低功耗,便于生产便携式产品。6.优异的性能价格比 单片机的应用领域1.在智能仪器仪表中的应用 2.在机电一体化中的应用 3.在日常生活及家用电器领域的应用 4.在实时过程控制中的应用 5.应用于办公自动化设备 7.在计算机网络和通信领域中的应用 6.商业营销设备中的应用 10.航空航天系统和国防军事、尖端武器等领域 9.应用于汽车电子产品 8.单片机在医用设备领域中的应用 1.2 AT80C511.2.1 AT80C51单片机简介AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随
24、机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可灵活的应用于各种控制领域。 管脚说明: VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,被定义为高阻输入。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,可接收输出4TTL门电流。图1-2 AT89C5140脚塑料双列直插封装(PDIP)
25、 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口。高电平时间。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的地位字节。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 /PSEN:外部程序存储器的选通信号。(0000H-FFFFH),不管是否有内部程序存储器。 /EA/
26、VPP:当/EA保持低电平时,则在此期间外部程序存储器 XTAL2:来自反向振荡器的输出。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。1.2.2 AT80C51单片机的结构 1 中央处理器(CPU)CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算其、控制器和寄存器阵列组成。运算器运算器用来完成算术和逻辑运算功能,包括算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)、程序状态寄存器(PSW)等。部件。控制器主要由程序计数器PC、指令寄存器IR和定时控制逻辑电路等构成。控
27、制器控制器是单片机内部按照一定的时序协调工作的控制核心,是分析和执行指令的2 存储器AT89C51 单片机内部有128个字节的RAM数据存储器和4KB的闪存程序存储器(Flash)。程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可读也可写的,用于存放运算的中间结果,运行数据暂存及数据缓3 I/O 端口P2口、P3口,它们都是8位准双向口,每次可以并行输入或输出8位二进制信并行 I/O端口:AT89C51 有四个8位并行I/O 端口,分别命名为P0口、P1口、息。串行 I/O端口:AT89C51 有一个全双工的可编程串行I/O端口,它利用了P3 口的第二功能。4 定时器/
28、计数器AT89C51内部有两个16位可编程定时器/计数器,简称为定时器(TO)和计数器(T1),T0和T1分别由两个8位的寄存器构成,其中T0由TH0和TL0构成,T1由TH1和TL1。T0和T1在定时器控制器TCON和定时器方式选择寄存器TMOD的控制下,可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。当定时/5 中断系统计数溢出时还可以申请中断。单片机中的中断是指CPU暂停正在执行的原程序而为中断服务程序(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。总线是用于传送信息的公共途径。总线可以分为数据总线、地址总线、控制总线。时器、计数器TCON(中断标志寄存
29、器)等构成,IE、IP、TCON均为SFR特殊功能寄存器。AT89C51 的中断源有5个。它们分别是两个外部中断源,三个内部中断源。6 内部总线总线是用于传送信息的公共途径。总线可以分为数据总线、地址总线、控制总线。线的结构可以减少信息传输线的根数,提高系统可靠性,赠强系统灵活性。单片机呢的CPU、存储器、I/O接口等单元都是通过总线连接在一起的。采用总线形式进行连接。1.2.3 毕设所用电路 时钟电路 单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图2-2所示。 图 2-2 时钟电路电路中器件选择可以通过计
30、算和实验确定,也可以参考一些典型电路参数。电路中,电容器C1和C2对振荡频率有微调作用,同时帮助晶振起振,通常取值范围在30±10PF,一般晶振为6MHZ,电容取20PF,晶振为12MHZ,电容取30PF。石英晶体选择6MHZ或12MHZ,其结果只是机器周期不同,影响计数器计数初值。 复位电路单片机的RST引脚为系统提供一个外部复位信号,复位信号是高电平有效,高电平有效维持时间为2个机器周期以上,复位电路如图2-3所示.。 图2-3 复位电路 单片机复位方式有上电复位和手动复位两种方式。此复位电路集有上电自动和手动复位组合电路,各元件阻值如图2-3所示,按钮为手动复位按钮。 LED数
31、码管显示电路设计单片机应用系统中,通常都需要进行人-机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示状态及各种运行结果,显示器、键盘电路都是用来实现人-机对话活动的人机通道,因此在单片机系统中有着广泛的应用。 数码管在系统中的主要作用是显示单片机的输出数据、状态等,因而,作为外围典型器件,数码管显示是反映系统输出和操作输入的有效器件。数码管具备数字接口,可以方便地和单片机系统连接;数码管的体积小,重量轻,并且共耗低,是一种理想的显示单片机数据输出内容的器件,在单片机系统中有着重要的作用。 LED数码管的驱动是一个非常重要的问题由于单片机并行口不能直接驱动LED数码管,必须
32、采用驱动电路或放大电路,使之产生足够大的电路,显示器才能高亮正常工作。如果驱动能力差,显示器亮度就低,这样显示效果就会很差,达不到设计的需要。在本系统中,采用了三极管放大电路驱动数码管显示。 LED显示器显示控制方法有两种,即动态显示和静态显示。静态显示亮度一般比动态显示效果好,但本次设计中,采用了动态显示。LED显示器有共阴和共阳两种接法,因此设计过程中要注意接法的区别。下表为LED显示器扫描的字符编码。 表 2-5 字形代码 字形共阴极代码 字形共阴极代码 0 28H 7 EAH 1 EBH 8 20H 2 32H 9 A0H 3 A2H A 60H 4 E1H B 25H 5 A4H 6
33、 24H 1.2.4 AT80C51性能介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。第二章 C总线C总线是一种双向二线制总线,它的结构简单,可靠性和抗干扰性能好。目前很多公
34、司都推出了基于C总线的外围器件,例如我们学习板上的24C02芯片,就是一个带有C总线接口的E2PROM存储器,具有掉电记忆的功能,方便进行数据的长期保存。 2.1 C总线概念C 总线是具有自动寻址,高低速设备同步和仲裁等功能的一种高性能串行总线。它可以实现完善的全双工数据传输,并且是各种总线中的使用信号线数量最少的。I2C总线只有两根信号线:数据线SDA和终线SCL。所有进入I2C总线系统中的设备都带有I2C总线接口,是符合C总线电气规范的特性,只需将I2C总线上所有的节点的串行数据线SDA和时钟线SCL分别与总线的SDA和SCL相连即可。各节点供电是可以不同的,但需共地,另外SDA和SCL需
35、要分别接上拉电阻才可运行。 当执行数据传送时,启动数据发送并产生时钟信号的器件称为主器件;被寻址的任何器件都可看作从器件;发送数据到总线上的器件称为发送器;从总线上接收数据的器件称为接收器。I2C总线是一种多主机总线,可以有两个或更多的能够控制总线的器件与总线连接;同时I2C总线还具有仲裁功能,当一个以上的主器件同时试图控制总线时,只能允许其中一个有效,从而可以保证数据不被破坏.I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就可以简少了总线数量。主机在发送完启动信号后,立即发送寻址字节来寻址被控器件,并规定数据传送方向。寻址字节由7位从机地址(D7D1)和1位方向位(D0,0/1
36、,读/写)组成。当主机发送寻址字节时,总线上所有器件都将该寻址字节中的高7位地址与自己器件的地址比较,如果两者相同,则该器件认为被主机寻址,并根据读/写位确定是从发送器还是从接收器。I2C总线是具有多重主控能力的,这就意味着可以允许多个作为主控器的电路模块(具有I2C总线接口的弹片机)去抢总线。因此挂接在I2C总线上的集成电路模块的发送器/接收器可以根据不同的工作状态反为主控发送器,主控接受器,被控发送器,被控接收器。所以具有I2C总线接口的单片机可以工作在上述4种工作状态中的任一状态,而带有I2C总线接口的存储器(ARM或E2PROM)模块只能充当被控发送器和被控接收器。图2-1-1显示出了
37、带有2个单片机和其他一些外围电路模块接入I2C总线的一个实例。在图2-1-1中,若假设单片机A要向单片机B发送信息,单片机A首先作为主控器在I2C总线上发送起始信号和时钟信号,寻址作为被控器的单片机B,并且确立信息传送方向。然后单片机A作为主控发送器便可通过SDA线向被控接收器(单片机B)发送信息,并在信息发送完毕后发送终止信号,以结束信息的传送过程。 图2-1-1 : I2C总线典型系统示意图 I2C总线为同步串行数据传输总线,用于单片机的外围扩展。图2-1-2中为I2C总线外围扩展示意图。图中只表示出单片机应用系统中常用的I2C总线外围通用器件,外围设备模块,接口以及其他单片机节点。 图2
38、-1-2 I2C总线外围扩展示意图2.2 C总线结构C总线结构很简单,只有两条线,包括一条数据线(SDA)和一条串行时钟线(SCL)。具有C接口的器件可以通过这两根线接到总线上,进行相互之间的信息传递。连接到总线的器件具有不同的地址,CPU根据不同的地址进行识别,从而实现对硬件系统简单灵活的控制。一个典型的C总线应用系统的组成结构如下图所示(假设图中的微控制器、LCD驱动、E2PROM、ADC各器件都是具有C总线接口的器件):驱动、E2PROM、ADC各器件都是具有C总线接口的器件):图2-2 C总线应用系统的组成结构图我们知道单片机串行通讯的发送和接收一般都各用一条线TXD和RXD,而C总线
39、的数据线既可以发送也可以接受,工作方式可以通过软件设置。所以,C总线结构的硬件结构是非常简洁的。当某器件向总线上发送信息时,它就是发送器,而当其从总线上接收信息时,又成可以变为接收器。2.3 C总线上的数据传送下面我们看看C总线是如何进行数据传送的。我们知道,在一根数据线上传送数据时必须一位一位的进行,所以我们首先研究位传送。2.3.1 位传输 C总线每传送一位数据必须有一个时钟脉冲。被传送的数据在时钟SCL的高电平期间保持稳定,只有在SCL低电平期间才能够改变,示意图如下图2-3-1所示,在标准模式下,高低电平宽度必须不小于4.7us。 图2-3-1 C总线传送数据时序图那么是不是所有C总线
40、中的信号都必须符合上述的有效性呢?只有两个例外,就是开始和停止信号。开始信号:当SCL为高电平时,SDA发生从高到低的跳变,就定义为开始信号。停止信号:当SCL为高电平时,SDA发生从低到高的跳变,就定义为结束信号。开始和结束信号的时序图如下图2-3-2所示:图2-3-2 C总线传送数据开始和结束信号的时序图2.3.2 数据传输的字节格式SDA传送数据是以字节为单位进行的。每个字节必须是8位,但是传输的字节数量不受限制,首先传送的是数据的最高位。每次传送一个字节完毕,必须接收到从机发出的一个应答位,才能开始下一个字节的传输。如果没有接受到应答位,主机则产生一个停止条件结束本次的传送。那么从机应
41、该发出什么信号算是产生了应答呢?这个过程是这样的。当主器件传送一个字节后,在第9个SCL时钟内置高SDA线,而从器件的响应信号将SDA拉低,从而给出一个应答位。了解了I2C传输数据的格式,现在来研究双方传送的协议问题。2.4 C数据传输协议C总线的数据传输协议如下:(1)、主器件发出开始信号(2)、主器件发出第一个字节,用来选通相应的从器件。其中前7位为地址码,第8位为方向位(R/W)。方向位为“0”表示发送,方向位为“1”表示接受。(3)、从机产生应答信号,进入下一个传送周期,如果从器件没有给出应答信号,此时主器件产生一个结束信号使得传送结束,传送数据无效。图2-4 C总线数据的传送过程图(
42、4)、接下来主、从器件正式进行数据的传送,这时在I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位(传送的时候先送高位,再送低位)。当一个字节传送完毕时,再发送一个应答位(第9位),如上一条所述,这样每次传送一个字节都需要9个时钟脉冲。数据的传送过程如下图2-4所示2.5 串行EEPROM 24C02的硬件连接 如图2-5所示,24C02与单片机AT89C52的连接采用的是I2C总线结构。I2C总线是由串行数据线SDA和串行时钟线SCL构成的,所有的控制命令和数据传输均通过这两条线传输。单片机AT89C52作为主器件,它在I2C总线上产生时钟脉冲、寻址信号、起至信号;24C02作为从
43、器件,它通过串行数据线SDA和窜行时钟线SCL与单片机AT89C52的引脚P36和P37相连。 24C02提供2KB串行EEPROM,内部组态为256×8 B。A0、A1、A2为芯片的地址线,在使用中把这三条线接点。WP为低电平时,允许写操作。 单片机AT89C52是一种低功耗、高性能的CMOS的8位微控制器,具有8 KB的可编程Flash存储器,与工业8051产片的指令及各引脚完全兼容。 图2-5 24C02与单片机的连接2.6 24C02芯片相关介绍24c01/24c02是一个1K/2K/4K/8K/16K 位串行CMOS E2PROM, 内部含有128/256/512/1024
44、/2048个 8 位字节,CATALYST 公司的先进CMOS 技术实质上减少了器件的功耗。CAT24WC01 有一个8 字节页写缓冲器,24c01/24c02有一个16 字节页写缓冲器.该器件通过I2C 总线接口进行操作有一个专门的写保护功能.、图2-6-1 24C02芯片管脚及其描述AT24C02是带有C总线接口的E2PROM存储器,具有掉电记忆的功能,并且可以象普通RAM一样用程序改写。它的容量是256个字节(00h0ffh),有A2、A1、A0三位地址,可见C总线上可以连接8片AT24C02,它的寻址字节是1010 A2A1A0 R/W。图2-6-2是DIP封装的24C02与80C51
45、的接口方案。其中A0、A1、A2是芯片地址线,单片使用时接地;SCL是串行移位时钟端;SDA是串行数据或地址端,CPU通过SDA访问芯片;WP是写保护端,接高电平时芯片只能读。 图2-6-2 24C02执行写操作时与80C51的接口2.7 EEPROM概述是一种可用电气方法在线擦除和再编程的只读存储器.它既有RAM在连机操 作中可读可改写的特性,又具有非易失性存储ROM在掉电后仍然能够保持所存储的数据 的优点.写入的数据在常温下至少可以保持10年.图 2-7 EEPROM内部结构框图第三章 程序设计3.1 实验电路图图3-1 程序设计电路图3.2基于I2C总线的数据采集系统程序#include
46、<reg51.h>#include"intrins.h"#define uchar unsigned char #define uint unsigned int#defineOP1_READ0xa1/ 器件地址以及读取操作,0xa1即为1010 0001B#defineOP1_WRITE 0xa0/ 器件地址以及写入操作,0xa1即为1010 0000Bsbit SCL=P35; /将串行时钟总线SCL位定义在为P35引脚sbit SDA=P36; /将串行数据总线SDA位定义在为P36引脚uchar disp_seg16=0x40,0xf9,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e; /共阳/*/void delay1ms()unsigned char i,j;for(i=0;i<10;i+)for(j=0;j<33;j+); /*函数功能:延时若干毫秒入口参数:n*/void delaynms(unsigned char n)unsigned char i;for(i=0;i<n;i+) delay1ms();/*以下是对AT24C02的读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学五年英语阅读教学设计
- 2025届福建省厦门市思明区夏门一中高三第一次调研测试英语试卷含解析
- 工业废水中级模拟试题与答案
- 桥隧中级工题库+答案
- 山西省2024-2025学年高二下学期期中联合考试英语试题(原卷版+解析版)
- 糖果与巧克力行业绿色发展考核试卷
- 航标器材多功能集成设计考核试卷
- 游乐设备材料腐蚀防护与耐用性考核试卷
- 船舶港口自动化考核试卷
- 收养儿童的跨文化沟通与语言教学考核试卷
- 奥迪汽车介绍
- 心衰超滤治疗
- (招标投标)地形图测绘技术标书OK
- 人保查勘服务流程
- 机械加工工艺过程培训课件
- 外科学(2)智慧树知到课后章节答案2023年下温州医科大学
- 人工智能引论智慧树知到课后章节答案2023年下浙江大学
- 50205-2020-钢结构工程施工质量验收标准
- 小班数学《图形食品品尝会》
- 2023年新高考物理广东卷试题真题及答案详解(精校版)
- 《疫苗管理法》法律法规解读课件
评论
0/150
提交评论