- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IIC应用
IICSPI
本文档主要介绍IICSPI的功能、使用以及使用中要注意的事项。虽然说IICSPI都是通用的协议,但是不同的芯片不同设计,电路在满足协议的基础上,可能还会有自己的扩展的功能。扩展的功能是为了更好的满足协议,或者是为了应用的方便,主要是写C程序的方便性,以及在通信中出现异常情况的诊断等。
下面将分别详细的介绍IIC、SPI的功能以及应用。
1. IIC的功能及特点
本设计中的IIC是完全符合Philips公司的IIC通信协议的。本设计的IIC的功能以及特点如下:
1. IIC从机支持7位的寻址方式,兼容10位寻址方式 ;
2.传输速率:100Kbps、400Kbps ;
3.中断机制,SLEEP模式可唤醒芯片 ;
4.延长时钟低电平的功能 ;
5.异常通信情况的诊断
IIC模块一共用到4组寄存器,它们分别是:
⑴ IICADD A1h ; Default value:00H ; R/W
IICADDBit7Bit6Bit5Bit4Bit3Bit2Bit1—IICADD是此寄存器的名称,A1h是此寄存器的地址,default value表示上电复位值,R/W表示此寄存器可读可写。
IIC地址寄存器,高7位可读可写,最低位保留未用(读取值为0)。IICADD寄存器相当于此芯片的ID。根据IIC协议,主机在S信号之后要发送从机的地址码,从机在接收到地址码之后就是与IICADD的内容进行比较来进行身份验证的。只有地址匹配的情况下才可以进行通信。
从机的7位地址可以通过软件写寄存器IICADD来设置。当然了,也可通过I/O端口间接的设置7位的地址。比如首先读取两位(或者三位等)I/O端口的状态值,作为7位的地址的低两位,这样就可以通过I/O来间接的设置从机地址了,这可以应用在同一条总线上挂多个IIC从机场合。
⑵ISCON C0h ; Default value:40H ; R/W
ISCONSPIEN—SWCOLSROVSBFSCLENSRIICENIICSPI控制寄存器,Bit3、Bit6只读,Bit6读取值为1,其它位可读可写。
低3位用于IIC模块,其中IICEN是IIC模块的使能信号,只有IICEN=1时,电路才工作。SR是转换速率控制位,SR=1转换速率控制关闭,端口适应于100Kbps的通信,SR=0转换速率打开,端口适应于400Kbps的通信。SCLEN是时钟使能控制位,虽然从机不能产生通信时钟,但是根据协议从机可以延长时钟的低电平时间。SCLEN=0时钟线被锁定在低电平,SCLEN=1释放时钟线。延长时钟低电平的前提是IICEN=1,否则内部电路不会对IIC总线产生任何影响。SCLEN常用来延长低电平的时间,使主机进入等待状态,这样从机就有足够的时间来处理数据。在R/W=1,主机读取从机数据的时候,SCLEN在接收到地址字节和发送完一个字节并且主机发送ACK的时候,SCLEN会被硬件自动拉低,迫使主机进入等待状态。从机要释放IIC时钟,需要下面两个操作,顺序不能改变:
把要发送的数据写入IICBUF中;
软件置位SCLEN。
这样设计的目的是确保拉高SCL之前,IICBUF中已经写入将要发送的数据。
在R/W=0的情况下,硬件不会自动拉低时钟线,但是在适当的时候软件可以拉低时钟线,来满足从机处理数据的需要,也可以随时释放时钟线,只要不影响总线正常的通信的即可。
⑶ IICBUF A2h Default value:00h R/W
IICBUFBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IIC数据收发缓冲器,可读可写的寄存器。
在发送状态下,把数据写入BUF中后,在主机的同步时钟作用下,数据依次移位发送出去,高位在前。8个时钟过后,一个字节发送完毕。
在接收状态下,在主机的8个时钟过后,数据被写入BUF中去,第9个时钟过后会产生中断,告诉MCU读取BUF中的数据。
把数据写入BUF此操作是有条件的,只有R/W=1,并且SCLEN=0的情况下才可以把数据写入IICBUF中;否则写IICBUF的操作是被禁止的。也就是说条件不满足的情况下,写IICBUF的操作不能成功的,数据写不进去,IICBUF的数据不会改变,同时也会造成写冲突。
例如:IICBUF已经有数据55h,在写IICBUF的条件不满足的情况下,欲把数据00h写入IICBUF。结果是IICBUF里的数据仍然是55h,同时写冲突标志位WCOL置位,用于告诉用户,操作异常。
⑷ IICST
文档评论(0)