您的位置 首页 方案

怎么规划根据I2C总线的处理器的联网计划?

随着微控制器的价格越来越低,功能越来越强大,电气设计人员发现在单板和多板系统中都使用多个小型控制器是一种更加经济高效的方法。这种辅助处理器能

跟着微操控器的价格越来越低,功用越来越强壮,电气规划人员发现在单板和多板体系中都运用多个小型操控器是一种愈加经济高效的办法。这种辅佐处理器能够减轻主处理器在耗时使命上面的处理开支,例如扫描键盘、显现操控器和电机操控。这些操控器也能够装备为各式各样的专用外设。

最近,我接受了一项使命:开发一种能够方便地适用于多种使用的接口(软/硬件),且要契合嵌入式处理器中常用的行业标准。在剖析了一些典型使用之后,咱们列出了一些针对该硬件接口的规划需求:常用于32位和8位处理器;能够得到常用外设器材的支撑;外设接口代码量低于0.5kB;引脚数量少;数据带宽可达10kBps;RAM用量少;一条总线上支撑多种外设;方便运用API;不需求外部接口驱动硬件。

由于要求引脚数量少,所以有必要选用串行接口。现在处理器中常见的串行接口包括SPI、I2C、USB和RS-232。经过从不同方面权衡比较这些接口,我终究挑选了I2C,由于它接口简略,灵活性好,得到了大多数低成本操控器的支撑。在不需求很高传输速度的状况下,较少的引脚数和流量操控功用还使得I2C接口比较SPI接口具有更大的优势。

I2C的作业原理

I2C是一种双线双向接口,包括一个时钟信号和一个数据信号(SCL和SDA)。在不添加任何其他信号的状况下,一条I2C总线就能够支撑多达12个设备。I2C接口标准包括三种作业速度:100kbps、400kbps和3.4Mbps。大多数常见的操控器只支撑100-和400kbps两种形式。I2C总线支撑一个主设备多个从设备,或许多个主设备的装备结构。

I2C一个非常重要的特性便是它支撑流量操控。假如某个从设备无法坚持接连的字节传输,它能够将总线挂起,直到能够跟上主设备的传输速度。这关于包括最小规划的I2C硬件而且有必要在固件上支撑部分传输协议的从设备来说对错常有用的。I2C总线标准支撑7b和10b两种寻址协议。我发现7b寻址形式在大部分使用中的功率更高。

在开端编写代码之前,咱们需求很好地了解I2C总线的作业原理。任何状况下I2C总线至少要包括一个主设备,至少要挂有一个或多个从设备。主设备总是由主到从建议数据传输操作。不管有多少个外设挂接在总线上,I2C接口只要两个信号。

两个信号都是集电极开路的,经过巨细为2.7k左右的上拉电阻接Vcc电源。SDA信号是双向的,能够由主设备或从设备驱动。SCL信号是由主设备驱动的,但是在一个数据字节的结尾从设备有必要坚持SCL信号为低,以推迟总线直到从设备开端处理数据。主设备在数据字节的最终一位传输完之后开释SCL信号,然后查看SCL信号是否变高。假如SCL没有变高,那么主设备以为从设备正在恳求主设备推迟,直到其开端处理数据。

当经过I2C总线发送数据时,只要当SCL为低电平时才干进行数据改换。当SCL信号为高时,任何方向的数据都应该是安稳的.

当总线空闲时,主设备和从设备都不下拉SDA和SCL信号。在建议一次数据传输时,主设备驱动SDA信号从高电平变成低电平,一起SCL信号为高。一般地,当SCL信号为高电平时,SDA信号的状况坚持不变,但发动或中止条件下在外。当SCL信号为高而且SDA信号从低变高时,是传输中止的状况(如图2所示)。

I2C总线以8b为单位传输数据。每传输一个字节时,有必要得到数据接收方的承认。一切的数据都是从MSB(最高有用位)开端传输的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/149515.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部