- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于I2C总线多MCU系统设计
基于I2C总线多MCU系统设计
摘 要: 在一些应用系统中常常使用多片MCU协同实现系统功能,为实现多片MCU之间的数据交换,可以应用多端口RAM,但其结构复杂,成本高;而利用I2C总线使多片MCU之间通过RAM实现数据交换,具有结构简单、成本低的优点。介绍一种基于I2C总线的多MCU系统的设计,简要讨论I2C总线的结构、工作原理及多MCU竞争仲裁,给出I2C总线的多MCU系统的设计,实现了多MCU系统在实际中的应用。
关键词: I2C总线; 多MCU系统; P89LPC932; 数据交换
中图分类号: TN915?04 文献标识码: A 文章编号: 1004?373X(2015)09?0016?03
Abstract: System functions are implemented by multi?MCU collaborative working in some application systems. Although the multi?port RAM can be applied to achieve data exchange among multiple MCUs, its structure is complex and cost is high. Multi?MCU data exchange can be realized by the method to link I2C bus with RAM, which has the advantages of simple structure and low cost. Design of the multi?MCU system based on I2C bus is introduced. The structure, execution principle, multi?MCU competition and arbitration of I2C bus are discussed briefly. The design of multi?MCU system based on I2C bus is given. The application of multi?MCU system in practice was implemented.
Keywords: I2C; multi?MCU system; P89LPC932; data exchange
0 引 言
随着微电子技术的发展和MCU价格的降低,常常在实际应用中使用多片MCU来协同完成系统功能,以实现更高的性能。在这些系统中多片MCU通过某种方式实现数据交换,其中使用双口或多口E2PROM是一种常见的方法[1?2]。这种电路结构复杂、成本高,需要软、硬件解决多MCU访问的竞争问题,更重要的是目前许多MCU不支持外部总线,不能扩展外部E2PROM,因此无法使用这种方法。I2C总线是由Philips公司推出的芯片间串行传输总线。它以规范严谨、使用简单灵活、支持的外围器件繁多等特点而被广泛应用。I2C总线具有十分完善的总线协议,在协议的支持下,可以自动处理总线上出现的多MCU访问的竞争。目前的文献通常是介绍I2C总线在单MCU系统中的应用[3?4],本文介绍一种利用I2C总线实现多片MCU访问E2PROM,从而实现数据交换的方法。
1 I2C总线工作原理
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总线提供的状态处理软件能自动处理总线上出现
原创力文档


文档评论(0)