单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8

上传人:E**** 文档编号:89483244 上传时间:2019-05-25 格式:PPT 页数:40 大小:2.13MB
返回 下载 相关 举报
单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8_第1页
第1页 / 共40页
单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8_第2页
第2页 / 共40页
单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8_第3页
第3页 / 共40页
单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8_第4页
第4页 / 共40页
单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8》由会员分享,可在线阅读,更多相关《单片机原理及接口技术 教学课件 ppt 作者 艾学忠 8(40页珍藏版)》请在金锄头文库上搜索。

1、第8章 单片机与外围电路的接口方式,尽管单片机的发展趋势为低功耗CMOS化、功能单片化和体积微型化,向着片上系统趋势发展,但在具体的应用中还是要用到外围接口电路。 单片机外围接口电路按照总线结构分类,可以归纳为四类:1-Wire总线接口电路、SMBUS/I2C总线接口电路、SPI总线接口电路和并行总线接口电路。对于大多数51内核的单片机而言,从硬件结构上不包含1-Wire总线、SMBUS/I2C总线和SPI总线控制接口,需要使用I/O口通过软件模拟这些接口的硬件时序实现相应的接口功能。,8.1 单总线(1-wire Bus)接口电路,8.1.1 概述 单总线(1-wire Bus)是Maxim

2、全资子公司Dallas的一项专有技术,与目前多数标准串行数据通信方式如SPI/I2C/MICROWIRE 不同,它采用单根信号线既传输时钟又传输数据,而且数据传输是双向的。 优点:单总线具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多。 单总线适用于单个主机系统,能够控制一个或多个从机设备,当只有一个从机位于总线上时,系统可按照单节点系统操作。,8.1.2 硬件结构 单总线就是只有一根数据线,设备主机或从机通过一个漏极开路或三态端口连接至该数据线,这样允许设备在不发送数据时释放数据总线,以便总线被其它设备所使用。单总线端口为漏极开路结构,其内部等效电路如图8-1 所示。,8

3、.1.3 命令序列 典型的单总线命令序列如下: 第一步:初始化 第二步:ROM命令(跟随需要交换的数据) 第三步:功能命令(跟随需要交换的数据) 每次访问单总线器件必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。但是这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。,ROM命令流程图,8.1.4 信号方式 所有的单总线器件要求采用严格的通信协议,保证数据的完整性。该协议定义了几种信号类型;复位脉冲、应答脉冲、写0、写1、读0和读1。所有这些信号,除了应答脉冲以外,都由主机发出同步信号。并且发送所有的命

4、令和数据都是字节的低位在前,这一点与多数串行通信格式不同(高位在前)。 1初始化序列(复位和应答脉冲) 单总线上的所有通信都是以初始化序列开始,包括:主机发出的复位脉冲及从机的应答脉冲,如图所示。当从机发出响应主机的应答脉冲时,即向主机表明它处于总线上,且工作准备就绪。在主机初始化过程,主机通过拉低单总线至少480s,以产生(Tx)复位脉冲。接着,主机释放总线,并进入接收模式(Rx)。当总线被释放后,5k上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时15-60s,接着通过拉低总线60-240s,以产生应答脉冲。,2读/写时隙 在写时隙期间,主机向单总线器件写入数据;而在读时隙期间,主机

5、读入来自从机的数据。在每一个时隙,总线只能传输一位数据。,3写时隙 有两种写时隙:“写1”和“写0”。主机采用写1时隙向从机写入1,而采用写0时隙向从机写入0。所有写时隙至少需要60s,且在两次独立的写时隙之间至少需要1s的恢复时间。两种写时隙均起始于主机拉低总线,如图所示。产生写1时隙的方式:主机在拉低总线后,接着必须在15s之内释放总线,由5k上拉电阻将总线拉至高电平;而产生写0时隙的方式:在主机拉低总线后,只需在整个时隙期间保持低电平即可(至少60s)。 在写时隙起始后15-60s期间,单总线器件采样总线电平状态。如果在此期间采样为高电平,则逻辑1被写入该器件;如果为0,则写入逻辑0。,

6、4读时隙 单总线器件仅在主机发出读时隙时,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时隙,以便从机能够传输数据。所有读时隙至少需要60s,且在两次独立的读时隙之间至少需要1s的恢复时间。,8.1.5 ROM搜索过程 ROM搜索过程只是一个简单的三步循环程序:读一位、读该位的补码、写入一个期望的数据位。总线主机在ROM的每一位上都重复这样的三步循环程序。当完成某个器件后,主机就能够知晓该器件的ROM信息。剩下的设备数量及其ROM代码通过相同的过程即可获得。 下面是ROM搜索过程实例,假设四个不同的器件被连接至同一条总线上,它们的ROM代码如下所示: ROM1 00110101

7、 ROM2 10101010 ROM3 11110101 ROM4 00010001,8.1.6 单总线器件接口实例 -单片机与 DS18B20温度传感器的接口 DS18B20是采用1-Wire总线技术的典型产品,其内部由4个主要的数据部件组成: 64位激光ROM:光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。 温度灵敏部件:DS18B20中的温度传感器可完成对温度的测量。 非易失性温度报警触发器TH与TL:可通过软件写入用户报警上下限值。 配置寄存器:为中间结果暂存器中的字节4。可以设置DS18B20温度转换的分辨率(9位、10位、11位、12位)。

8、上电缺省值为12位分辨率。测量温度范围为 -55+125,在-10+85范围内,精度为0.5。,DS18B20与AT89C51单片机接口电路:,DS18B20引脚定义,DS18B20接口程序可参照教材或其他资料,8.2 SMBus/I2C总线接口电路 SMBus 是 System Management Bus 的缩写,是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯,后来应用于单片机系统。其I/O接口只有2条接线:SDA和SCL。SCL(Serial Clock)为传输总线时钟,SDA(Serial Data)为传输总线数据。SMBus与I2C总线兼容。要了解更多的信

9、息,可参考以下文档: The I2C-Bus and how to use it (including specifications),PHILIPS Semiconductor. The I2C-Bus SpecificationVersion 2.0,PHILIPS Semiconductor. System Management Bus SpecificationVersion 1.1,SBS Implementers Forum.,8.2.1 I2C与SMBus总线简介 I2C总线是PHILIPS开发的双向二线总线,又称Intel IC总线。 I2C总线已成为一个国际标准,目前已知高版

10、本有V2.12000。 I2C总线是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输,可通过冲突检测和仲裁防止数据被破坏。 I2C总线数据传输位速率在标准模式下可达100kbps,快速模式下可达400kbps,高速模式下可达3.4Mbps。 符合I2C总线的CMOS IC还具有极低的电流消耗,抗高噪声干扰,电源电压范围宽,工作温度范围广等优点。,8.2.1 I2C与SMBus总线简介 SMBus总线仅需串行数据SDA和时钟SCL线在总线上传输数据。每个器件都有一个唯一的地址,无论是微控制器、LCD驱动器、存储器或键盘接口,只要符合SMBus总线(或I2C总线)规范,均可以采用DIP拨

11、码开关或相关控制寄存器配置一个唯一的地址。 SMBus器件按数据的流向可分为发送器和接收器。发送器发送数据,接收器则接收数据。一般来说,同一个SMBus器件既可以是发送器,也可以是接收器。SMBus总线是单工总线,即总线上同一时刻发送方只能发送数据,不能接收数据;而SPI和URAT总线(在异步模式下)则可在同一时刻既能发送数据,又能接收数据。,8.2.2 SMBus/I2C器件连接 SMBus/I2C器件一般要求其输入/输出端口为开漏设计,在总线终端通过上拉电阻拉至相应逻辑电平。比如对于3.3V器件,则上拉至3.3V电源;对于5V器件,则上拉至5V电源,同一总线上允许不同电平要求的器件共存。,

12、8.2.3 SMBus/I2C协议 1SMBus/I2C时序 SMBus/I2C总线一个完整的数据帧,由起始位、地址+读/写控制位、确认(或非确认)位、数据位(8位)和停止位组成,而且是分次发送的。 SMBus/I2C发送的顺序和SPI总线一样,先发送高位,再发送低位;而UART则不同,先发送低位,再发送高位。,8.2.3 SMBus/I2C协议 2SMBus/I2C仲裁 SMBus/I2C允许在同一总线有多个主机,在传输过程中可能出现多个主机同时发送信息的情况。SMBus/I2C采用一种仲裁机制,以保证在总线竞争中只有一个主机取得发送权,其他主机退出竞争。 在总线竞争中,只要有主机试图发送高

13、电平,而其他主机试图发送低电平时,发送高电平的主机将退出竞争,剩下的主机继续竞争,最后发送高电平的主机赢取发送权,并继续发送数据。在竞争过程中已发送的数据不需要重发,因为SMBus/I2C采用开漏设计,所发送的高电平被低电平拉低,所以不影响赢取发送权的主机所发送的数据。而退出竞争的主机须通过软件查询总线竞争失败,并通过软件控制停止发送。,几个主机同时发送信息,各个主机在SCL线上输出时钟,由于各个主机的时钟会有差异,且SCL上的时钟不仅仅有频率上的差异,还有相位上的差异,SMBus/I2C总线是如何保持时钟同步的呢?SMBus/I2C提供了时钟同步机制。,SMBus/I2C总线的时钟同步机制,

14、3SMBus/I2C传输模式 SMBus/I2C传输模式可分为主机发送、主机接收、从机发送和从机接收4种模式。,8.2.4 SMBus/I2C总线器件接口实例1CAT24Cxxx与MCS-51单片机接口 CAT24Cxxx主要特点: (1)支持I2C总线数据传送协议; (2)数据线上的看门狗定时器(仅对CAT24Cxx1) ; (3)和400KHz I2C总线兼容 ; (4)2.7V至6V的工作电压 ; (5)低功耗CMOS工艺 ; (6)16字节页写缓冲区 ; (7)片内防误擦除写保护; (8)高低电平复位信号输出,精确的电源电压监视器,可选择5V、3.3V和3V的复位门槛电平; (9)10

15、0万次擦写周期,数据保存可长达100年; (10)8脚DIP或SOIC封装。,24CXX1/XX2引脚,CAT24C021与单片机接口的硬件电路,CAT24C021接口程序参照教材或其他资料,8.2.4 SMBus/I2C总线器件接口实例2 MCS-51单片机与数字电位器X9241接口 X9241是Xicor公司生产的一种串行I2C总线接口集成数字电位器。它把4个非易失性数控电位器(E2POT)集成在一片CMOS集成电路内(电阻值有2 k ,l0 k ,50 k ),每个电位器的滑动端共有64个离散的调节节点,并有4个8bit的E2PROM数据寄存器以及一个滑刷控制寄存器(WCR)。通过相应指

16、令使电位器的WCR(滑刷控制寄存器)与某个数据寄存器相关联,也可以直接控制WCR以达到改变电位器滑动端位置的目地。 X9241内部包括一个I2C接口和四个数字电位器。每个数字电位器由电阻阵列及与之对应的滑动端计数寄存器WCR、四个8位数据寄存器R0R3等部分构成。,X9241引脚排列,单片机与X9241的接口电路,主器件(AT89C51)输出它所要访问的从器件(X9241)地址,该地址的格式如下:,对于X9241来说,这个地址的高4位固定为0101,低4位由物理的器件地址A0A3输入端状态决定。如图3-20由于只连接一片X9241数字电位器,则地址A3A2A1A0=0000,故X9241的器件地址固定为50H。这样,X9241把串行数据流与地址输入端的状态进行比较,若所有位都比较成功,则该器件在总线上作出一个应答响应。 主器件在发送完起始条件及器件地址,且从器件作出应答之后,将指令及寄存器指针的信息送到X9241的下一个字节,其格式如下:,X924

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号