第11章 串行扩展技术
串行通信及串行扩展技术
传感器数据采集
01
串行通信接口可以连接各种模拟或数字传感器,实现数据的实
时采集和传输。
数据处理与存储
02
通过串行通信将采集到的数据传输到上位机或数据中心,进行
进一步的处理、分析和存储。
系统监控与控制
03
串行通信可用于实现远程监控和控制,提高数据采集系统的灵
活性和可维护性。
在远程监控系统中的应用
01
特点
传输线少,成本低,适用于远距 离通信,但传送速度较慢。
串行通信协议
异步通信协议
以字符为单位进行传输,字符间通过 特定的起始位和停止位进行同步。
同步通信协议
以数据块为单位进行传输,通过同步 字符或同步信号实现收发双方的时钟 同步。
串行通信接口标准
RS-232C接口标准
定义了数据终端设备(DTE)和数据通信设备(DCE)之间的接口标准,采用 负逻辑电平,最大传输距离约15米。
串行扩展工作原理
01
数据传输
在串行通信中,数据以位为单位进行传输。发送端将数据按位依次发送
到传输线上,接收端按位接收并组合成完整的数据。数据传输过程中需
要遵循特定的通信协议和数据格式。
02
同步与异步通信
串行通信可分为同步通信和异步通信两种方式。同步通信需要发送端和
接收端保持严格的时钟同步,而异步通信则通过特定的起始位和停止位
无线化发展趋势
无线通信技术的普
及
随着无线通信技术的不断发展, 串行通信逐渐实现无线化,使得 设备间的通信更加灵活方便。
低功耗无线通信技
术
针对低功耗设备的需求,发展出 低功耗无线通信技术,延长设备 的续航时间。
无线通信安全性增
第11章串行扩展技术
11.3 I2C总线扩展
11.3.1 I2C总线基础
1、I2C总线架构 – I2C总线 (Inter-Integrated Circuit BUS)是PHILIPS公司开发 的一种双向两线制同步串行总线,用于连接微控制器及其外 围设备,实现连接于总线上的器件之间的信息传送,是近年 来微电子通信控制领域广泛采用的一种总线标准。 – 目前许多接口器件采用了I2C总线接口,如AT24C系列 2PROM器件、LED驱动器SAA1064等。PHILIPS公司推出 的包括LED驱动器、LCD驱动器、A/D转换器、D/A转换器、 RAM、EPROM及I/O接口在内的I2C接口电路芯片。 – I2C总线只有两根双向信号线。一根是数据线SDA,另一根是 时钟线SCL。所有连接到I2C总线上器件的数据线都接到 SDA线上,各器件的时钟线均接到SCL线上。
11.2 SPI总线串行扩展
DJNZ R2,LOOP1 ;是否完成8次转换结果读入和命令输出?未 完则跳 MOV ADOUTL,A ;读入的8位转换结果存人ADOUTL单元 MOV A,#00H ;A清0 MOV R2,#04H ;为读入4位转换结果做准备 LOOP2:MOV C,P1.2 ;读入高4位转换结果中的1位 RRC A ;带进位位循环右移 SETB P1.0 ;产生1个时钟 NOP CLR P1.0 NOP DJNZ R2,LOOP2 ;是否完成4次读入?末完则跳LOOP2 MOV ADOUTH,A ;高4位转换结果存人ADOUTH单元中 的高4位 SWAP ADOUTH ;ADOUTH单元中的高4位与低4位互换 SETB P1.0 ;时钟无效 RET
第11章 目录
11.3 I2C总线扩展
11.3.1 I2C总线基础 11.3.2 80C51的I2C总线时序模拟 11.3.3 80C51与AT24C02的接口
串行总线扩展技术
10.1.1 I2C总线
89C51
P1.0 P1.1
UCC
LCD
显示器
KEY 键盘
LED 显示器
时钟
LCD驱动 控制器
SDA
SCL
键盘 芯片
SDA
SCL
LED 驱动 控制器
SDA
SCL
时钟 芯片
SDA
SCL
SDA SCL SRAM
SDA
SCL
E2PROM
SDA
SCL
ADC/DAC
SDA
SCL
I/O
பைடு நூலகம்24
10.1.5 I2C总线应用
(二)I2C总线扩展E2PROM
AT24CXX系列串行E2PROM是Atme1公司生产的 I2C总线接口功能的串行E2PROM器件,具有掉电保护 功能 ,AT24C02容量为256字节。AT24CXX系列的写 入时间一般需要5~10ms。
A0 A1 A2 GND
AT240C2
(二)I2C总线扩展E2PROM MCS-51单片机与AT24C02 的连接电路
时钟线SCL的一个时钟周期只能传输一位数据。在 SCL时钟线为高电平期间内,数据线SDA上的数据必须 稳定。当SCL时钟线变为低电平时,数据线SDA的状态 才能改变。
8
10.1.2 I2C总线的数据传输
(二)启始和停止状态 。
起始和停止状态是由主机发出
起始(START)状态:I2C总线传输过程中,当时钟 线SCL为高电平时,数据线SDA出现高电平到低电平跳 变时,标志I2C总线传输数据开始。
A I/O DATA A P
输入时,R/ W=1,SLAW为0100(A2A1A0)1。
单片机原理及接口技术AT89S51单片机系统的串行扩展
单片机原理及接口技术AT89S51单片机系统的串行扩展在单片机系统中,为了扩展其功能和使用,需要与其他外部设备进行通信。
串行通信是一种常见的通信方式,它通过将数据逐位地进行传输和接收。
AT89S51单片机具有多种功能引脚,可以用来实现串行扩展。
包括UART串口、SPI接口和I2C总线等。
UART串口是一种常用的串行通信接口,它使用两根引脚(TXD和RXD)进行数据传输。
在AT89S51单片机中,可以使用其内置的UART模块来实现串行扩展。
首先,需要设置串口的波特率、数据位、停止位和校验位等参数。
然后,在程序中通过读写串口数据寄存器来进行数据的传输和接收。
SPI接口是一种全双工的串行通信接口,它使用四根引脚(SCLK、MISO、MOSI和SS)进行数据的传输和接收。
在AT89S51单片机中,可以使用其内置的SPI模块来实现串行扩展。
首先,需要设置SPI的工作模式、数据位、时钟极性和相位等参数。
然后,在程序中通过读写SPI数据寄存器来进行数据的传输和接收。
I2C总线是一种双向的串行通信总线,它使用两根引脚(SDA和SCL)进行数据的传输和接收。
在AT89S51单片机中,可以通过软件实现I2C总线的功能。
首先,需要设置I2C的时钟频率和器件地址等参数。
然后,在程序中通过控制I2C总线的起始、停止、发送和接收来进行数据的传输和接收。
串行扩展可以实现单片机与其他外设的数据交互,包括和PC机的通信、与传感器的连接等。
通过串行扩展,单片机能够实现更复杂的功能和应用。
在编程过程中,需要合理地使用串口、SPI接口和I2C总线等技术,根据具体的应用需求选择合适的通信方式。
总之,单片机原理及接口技术是一种重要的扩展技术,可以极大地增强单片机的功能和使用。
在AT89S51单片机系统中,串行扩展是一种常见的技术。
通过合理地使用UART串口、SPI接口和I2C总线等技术,可以实现单片机与其他外设的数据交互,进而实现更复杂的功能和应用。
单片机原理及应用第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
单片机系统常用串行扩展技术
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
12
9.1.1 I2C串行总线
总线信号:
----总线信号
(1) 起始信号 (S) :在时钟信号 SCL 为高电平时,数据线 SDA 从高 电平变为低电平产生起始条件,标志着启动I2C总线。 (2) 终止信号 (P) :在时钟信号 SCL 为高电平时,数据线 SDA 从低 电平变为高电平,标志着终止I2C总线传输过程。
可根据器件的I2C总线接口的等效电容确定可扩展的
器件数目和总线的长度,以减小总线传输的延迟和 出错。
13:47
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
9
9.1.1 I2C串行总线
2.I C总线的工作方式
2
----工作及寻址方式
I2C 总线支持多主和主从两种工作方式。一般的设计中 I2C总线工作在主从工作方式,I2C总线上只有一个主器件, 其它均为从器件。主器件对总线具有控制权。在多主方式中, 通过硬件和软件的仲裁,主控制器取得总线控制权。
9.1.3 单线总线
9.2 串行存储器扩展 9.2.1 I2C接口EEPROM的 存储器扩展 9.2.2 SPI接口的大容量 FLASH存储器扩展
9.4.2 串行键盘和LED显示器 扩展实例
9.5 串行总线扩展实例简介 习题与思考题
9.3 串行转并行I/O接口扩展
9.3.1 串行转并行I/O扩展芯 片的工作原理
单片机系统采用I2C总线可方便地扩展外部存储器、AD和DA 转换器、实时时钟、键盘、显示等接口电路。如下图。
13:47
单片机原理与接口技术(第2版).李晓林.电子工业出版社
返回目录
单片机的串行扩展技术
精选ppt
(一)I2C总线工作方式
I2C总线上进行一次数据传输的通信格式如下图9-2所示。
SDA
SCL
起始信号
17 地址
8 读/写
9 应答
17
8
数据
9
17 8
应答
数据
9 应答
终止信号
精选ppt
(二)I2C总线数据传输方式模拟
目前已有多家公司生产具有I2C总线的单片机,如 Philips 、Motorola、韩国三星、日本三菱等公司。这类单 片机在工作时,总线状态由硬件监测,无须用户介入,应 用非常方便。对于不具有I2C总线接口的MCS-51单片机, 在单主机应用系统中可以通过软件模拟I2C总线的工作时 序,在使用时,只需正确调用该软件包就可很方便地实现 扩展I2C总线接口器件。
精选ppt
9.1.1串行扩展的特点
串行扩展总线技术是新一代单片机技术发展的一个显著特点。与 并行扩展总线相比,串行扩展总线有突出的优点:电路结构简单,程 序编写方便,易于实现用户系统软硬件的模块化、标准化等。
9.1.2串行扩展的种类
目前在新一代单片机中使用的串行扩展接口有Motorola的SPI, NS公司的Microwire/Plus和Philips公司的I2C总线、其中总线I2C具有 标准的规范以及众多带I2C 接口的外围器件,形成了较为完备的串行 扩展总线。
单片机应用系统扩展课件
后,P0口又作为数据总线口
(D7~D0),对当前的地址单元
传输数据。 4
2.P2口的口线作为高位地址 P2口的全部8位口线用作系统高8位地址线,再加上地 址锁存器输出提供的低8位地址,便形成了系统的16位地址 总线,从而使单片机系统的寻址范围可达到64KB。 3.控制信号线 这些信号有的就是单片机引脚的第一功能信号,有的 则是P3口第二功能信号。其中包括: PSEN*:外部扩展的程序存储器的读选通信号; RD*和WR*:外部数据存储器和I/O接口的读、写选通 控制信号; EA*:片内、外程序存储器访问选择控制端。
单片机进行存储器扩展,实 际上就是设计单片机的三总线如 何和存储器3类信号进行连接。
A0~An
D0~D7
WE* OE* CE*
62xxx
图10-8 SRAM逻辑符号
15
对3类线要掌握以下特点: A0~An:片内地址输入线,单片机向存储器传送地址信 号。片内地址线的数量,确定了存储器芯片片内的单元数量。 地址线有n+1条,意味着存储器芯片内部有2n+1个单元,通常 用16进制表示。如6264的地址线有13条,则内部有213个单元, 即1FFFH个单元(8KB)。 D0~D7:双向三态数据线,用来 对地址线确定的存储单元输入/输出数据信号。不传输数据时, 引脚呈现高阻状态 CE*:片选信号输入线,低电平有效。只有存储器的片选 信号有效,该存储器才能进行读、写或擦除操作,否则数据 线位高阻状态。 OE*:读选通信号输入线,低电平有效。对于SRAM,直 接连接单片机的RD*信号;对于EPRON,直接连接PSEN*信 号,对于EEPROM,可以采用RD*和PSEN*相“与”的信号。 WE*:写允许信号输入线,低电平有效。对于SRAM或 EEPROM,直接连接单片机的WR*信号;EPROM不能在线写, 所以不要连接。
移位寄存器的串行扩展技术
移位寄存器的串行扩展技术编者按:移位寄存器的串行扩展技术是单片机串行口扩展的一种常用方法。
对于MCS-51系列单片机而言,将串口置为工作方式0,串口便工作在移位寄存器方式下了。
此时,单片机的RXD口作串行数据的发送/接收口,TXD口作移位脉冲输出口。
利用单片机串口的这一特性,可以十分方便地扩展I/O口线,本文便是一例。
通过本例,读者除了可以加深对串口工作方式0的理解外,还可以举一反三,将之用于其他需要进行I/O口扩展的场合,比如用串口扩展键盘等。
遥控数码报时闹钟CD4094是带输出锁存和三态控制的串入/并出高速转换器,具有使用简单、功耗低、驱动能力强和控制灵活等优点。
CD4094的引脚定义如图1。
其中{1}脚为锁存端,{2}脚为串行数据输入端,{3}脚为串行时钟端。
{1}脚为高电平时,8位并行输出口Q1~Q8在时钟的上升沿随串行输入而变化;{1}脚为低电平时,输出锁定。
利用锁存端可方便地进行片选和级联输出控制。
{15}脚为并行输出状态控制端,{15}脚为低电平时,并行输出端处在高阻状态,在用CD4094作显示输出时,可使显示数码闪烁。
{9}脚QS、{10}脚Q′S是串行数据输出端,用于级联。
QS端在第9个串行时钟的上升沿开始输出,Q′S端在第9个串行时钟的下降沿开始输出。
当CD4094电源为5V时,输出电流大于3.2mA,灌电流为1mA。
串行时钟频率可达2.5MHz。
1.CD4094作静态LED显示驱动器图2为用CD4094作驱动器的三位数码管静态显示电路略图。
单片机串口工作在方式0,即移位寄存器方式。
输出数据首先送到IC1,第二次输出的数据移至IC1时,先前输出数据则移到IC2,依此类推。
输出三次后,在IC1、IC2、IC3的Q1~Q8口分别得到数据3、数据2、数据1。
程序如下:(DISP为显示子程序)..................MOVSCON,#00H;置串口为方式0..................DISP:CLRP3.7;输出锁存MOVR0,#33H;显示值送33H、34H、35HMOVR7,#03H;置数码管个数3LP:MOVA,@R0MOVDPTR,#TAB;置字段码表首址MOVCA,@A+DPTR;查字段码表MOVSBUF,A;送字段码JNBTI,$ ;等待传送结束CLRTI;清串行中断标志INCR0;显缓区地址加1DJNZR7,LP;显示数码是否取完?SETBP3.7;允许输出显示NOPCLRP3.7;输出锁存RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FHDB6FH,00H说明:在串行口不作为其他使用,且显示的更新速度很低时,STROBE端可以始终接高;也可将P3.7口接到CD4094的{15}脚,从P3.7口输出一定频率的脉冲,使显示闪烁。
串行扩展的特点
串行扩展的特点串行扩展总线技术是新一代单片机技术发展的一个显著特点。
其中公司推出的I2C总线最为著名。
与并行扩展总线相比,串行扩展总线有突出的优点:电路构造简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等,目前I2C总线技术已为许多著名公司所采用,并广泛应用于视频、音像系统中。
I2C(IIC)总线是Philips公司推出的芯片间串行传输总线。
它用两根线实现了完善的全双工同步数据传送,可以极为方便地构成多机系统和外围器件扩展系统。
I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全防止了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。
SPI(Serial Peripheral Interface,串行外设接口)总线系统是Motorola公司提出的一种同步串行外设接口,允许MCU与各种外围设备以同步串行方式开展通信,其外围设备种类繁多,从最简单的TTL移位存放器到复杂的LCD 显示驱动器、网络控制器等,可谓应有尽有。
SPI总线提供了可直接与各厂家生产的多种标准外围器件直接连接的接口,该接口一般使用4根线:串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI 和低电平有效的从机选择线SS。
由于SPI系统总线只需3根公共的时钟数据线和若干位独立的从机选择线(依据从机数目而定),在SPI从设备较少而没有总线扩展能力的单片机系统中使用特别方便。
即使在有总线扩展能力的系统中采用SPI设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。
USB比较于其他传统接口的一个优势是即插即用的实现,即插即用(Plug-and-Play)也可以叫做热插拔(Hot plugging)。
USB接口的最高传输率可达12Mbit/S。
一个USB口理论上可以连接127个USB设备,连接的方式也十分灵活。
Microwire串行通信接口是NS公司提出的,Microwire 是串行同步双工通信接口,由一根数据输出线、一根数据输入线和一根时钟线组成。
单片机的串行扩展技术
Loop:
CLR MOVC CJNE AJMP
A A, @A+DPTR A, #0x55, Loop1 Start
; 清0累加器A ; 查表,取待传送的数据 ; 是否“结束码”?否,则跳转到Loop1
输入数据为0
传送前8位数据,即段选位 ACALL HC164_Serial_Change_Parallel ; 先传数段选位 MOV A, #0x00 理想的实验效果: 位选位全部置“0” 将选通所有数码管 ACALL HC164_Serial_Change_Parallel ; 后传送位选位,全部置“0” Loop1: ACALL Delay ; 增加延时时间,动态显示效果更明显 输入数据 ACALL Delay INC 0x6F, DPTR0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F ; 0~9字符表 ; 数据指针加1,取下一个码 .DB 0x06, 列 AJMP Loop .DB 0x55 表 ……
HC164_Serial_Change_Parallel: MOV Send_1_bit_Data: RLC MOV R6, #0x08
A中存储8位数据D7~D0 带进位左移,依次将D7~D0 ; 传送1位数据 中的数据移入进位C A ; 将A中的最高位左移到进位位C ; 将进位位C的内容送到P1.0口AB端
R5, A 将A中的数据传送到U1 ; 保存待传送的数据 HC164_Serial_Change_Parallel ; 调用8位串入并出送数子程序 A, R5 ; 取待传送的数据 HC164_Serial_Change_Parallel ; 调用8位串入并出送数子程序 Delay 将A中的数据传送到U1, DPTR U1中的数据传送到U2 ; 数据指针加1,取下一个码 Loop
第11 章 80C51单片机系统的串行扩展技术
11.4.1 SPI串行外设接口总线 11.4.2 SPI射频收发芯片NRF24L01接口设计 11.4.3 SPI接口Flash存储器AT25F1024接口设计
第11 章 80C51单片机串行扩展技术 串行扩展总线技术是单片机技术发展的一个显著特点,与
并行总线接口相比,串行总线接口占用I/O口线少,简化了器 件间连接,进而提高了可靠性;串行接口器件体积小,减少电 路板空间和成本,编程相对简单,易于实现用户系统软硬件的 模块化、标准化等优点。
线接口技术的发展,串行总线接口越来越受到人们的推崇。 1.单总线
1-wire总线是Dallas公司研制开发的一种协议,主要用于 便携式仪表和现场监控系统。 单总线利用一根线实现双向通 信,由一个总线主节点、一个或多个从节点组成系统,通过 一根信号线对从芯片进行数据的读取。
4
2.I2C I2C总线是Philips公司推出的芯片间串行扩展总线。I2C
写操作包括写“0”和写“1”两种时序,主机将DQ从高拉到低 时,产生写时序,DS18B20在15~60µs内采样DQ。如果采样获得低 电平,则向DS18B20写入“0”;如果采样到高电平,则写入“1” 。这两个独立时序间至少需拉高总线电平1µs时间。
24
(3)读时序 读时隙和写时隙类似,至少要持续60us,主机先拉低DQ至少
DS18B20的工作时序包括初始化时序、写时序和读时序。
23
(1)初始化时序 1-Wire bus的所有操作都是从一个初始化序列开始,主机将DQ
电平拉低480~960µs后释放,占领总线,等待15~60µs,DS18B20 回发一持续60~240µs的低电平,主机收到此应答后,即可继续操 作。 (2)写时序
串行总线扩展技术PPT文档共98页
46、我们若已接受最坏的,就再没有什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特
串行总线扩展技术
21、没有人陪你走一辈子,所以你要 适应孤 独,没 有人会 帮你一 辈子, 所以你 要奋斗 一生。 22、当眼泪流尽的时候,留下的应该 是坚强 。 23、要改变命运,首先改变自己。
24、勇气很有理由被当作人类德性之 首,因 为这种 德性保 证了所 有其余 的德性 。--温 斯顿. 丘吉尔 。 25、梯子的梯阶从来不是用来搁脚的 ,它只 是让人 们的脚 放上一 段时间 ,以便 让别一 只脚能 够再往 上登。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图11-2 单总线构成的分布式温度监测系统
9
片内有9个字节的高速暂存器RAM单元,具体内容如下:
第1字节和第2字节是在单片机发给DS18B20温度转换命令发 布后,经转换所得的温度值,以两字节补码形式存放其中。一 般情况下,用户多使用第1字节和第2字节。单片机通过单总线 可读得该数据,读取时低位在前,高位在后。第3、4字节分别 是由软件写入用户报警的上下限值TH和TL。第5字节为配置寄 存器,可对其更改DS18B20的测温分辨率,高速暂存器的
37
11.3.1 I2C串行总线系统的基本结构 I2C串行总线只有两条信号线,一条是数据线SDA,另一
3
11.1 单总线串行扩展 单总线也称1-Wire bus,由美国DALLAS公司推出的外围串
行扩展总线。它只有一条数据输入/输出线DQ,总线上的所有 器件都挂在DQ上,电源也通过这条信号线供给,这种只使用一 条信号线的串行扩展技术,称为单总线技术。
单总线系统中配置的各种器件,由DALLAS公司提供的专用 芯片实现。每个芯片都有64位ROM,厂家对每一芯片都用激光 烧写编码,其中存有16位十进制编码序列号,它是器件的地址 编号,确保它挂在总线上后,可唯一地被确定。
15
(3)读时序,当单片机从DS18B20读取数据时,产生读时序。 此时单片机将数据线DQ的电平从高拉到低使读时序被初始化。 如果在此后的15µs内,单片机在数据线上采样到低电平,则从 DS18B20读的是“0”;如果在此后的15µs内,单片机在数据线 上采样到高电平,则从DS18B20读的是“1”。 3. DS18B20的命令
Hale Waihona Puke 34图11-5 SPI数据传送格式
35
目前世界各大公司为用户提供了一系列具有SPI接口的单片 机和外围接口芯片,例如Motorola公司存储器MC2814、显示 驱动器MC14499和MC14489等各种芯片;美国TI公司的8位串 行A/D转换器TLC549、10位串行A/D转换器TLC1549、12位串 行A/D转换器TLC2543等。
17
下面介绍表11-3中命令的用法。当主机需要对多个单总线上 的某一DS18B20进行操作时,首先应将主机逐个与DS18B20挂 接,读出其序列号(命令代码为33H);然后再将所有的 DS18B20挂接到总线上,单片机发出匹配ROM命令(55H), 紧接着主机提供的64位序列号之后的操作就是针对该DS18B20 的。
DS18B20片内都有唯一的64位光刻ROM编码,出厂时已刻 好。它是DS18B20的地址序列码,目的是使每个DS18B20的地 址都不相同,这样就可实现在一根总线上挂接多个DS18B20的 目的。64位光刻ROM的各位定义如下:
16
单片机写入DS18B20的所有命令均为8位长,对ROM操作 的命令见表11-3。
31
图11-4 SPI外围串行扩展结构图
32
典型的SPI系统是单主器件系统,从器件通常是外围器件, 如存储器、I/O接口、A/D、D/A、键盘、日历/时钟和显示驱 动等。单片机使用SPI扩展多个外围器件时,SPI无法通过地 址线译码选择,故外围器件都有片选端。在扩展单个SPI器件 时,外围器件的片选端CS*可以接地或通过I/O口控制;在扩 展多个SPI器件时,单片机应分别通过I/O口线来分时选通外 围器件。在SPI串行扩展系统中,如果某一从器件只作输入 (如键盘)或只作输出(如显示器)时,可省去一条数据输 出(MISO)线或一条数据输入(MOSI)线,从而构成双线 系统(CS*接地)。
SPI系统中单片机对从器件的选通需控制其CS*端,由于
33
省去了地址字节,数据传送软件十分简单。但在扩展器件较 多时,需要控制较多的从器件端,连线较多。
在SPI串行扩展系统中,作为主器件的单片机在启动一次传 送时,便产生8个时钟,传送给外围器件作为同步时钟,控制 数据的输入和输出。数据的传送格式是高位(MSB)在前, 低位(LSB)在后,如图11-5所示。数据线上输出数据的变 化以及输入数据时的采样,都取决于SCK。但对于不同的外 围芯片,有的可能是SCK的上升沿起作用,有的可能是SCK 的下降沿起作用。SPI有较高的数据传输速度,最高可达 1.05Mbit/s。
36
11.3 I2C总线的串行扩展 I2C(Inter Interface Circuit)全称为芯片间总线,是
应用广泛的芯片间串行扩展总线。目前世界上采用的I2C总 线有两个规范,分别由荷兰飞利浦公司和日本索尼公司提出, 现在多采用飞利浦公司的I2C总线技术规范,它已成为电子 行业认可的总线标准。采用I2C技术的单片机以及外围器件 种类很多,目前已广泛用于各类电子产品、家用电器及通信 设备中。
Motorola公司推出的一种同步串行外设接口,允许单片机与 多厂家的带有标准SPI接口的外围器件直接连接。所谓同步, 就是串行口每发送、接收一位数据都伴随有一个同步时钟脉 冲来控制。
SPI外围串行扩展结构如图11-4所示。SPI使用4条线: 串行时钟SCK,主器件输入/从器件输出数据线MISO,主器 件输出/从器件输入数据线MOSI和从器件选择线CS*。
+0×160)/16=125℃
13
当DS18B20采集的温度为-55℃时,输出为FC90H,由于是 补码,则先将11位数据取反加1得0370H,注意符号位不变,也 不参加运算,则: 实际温度=(0370H)/16=(0×163+3×162+7×161
+0×160)/16=55℃ 注意,负号则需要对采集的温度的结果数据进行判断后,再予 以显示。 2. DS18B20的工作时序
2
内容概要 单片机应用系统除并行扩展外,串行扩展技术也已得到广泛应 用。与并行扩展相比,串行接口器件与单片机相连需要的I/O 口线很少,极大地简化了器件间的连接,进而提高了可靠性; 串行接口器件体积小,占用电路板的空间小,减少了电路板空 间和成本。 常见的单片机串行扩展总线接口有单总线(1-Wire)、SPI串 行外设接口以及I2C(Inter Interface Circuit)串行总线接口, 本章介绍这几种串行扩展接口总线的工作原理、特点以及如何 进行系统串行扩展的典型设计。
7
由于DS18B20可直接将温度转化成数字信号传送给单片机 处理,因而可省去传统的信号放大、A/D转换等外围电路。
图11-2为单片机与多个带有单总线接口的数字温度传感器 DS18B20芯片的分布式温度监测系统,图中多个DS18B20都 挂在单片机的1根I/O口线(即DQ线)上。
单片机对每个DS18B20通过总线DQ寻址。DQ为漏极开路, 须加上拉电阻。DS18B20的一种封装形式如图11-2所示。除 DS18B20 外 , 在 该 数 字 温 度 传 感 器 系 列 中 还 有 DS1820 、 DS18S20、DS1822等其他型号产品,工作原理与特性基本相 同。
在Proteus环境下进行虚拟仿真时,用手动调整 DS18B20的温度值,即用鼠标单击DS18B20图标上的“↑” 或“↓”来改变温度,注意手动调节温度的同时,LED数码 管上会显示出与DS18B20窗口相同的2位温度数值,表示测 量结果正确。
20
图11-3 单总线DS18B20温度测量与显示系统
第11章 单片机应用系统的 串行扩展
1
第11章 单片机应用系统的串行扩展
11.1 单总线串行扩展 11.1.1 单总线系统的典型应用-DS18B20的温度测量系统 11.1.2 单总线DS18B20温度测量系统的设计
11.2 SPI总线串行扩展 11.3 I2C总线的串行扩展
11.3.1 I2C串行总线系统的基本结构 11.3.2 I2C总线的数据传送规定 11.3.3 AT89S52的I2C总线系统扩展 11.3.4 I2C总线数据传送的模拟 11.3.5 利用I2C总线扩展E2PROM AT24C02的IC卡设计
DS18B20对工作时序要求严格,延时时间需准确,否则容易 出错。工作时序包括初始化时序、写时序和读时序。
14
(1)初始化时序,单片机将数据线DQ电平拉低480~960µs后 释放,等待15~60µs,单总线器件即可输出一持续60~240µs 的低电平,单片机收到此应答后即可进行操作。 (2)写时序,当单片机将数据线DQ电平从高拉到低时,产生 写时序,有写“0”和写“1”两种时序。写时序开始后, DS18B20在15~60µs期间从数据线上采样。如果采样到低电 平,则向DS18B20写的是“0”;如果采样到高电平,则向 DS18B20写的是“1”。这两个独立的时序间至少需要拉高总线 电平1µs的时间。
4
除了器件的地址编码外,芯片内还包含收发控制和电源存储 电路,如图11-1所示。这些芯片的耗电量都很小(空闲时几µW, 工作时几mW),工作时从总线上馈送电能到大电容中就可以 工作,故一般不需另加电源。
5
图11-1 单总线芯片的内部结构示意图
6
11.1.1 单总线系统的典型应用-DS18B20的温度测量系统
单总线应用的典型案例是采用单总线温度传感器DS18B20 的温度测量系统。
1. 单总线温度传感器DS18B20简介
美国DALLAS公司推出的单总线接口的数字温度传感器, 温度测量范围为−55~+128℃,在-10~+85℃范围内,测量 精度可达±0.5℃。DS18B20体积小、功耗低,现场温度的 测量直接通过“单总线”以数字方式传输,大大提高了系统 的抗干扰性。非常适合于恶劣环境的现场温度测量,也可用 于各种狭小空间内设备的测温,如环境控制、过程监测、测 温类消费电子产品以及多点温度测控系统等。
SPI外围串行扩展系统的从器件要具有SPI接口。主器件是单 片机。AT89S52单片机不带SPI接口,可采用软件与I/O口结合 来模拟SPI的接口时序。在SPI总线系统扩展的应用设计中,扩 展串行D/A转换器和串行A/D转换器应用较多,