打印

I2C总线模块概述

[复制链接]
793|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dianz|  楼主 | 2016-5-14 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PSoC的I2C接口主要特性包含:
从/主/多主,发送器和接收器操作;
用于低CPU开销的字节处理;
提供对状态检测和生成帧比特位的支持;
为各种总线事件产生中断;
中断或者轮询CPU接口;
支持总线停顿;
支持总线速度最高为1Mbps(快速模式加);
7或10位寻址(10位寻址要求固件支持);
沙发
ah9b87| | 2016-5-14 11:32 | 只看该作者
支持系统管理总线(System Management Bus,SMBus)操作(通过固件支持-UDB内支持SMBus,这种总线基于I2C总线);
布线SDA和SCL连接直接到SIO端口上已经分配两对中的一对,或者通过DSI连接到任何GPIO或者SIO引脚对。
提供50ns毛刺过滤。

使用特权

评论回复
板凳
dianz|  楼主 | 2016-5-14 11:33 | 只看该作者
I2C外设提供了同步两线接口用来与PSoC设备进行连接,I2C总线与Philip的I2C规范V2.1版本兼容。额外的I2C接口能通过使用UDB进行例化。

使用特权

评论回复
地板
ah9b87| | 2016-5-14 11:38 | 只看该作者
I2C总线由Philips半导体公司(现在为NXP)所提供的一种简单的方法,允许多个设备在一个总线上直接的互相通信。

使用特权

评论回复
5
zb0830| | 2016-5-14 20:08 | 只看该作者
只使用两根线:
串行数据(SDA);
串行时钟(SCL);

使用特权

评论回复
6
engao| | 2016-5-14 20:08 | 只看该作者
串行的8位数据传输:
标准模式下最大速度为100kbps;
快速模式下最大速度400kbps;
快速加模式下最大速度1Mbps。

使用特权

评论回复
7
zb0830| | 2016-5-14 20:08 | 只看该作者
使用集电极开路或者开漏极,通过上拉电阻将设备连接到总线上(线“与”功能)。

使用特权

评论回复
8
engao| | 2016-5-14 20:08 | 只看该作者
每个连接到总线的设备,由软件通过独一无二的地址进行寻址。

使用特权

评论回复
9
zb0830| | 2016-5-14 20:09 | 只看该作者
存在简单的主/从关系,从设备能操作为发送器或者接收器;

使用特权

评论回复
10
engao| | 2016-5-14 20:09 | 只看该作者
支持多主模式,当两个设备同时初始化数据传输时,使用冲突检测和仲裁。

使用特权

评论回复
11
zb0830| | 2016-5-14 20:15 | 只看该作者
主设备控制SCL线,产生一个开始(Start)条件,后面跟着数据字节。数据字节包含7个从设备地址和一个读/写(RW)位。该位设置相对于主设备的数据传输方向。高为读低为写。

使用特权

评论回复
12
engao| | 2016-5-14 20:15 | 只看该作者
从设备识别它的地址,并且在第9位的时间间隔内,通过将数据线拉低产生应答(ACK)字节。

使用特权

评论回复
13
zb0830| | 2016-5-14 20:16 | 只看该作者
取决于读/写,主设备发送或接收不确定数目的字节。

使用特权

评论回复
14
engao| | 2016-5-14 20:16 | 只看该作者
如果从设备没有用ACK响应第1个字节,主设备产生停止条件来终止数据的传输。一个重复的启动条件将用于重新的尝试传输;

使用特权

评论回复
15
engao| | 2016-5-14 20:19 | 只看该作者
当数据传输结束时,主设备产生停止条件。
        当接收设备需要时间将接收的数据存储或者准备要发送的数据时,从设备可以将SCL线拉低,这样就使得主设备进入等待状态。注意有些主设备不支持这种等待方式。

使用特权

评论回复
16
zb0830| | 2016-5-14 20:21 | 只看该作者
I2C接口能为下面这些条件产生中断:
字节传输完成(接收/发送);
I2C停止条件;
I2C错误检测;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

369

帖子

0

粉丝