毕业设计(论文)-AT24C02_EEPROM及I2C总线的应用与设计.doc_第1页
毕业设计(论文)-AT24C02_EEPROM及I2C总线的应用与设计.doc_第2页
毕业设计(论文)-AT24C02_EEPROM及I2C总线的应用与设计.doc_第3页
毕业设计(论文)-AT24C02_EEPROM及I2C总线的应用与设计.doc_第4页
毕业设计(论文)-AT24C02_EEPROM及I2C总线的应用与设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

西安石油大学本科毕业设计(论文)本科毕业设计(论文)题 目: AT24C02 EEPROM及I2C总线的应用与设计学生姓名: 赵 新 院 (系): 电子工程学院 专业班级: 电气0508 指导教师: 汤 楠 完成时间: 2007年 03月20日 1.课题的意义 在这次毕业设计中,我的毕业设计题目为“AT24C02 EEPROM及I2C总线的应用与设计”,其实就是以AT24C02 EEPROM为例学习I2C总线的应用,设计调试AT24C02 EEPROM应用软硬件系统。从某种意义上说,其实质属于单片机的开发技术这个范畴,是单片机开发技术的一个实例。众所周知,信息时代与知识经济是当今的一个热门话题,但真正拉开信息时代帷幕的是高速发展的单片机开发技术,而知识经济的特征产业,人们一致认为是芯片业与软件业。因此,以芯片设计和制造为核心的微电子产业己经成为衡量一个国家综合国力的重要标志。微电子技术的核心是集成电路,MOS存储器作为集成电路的典型代表产品,发展异常迅猛。EEPROM作为一种重要的MOS存储器,其作用也不容忽视。由于采用并行总线扩展时连线过多,外围器件工作方式各异,外围器件与数据存储器混合编址等,都给单片机应用系统设计带来布线复杂,线路板面积大,易引起干扰等困难。因而采用I2C总线仅用一条数据线(SDA)加一条时钟线 (SCL)来完成数据的传输及外围器件的扩展,对于各节点的寻址是软寻址方式,节省了片选线。此外,采用I2C总线的多功能、高可靠性、低成本和较高的性能,提高了测试和调试AT24C02 EEPROM应用软硬件系统时的稳定性。在单片机应用系统中推广I2C总线后将会大大改变单片机应用系统结构性能,具有很大的实用意义,对单片机的应用开发来说采用I2C总线将带来以下好处:1.可最大限度地简化结构。二线制的I2C串行总线使得各电路单元之间只需要简单的连接,而且总线接口都集成在器件中,不需另加总线接口电路。电路的简化省去了电路板上大量走线,减少电路板面积,提高了可靠性,降低了成本。 2.可实现电路系统的模块化、标准化设计。在I2C总线上各单元电路除了个别中断引线外,相互之间没有其他连线,用户常用的单元电路基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。 3.标准I2C总线模块的组合开发方式大大地缩短了新品的开发周期。 4. I2C总线各节点具有独立的电器特性,各节点单元电路能在相互不受影响的情况下,甚至在系统供电情况下,接入或撤除。 5. I2C总线系统构成具有最大的灵活性。系统改型设计、或对已加工好的电路板需扩展功能时,对原有设计及电路板系统影响最小。 6. I2C总线可方便地对某一接点电路进行故障诊断与跟踪,有极好的可维护性。随着各种通用型外围器件的增多,I2C总线在通讯类产品、仪器仪表、工业测控等领域的应用也会逐渐成熟起来。2.国内外研究现状飞利浦公司于1980年提出了用于芯片间控制的双向两线串行总线模式,1992年首次发布I2C总线规范Version 1.0并取得专利。I2C也可写作IIC指的是Inter-IC的首字母缩写,经过十年的发展I2C总线以应用于许多不同的领域,例如音频视频等。I2C总线己经被大多数的芯片厂家所采用,比如世界上较为著名的有Xicor, ST Microelectronics, Infineon Technologies, Intel, Texas Instruments, Maxim, Atmel, Analog Devices等,带有I2C接口芯片的类型已有1000多个,获得飞利浦公司授权的芯片厂商有50多家,己经成为世界性的工业标准。飞利浦公司也相应的于1998年发布I2C总线规范Version 2.0,2001年发布I2C总线规范Version 2.1,完善和扩展了I2C总线的功能。I2C总线始终和先进技术保持同步,但仍然保持其向下兼容性。并且最近还增加了高速模式,其速度可达3.4Mbits/s。它使得I2C总线能够支持现有以及将来的高速串行传输应用。 为了简化系统结构,提高系统的可靠性及灵活性,新一代的单片机都相继采用了串行扩展技术,较为典型的还有MOTOROLA公司的SPI串行口,NS公司的MICROWTRE/PLUS串行接口。其中,SPI与PLUS采用的是数据输入、数据输出、时钟三线,加片选线形式,对于少数外围器件的扩展极为方便,但当外围器件较多时,就要有相应多的片选线,而且由这两种总线组成的多机系统中只能由一个主机,不利与模块化设计。相比之下I2C总线克服了上述两种总线的不足,它采用一条数据线(SDA)加一条时钟线(SCL)来完成数据的传输及外围器件的扩展;对于各节点的寻址是软寻址方式,节省了片选线,标准的寻址字节SLAM为7位,可寻址127个单元。目前Philips公司又推出10-bit Addressing产品,这样寻址空间扩大到1024个单元;另外I2C总线支持多电源漏极开路或集电极开路电路,能对总线进行冲突检测,在总线竞争过程中进行总线控制权的仲裁和时钟同步,保护数据而不会造成数据丢失的功能,因此能够组成多主机系统,在这方面明显优于RS232接口。目前I2C总线主要应用于视频领域,但随着各种通用型外围器件的增多,总线在工业测控等领域的应用也会逐渐成熟起来。Philips及I2C总线器件,除带有I2C总线单片机、常用的通用外围器件外,在家电产品、电讯、电视、音像产品中已发展成套I2C总线器件,在这些部门中I2C总线系统已经开始到了广泛的应用。本次课题所研究的串行EEPROM技术是I2C总线的一个典型应用。3.毕业设计(论文)的主要内容3.1串行总线的基本知识。 3.2 I2C总线的原理及其进展。 3.3单片微机的开发技术,AT24C02 EEPROM的基本应用。 3.4以AT24C02 EEPROM为例的I2C总线应用。 3.5设计调试AT24C02 EEPROM应用软硬件系统的方法。4.所采用的方法、手段以及步骤等 4.1 方法: 软件(采用汇编语言,C51语言开发软件程序)硬件 (采用I2C总线的接口形式连接硬件电路)4.2 具体步骤如下:(1)学习单片机系统开发技术,根据设计的要求进行软硬件的划分。(2)应用C51语言开发设计软件程序。(3)采用I2C总线形式进行EEPROM硬件电路的设计与连接。(4)进行软件调试。(5)进行硬件调试.(6)软件,硬件集成进行总的验收调试。 5.阶段进度计划5.1第1-4周:搜集资料,熟悉毕业设计题目和所研究的主要内容,进一步检索整理资料,完成开题报告,并学习单片机开发技术的基础知识。5.2 第5-8周:翻译本课题英文资料,学习汇编及C51单片机语言,学习AT24C02 EEPROM的基本应用。5.3 第9-12周:以AT24C02 EEPROM为例学习I2C总线应用。设计调试AT24C02 EEPROM应用软硬件系统。5.4 第13-14周:完成论文和总结复习准备答辩。5.5第15-16周:模拟答辩和正式答辩。参考文献1 李军等编著.51系列单片机高级实例开发指南M.北京航空航天大学出版社. 北京.2003 2周立功、夏宇闻编著.单片机与CPLD综合应用技术M.北京航空航天大学出版社. 北京.2003 3杨金岩,郑应强编著.8051单片机数据传输接口扩展技术与应用实例M.人民邮电出版社.2004 4李建忠编著.单片机原理及其应用M.西安电子科技大学出版社. 西安.20005刘文涛编著.单片机语言.C51典型应用设计M.人民邮电出版社.上海.2000AT24C02 EEPROM及I2C总线的应用与设计摘 要:串行通讯是数据以位按顺序传送的通讯方式,它只需一根传输线,适于远距离通讯。I2C总线是芯片间串行传输总线,它由一根串行数据线和一根串行时钟线组成,主要应用于音频视频领域和工业测控领域。AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM。它是内含2568位存储空间、具有工作电压宽(2.55.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。串行EEPROM单片机应用系统包括硬件和软件两部分:硬件部分包括AT24C02 EEPROM芯片,CPU(AT89S52)等,软件部分包括模拟I2C的起始,停止,应答等程序段。KeilC51开发工具可以进行工程建立和管理编译连接目标代码的生成软件调试仿真硬件调试仿真等完整的开发流程。设计调试AT24C02 EEPROM应用软硬件系统时采用KeilC51软件为开发工具。调试方式采用单片机系统的软仿真和硬仿真两种方式进行。硬件电路的设计在单片机开发板上进行。模拟仿真结果,通过P3口的第6位P3.6(串行时钟)和第7位P3.7(串行数据)具体工作情况进行分析。另外从程序段执行的循环控制来说明程序段循环结构控制的情况。调试结果说明了系统软硬设计的正确性。关键词:单片机开发技术;串行通讯;I2C总线; EEPROM; AT24C02Application and Design of AT24C02 EEPROM and I2C Bus Abstract:Serial communication is a data transmission method by bit sequentially. Serial communication which needs only one transmission line is suitable for long-distance communications. I2C is serial transmission bus between the chips, which includes a serial data line and a serial clock line. The bus is used mainly in the fields of audio, video and industrial measure and control. AT24C02 is a low-power CMOS serial EEPROM made by ATMEL Corporation of the United States. AT24C02 have many characteristics like 256 8 storage space, wide voltage (2.55.5V), more than 10000s erasable times and less than 10ms writing speed. Serial EEPROM s single chip microcomputer application system includes hardware and software. The hardware includes AT24C02 EEPROM chip and CPU (AT89S52) etc. The software includes I2C start, stop, response and other simulated procedures. KeilC51 development tools can be used for establishment of whole development process and management of project(compile, link, object code generation, software debugging simulation, hardware debugging simulation etc )When AT24C02 EEPROM application software and hardware systems is designing and debugging , the KeilC51 software development tools are used. There are two ways to debug single-chip microcomputer system: software simulation and hardware simulation. Hardware circuit is designed using single-chip microcomputer development board. Through the P3 (P3.6-serial clock) and (P3.7-Serial Data)s specific work to analysis simulation results. Besides, the cycle structure control situation is illustrated by the procedures cycle control implementation. The debugging results indicate that the software and hardware system designed are correct. Key words: Single-chip microcomputer development technology; Serial communication;I2C bus; EEPROM ; AT24C02目 录1 绪论11.1 本文主要研究的内容11.2 串行总线的基本知识1 1.2.1 串行通讯概述1 1.2.2 常见串行数据接口及串行总线32 I2C总线的原理及其进展42.1 I2C总线简介及总线的组成42.1.1 I2C总线简介42.1.2 I2C总线的组成52.2 I2C总线工作原理62.3 I2C总线发展83 单片微机的开发技术103.1 单片机应用系统的开发过程及任务划分103.2 单片机应用系统的设计113.2.1单片机应用系统设计前的准备113.2.2单片机应用系统的硬件设计113.2.3 单片机应用系统的软件设计11 3.3 单片机应用系统的开发124 AT24C02 EEPROM的基本知识和应用144.1 AT24C02 EEPROM的基本知识144.1.1 AT24C02 EEPROM的主要特点及封装类型14 4.1.2 AT24C02 EEPROM的存储结构及内部结构框图16 4.1.3 AT24C02 EEPROM的器件寻址及读写操作分类164.2 AT24C02 EEPROM的基本应用174.2.1 AT24C02串行EEPROM的简介及硬件接口电路图174.2.2 AT24C02串行EEPROM读/写系统开发流程184.2.3 以AT24C02 EEPROM为例的I2C总线应用205 设计调试AT24C02 EEPROM应用软硬件系统的方法215.1 keilC51软件及其相关知识215.1.1 keilC51软件的基本知识215.1.2 利用keilC51软件进行源程序文件模拟I2C.c的建立225.1.3利用keilC51软件进行程序文件模拟I2C.c的编译连接和调试执行255.2设计调试AT24C02 EEPROM应用软硬件系统的方法265.2.1 设计调试AT24C02 EEPROM应用软件系统的方法265.2.1.1设计调试AT24C02 EEPROM应用软件系统方法总体概述265.2.1.2 软件开发源程序模拟I2C总线265.2.1.3 分析软件调试模拟仿真结果315.2.2 设计调试AT24C02 EEPROM应用硬件系统的方法335.2.2.1 硬件电路的设计335.2.2.2 开发板的选择及线路的连接335.2.2.3 软件设置及硬件仿真346 总结与展望366.1总结366.2展望37参考文献38致谢39附录A:系统模拟仿真过程中的Vision2操作界面40附录B:调试环境设置界面41附录C:启东斯迈特计算机厂用户板42 IX1 绪论1.1 本文主要研究的内容在这次毕业设计中,设计题目为“AT24C02 EEPROM及I2C总线的应用与设计”,其主要内容是以AT24C02 EEPROM为例学习I2C总线的应用,设计调试AT24C02 EEPROM应用软硬件系统。从某种意义上说,其实质属于单片机的开发技术这个范畴,是单片机开发技术的一个实例。本文主要从串行总线的基本知识,I2C总线的原理及其进展,单片机的开发技术,AT24C02 EEPROM的基本知识和应用,设计调试AT24C02 EEPROM应用软硬件系统等几个方面来进行学习和研究。其中设计调试AT24C02 EEPROM应用软硬件系统是本文论述的核心内容,也是理论运用于实践的关键环节。1.2 串行总线的基本知识1.2.1 串行通讯概述计算机的CPU与其外部设备之间常常要进行信息的交换,一台计算机与其它的计算机之间也往往要交换信息,所以这样的信息交换均称之为“通讯”。(1)通讯的基本方式可分为并行通讯和串行通讯并行通讯:是指数据的各位同时进行传送的通讯方式。其优点是传送速度快,缺点是数据有多少位,就需要多少根传输线,这在位数较多,传输距离又远的情况下就不太适宜了,因为这样会导致传输成本的急剧增加。串行通讯:是指数据的各位是一位一位地按顺序传送的通讯方式。它的突出优点是只需一根传输线,甚至可以利用电话线作为传输线,这样就大大降低了传输成本,特别适用于远距离通讯。其缺点是传输速度低,假设并行传送N位数据所需的时间为T,那么串行传送的时间至少为NT,而实际上总是大于NT。(2)串行通讯的两种基本方式异步传送方式:在异步传送方式中,字符是按帧格式进行传送的。每帧的格式如图1-1所示: 图1-1 异步传送方式帧格式在帧格中,先是一个起始位0,然后是数据位5-8位数据,且规定低位在前高位在后,接下来是奇偶校验位(可略),最后一位是停止位1,这种传送方式利用每一帧的起始,停止来建立发送与接收之间的同步。其特点是:每一帧的内部均采用固定的时间间隔,但帧与帧之间的时间间隔是随机的。接收机完全靠每一帧的起始位与停止位来识别字符传送是在进行还是已经结束,或是一个新的字符,这也是“异步”的含义所在。必须指出,在异步传送时同步时钟脉冲并不传送到接收方,即双方各用自己的时钟源来控制发送与接收。同步传送方式:同步传送方式是一种连续的传送方式,它不象异步传送方式那样要在每个字符中都加上起始,停止位,而是要在传送的数据块前加上同步字符,而且数据没有间隙,如图1-2所示:图1-2 同步传送方式格式使用同步字符传送,可以实现高速,大容量的数据传送。在同步传送时,为了保证接收正确无误,发送方除了传送数据外,还要将时钟信号同时传送。(3)串行通讯中数据传送的方向就串行通讯中数据传送的方向而言,有所谓的单工,半双工和全双工之分。单工方式:这种方式中只允许在一个方向传输数据。图1-3 单工方式半双工方式:这种方式中只有一条传输线,尽管传输可以双向进行,但不能同时进行发送或接收数据。图1-4 半双工方式全双工方式:这种方式中有两条传输线,因此可以双向同时进行数据传送。图1-5 全双工方式 1.2.2 常见串行数据接口及串行总线简介 常见串行接口扩展,其主要包括RS-232,RS-422,RS-485,USB,I2C及SPI等。(1)RS-232接口RS-232接口标准是EIA,它是电气工业协会广泛使用的标准。RS-232-C标准最初是为了促进公用电话网进行数据通讯而制定的,由于在分时计算机的早期,通过串行连接实现远距离访问,几乎毫不例外的使用电话线连接,于是使得RS-232-C标准在终端和计算机中被广泛的采用。到20世纪80年代,随着微型计算机上的发展,除了真正意义上的远距离数据传输外,通常终端都通过RS-232-C端口与计算机连接。(2)RS-422接口RS-232是为了以相对较慢的速率在较短的距离内进行单端数据传输而制定的,随着对传输速率和传输距离的要求不断增加,EIA制定了RS-422标准。它可以在更长的距离传输中获得比RS-232更高的传输信号带宽。(3)RS-485接口RS-422标准的驱动器适用于集团线路的应用,但TIA/EIA-422器件不能用于构成真正的多节点总线,因需要EIA于1983年制定了TIA/EIA-485,它允许多达32个驱动器和32个接收器连接于单总线,实现了真正的单节点总线结构。(4)I2C总线I2C(Inter IC Bus)总线是飞利浦公司推出的一种用于IC器件之间连接的二线制串行扩展总线。I2C总线可以十分方便的构成由一个微控制器和一些外围器件组成的微控制器系统中,这样的系统器件间总线简单,结构紧凑,易于实现模块化和标准化。(5)SPI总线SPI(Serial Perpheral Interface)总线是同步串行外围接口,用于与各种外围器件进行通讯,这些器件既可以是简单的TTL移位寄存器,也可以是复杂的LCD显示驱动器或ADC/DAC子系统。(6)CAN总线 CAN(Controller area Network)总线是一种多主局部网络,系统采用双线串行通讯工作方式,多个单片机可通过CAN控制器挂到CAN总线上,CAN总线具有强有力的检错功能及总线优先权仲裁功能,可以在噪声及干扰十分严重的环境中使用,其通讯速率可达1Mbit/s,通讯距离可达5千米。(7)USB总线USB总线(Universal Serial Bus)总线是Compaq,Intel,Microsoft,NEC等公司联合制定的一种计算机串行通讯协议,该协议的Ver0.7版本于1994年11月推出,以后进行了多次的修改和补充,并在1998年9月公布了Ver1.1版,目前的Ver2.0版是2000年制定的。 2 I2C总线的原理及其进展2.1 I2C总线简介及总线的组成2.1.1 I2C总线简介I2C总线是由Philips公司设计的两线式串行交互通讯方式。I2C是Inter-Integrated Circuit的缩写,意思是“介于集成电路器件之间”,这里翻译为芯片间通信总线。I2C串行总线是器件与器件之间的通讯总线,使用2根线(串行时钟线SCL和串行数据线SDA)就可实现器件之间的串行通信:它是一种体积小、功耗低、造价廉、可靠性高、抗干扰性强、存储量大的芯片,适合用于实时过程控制、复杂自动控制系统。I2C总线的主要特征有:(1)只需两根总线:串行数据线(SDA)和串行时钟线( SCL)。(2)连在总线上的所有器件都可以通过唯一的地址进行软件寻址,且器件间存在简单的主/从关系:主控器件可用做主发送器或主接收器。(3)I2C是真正的多主机方式(Multi-master)的总线,在两个或更多的主控器件同时要传送数据时,冲突检测和仲裁功能可避免数据冲突。(4)串行、8位、双向数据传输速度在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s,三种模式可在同一总线上交互使用。(5)芯片滤波功能可滤去总线数据线上的尖峰信号,以保护数据的完整性。(6)一根总线上能连接的IC的数目由总线的最大负载电容决定,I2C总线的最大负载电容为400pF。由于采用并行总线扩展时连线过多,外围器件工作方式各异,外围器件与数据存储器混合编址等,都给单片机应用系统设计带来布线复杂,线路板面积大,易引起干扰等困难。因而采用I2C总线仅用一条数据线(SDA)加一条时钟线 (SCL)来完成数据的传输及外围器件的扩展,对于各节点的寻址是软寻址方式,节省了片选线。此外,采用I2C总线的多功能、高可靠性、低成本和较高的性能,提高了测试和调试AT24C02 EEPROM应用软硬件系统时的稳定性。在单片机应用系统中推广I2C总线后将会大大改变单片机应用系统结构性能,对单片机的应用开发带来以下好处:(1)可最大限度地简化结构。二线制的I2C串行总线使得各电路单元之间只需要简单的连接,而且总线接口都集成在器件中,不需另加总线接口电路。电路的简化省去了电路板上大量走线,减少电路板面积,提高了可靠性,降低了成本。(2)可实现电路系统的模块化、标准化设计。在I2C总线上各单元电路除了个别中断引线外,相互之间没有其他连线,用户常用的单元电路基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。(3)标准I2C总线模块的组合开发方式大大地缩短了新产品的开发周期。(4)I2C总线各节点具有独立的电气特性,各节点单元电路能在相互不受影响的情况下,甚至在系统供电情况下,接入或撤除。(5)I2C总线系统构成具有最大的灵活性。系统改型设计、或对已加工好的电路板需扩展功能时,对原有设计及电路板系统影响最小。(6)I2C总线可方便地对某一接点电路进行故障诊断与跟踪,有极好的可维护性。I2C通信方式是一种普遍的串行通信方式,其通信协议与电气规格是有规范使用的,并非某种专利。I2C只需两个引脚(不包括电源和地线这两个引脚)即可构成通信的总线,而且最重要的是这个总线可以连接的器件不止两个,是一种单点对多点,甚至是多点对多点的串行通信:与SPI单点对单点的串行通信方式相比,应用起来更为方便。I2C使用的两个引脚组成了I2C总线,所有想要相互通信的器件,只要连接到此总线,拥有一个自己专属的编号(ID)就可以了。与传统的并行数据总线连接的器件相比,带有I2C串行总线的器件具有如下特点:(1)体积小:由于带有I2C串行总线器件之间的数据传输是串行的,所以只需要两根线(SCL和SDA)即可实现带有I2C串行总线器件之间的数据传送。(2)功耗低:如Philips公司生产的基于I2C串行总线的EEPROM(24LC65)与传统的基于并行总线的EEPROM(28C64)相比,前者的功耗仅为后者的三分之一。(3)可靠性强:作为可擦写的EEPROM芯片是串行写入的,输入端设有施密特触发器和滤波器用以抑制噪声,所以抗干扰能力强,不易丢失数据。(4)使用灵活:采用I2C串行总线连接可灵活的实现主控器件与从动器件之间的双向数据传送;对于多主控器件(无中心器件)之间的数据传送,各主控器件任意同时发送也不破坏总线上的数据。目前世界上采用的I2C总线有两个规范,它们分别是由荷兰PHILIPS公司和日本SONY公司提出的。现在广泛采用的是PHILIPS公司的I2C总线技术规范,它已成为被电子行业认可的总线标准。采用I2C技术的单片机以及外围器件已广泛应用于家用电器、通讯设备及各类电子产品中,而且应用范围将会越来越广。2.1.2 I2C总线的组成I2C总线是芯片间串行传输总线,与SPI 等接口不同,它以一根串行数据线和一根串行时钟线组成,如图2-1所示,它是全双工双向数据传输线,核心是主控器CPU,被控器的SDA,SCL要相应地接到I2C总线的SDA,SCL上,可以方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,从而使硬件系统具有简单而灵活的扩展方法。按照I2C总线的规定,其SDA,SCL各要通过上拉电阻接到电源VCC上。图2-1 I2C总线的组成示意图2.2 I2C总线工作原理本节首先对I2C总线的基本工作原理进行介绍,然后分别介绍了I2C总线上的数据传输,I2C总线上的起始信号和终止信号,I2C总线上的一次完整的数据传输格式,I2C总线竞争的仲裁。(1) I2C总线的基本工作原理:由I2C总线上的主控器件先发出地址信号,这个地址信号也就是器件的专属编号,表示主控器件是要跟哪一个从动器件通信,接下来主控器件才送出信号给这个从动器件。在I2C总线中,送出串行数据信号到 I2C总线上的器件称之为发送器( Transmitter ),从I2C总线上接收串行数据信号的器件称之为接收器( Receiver ),而在总线中主导控制信号的发送,也就是控制时钟的器件称之为主控器件(Master),其它的则称之为从动器件(Slave)。在I2C的规范下,主控器件可能会是发送器,也有可能是接收器,对从动器件来说也是一样,主控器件何时用作发送器或接收器,要看通信的内容而定。通常一个系统在一个时间内,只会有一个主控器件,其余的都是从动器件:而这个主控器件也并非是固定不变的,每一个器件都可以是主控器件。不过在I2C的规范中,事实上会有多个主控器件出现的情况,也就是多主机方式(Mufti-master)的情形,此时必须通过信号间的出现顺序来决定谁可以取得主控权。当I2C总线中要开始通信时,是从一个主控器件对整个系统发出信号开始,这个主控器件首先送出地址信号,表示是要对哪一个从动器件进行通信,总线上所有的器件都会接收到这个地址信号,并判断这个地址是不是自己,如果不是就不予理会,如果是的话,就发回一个应答信号给主控器件。而在主控器件端,如果收到从动器件的响应,那么就可以开始接下来的数据传输,如果没有收到任何的响应,表示这个I2C总线上没有这个地址代表的器件,数据的传输就无法继续下去。在主控器件发出地址信息到I2C总线上时其中也包含了要对从动器件读取或写入的信息,因此接下来的数据传输是读取或写入就可以直接进行了。由此可知,在这样的工作方式下,所有的通信一开始都必须先确认主从关系,而在这个情况下的主从关系只有两种,一个是主控发送器对从动接收器,另一个是主控接收器对从动发送器,而不管是哪一种情况,工作时钟永远都是由主控器件来提供。 (2) I2C总线上的数据传输:I2C串行总线的时钟线SCI和数据线SDA都是双向传输线,总线备用时SCI和SDA都必须保持高电平状态。I2C总线每传输一位数据都有一个时钟脉冲相对应。在时钟线高电平期间数据线上必须保持有稳定的逻辑电平状态,高电平为数据1,低电平为数据0。只有在时钟线为低电平时,才允许数据线上的电平状态发生变化。 I2C总线上的数据位传输如图2 -2所示。(数据线稳定数据有效)图2 -2 I2C 总线上的数据位传输(3) I2C总线上的起始信号和终止信号: I2C总线数据传输时,有两种时序状态被分别定义为起始信号和终止信号。在时钟线保持高电平期间,数据线出现由高电平向低电平变化时,启动I2C总线,这是I2C总线的起始信号;在时钟线保持高电平期间,数据线出现由低电平向高电平变化时,停止I2C总线的数据传输,这是I2C总线的终止信号。图2-3 I2C 总线上的起始信号和终止信号(4)I2C总线上的一次完整的数据传输格式: I2C总线的数据传输以字节为单位,但每启动一次I2C总线,其后的数据传输字节数是没有限制的。每传输一个字节后,必须跟随一个应答位,并且首先传输的数据位为最高位,直至最低位。在全部数据传输结束后,要有一个终止信号。应答信号在第九个时钟位上出现,低电平为应答信号,高电平则为非应答信号。I2C 总线数据传输时,必须遵循规定的数据传输格式,首先是一个起始信号,表明一次数据传输的开始。其后为寻址字节,它有高7位地址和最低1位方向位组成,方向位为“0”时表示写操作,为“1”时表示读操作。在寻址字节后,是数据字节和应答位,最后是终止信号。图2-4为一次完整的数据传输格式。 图2-4 I2C 总线上一次完整的数据传输格式(5) I2C总线竞争的仲裁:总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发送数据,这种情况叫做总线竞争。I2C总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用I2C总线上的信息进行仲裁,因此不会造成信息的丢失。2.3 I2C总线的发展飞利浦公司于1980年提出了用于芯片间控制的双向两线串行总线模式,1992年首次发布I2C总线规范Version 1.0并取得专利。I2C也可写作IIC指的是Inter-IC的首字母缩写,经过十年的发展I2C总线以应用于许多不同的领域,例如音频视频等。I2C总线己经被大多数的芯片厂家所采用,比如世界上较为著名的生产厂家有Xicor, ST Microelectronics, Infineon Technologies, Intel, Texas Instruments,Maxim, Atmel, Analog Devices等,带有I2C接口芯片的类型已有1000多个,获得飞利浦公司授权的芯片厂商有50多家,己经成为世界性的工业标准。飞利浦公司也相应的于1998年发布I2C总线规范Version 2.0,2001年发布I2C总线规范Version 2.1,完善和扩展了I2C总线的功能。I2C总线始终和先进技术保持同步,但仍然保持其向下兼容性。并且最近还增加了高速模式,其速度可达3.4Mbits/s。它使得I2C总线能够支持现有以及将来的高速串行传输应用。为了简化系统结构,提高系统的可靠性及灵活性,新一代的单片机都相继采用了串行扩展技术,较为典型的还有MOTOROLA公司的SPI串行口,NS公司的串行接口MICROWTRE/PLUS。其中,SPI与PLUS采用的是数据输入、数据输出、时钟三线,加片选线形式,对于少数外围器件的扩展极为方便,但当外围器件较多时,就要有相应多的片选线,而且由这两种总线组成的多机系统中只能由一个主机,不利于模块化设计。相比之下I2C总线克服了上述两种总线的不足,它采用一条数据线(SDA)加一条时钟线(SCL)来完成数据的传输及外围器件的扩展,对于各节点的寻址是软寻址方式,节省了片选线,标准的寻址字节SLAM为7位。目前Philips公司又推出10-bit Addressing产品,这样寻址空间扩大到1024个单元:另外I2C总线支持多电源漏极开路或集电极开路电路,能对总线进行冲突检测,在总线竞争过程中进行总线控制权的仲裁和时钟同步,保护数据而不会造成数据丢失的功能,因此能够组成多主机系统,在这方面明显优于接口RS232。目前I2C总线主要应用于音频视频领域,但随着各种通用型外围器件的增多,总线在工业测控等领域的应用也会逐渐成熟起来。Philips及I2C总线器件,除带有I2C总线单片机、常用的通用外围器件外,在家电产品、电讯、电视、音像产品中已发展成套I2C总线器件,在这些部门中I2C总线系统已经开始到了广泛的应用。 3 单片微机的开发技术本章主要是从单片机应用系统的开发过程及任务划分、单片机应用系统的设计、单片机应用系统的开发这三个方面介绍单片微机的开发技术。3.1 单片机应用系统的开发过程及任务划分 单片机应用系统以单片机为核心,同时配以外围电路和软件实现某种或某几种功能。单片机应用系统包括硬件和软件两部分,硬件是系统的基础,软件则是在硬件的基础上完成特殊的任务。因此,对于单片机应用系统这种特殊产品,其开发过程往往是硬件软件协同开发的过程,如图3-1所示:图3-1 硬件软件协同开发的过程框图(1)产品设计的第一步就是细化产品指标,这部分工作主要由具有市场敏感的产品开发部决定。(2)软硬件划分的原则是在简化系统软硬件成本,提高开发速度及产品可靠性之间进行折中。(3)反复实现这个过程,由硬件开发人员和软件开发人员进行模块划分讨论,并最终确定产品的技术实现方案,撰写相应的接口技术文档。(4)硬件软件实现是按照模块,技术划分以及接口技术文档,分别由硬件开发人员和软件开发人员进行相应的技术实现,并各自单独完成相应地调试工作。(5)硬件软件集成是将设计完成的硬件/软件合并起来,形成一个完整的系统。(6)验收测试是由专业测试人员进行相应的验收测试,并将测试结果反馈给硬件软件开发人员,以便及时修改,从而尽快完成产品的最终开发设计和产品定型。3.2 单片机应用系统的设计单片机应用系统的设计包括单片机应用系统设计前的准备;单片机应用系统的硬件设计;单片机应用系统的软件设计三部分。3.2.1 单片机应用系统设计前的准备当确定要研制某项单片机应用系统时,通常需要在设计之前完成下述工作:(1)可行性分析与调研;(2)系统总体方案的设计;(3)设计方案的细化,并确定软硬件的功能和接口;(4)确定开发进度和任务控制节点。3.2.2 单片机应用系统的硬件设计单片机应用系统的硬件设计包括两方面的内容,一方面是功能模块的设计,如信号测量,控制,人机交互接口,通讯功能模块等的设计;二是根据功能的需要,选取合适的单片机型号,并设计相应的扩展电路,包括存储器扩展和接口扩展。硬件原理设计完成后就可以选取相应的芯片,绘出硬件电路的原理图。单片机硬件设计的要点:(1)应选择标准化,模块化的典型电路;(2)在条件允许的情况下,尽量选用功能强,集成度高的芯片或电路;(3)注意选择通用型,市场供应充足的元器件;(4)如果是具有特殊环境要求的系统,应选择满足要求的芯片;(5)硬件的总体设计时,要注意通用性问题;(6)初次设计时,系统的扩展及功能模块的设计应留出余地,以便修改扩展;(7)尽可能多的进行调研,并确定采用的是最新技术,不仅要选择最新的芯片和技术,更要注意避免选择即将被淘汰的器件;(8)充分考虑各系统的驱动能力及电源的能力;(9)硬件设计要兼顾批量产品的生产工艺设计,确保安装,调试和维修方便,最好设计几个测试点,以便调试所需;(10)注意系统的抗干扰设计。3.2.3 单片机应用系统的软件设计 在进行应用系统的总体设计时软件设计和硬件设计实际上需要统一考虑,并协同进行开发,当然系统硬件电路设计定型后,软件的设计任务就明确了。系统的软件设计也是工具系统功能的设计,单片机的软件设计主要包括执行软件的设计和监控软件的设计。单片机的软件设计要点:(1)根据软件功能要求:将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰,简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计,实行模块化,子程序化,既便于调试,链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源,包括ROM,RAM存储器,中断源和端口等;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。软件设计可以使用汇编语言,C语言,C51语言,并在编辑软件中将源程序生成目标代码,利用目标代码进行系统的程序调试。3.3 单片机应用系统的开发单片机应用系统的开发包括单片机应用系统的仿真;单片机应用系统的制版

温馨提示

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

最新文档

评论

0/150

提交评论