




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅谈基于I2C总线的多MCU系统设计发展论文 引言 随着微电子技术的发展和MCU价格的降低,常常在实际应用中使用多片MCU来协同完成系统功能,以实现更高的性能。在这些系统中多片MCU通过某种方式实现数据交换,其中使用双口或多口E2PROM是一种常见的方法1?2。这种电路结构复杂、成本高,需要软、硬件解决多MCU访问的竞争问题,更重要的是目前许多MCU不支持外部总线,不能扩展外部E2PROM,因此无法使用这种方法。I2C总线是由Philips公司推出的芯片间串行传输总线。它以规范严谨、使用简单灵活、支持的外围器件繁多等特点而被广泛应用。I2C总线具有十分完善的总线协议,在协议的支持下,可以自动处理总线上出现的多MCU访问的竞争。目前的文献通常是介绍I2C总线在单MCU系统中的应用3?4,本文介绍一种利用I2C总线实现多片MCU访问E2PROM,从而实现数据交换的方法。 1I2C总线工作原理 I2C总线是一种“二线”结构,分别使用“SDA”和“SCL”信号线实现数据传输。I2C总线对与其相连的设备采用软件寻址。每一种器件都有一个特定的7位I2C地址,以便主机了解当前正与其进行通信的器件。这个7位地址的前4位固定,用来指明器件所属类别,如1010表明是串行E2PROM器件。后3位(如A2,A1和A0)通过硬件管脚进行设置来修改器件的I2C地址。表示地址字节的最低1位(R/W)用来指明主控制器向从机发送(写,R/W=0)还是接收(读,R/W=1)从机的数据。每个传输过程都是以起始条件开始,停止或重新开始条件结束。每一次数据传送都是由主控制器发起的,如果某一时刻总线上有多个主控器,并且都请求控制总线,这时就要进行总线仲裁处理。一旦一个主控器获得总线控制权,其他主控器必须等待此主控器发送完一个停止条件并将总线释放为“空闲”状态方可重新控制总线。在系统中主控制器通常都由MCU担任。 2多MCU系统下的I2C总线 I2C总线软、硬件协议十分巧妙,它可以用于构成多MCU系统。当系统中有多个I2C总线接口单片机时,会出现多MCU竞争的复杂状态。I2C总线软、硬件协议以及I2C总线单片机中的SFR保证了多MCU竞争时的协调管理。I2C总线提供的状态处理软件能自动处理总线上出现的26种状态。在使用I2C总线时将这些软件工具在程序存储器中定位,利用这些软件编制出归一化操作命令,用于I2C总线应用程序设计十分简单、方便。 2.1多MCU竟争仲裁 主机只能在总线空闲的时侯启动传输。两个或多个主机可能在起始条件的最小持续时间内产生一个起始条件,结果在总线上产生一个规定的起始条件。当SCL线是高电平时,仲裁在SDA线发生;这样,在其他主机发送低电平时,发送高电平的主机将断开它的数据输出级,因为总线上的电平与它自己的电平不相同,仲裁可以持续多位。它的第一个阶段是比较地址位。如果每个主机都尝试寻址相同的器件,仲裁会继续比较数据位(如果是主机发送器),或者比较响应位(如果是主机接收器)。因为I2C总线的地址和数据信息由赢得仲裁的主机决定,在仲裁过程中不会丢失信息5。 2.2主系统的数据传送过程 考虑以下实际应用,系统中有两片单片机,MCUA进行数据采集,并将数据存入E2PROM,MCUB不定时地从E2PROM取出数据(如图1所示)。传输数据的过程如下: (1)假设MCUA要发送信息到E2PROM MCUA(主机)寻址接收器E2PROM; MCUA(主机)发送器发送数据到接收器E2PROM; MCUA终止传输。 (2)如果MCUB想从器件E2PROM中接收信息 MCUB(主机)寻址E2PROM(从器件); MCUB(主机)从E2PROM(从器件)读数据; MCUB终止传输。 (3)以上两种情况同时发生时,I2C总线起动总线的竞争仲裁功能 MCUA或MCUB赢得总线的控制权,掌管总线,竞争失败的微控制器退出总线; 赢得总线的控制权的微控制器寻址E2PROM(从器件),并进行数据传输; 赢得总线的控制权的微控制器终止数据传输,竞争失败的微控制器试图掌控总线,从器件寻址,并进行数据传输; 数据传送完毕,总线进入空闲状态。 由上可知,在多MCU系统下的数据传送过程要比单主机系统下复杂得多。但I2C总线软、硬件协议能进行协调管理,保证数据的可靠传输。 3多MCU系统的具体实现 本应用中选用了两片P89LPC932单片机及一片24系列的E2PROM。P89LPC932中I/O口P1.3和P1.2为复用端口,在用作I2C通信时,P1.3为SDA,P1.2为SCL,在程序中应该设置为开漏方式。电路中R1、R2为I2C总线的上拉电阻,在具体电路中应适当调整。选择上拉电阻要考虑的因素主要为供电电源、总线上的电容值和连接器件数。在I2C总线协议中规定,在供电电压大于2V,灌电流为3mA时,输出低电平不高于0.4V。在本电路中供电电压为(30.3)V。,因而上拉电阻的最小值为(3.3-0.4)0.003=967。上拉电阻的取值不能过大,因为上拉电阻R与总线上的电容值C构成的RC电路的时间常数,影响了总线从高电平到低电平的过渡时间,因而影响了通信速率。在快速模式中,SDA,SCL信号从低到高的过渡时间应该不大于300ns,P89LPC932端口输出电容为15pF,因而上拉电阻的最大值为300ns(0.715pF3)=9.5k。在电路中R1,R2取值为5k。 由于P89LPC932单片机中带有内部RC振荡源,在电路中省略了一般51单片机所需要的晶振,因而电路比较简单。其硬件电路如图2所示。 4多MCU系统下的软件设计 I2C总线的通信都是由主机发起的。具体为主机发送起始条件,然后发送要操作的从机地址和读写命令。在收到从机应答后,进行相应操作。软件设计主要包括主机的寄存器的设置及读写子程序的设计。 4.1P89LPC932单片机I2C寄存器的设置 LPC932单片机微功耗51内核,内部集成了I2C总线,支持400K高速模式,既可作I2C总线上的主控器件,也可作I2C总线上的从器件6。LPC900单片机的I2C总线通过以下6个特殊功能寄存器实现接口:I2CON(I2C控制寄存器?0D8H)、I2DAT(数据寄存器?0DAH)、I2STAT(状态寄存器?0D9H)、I2ADR(地址寄存器?0DBH)、I2SCLH(占空比寄存器高字节?0DDH)、I2SCLLSCL(占空比寄存器低字节?0DCH)。 I2C地址寄存器在处于主模式时,该寄存器的内容无效。I2C状态寄存器是一个8位只读寄存器,它包含了I2C接口的状态代码,最低3位总是为0,I2C一共有26种可能的状态。 4.2多MCU系统下的程序设计 按照I2C总线的规范,I2C总线数据传送可分为主发送、主接收、从发送、从接收4种方式。在多MCU模式下有主发送、主接收2种方式。每种方式都有典型的传送过程,这些数据传送都是由一些状态码标记的总线状态处理过程组成,因此I2C总线上的一个完整的数据传送是由多个I2C中断状态处理程序来完成的。每出现一个新的状态,就会产生一次I2C中断,然后进入该总线的中断处理程序,处理完毕中断返回再等待一次新的中断及状态处理直至结束。注意以下所说的主机可以是两片MCU中的任一片,而从机指的是I2C器件。 I2C总线的数据操作过程及总线状态处理是在标准软件包的支持下完成,无须用户介入,用户可以通过查询I2C总线的状态寄存器就可了解总线的处理状态,从而做相应的处理。程序设计流程图如图3所示。 I2C通信程序设计要点如下: (1)每次通信的起始条件和停止条件均由主机发起,从机只是负责监听主机信号。起始条件和停止条件是通过置位I2CON中的STA和STO位达到的。 (2)当主机获得总线,成功发送启动条件后,地址和数据的发送是通过写数据寄存器I2DAT达到的。 (3)每次发送地址和数据后应该查询状态寄存器I2STAT检查数据发送状态以进行下一步动作。 (4)每次通信完毕后主机和从机均应该释放总线。 程序设计过程中值得注意的是:读写过程中从器件的地址是变化的,写过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年碳保险方向产品经理笔试指南及预测题解析
- 2025年国有企业项目经理招聘考试模拟题详解
- 桑树坪煤矿安全知识培训课件
- 2025年注册验船师资格考试(B级船舶检验专业基础安全)模拟题及答案一
- 2025年篮球考试试题及答案
- 2025年注册验船师资格考试(C级船舶检验专业能力)全真冲刺试题及答案一
- 2025年检测工程师桥隧工程考试真题(附答案)
- 2025年公务员考试国考全科目预测试题集
- 2025年地理信息系统应用实战与预测题集
- 2025年建筑装饰设计师高级实务操作指南及模拟题集
- 餐厅开荒保洁操作技术方案
- 2024年春季小学三年级英语课件教学方法探索
- 部编人教版小学四年级上册语文词语表注音
- DB52T 1781-2024 介入诊疗医务人员辐射防护规范
- 回收黄金合同协议书(2篇)
- 人教版8年级英语下册单词默写表
- 安全标准化班组建设
- 2024年度-职业道德的含义及特征课件
- 孩子抵抗力提升的方法与技巧
- 教学副校长给教师培训课件
- 关于股权性质与货币市场的思考
评论
0/150
提交评论