- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IC学习笔记.doc
1 概述
I2C总线以2根信号线(数据线SDA,时钟线SCL)实现双向同步数据传,并且可以连接到总线上的任何一个器件作为一个发送器或接收器。执行数据传输时可以当作主机或从机。
发送器:传送中发送数据到总线的器件
接收器:传送中从总线接收数据的器件
主机:用来初始化发送、产生时钟信号和终止发送的器件,可是发送器或接收器
从机:被主机寻址的器件,也可以作为发送器或接收器
LPC1700有三个接口:I2C0/1/2。I2C0为标准I2C总线接口(开漏引脚),该接口支持I2C规范中所叙述的功能,运行速度高达1MHz。支持多主机操作,并允许挂接在I2C总线上运行器件在退出I2C总线功能时掉电;而I2C1和I2C2使用标准I/O引脚,专用于单主机I2C总线,不支持挂接在I2C总线上的运行器件在退出I2C总线功能时掉电,也不支持多主机I2C操作。
三个接口在标准模式下,总线数据传输的速度为0到100Kbit/s;高速模式下的为0到400Kbit/s;总线速率越高,总线上拉电阻要越小。注意的是只有I2C0总线支持快速plus模式,速度可达1Mbit/s,可通过设置CPADCFG寄存器里的SDADRV0和SCLDRV0来实现。
2 总线特性:
标准的I2C总线接口;
可配置为主机、从机或主/从机;
可编程时钟能够实现通用速率控制;
主从之间双向数据传输;
多主机总线;
通信速率高达1MHZ(快速模式);
支持监控模式;
只能基于版内通信;
3 传输协议
(1)寻址字节
主机产生起始信号后,发送的第一个字节为寻址字节。前7位为从机地址,最低位决定报文方向:0表示主机写信息到从机,1表示主机读从机中的信息。
(2)传输格式
主机产生起始信号后,发送一个寻址字节,收到应答后紧跟着的就是数据传输,数据传输一般由主机产生的停止位终止。如果主机仍希望在总线上通讯,它可以产生重复起始信号和寻址另一个从机,而不是首先产生一个停止信号。
4 基本配置
利用以下寄存器来配置I2C0/1/2接口:
(1)电源:在寄存器PCONP中置位PCI2C0/1/2;
(2)时钟:在寄存器PCLK_SEL0中选择PCLK_I2C0;在寄存器PCLK_SEL1中选择PCLK_I2C1/2
(3)引脚:通过寄存器PINSEL使能I2C0引脚和选择I2C1/2引脚。通过寄存器PINMODE来配置I2C1/2引脚模式,下表即为三个接口对应的引脚位。
(4)使用相关的中断置位使能寄存器在NVIC中使能中断。
(5)初始化
5 寄存器描述
★I2C控制置位寄存器I2CONSET
表1 I2C控制置位寄存器
★I2C控制清零寄存器I2CONCLR
如果给哪位置1,就相当于对I2CONSET寄存器的对应为清零。在初始化中这两个寄存器要配合使用。
★从地址寄存器,I2ADDR0~I2ADDR3
当器件用作从发送器或接收器时,这类寄存器可装入I2C模块即将响应的7位从地址(7个有效位)。LSB(GC)用来使能通用地址(0x00)的识别。
表2 I2C从地址寄存器
★I2C状态寄存器I2STAT
每个I2C状态控制器反应对应I2C接口的情况。I2C状态寄存器为只读寄存器。
表2 I2C状态寄存器
共有26种可能存在的状态代码。当代码为0xF8时,无可用的相关信息,SI位不会置位。所有其他25种状态代码都对应一个已定义的I2C状态。当进入其中一种状态时,SI位将置位。
★I2C数据寄存器
有八位即一个字节。用来存储数据。
★I2C监控模式寄存器
该寄存器控制监控模式的使能,它可以使I2C模块监控I2C总线的通信量,并且不需要实际参与通信或干扰I2C总线。
表3 I2C监控模式控制寄存器
★I2C数据缓冲器寄存器
在监控模式中,如果ENA_SCL位没置位,I2C模块就不能延长时钟(使总线迟延)。也就是说,处理器读取总线数据的时间有限。如果处理器以正常速度读取I2DAT移位寄存器,那么在新数据更新接收数据之前,它可能只有1位时间来响应中断。
为了给予处理器更多的响应时间,将增加一个新的8位只读寄存器DATA_BUFFER。每接收到9个位(8个数据位+应答位或非应答位)后,寄存器I2DAT的最高8位会自动发送到DATA_BUFFER。这表示处理器会有9个位的传输时间来响应中断,并且在更新接收数据之前读取数据。
I2C SCL高电平占空比寄存器
表4 I2C SCL高电平占空比寄存器
I2C SCL低电平占空比寄存器
表5 I2C SCL低电平占空比寄存器
选择合适的I2C总线速率和占空比
软件必须通过对I2SCLH和I2SCLL寄存器进行设置来选择合适的总线速率和占空比。位频率由下面的公式得出(PCLK_I2
您可能关注的文档
最近下载
- 研究院LNG冷能利用.ppt VIP
- [中央]2024年中国记协新闻培训中心招聘 笔试上岸试题历年典型考题及考点剖析附答案详解.docx
- (陶矜老师课件)股权设计与合伙人激励.pdf VIP
- if与unless专项练习.doc VIP
- 2023年北京市高考化学试卷(解析版).pdf VIP
- 有限空间作业安全管理监理实施细则(新).pdf VIP
- 直播电商与案例分析第10章 农产品直播解析.ppt VIP
- 2023款 R18 B 宝马摩托车 中文 用户保养手册 使用说明书.pdf VIP
- 2022年国家公务员考试《公安专业科目》题(网友回忆版).docx VIP
- USCAR38 超声波焊接技术标准和要求(中文版).pdf VIP
文档评论(0)