单片机的串行扩展技术优秀课件
合集下载
单片机应用系统的串行扩展PPT课件
精品课件
34
精品课件
图11-5 SPI数据传送格式
35
35
目前世界各大公司为用户提供了一系列具有SPI接口的单片 机和外围接口芯片,例如Motorola公司存储器MC2814、显示驱 动器MC14499和MC14489等各种芯片;美国TI公司的8位串行 A/D转换器TLC549、10位串行A/D转换器TLC1549、12位串行 A/D转换器TLC2543等。
辨率和转换时间的关系。用户可通过修改R1、R0位的编码,
获得合适的分辨率。
精品课件
11
由表11-1可看出,DS18B20的转换时间与分辨率有关。当设 定分辨率为9位时,转换时间为93.75ms;……;当设定分辨率 为12位时,转换时间为750ms。
表11-2列出了DS18B20温度转换后所得到的16位转换结果的
单总线串行扩展11单总线系统的典型应用ds18b20的温度测量系统12单总线ds18b20温度测量系统的设计i2c总线的串行扩展31i2c串行总线系统的基本结构32i2c总线的数据传送规定33at89s52的i2c总线系统扩展34i2c总线数据传送的模拟35利用i2c总线扩展e2promat24c02的ic卡设计内容概要单片机应用系统除并行扩展外1.1 单总线串行扩展
单总线也称1-Wire bus,由美国DALLAS公司推出的外围串 行扩展总线。它只有一条数据输入/输出线DQ,总线上的所有 器件都挂在DQ上,电源也通过这条信号线供给,这种只使用一 条信号线的串行扩展技术,称为单总线技术。
单总线系统中配置的各种器件,由DALLAS公司提供的专用 芯片实现。每个芯片都有64位ROM,厂家对每一芯片都用激光 烧写编码,其中存有16位十进制编码序列号,它是器件的地址 编号,确保它挂在总线上后,可唯一地被确定。
单片机原理及应用第11章串行扩展技术
DALLAS公司的单总线器件的单总线的写1、写0、 读1、读0和寻址都有严格的时序规范,在每一个时序 中,总线只能传输一位数据,一位数据的读取至少需 要60us的时间,具体的时序内容可查询相关资料。
例如:DHT11:由瑞士sensiron司生产的单片数字温湿 度集成传感器,共有三个管脚: Vcc、GND、DATA。
第十一章 单片机的串行扩展技术
11.1 概述
传统的单片机扩展技术是并行总线扩展,所谓三 总线(AB、DB、CB),其优点是速度快,但随着单片 机扩展容量的增加和处理数据位数的增加,芯片的引 脚、尺寸也随之增多和增大。导致电路板尺寸大、成 本高的问题。
串行扩展技术的出现解决了上述问题,传行器件 的I/O接口线少,一般1~4条,简化了器件间的连接, 减小了系统的尺寸;另外,串行技术还有工作电压宽、 抗干扰强、低功耗等优点;因而有很多的应用领域。
其时序图如下:
CS:
SCK:
DI/DO: D7 D6 D5 D4 D3 D2 D1 D0
数据的传送格式一般以高位(MSB)在前,低 位(LSB)在后;根据芯片的不同,有的是SCK上升 沿锁存数据,有的是下降沿锁存数据;SPI总线的数 据传送速率可达几Mbit/s。
• 例如:基于SPI总线的12位串行D/A转换器DAC7512。
在SPI串行通信中,一般基于四条信号线: MISO:主机数据输入,从机数据输出; MOSI:主机数据输出,从机数据输入; SCK:主机串行时钟输出; CS: 从机片选信号。
在SPI串行扩展系统中,由主器件启动一次数 据传送,从SCK输出8/16个时钟周期,传送给从器 件作为同步时钟,控制数据的输入或输出。一般高 位(MSB)在前,低位在后,数据的输入或输出, 都取决于SCK,有的SPI芯片是SCK上升沿锁存数据, 有的是下降沿锁存。S来自A SPSCL
第8章单片机的串行扩展技术
一. 80C51 UART方式0的归一化子程序
3. 应用界面与操作命令 在设计好UART方式0的归一化子程序UARTNO/UARTNI 后,UART方式0的串行扩展就有了归一化的应用界面。
①应用范围:单片机通过UART方式0,从片内RAM发 送缓冲区/接收缓冲区发送/接收N个 字节数据。 ②入口条件和出口状态: 发送数据时,待发送数据放入发送缓冲区MTD中; 接收数据时,接收的数据放在接收缓冲区MRD中。
第8章 单片机的串行扩展技术
§8.1 单片机的串行扩展方式 §8.2 移位寄存器的串行扩展技术 §8.3 I2C总线的串行扩展技术 §8.4 虚拟I2C总线应用实例 §8.5 虚拟单总线应用实例பைடு நூலகம்
本章要求
1、了解单片机的串行扩展方式和方法。 2、了解掌握I2C总线的串行扩展技术。 3、了解掌握虚拟I2C总线应用实例的有 关电路和器件。
§8.2 移位寄存器的串行扩展技术
一. 80C51 UART方式0的归一化子程序
4. 归一化子程序简化 (3)应用指导
使用UARTO/UARTI时,界面十分简单,发送时,待 发送数据装入A中;接收时,接收到的数据在A中。 在使用UART方式0发送/接收一字节数据时,不 必使用UARTNO/UARTNI
5. 80C51 UART的串行扩展接口 ●80C51的UART有4种工作方式,其方式0时为串行同 步移位寄存器方式,RXD为串行数据输入/输出端 ,TXD端提供同步移位时钟脉冲。
时
钟 复 位 80C51 RXD TXD DATA CLK
移位 寄存 器串 行口
外 围 器 件
§8.1 单片机的串行扩展方式
§8.2 移位寄存器的串行扩展技术
二. 80C51 I/O口虚拟的归一化子程序
3. 应用界面与操作命令 在设计好UART方式0的归一化子程序UARTNO/UARTNI 后,UART方式0的串行扩展就有了归一化的应用界面。
①应用范围:单片机通过UART方式0,从片内RAM发 送缓冲区/接收缓冲区发送/接收N个 字节数据。 ②入口条件和出口状态: 发送数据时,待发送数据放入发送缓冲区MTD中; 接收数据时,接收的数据放在接收缓冲区MRD中。
第8章 单片机的串行扩展技术
§8.1 单片机的串行扩展方式 §8.2 移位寄存器的串行扩展技术 §8.3 I2C总线的串行扩展技术 §8.4 虚拟I2C总线应用实例 §8.5 虚拟单总线应用实例பைடு நூலகம்
本章要求
1、了解单片机的串行扩展方式和方法。 2、了解掌握I2C总线的串行扩展技术。 3、了解掌握虚拟I2C总线应用实例的有 关电路和器件。
§8.2 移位寄存器的串行扩展技术
一. 80C51 UART方式0的归一化子程序
4. 归一化子程序简化 (3)应用指导
使用UARTO/UARTI时,界面十分简单,发送时,待 发送数据装入A中;接收时,接收到的数据在A中。 在使用UART方式0发送/接收一字节数据时,不 必使用UARTNO/UARTNI
5. 80C51 UART的串行扩展接口 ●80C51的UART有4种工作方式,其方式0时为串行同 步移位寄存器方式,RXD为串行数据输入/输出端 ,TXD端提供同步移位时钟脉冲。
时
钟 复 位 80C51 RXD TXD DATA CLK
移位 寄存 器串 行口
外 围 器 件
§8.1 单片机的串行扩展方式
§8.2 移位寄存器的串行扩展技术
二. 80C51 I/O口虚拟的归一化子程序
单片机系统的串行扩展
级联使用的电路连接如图7710mrmr第77章章单片机系统的串行扩展19图77974ls164内部结构图图771074ls164级联使用电路连接图第77章章单片机系统的串行扩展20723串行扩展ad转换器随着对智能化仪表微型化要求的越来越高串行ad转换器件由于具有体积小价格低占用io口线少等优点而被广泛应用
MSB为前导方式将控制字写入TLC2543的控制寄存器,每个数据位
都是在CLOCK序列的上升沿被写入控制寄存器。
第26页,此课件共37页哦
图7-3 I2C总线器件电气连接图
第9页,此课件共37页哦
9
I2C总线的数据传输协议要比SPI总线复杂一些,因为I2C 总线器件没有片选控制线,所以I2C总线数据传输的开始必须, 由 主 器 件 产 生 通 讯 的 开 始 条 件 ( SCL 高 电 平 时 , SDA 产 生 负 跳 变);通讯结束时,由主器件产生通讯的结束条件(SCL高电平 时,SDA产生正跳变)。SDA线上的数据在SCL高电平期间必须 保持稳定,否则会被误认为开始条件或结束条件,只有在SCL低 电平期间才能改变SDA线上的数据。图7-4为I2C总线的数据传输 波形图。
第4页,此课件共37页哦
4
主机的SS信号有效后,选中从设备,在SCK的上升沿主机发送数据 ,SCK的下降沿主机接收数据。而对没有SPI功能的单片机,则时序 图中的SDO和SCK的波形要由软件产生,数据的接收也要由软件 来完成。
第5页,此课件共37页哦
图7-2 SPI通讯的时序图
5
7.2 单片机的外部串行扩展
AT24C系列AT24C01~AT24C16芯片的存储容量最多为中 读n个字节的数据格式
从AT24C系列AT24C01~AT24C16中读n个字节的数据格式:
MSB为前导方式将控制字写入TLC2543的控制寄存器,每个数据位
都是在CLOCK序列的上升沿被写入控制寄存器。
第26页,此课件共37页哦
图7-3 I2C总线器件电气连接图
第9页,此课件共37页哦
9
I2C总线的数据传输协议要比SPI总线复杂一些,因为I2C 总线器件没有片选控制线,所以I2C总线数据传输的开始必须, 由 主 器 件 产 生 通 讯 的 开 始 条 件 ( SCL 高 电 平 时 , SDA 产 生 负 跳 变);通讯结束时,由主器件产生通讯的结束条件(SCL高电平 时,SDA产生正跳变)。SDA线上的数据在SCL高电平期间必须 保持稳定,否则会被误认为开始条件或结束条件,只有在SCL低 电平期间才能改变SDA线上的数据。图7-4为I2C总线的数据传输 波形图。
第4页,此课件共37页哦
4
主机的SS信号有效后,选中从设备,在SCK的上升沿主机发送数据 ,SCK的下降沿主机接收数据。而对没有SPI功能的单片机,则时序 图中的SDO和SCK的波形要由软件产生,数据的接收也要由软件 来完成。
第5页,此课件共37页哦
图7-2 SPI通讯的时序图
5
7.2 单片机的外部串行扩展
AT24C系列AT24C01~AT24C16芯片的存储容量最多为中 读n个字节的数据格式
从AT24C系列AT24C01~AT24C16中读n个字节的数据格式:
第12章单片机的串行扩展技术
(1)起始信号(S)。在SCL线为高电平期间,SDA线由高电 平向低电平的变化表示起始信号,只有在起始信号以后, 其他命令才有效。
(2)终止信号(P)。在SCL线为高电平期间,SDA线由低电 平向高电平的变化表示终止信号。随着终止信号的出现, 所有外部操作都结束。
起始和终止信号都是由主器件发出的,在起始信号产生后,总 线就处于被占用的状态;在终止信号出现后,总线就处于 空闲状态。起始信号和终止信号如图12-7所示。
接收器件收到一个完整的数据字节后,有可能需要完成一些其 他工作(如从器件正在进行实时性的处理工作而无法接收 总线上的数据),不需要立刻接收下一字节,这时接收器 件可以将SCL线拉成低电平,从而使主器件处于等待状态。 直到接收器件准备好接收下一个字节时,再释放SCL线使之 为高电平,从而使数据传送可以继续进行。
“1”的模拟时序如图12-10~图12-13所示。
表12-1所示为I2C总线的时序特性。表中的数据为程序模拟I2C 总线信号提供了基础。
由表可知,除了SDA、SCL线的信号下降时间为最大值外,其他 参数只有最小值。这表明在I2C总线的数据传送中,可以利用 时钟同步机制展宽低电平周期,迫使主器件处于等待状态, 使传送速率降低。
它可以使具有I2C总线的单片机(如PHILIPS公司的8xC552 )直 接与具有I2C总线接口的各种扩展器件(如存储器、I/O口、 A/D、D/A、键盘、显示器、日历/时钟)连接。
对不带有I2C接口的单片机(如89C51)可采用普通的I/O口结合 软件模拟I2C串行接口总线时序的方法,完成I2C总线的串行 接口功信号线,一条是数据线SDA,另一条是时钟线SCL,所 有连接到I2C总线上器件的数据线都接到SDA线上,各器件的 时钟线均接到SCL线上,系统的基本结构如图12-5所示。
51单片机学习21(串行扩展)
展总线。它只有一条数据输入/输出线DQ,总线上的所有器件都
挂在DQ上,电源也可通过这条信号线供给,称为单总线技术。 各种器件,由DALLAS 公司提供的专用芯片实现。每个芯片
都有64位ROM,厂家对每一个芯片用激光烧写器件的全球唯一序
列号。 这些芯片的耗电量都很小(空闲时几μW,工作时几mW),
工作时从总线上馈送电能到大电容中就可以工作,故一般不需
功能单一!
图9-21
12.2
SPI总线接口简介
P.221
SPI(Serial Peripheral Interface)是Motorola公司推出的 同步串行外设接口,允许单片机与多个厂家生产的带有该接 口的设备直接连接,如存储器MC2814、显示驱动器MC14499和 MC14489及其它I/O接口、A/D、D/A、键盘、日历/时钟等。 使用4条线:串行时钟SCK,主器件输入/从器件输出数据线 MISO(简称SO),主器件输出/从器件输入数据线MOSI(简称 SI)和从器件选择线。 SPI系统中从器件的选通依靠其引脚,优点是数据传送软件十分 简单,省去了传输时的地址选通字节。缺点是在扩展器件较 多时,连线较多 SPI有较高的数据传输速度,最高可达1.05Mb/s。
GND
· ·
VCC GND
· ··
DS18B20 内部结构图
主机发复位脉冲
接收从机“存在”脉 冲
写“0”
写“1”
作电压宽、抗干扰能力强、功耗
低、数据不易丢失等特点。 因此,串行扩展技术在IC卡、智能仪器仪表以及分布式
控制系统等领域得到了广泛的应用。
【回顾】
P.160
9.5.2
用74LS164扩展并行输出口
74LS164:8位串入并出移位寄存器。 图9-22是利用74LS164扩展二个8位并行输出口的接口电路。 . 串口方式0: 每当新数据写入SBUF,即把SBUF中的8位数据以串行移出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图12-1
这些芯片的耗电量都很小(空闲时几μW,工作时几mW),工 作时从总线上馈送电能到大电容中就可以工作,故一般不需 另加电源。
图12-2为一个由单总线构成的分布式温度监测系统。多个带有 单总线接口的数字温度计和多个集成电路DS1820芯片都挂在 DQ总线上。单片机对每个DS1820通过总线DQ寻址。DQ为漏极 开路,须加上拉电阻。
I2C总线系统允许多主器件,为避免混乱,某一时刻究竟由哪 一台主器件来控制总线要通过总线仲裁来决定。读者可查阅 I2C总线的仲裁协议。当然,经常遇到的是以单片机为主器 件,其他外围接口器件为从器件的单主器件情况。
图12-4 数据线上输出数据的变化以及输入数据时的采样,都取决于
SCK。但对于不同的外围芯片,有的可能是SCK的上升沿起作 用,有的可能是SCK的下降沿起作用。
SPI有较高的数据传输速度,最高可达1.05Mb/s。 Motorola公司为广大用户提供了一系列具有SPI接口的单片机
和外围接口芯片,如存储器MC2814,显示驱动器MC14499和 MC14489等芯片。 SPI外围串行扩展系统的主器件是单片机,也可以不带SPI接口, 但是从器件一定要有具有SPI接口。 12.3 I2C串行总线的组成及工作原理 I2C串行总线只有两条信号线,一条是数据线SDA,另一条是时 钟线SCL,所有连接到I2C总线上器件的数据线都接到SDA线 上,各器件的时钟线均接到SCL线上, I2C总线系统的基本 结构如图12-5所示。
它可以使具有I2C总线的单片机(如PHILIPS公司的8xC552 )直 接与具有I2C总线接口的各种扩展器件(如存储器、I/O口、 A/D、D/A、键盘、显示器、日历/时钟)连接。
对不带有I2C接口的单片机(如89C51)可采用普通的I/O口结合 软件模拟I2C串行接口总线时序的方法,完成I2C总线的串行 接口功能。
单片机的串行扩展技术
12.1 单总线接口简介 单总线(1-Wire bus)是由DALLAS 公司推出的外围串行
扩展总线。它只有一条数据输入/输出线DQ,总线上的所有器 件都挂在DQ上,电源也通过这条信号线供给,这种使用一条信 号线的串行扩展技术,称为单总线技术。
各种器件,由DALLAS 公司提供的专用芯片实现。每个芯 片都有64位ROM,厂家对每一个芯片用激光烧写编码,其中存 有16位十进制编码序列号,它是器件的地址编号,确保它挂在 总线上后,可以唯一被确定。除了器件的地址编码外,芯片内 还包含收发控制和电源存储电路,如图12-1所示。
DALLAS公司为单总线的寻址及数据的传送提供了严格的时序规 范,具体内容读者可查阅相关资料。
图SPI(Serial Periperal Interface)是Motorola公司推出的
同步串行外设接口,允许单片机与多个厂家生产的带有该接 口的设备直接连接,以串行方式交换信息。 使用4条线:串行时钟SCK,主器件输入/从器件输出数据线 MISO(简称SO),主器件输出/从器件输入数据线MOSI(简 称SI)和从器件选择线。 SPI的典型应用是单主系统。该系统只有一台主器件,从器件 通常是外围接口器件,如存储器、I/O接口、A/D、D/A、键 盘、日历/时钟和显示驱动等。 图12-3是SPI外围串行扩展结构图。
主器件可以具有I2C总线接口,也可以不带I2C总线接口。 从器件可以是存储器、LED或LCD驱动器、A/D或D/A转换器、时
钟/日历器件等,从器件必须带有I2C总线接口。 I2C串行总线的SDA和SCL是双向的,带有I2C总线接口的器件的
输出端为漏级开路,故必须通过上拉电阻接正电源(见图 12-5中的两个电阻)。 总线空闲时,两条线均为高电平。由于连接到总线上的器件的 输出级必须是漏级或集电极开路的,只要有一个器件输出低 电平,都将使总线上的信号变低。SCL线上的时钟信号对SDA
12.3.1 I2C串行总线概述
只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所 有连接到I2C总线上器件的数据线都接到SDA线上,各器件的 时钟线均接到SCL线上,系统的基本结构如图12-5所示。
图12-5
I2C的运行由主器件控制,主器件是指启动数据的发送(发出起 始信号)、发出时钟信号、传送结束时发出终止信号的器件。
图12-3
单片机与外围器件在时钟线SCK、数据线MISO和MOSI都是同名 端相连。
扩展多个外围器件时,SPI无法通过数据线译码选择,故接口 的外围器件都有片选端。在扩展单个SPI器件时,外围器件 的片选端可以接地或通过I/O口控制;在扩展多个SPI器件 时,单片机应分别通过I/O口线来分时选通外围器件。
线上的各器件间的数据传输起同步控制作用。SDA线上的数据 起始、终止及数据的有效性均要根据SDA线上的时钟信号来 判断。
标准I2C普通模式,数据的传输速率为100kb/s,高速模式可 达400kb/s。
总线上扩展器件的数量不是由电流负载决定,而是由电容负 载确定。I2C总线上每个节点器件的接口都有一定的等效电 容,连接的器件越多,电容值越大,这会造成信号传输的 延迟。总线上允许的器件数以总线上的电容量不超过400pF (通过驱动扩展可达4000pF),据此可计算出总线长度及 连接器件的数量。每个连到I2C总线上的器件都有一个唯一 的地址,扩展器件时同时也要受器件地址数目的限制。
在SPI串行扩展系统中,如果某一从器件只作输入(如键盘) 或只作输出(如显示器)时,可省去一条数据输出(MISO) 或一条数据输入(MOSI),从而构成双线系统(接地)。
SPI系统中从器件的选通依靠其引脚,数据传送软件十分简 单,省去了传输时的地址选通字节。但在扩展器件较多时, 连线较多。
在SPI串行扩展系统中,作为主器件的单片机在启动一次传送 时,便产生8个时钟,传送给接口芯片作为同步时钟,控制 数据的输入和输出。数据的传送格式是高位(MSB)在前, 低位(LSB)在后,如图12-4所示。