I 2C™模块是用于同其他外设或单片机器件进行通信的串行接口。这些外设可以是串行EEPROM、显示驱动器和 A/D 转换器等。
I 2C 模块可在以下任意 I 2C 系统中工作:
• 作为从器件
• 在单主机系统中作为主器件 (从器件也可同时工作)
• 在多主机系统中作为主 / 从器件 (提供总线冲突检测和仲裁)
I 2C 模块包含相互独立的 I 2C 主器件逻辑和 I 2C 从器件逻辑,它们根据各自的事件产生中断。在多主机系统中,软件被简单地分为主器件控制程序和从器件控制程序。
当 I 2C 主器件逻辑工作时,从器件逻辑也保持在工作状态,检测总线的状态,并可从其自身(单主机系统中)或从其他主器件 (多主机系统中)接收报文。在多主机总线仲裁期间,不会丢失任何报文。
在多主机系统中,能检测到与系统中其他主器件之间的总线冲突,并报告给应用程序(BCOL 中断)。软件可以终止报文,然后重新发送报文。
I 2C 模块中包含一个波特率发生器 (Baud Rate Generator, BRG)。 I 2C BRG 并不耗用器件中的其他定时器资源。
I 2C 模块具有以下主要特性:
• 主器件和从器件逻辑相互独立
• 支持多主机系统,可以防止在仲裁时丢失报文
• 在从模式下可检测 7 位和 10 位器件地址,并可配置地址掩码
• 检测 I 2C 协议中定义的广播呼叫地址
• 具有自动 SCLx 时钟延长功能,为处理器提供延时以响应从器件的数据请求
• 支持 100 kHz 和 400 kHz 总线规范
• 支持严格 I 2C 保留地址规则
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !