第8章 串行总线技术ppt课件.ppt
《第8章 串行总线技术ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章 串行总线技术ppt课件.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第8章 串行总线技术第第8章章 串行总线技术串行总线技术 第第8 8章章 串行总线技术串行总线技术第第8章章 串行总线技术串行总线技术 内容提要第第8章章 串行总线技术串行总线技术 内容提要第第8章章 串行总线技术串行总线技术 串行接口的引脚少,扩展方便,所以采用串行总线技术可串行接口的引脚少,扩展方便,所以采用串行总线技术可以使系统设计大大的简化,如系统的电路面积大大减少、系统以使系统设计大大的简化,如系统的电路面积大大减少、系统的稳定性和可靠性增强。同时,对于系统的更改和扩充更加的的稳定性和可靠性增强。同时,对于系统的更改和扩充更加的方便和可行。由于方便和可行。由于5151单片机的系统资源
2、比较有限,经常采用串单片机的系统资源比较有限,经常采用串行总线技术来进行外部扩展。目前,常用的串行扩展接口有行总线技术来进行外部扩展。目前,常用的串行扩展接口有I I2 2C C、SPISPI和和单总线单总线等,本章主要对这三种接口进行理论介绍并等,本章主要对这三种接口进行理论介绍并辅以简单的案例使读者能够初步掌握通过串行接口来对单片机辅以简单的案例使读者能够初步掌握通过串行接口来对单片机进行外围扩展。进行外围扩展。 第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.1 I2C总线简介 I2C是是一种简单、双向、二线制、同步串行总线一种简单、双向、二线制、同步串行总线。只有两
3、只有两个双向的信号线个双向的信号线:时钟线时钟线SCL和和数据线数据线SDA。 由于由于I2C总线接口是开漏或开集电极输出,需要加上拉电总线接口是开漏或开集电极输出,需要加上拉电阻阻。当总线空闲时,当总线空闲时,SDA和和SCL两根线均为高电平。如果连两根线均为高电平。如果连到总线上的任一器件输出的低电平,都将使总线的信号变低,到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的即各器件的SDA及及SCL都是线都是线“与与”的关系。的关系。第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 1.I2C总线数据位有效性规定总线数据位有效性规定
4、: I2C总线进行数据传送时,时钟信号总线进行数据传送时,时钟信号SCL为高电平期间,为高电平期间,数据线数据线SDA上的数据必须保持稳定,当时钟信号线上的数据必须保持稳定,当时钟信号线SCL为低为低电平期间,数据线电平期间,数据线SDA上的数据才允许变化。上的数据才允许变化。 I2C总线数据有效性时序第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 2.I2C总线的起始信号和终止信号总线的起始信号和终止信号 时钟信号线时钟信号线SCL为高电平期间,数据线为高电平期间,数据线SDA由高电平向由高电平向低电平的变化表示起始信号低电平的变化表示起始信号S
5、,启动,启动I2C总线工作;时钟信号总线工作;时钟信号线线SCL为高电平期间,数据线为高电平期间,数据线SDA由低电平向高电平的变化由低电平向高电平的变化表示终止信号表示终止信号P,终止,终止I2C总线的数据传送。总线的数据传送。 I2C总线起始信号和终止信号时序第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 3.I2C总线字节的传送和应答总线字节的传送和应答 I2C总线在进行数据传送时,先传送最高位(总线在进行数据传送时,先传送最高位(MSB),每),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有一个被传送的字节后面都必须跟随一位应答位(
6、即一帧共有9位)。如果是因为某种原因造成从设备不对主机寻址信号应位)。如果是因为某种原因造成从设备不对主机寻址信号应答的话,那么它必须将数据线置于高电平,让主机产生一个答的话,那么它必须将数据线置于高电平,让主机产生一个终止信号以释放总线。或者如果从设备对主机进行了应答,终止信号以释放总线。或者如果从设备对主机进行了应答,但从设备不想再接收数据,那么从设备可以通过但从设备不想再接收数据,那么从设备可以通过 “非应答非应答”来通知主机,同样让主机发出终止信号以结束数据的传送。来通知主机,同样让主机发出终止信号以结束数据的传送。当主机接收从设备的收数据时,收到最后一个数据字节后,当主机接收从设备的
7、收数据时,收到最后一个数据字节后,主机必须向从设备发出一个主机必须向从设备发出一个 “非应答非应答”信号,使从设备释放信号,使从设备释放SDA线,以允许主机产生终止信号。线,以允许主机产生终止信号。第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 4.I2C总线传送的数据帧格式总线传送的数据帧格式 I2C总线上传送的信号可以是地址信号,也可以数据信总线上传送的信号可以是地址信号,也可以数据信号。在起始信号号。在起始信号S后,主机发送一个字节的数据信号给从设后,主机发送一个字节的数据信号给从设备,这个字节的高备,这个字节的高7位是设备的地址,最低位是数
8、据的传送位是设备的地址,最低位是数据的传送方向,方向,0-表示主机发送数据,表示主机发送数据,1-表示主句接收从设备的数据表示主句接收从设备的数据。如果主机希望占用总线连续进行数据的传送,那么无需。如果主机希望占用总线连续进行数据的传送,那么无需产生终止信号,只要立马再次发送起始信号进行数据传输产生终止信号,只要立马再次发送起始信号进行数据传输即可。在即可。在I2C总线的一次数据传送过程中,可以分为以下几总线的一次数据传送过程中,可以分为以下几种情况种情况:第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 4.I2C总线传送的数据帧格式总线传送的数据
9、帧格式(1)主机向从设备发送数据,数据传输方向不变:主机产生起主机向从设备发送数据,数据传输方向不变:主机产生起始信号始信号S,开始对从设备进行寻址,数据的传送方向是主机向,开始对从设备进行寻址,数据的传送方向是主机向I2C设备发送数据。在整个过程中,数据的传输方向不变,设备发送数据。在整个过程中,数据的传输方向不变,I2C设备接收到数据之后进行应答。发送完最后一个数据之后设备接收到数据之后进行应答。发送完最后一个数据之后,主机发出终止信号,主机发出终止信号P,释放释放I2C总线。总线。数据传输方向不变第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程
10、 4.I2C总线传送的数据帧格式总线传送的数据帧格式(2)主机在第一个字节后,立即向从设备读数据:主机产生起主机在第一个字节后,立即向从设备读数据:主机产生起始信号后,对设备进行寻址,从设备返回应答之后,主机向始信号后,对设备进行寻址,从设备返回应答之后,主机向从设备读取数据,读完最后一个字节的数据之后,主机发出从设备读取数据,读完最后一个字节的数据之后,主机发出终止信号,释放终止信号,释放I2C总线。总线。向设备读取数据第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 4.I2C总线传送的数据帧格式总线传送的数据帧格式(3)如果在传输过程中,需要改
11、变传送方向时:起始信号和从如果在传输过程中,需要改变传送方向时:起始信号和从设备地址都需要被重新发送一次,但两次读设备地址都需要被重新发送一次,但两次读/写方向位正好反写方向位正好反相。相。传输过程改变方向注:有阴影部分表示数据由主机向从设备传输数据,无阴影部分则表示数据由从设备向主机传输。A表示应答, 表示非应答。S表示起始信号,P表示终止信号。A第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.2 I2C总线的通信规程 5.I2C总线的寻址总线的寻址 在在I2C总线协议中,明确规定采用总线协议中,明确规定采用7位的寻址字节,即寻位的寻址字节,即寻址字节是起始信号后的第一个
12、字节。当起始信号后,主机开址字节是起始信号后的第一个字节。当起始信号后,主机开始寻址,总线上的每个从设备都将这始寻址,总线上的每个从设备都将这7位的地址码与自己的地位的地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,那么该址进行比较,如果相同,则认为自己正被主机寻址,那么该从设备将根据寻址字节的最低位来确定自己是为发送器还是从设备将根据寻址字节的最低位来确定自己是为发送器还是接收器。接收器。第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.3 AT24C02的使用 AT24CXX是由美国是由美国Atmel公司生产的公司生产的E2PROM存储器,存储器,该系列存储
13、器具有低功耗、工作电压范围宽和单电源供电等该系列存储器具有低功耗、工作电压范围宽和单电源供电等优点,所以在低电压及低功耗的工业领域得到广泛的应用。优点,所以在低电压及低功耗的工业领域得到广泛的应用。AT24CXX系列参数系列参数:第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.3 AT24C02的使用 AT24C02引脚介绍:引脚介绍:第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.3 AT24C02的使用 对对AT24C02的操作:的操作:1.写入过程写入过程: 芯片地址总共芯片地址总共7位,分为固定部分和可编程部分。高位,分为固定部分和可编程部分。高
14、4位位为固定部分值为为固定部分值为1010,A2、A1、A0低低3位可编码地址。单片位可编码地址。单片机在进行写操作时,先发送该芯片的机在进行写操作时,先发送该芯片的7位地址码和写方向位位地址码和写方向位“0”(即一个字节),然后释放(即一个字节),然后释放SDA线并在线并在SCL线上产生第线上产生第9个时钟信号,被选中的芯片在个时钟信号,被选中的芯片在SDA线上产生一个应答信号,线上产生一个应答信号,单片机收到应答后就可以传输数据给该芯片了。单片机收到应答后就可以传输数据给该芯片了。第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.3 AT24C02的使用 对对AT24C0
15、2的操作:的操作:1.读取读取过程过程: 单片机先发送该器件的单片机先发送该器件的7位地址码和写方向位位地址码和写方向位“0” 然后释然后释放放SDA线并在线并在SCL线上产生第线上产生第9个时钟信号,被选中的存储器个时钟信号,被选中的存储器件在件在SDA线上产生一个应答信号。接着单片机再发送一个字线上产生一个应答信号。接着单片机再发送一个字节的读取数据地址,单片机收到应答之后,需要重新产生起节的读取数据地址,单片机收到应答之后,需要重新产生起始信号并寻址改变数据传输方向位,收到器件的应答之后,始信号并寻址改变数据传输方向位,收到器件的应答之后,就可以从该芯片读取相应的内容了。就可以从该芯片读
16、取相应的内容了。第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.4 编程实现对AT24C02的读写 【例【例8.1】通过独立按键】通过独立按键1将要写入的数据从将要写入的数据从0开始自增,通过开始自增,通过按键按键2的动作将数据写入到的动作将数据写入到AT24C02并将写入的值从并将写入的值从AT24C02读取,结果通过读取,结果通过LED灯显示出来。灯显示出来。第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.4 编程实现对AT24C02的读写 1.起始信号起始信号在在SCL时钟信号高电平期间,时钟信号高电平期间,SDA信号产生一个下降沿信号产生一个下降
17、沿。void I2cStart()SDA=1;Delay10us();SCL=1;Delay10us();/建立时间是SDA保持时间4.7usSDA=0;Delay10us();/保持时间是4usSCL=0;Delay10us();起始信号时序第第8章章 串行总线技术串行总线技术 8.1 I2C总线技术8.1.4 编程实现对AT24C02的读写 2.终止信号终止信号在SCL时钟信号高电平期间,SDA信号产生一个上升沿。终止信号时序void I2cStop()SDA=0;Delay10us();SCL=1;Delay10us();/建立时间大于4.7usSDA=1;Delay10us();第第8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 串行总线技术ppt课件 串行 总线技术 ppt 课件
限制150内