【使用EFM8微控制器实现I2C功能】Part 1:基本概念

本系列文章主要介绍如何使用Silicon Labs微控制器的SMBus外设设计一个I2C接口。共包含两个部分:

● 第一部分:I2C的基本概念

● 第二部分:I2C设计示例实践

专用硬件

I2C是一种相对复杂的协议,需要详细的通信过程和特定的电路配置才能正常工作。尽管如此,I2C的应用仍然很普遍,正是由于其设计的复杂性,它可以在多个独立的集成电路之间实现灵活、强大、引脚数少的串行通信。确实,设计一个“纯底层”的I2C接口 - 即低级硬件或纯固件 - 会有点麻烦;但幸运的是,很多制造商的微控制器都集成了快速实现I2C的外设。在这篇两篇文章中,我们将详细讨论如何将I2C通信合并到专为EFM8微控制器编写的固件中,而且此处介绍的概念和代码适用于其他Silicon Labs器件。此外,将这些代码移植到任何其他的微控制器并不困难 - 毕竟,I2C是一种标准化协议,不会因制造商而异。

配置硬件

我们将使用SMBus外设实现I2C,SMBus外设同时支持这两种协议的(SMBus实际上是I2C的扩展)。微控制器通常用作I2C主控制器,因此我们将重点介绍I2C的主控功能,但也可以在类似的固件中实现从机功能。以下的图片截屏自Simplicity Studio软件,展示了SMBus外设的配置:

这里写图片描述

更多内容请参考以下链接:https://www.yiboard.com/thread-874-1-1.html

猜你喜欢

转载自blog.csdn.net/woshi_ziyu/article/details/81325786
今日推荐