- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 行总线扩展技术的应用
第8章 串行总线扩展技术的应用 知识与技能目标 知识目标: 1. 了解常用单片机串行扩展方式。 2. 掌握I2C总线、SPI总线及单总线的使用方法。 3. 掌握24CXX、TLC549、TLC5615、DS18B20等典型器件的编程方法。 4. 掌握单片机应用系统设计方法。 技能目标: 1.掌握单片机系统调试方法。 2.掌握单片机串行扩展电路的各种连接方法及编程方法。 工作任务 本项目的工作任务是用温度传感器自行设计一数字温度计,测量范围-55~125?C,精确到小数点后1位,温度值可在LCD1602上或LED数码管上显示。 8.1 I2C总线应用 串行总线 I2C(Inter IC)总线 SPI(Serial Peripheral Interface)总线 单总线(1-Wire) 8.1.1 I2C串行总线概述 I2C总线是由Philips公司推出的一种双向二线制串行传输总线。 特点:控制方式简单灵活,器件体积小,通信速率高、低功耗等。 I2C总线允许接入多个器件,如A/D及D/A转换器、存储器等。总线上的器件既可作为发送器,也可作为接收器。按照一定的通信协议进行数据交换。在每次数据交换开始时,作为主控器的器件需要通过总线竞争获得主控权。每个器件都具有唯一的地址,各器件间通过寻址确定接收方。 I2C总线的通信协议 当总线处于等待状态时,数据线SDA和时钟线SCL都必须保持高电平状态。 当时钟线SCL保持高电平时,且数据线SDA出现由高变低的变化时,为I2C总线工作的起始信号,此时I2C被启动。当SCL为高电平时,且SDA由低变高时,为I2C总线停止信号,此时I2C总线停止数据传送。SDA上的数据在SCL高电平时必须稳定,在SCL低电平时才允许变化。 在I2C总线启动后,送出的第一个字节数据是用来选择从器件地址,其中前7位为地址码,第8位为方式位(R/W)方式位为“0”表示发送,即CPU把信息写到所选择的接口或存储器;方式位为“1”表示CPU将从接口或存储器读信息。系统发出开始信号后,系统中的各个器件将自己的地址和CPU发送到总线上的地址进行比较,如果与CPU发送到总线上的地址一致,则该器件即为被CPU寻址的器件,其接收信息还是发送信息则由第8位(R/W)确定。 数据格式 在I2C总线上以字节为单位进行传送,每次先传送最高位。每次先传的数据字节数不限,在每个被传送的字节后面,接收器都必须发一位应答位(ACK),总线上第9个时钟脉冲对应于应答位,数据线上低电平为应答信号,高电平为非应答信号。待发送器确认后,再发下一数据。 8.1.2 AT24CXX系列存储器使用 A0、A1、A2:地址线,用于确定从芯片的器件地址。 Vcc和Vss:正、负电源。 SDA:串行数据输入/输出,数据通过这条双向I2C总线串行传送。 SCL:串行时钟输入线。 WP为写保护控制端,接“0”允许写入,接“1”禁止写入。 I2C总线的控制字节 高四位:器件类型识别符,AT24CXX的器件类型识别符是1010,由Philips公司的I2C通信协议所决定,表示从器件为串行E2PROM。 A2、A1、A0:器件地址,这三位受不同的电平控制,可实现在一个系统中扩展多片串行E2PROM 芯片。控制字节的A2、A1、A0的选择必须与外部A2、A1、A0引脚的硬件连接或内部选择相匹配,若A2、A1、A0无内部连接内这3位无关紧要,需做器件选择的,A2、A1、A0引脚可接高电平或低电平。 最低位:读写控制位R/W,“0”表示下一字节进行写操作,“1”表示下一字节进行读操作。 I2C总线的起始信号、停止信号及应答信号时序图 AT24CXX字节写时序图 AT24CXX页面写时序图 AT24CXX读当前地址时序图 AT24CXX读指定地址时序图 AT24CXX读顺序地址时序图 8.1.3 AT24CXX系列存储器接口电路与编程 8.2 SPI总线应用 SPI(Serial Peripheral Interface)串行总线是由Motorola公司开发的全双工同步串行总线,用于MCU与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件间的串行通信。 主要特点 可以同时发出和接收串行数据。 可以当作主机或从机工作,提供频率可编程时钟,发送结束中断标志,写冲突保护,总线竞争保护等。 SPI总线协议 SS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。通过SS信号使得SPI允许在同一总线上连接多个SPI设备。 SPI是串行通信协议,数据是一位一位的从高到低位传输的。由SCK提供时钟脉冲,MISO、MOSI则基于此脉冲完成数据传输。数据通过MOSI线在时钟上升沿或下降沿
文档评论(0)