12 串行总线扩展技术

合集下载

串行通信及串行扩展技术

串行通信及串行扩展技术

传感器数据采集
01
串行通信接口可以连接各种模拟或数字传感器,实现数据的实
时采集和传输。
数据处理与存储
02
通过串行通信将采集到的数据传输到上位机或数据中心,进行
进一步的处理、分析和存储。
系统监控与控制
03
串行通信可用于实现远程监控和控制,提高数据采集系统的灵
活性和可维护性。
在远程监控系统中的应用
01
特点
传输线少,成本低,适用于远距 离通信,但传送速度较慢。
串行通信协议
异步通信协议
以字符为单位进行传输,字符间通过 特定的起始位和停止位进行同步。
同步通信协议
以数据块为单位进行传输,通过同步 字符或同步信号实现收发双方的时钟 同步。
串行通信接口标准
RS-232C接口标准
定义了数据终端设备(DTE)和数据通信设备(DCE)之间的接口标准,采用 负逻辑电平,最大传输距离约15米。
串行扩展工作原理
01
数据传输
在串行通信中,数据以位为单位进行传输。发送端将数据按位依次发送
到传输线上,接收端按位接收并组合成完整的数据。数据传输过程中需
要遵循特定的通信协议和数据格式。
02
同步与异步通信
串行通信可分为同步通信和异步通信两种方式。同步通信需要发送端和
接收端保持严格的时钟同步,而异步通信则通过特定的起始位和停止位
无线化发展趋势
无线通信技术的普

随着无线通信技术的不断发展, 串行通信逐渐实现无线化,使得 设备间的通信更加灵活方便。
低功耗无线通信技

针对低功耗设备的需求,发展出 低功耗无线通信技术,延长设备 的续航时间。
无线通信安全性增

第11章串行扩展技术

第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的接口

第九章串行总线扩展技术

第九章串行总线扩展技术

第九章串行总线扩展技术后参考答案(9)1、I2C 总线的优点是什么?答:lie总线的优点:(1)具有多主机系统所需的包括总线裁决(2)高低速器件同步功能的高性能串行总线。

2、I 2 C总线的起始信号和终止信号是如何定义的?答:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL 线为高电平期间,SDA线由低电平向高电平的变化表示终止信号‘3、I C总线的数据传送方向如何控制?答:IIC 总线的数据传送方向由寻址字节的第8位来控制的,第8位为“0”时,表示主机向从机写数据,为“ 1 ”时表示主机由从机读数据。

4、常用的I C总线接口器件有哪些?答:常用的IIC 总线接口期间有EEPROM、A/D 转换器、D/A 转换器、LED 及LCD 驱动器、日历时钟电路等。

5、I C总线的寻址方式如何?答:IIC 总线的寻址方式有三种:(1)主机向从机发送数据,数据传送方向在整个传送过程中不变;(2)主机在第一个字节后,立即由从机读数据(3)在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向正好反向。

6、I C总线的数据传送时,应答是如何进行的?答:由于某种原因从机不对从机寻址信号应答时(如从机正在进行实时的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数据传送。

如果从机对主机进行了应答,当在数据从送一段时间后无法继续接收更多的数据,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续发送。

当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。

这个信号时由对从机的“非应答”来实现的。

然后,从机释放SDA 线,以允许主机产生终止信号。

27、有哪些单片机具备I C总线接口?答:由一些品种的片上配置了IIC 总线接口,如Philips 的80c552. 228、具备I C总线接口的E PROM芯片有哪几咱型号?容量如何?寻址方法如何? 答:带IIC总线接口的EEPROM芯片常用的有:Philips公司的PCF8582、ATMEL 公司的AT24C系列和NS公司的NM24C系列。

第七章串行扩展之三单总线

第七章串行扩展之三单总线

寄存器内容 温度值低位(LS Byte) 温度值高位(MS Byte) 高温限值(TH) 低温限值(TL) 配置寄存器 保留 保留
字节地址 0 1 2 3 4 5 6
保留
CRC校验值
7
8
(4)配置寄存器。配置寄存器的格式如 表所示。
TM R1 R0 1 1 1 1 1
低5位一直都是“1”,TM是测试模式位,用于设置 DS18B20在工作模式还是在测试模式。在 DS18B20出厂时该位被设置为0,用户不要去改 动。R1和R0用来设置分辨率,如右表所示 (DS18B20出厂时被设置为12位)。
+25.0625
+10.125 +0.5 0 -0.5
0000 0001 1001 0001
0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000
0191H
00A2H 0008H 0000H FFF8H
DS18B20的主要特性
(1)适应电压范围更宽,电压范围:3~5.5V,在寄生电源方式下可由数据线 供电。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即 可实现微处理器与DS18B20的双向通信。 (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上, 实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成 在形如一只三极管的集成电路内。 (5)测温范围55℃~+125℃,在10℃~+85℃时精度为0.5℃。 (6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、 0.125℃和0.0625℃,可实现高精度测温。 (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多 在750ms时间内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时 可传送CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

单片机应用系统的串行扩展PPT课件

单片机应用系统的串行扩展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位十进制编码序列号,它是器件的地址 编号,确保它挂在总线上后,可唯一地被确定。

单片机的串行扩展技术

单片机的串行扩展技术
Microwire串行通信接口是NS公司提出的,Microwire 是串行同步双工通信接口,由一根数据输出线、一根数据 输入线和一根时钟线组成。所有从器件的时钟线连接到同 一根SK线上,主器件向SK线发送时钟脉冲信号,从器件 在时钟信号的同步沿作用下输出/输入数据。主器件的数据 输出线DI和所有从器件的数据输入线相接,从器件的数据 输出线都接到主器件的数据输入线DO上。与SPI接口类似, 每个从器件也都需要另外提供一条片选通线CS。
精选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 接口的外围器件,形成了较为完备的串行 扩展总线。

单片机原理及应用第二版张毅刚--课后习题标准答案

单片机原理及应用第二版张毅刚--课后习题标准答案

单片机原理及应用第二版张毅刚--课后习题答案————————————————————————————————作者:————————————————————————————————日期:第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。

目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。

嵌入式微处理器相当于通用计算机中的CPU。

与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。

而嵌入式微处理器仅仅相当于单片机中的中央处理器。

为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。

它们的差别是在片内程序存储器上。

8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。

7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。

9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。

单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。

I2C总线串行扩展技术

I2C总线串行扩展技术
整的数据传送过程应包括:起始(S)、 发送寻址字节( SLA R/W )、应答、发送数据、应 答、…、发送数据、应答、终止(P)。
二、80C51单主系统虚拟I2C总线软件包
80C51只能采用虚拟I2C总线方式,并且只能用 于单主系统,虚拟 I2C 总线接口可用通用 I/O 口中 任一端线充任,数据线定义为 VSDA ,时钟线定义 为VSCL。
§8-3 I2C总线串行扩展技术
一、I2C总线串行扩展概述
1、扩展连接方式
具有I2C总线结构的器件,不论SRAM、E2PROM、 ADC/DAC、I/O口或MCU,均可通过SDA、SCL连接 (同名端相连)。 无I2C总线结构的器件,如LED/LCD显示器、 键盘、码盘、打印机等也可通过具有I2C总线结 构的I/O接口电路成为串行扩展器件。
;取接收数据字节数N(存在内RAM NUMB单元) ;启动I2C总线 ;读接收寻址字节(存在内RAM SLA单元) ;发送接收寻址字节 ;检查应答位 ;应答不正常,返回重新开始 ;应答(A)正常,取接收数据存储区首址 ;接收一个字节数据 ;存一个字节数据 ;判N个数据接收完毕否?未完转发送应答位 ;N个数据接收完毕,发送应答非位(A) ;发送终止信号 ;子程序结束返回 ;发送应答位(A) ;指向下一接收数据存储单元地址 ;转接收下一字节数据
3、虚拟I2C总线软件包VIIC小结
⑴ VIIC软件包共有9个归一化子程序组成。 ⑵ VIIC 软件包仅适用单主系统即主方式下 I2C 总线外围扩 展。且应fosc≤6MHz ,若 fosc > 6MHz ,则应相应调整 NOP指令个数,以满足I2C总线数据传送时序要求。 ⑶ VIIC软件包可嵌入到80C51 ROM中任一空间,作为I2C总 线扩展应用程序设计的软件支持平台。 ⑷ 在应用VIIC软件包初始化中,应对软件包中标记符号用 伪指令定义。 ⑸ VIIC软件包占用资源: F0、Cy、Acc、R1、R1、R3。在 调用VIIC软件包之前,若涉及这些存储单元中原有数据 尚需保存,应采取保护现场措施,在调用结束后恢复现 场。

第9章 单片机系统常用串行扩展技术

第9章 单片机系统常用串行扩展技术

3.I C总线的器件寻址方式
2
I2C 总线上连接的器件都是总线上的节点,每个时刻只 有一个主控器件操控总线。每个器件都有一个唯一确定的地 址,主控器件通过这个地址实现对从器件的点对点数据传输。 器件的地址由7位组成,其后附加了1位方向位,确定数据的 传输方向。这8位构
成了传输起始状态S后的
第一个字节,如图所示。
3
9.1.1 I2C串行总线
----特性
由于I2C总线的双向特性,总线上的主器件和从器件都可能 成为发送器和接收器。




在主器件发送数据或命令时,主器件是发送器(主发送 器); 在主器件接收从器件的数据时,主器件为接收器(主接收 器); 从器件在接收主器件命令或数据时,从器件是接收器(从 接收器); 从器件向主器件返回数据时则是发送器(从发送器)。
2
9.1 常用串行总线协议
9.1.1 I C串行总线
2
----术语
为了简化集成电路之间的互连,Philips公司开发出一种 标准外围总线互连接口,称为“集成电路间总线”或“内部 2 2 集成电路总线” I C( Inter-IC)。 I C 总线是一个两线双向 串行总线接口标准,采用这种接口标准的器件只需要使用两 条信号线与单片机进行连接,就可以完成单片机与接口器件 之间的信息交互。 其相关的术语有: 发送器(Transmitter):发送数据到总线的器件; 接收器(Receiver):从总线接收数据的器件; 主器件(Master):即主控器件,初始化发送、产 生时钟信号和终止发送的器件; 从器件(Slave):被主控器件寻址的器件。
15
9.1.1 I2C串行总线
----数据传输方式
(3) 复合模式。主器件向从器件发送命令或数据后,再次向

sstl12 标准

sstl12 标准

sstl12标准
SSTL-12标准,全称为串行同步传输线路接口标准(Serial Synchronous Seria lInterface),是一种用于高速串行数据传输的接口标准。

该标准在电子通信领域广泛应用,尤其在嵌入式系统、计算机、消费电子等领域。

SSTL-12标准的主要特点包括:
1、高速传输:SSTL-12标准支持高达12Mbps的数据传输速率,适用于高速数据传输应用。

2、串行同步:该标准采用串行同步方式,通过一根时钟线实现数据的同步传输,降低了信号的复杂性。

3、简单的接口:SSTL-12标准的接口相对简单,只需一根时钟线和一根数据线即可实现数据的传输。

4、适用于多种应用:由于其高速传输和简单的接口特点,SSTL-12标准适用于多种应用,如内存模块、网络接口卡等。

在具体应用中,SSTL-12标准通常与DIMM(双列直插内存模块)一起使用,用于高速内存模块的接口连接。

通过SSTL-12标准,内存模块可以以高速、稳定的方式与计算机或其他设备进行连接,实现高速数据传输。

需要注意的是,虽然SSTL-12标准具有许多优点,但在实际应用中,还需要考虑其他因素,如信号的完整性、电源管理、热设计等。

因此,在使用SSTL-12标准时,需要综合考虑各种因素,以确保系统的稳定性和可靠性。

总之,SSTL-12标准是一种高速串行同步传输线路接口标准,具有广泛的应用前景。

在未来的发展中,随着技术的不断进步和应用需求的不断提高,SSTL-12标准将会不断发展和完善,为电子通信领域的发展做出更大的贡献。

单片机的串行扩展技术

单片机的串行扩展技术

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

串行总线扩展技术PPT学习教案

串行总线扩展技术PPT学习教案
(2)I2C总线是一个多主 机总线,总第2页线/共95页上可以有一个或 多个主机(或称主控制器件),
3
10.1.1 I2C总线
(3)I2C总线支持多主(multi-mastering) 和主从(master-slave)两种工作方式。
多主方式下,I2C总线上可以有多个
主机。I2C总线需通过硬件和软件仲裁来确
第14页/共95页
15
10.1.2 I2C总线的数据传输
(五)数据传输格式 在I2C总线上,传输数据可能的数据格式:
(3)组合格式
第15页/共95页
16
10.1.3 I2C总线的寻址
每个连接在I2C总线的器
件,都具有一个唯一确定的地
址。在任何时刻,I2C总线上
只D7能D有6 一D5 个D主4 机D3 对D2总D线1 实D0 行控
SCL保持为低电平,迫使主机处于等待状态;当从机
准备就绪后,再释放时钟线SCL,使数据传输继续进
行。
第9页/共95页
10
10.1.2 I2C总线的数据传输
(四)应答
I2C协议规定,在每个字节传送完毕后,必须有 一个应答位。应答位的时钟脉冲由主机产生。在应答 时钟有效期间,发送设备把数据线SDA置为高电平; 接收设备必须把数据线SDA置为低电平,并且在此期 间保持低电平状态,以便产生有效的应答信号。
P2
6
11
P6
出现低电平。对PCF8574进行一
P3
7
10
P5
次读/写操作后,撤销中断请求,
VSS
8
9
P4
复位为高电平 。
VDD:电源,+5V;VSS:地
第21页/共95页
22

第12章串行口扩展技术

第12章串行口扩展技术

MC14489等各种芯片。
16
SPI从器件要具有SPI接口。主器件是单片机。 目前已有许多机型的单片机都带有SPI接口。但对
AT89S51,由于不带SPI接口,SPI接口的实现,
可采用软件与I/O口结合来模拟SPI的接口时序。
17
12.4 I2C总线的串行扩展介绍
I2C总线,PHILIPS推出,使用广泛、很有发展
2
单片机的串行扩展技术与并行扩展技术相比具有显著
的优点,串行接口器件与单片机接口时需要的I/O口线很 少(仅需1~4条),串行接口器件体积小,因而占用电路 板的空间小,仅为并行接口器件的10%,明显减少电路板 空间和成本。
除上述优点,还有工作电压宽、抗干扰能力强、功耗
低、数据不易丢失等特点。串行扩展技术构图
13
SPI典型应用是单主系统,一台主器件,从器件通
常是外围接口器件
扩展多个外围器件时,SPI无法通过数据线译码选
择,故在扩展多个SPI器件时,单片机应分别通过
I/O口线来分时选通外围器件。
在SPI串行扩展系统中,如果某一从器件只作输入
或只作输出时,可省去一条数据输出(MISO)线或 一条数据输入(MOSI)线。
5
除地址编码外,片内还包含收发控制和电源存储电路。
这些芯片的耗电量都很小,从总线上馈送电能到大电容
中就可以工作,故一般不需另加电源。
单总线构成的分布式温度监测系统
6
上图为一个由单总线构成的分布式温度监测系统 单芯片挂线图,系统中可以多个带有单总线接口 的数字温度传感器DS18B20芯片都挂在单片机的
前途的芯片间串行扩展总线。
只有两条信号线,一是数据线SDA,另一是时
钟线SCL。

第12章单片机的串行扩展技术

第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所示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

...
I 2C 器件n
3
(一) I2C总线的信号线

(二) I2C总线的驱动能力
I2C为开漏或开集电极输出,需加上拉电阻Rp ,输出 能实现线“与”的逻辑功能。 时钟线SCL和数据线SDA都是双向传输线,总线备用 时SDA和SCL都保持高电平,只有关闭I2C总线时才使 SCL钳位在低电平。 在标准模式下数据传送速率100kbit/s。总线的驱动 能力受总线电容限制,不加驱动扩展时驱动能力为 400pF。
/*1-启动I2C总线*/ /*2-停止I2C总线数据传送*/ /*3-发送应答位*/ /*4-发送非应答位*/
12
extern void cack( ); /*5-应答位检查*/ extern void wrbyt(uchar shu); /*6-发送一个字节*/ extern void wrbyt0( ); extern void wrbyt1( ); extern uchar rdbyt( ); /*7-读取一个字节*/ extern void wrnbyt(uchar slaw,uchar number,uchar ff[]); /*8-发送n 个字节*/ extern void rdnbyt(uchar number,uchar slar,uchar qq[]); /*9-接收n 个字节*/

地址(4位),数字引脚地址(3位),读/写地 址(1位)。 以8574为例:SLAW=0X40;SLAR=0X41。
芯片类型地址 0 1 0 0 数字引脚地址 0 0 0 读/写 0(写),1(读)
(五) I2C总线的数据传送与时序 主从机之间的一次数据传送由启动信号、若干数 据字节和应答位、停止信号组成。 1)一位数据的传输 SCL的一个周期对应一位数据传送,低电平时允 许数据线上的电平变化,高电平期间数据线上的 电平稳定。(启动停止除外)
5
种类
型号
器件地址及 寻址字节
备注
256×8静态RAM
256B E2PROM 512B E2PROM 1024B E2PROM 2048B E2PROM 8位I/O口 4位LED驱动控制器 160段LCD驱动控制器 4路A/D、1路D04 AT24C08 AT24C16 PCF8574 PCF8574A SAA1064 PCF8576 PCF8591 PCF8583
16
/********4-发送非应答位*******************/ void mnack( ) { SDA=1; SCL=1; _nop_( ); _nop_( ); SCL=0; SDA=0; }
17
/*************5-应答位检查********************/ void cack( ) { SDA=1; SCL=1; F0=0; if(SDA==0) {SCL=0; _nop_( );_nop_( ); } else {F0=1; SCL=0; _nop_( );_nop_( );} }
2
I2C
BUS(Inter IC BUS)是Philips推出的芯片间串 行传输总线,以两根线实现了完善的同步数据传 送,不需要片选线,可以方便地构成多机系统和 外围器件扩展系统。
+5 V
RP
P1.7 P1.6
RP
SDA SCL
具有I2C总线 的单片机
I2 C 器件1
I 2C 器件2
...
I 2C 器件i
26
for(l=0;l<number;l++) { data0=rdbyt( ); qq[l]=data0; if(l<(number-1)) mack(); } mnack( ); stop( );
三位数字引脚地址A2A1A0
三位数字引脚地址A2A1A0 二位数字引脚地址A2A1 一位数字引脚地址A2 无引脚地址,A2A1 A0悬空 三位数字引脚地址A2A1A0 三位数字引脚地址A2A1A0 二位模拟引脚地址A1A0 一位数字引脚地址A0 三位数字引脚地址A2A1A0 一位数字引脚地址A0
6
I2C接口器件的寻址字节由3部分组成,芯片类型
S SLAW/R A Data1
Data1 A
A …

Datan
Datan
A/ A A/ A
Sr
P
SLAR/W
A
6)模拟I2C的程序设计 可以软件模拟I2C协议,完成主控器件功能。 选用P1.6、P1.7作为时钟线SCL和数据线SDA,晶振 采用6MHz。 包括启动(STA)、停止(STOP)、发送应答位 (MACK)、发送非应答位(MNACK)、应答位检 查(CACK)、发送一个字节数据(WRBYT)、接收 一个字节数据(RDBYT)、发送n个字节数据 (WRNBYT)、接收n个字节数据(RDNBYT)九个 子程序。
4.1 串行总线扩展技术
4.2 人机通道接口技术 4.3 A/D转换器的选取和使用
4.4 D/A转换器的选取和使用


串行扩展:模块化、标准化、省去大量连线、提高 可靠性、降低成本 ——大趋势,大方向 几种总线:
◦ ◦ ◦ ◦ ◦ 1. 2. 3. 4. 5. UART方式 I2C总线 单总线( 1-wire ) 串行外设接口(SPI) Microwire串行扩展接口
9
S:起始信号; Sr:重复起始信号; P:停止信号; A:应答信号; A :非应答信号; SLAW:写寻址字节; SLAR:读寻址字节; Datal~Datan:被写入/读出的n个数据字节。 读操作:
S SLAR A Data1 A Data2 A … Datan-1 A Datan
A
P
10
读写操作:(注:未注明数据方向)
11
C51中,软件包分为两个文件:IIC.H和IIC.C。应用时, 两个文件加入同一工程,统一编译、连接。 WRNBYT子程序针对的是肯定应答。
IIC.H: sbit SDA=P1^7; sbit SCL=P1^6; #define uchar unsigned char #define uint unsigned int extern void sta( ); extern void stop( ); extern void mack( ); extern void mnack( );
14
/*******2-停止I2C总线数据传送**********/ void stop( ) { SDA=0; SCL=1; while(SCL==0){;} SDA _nop_( ); SDA=1; SCL _nop_( ); _nop_( ); 终止信号 SCL=0; }
15
/*********3-发送应答位********************/ void mack( ) { SDA=0; SCL=1; _nop_( ); _nop_( ); SCL=0; SDA=1; }
1010A2A1A0R/W
1010 A2A1A0R/W 1010 A2A1P0R/W 1010 A2P1P0R/W 1010 P2P1P0R/W 0100 A2A1A0R/W 0111 A2A1A0R/W 0111 0 A1A0R/W 0111 00 A0R/W 1001 A2A1A0R/W 1010 00 A0R/W
19
/********6-发送一个数据字节**************/ void wrbyt(uchar shu) { void wrbyt0( ); void wrbyt1( ); uchar i; if((shu&0x80)>0) { SDA=1;} else { SDA=0;} SCL=1; while(SCL==0){;} _nop_( );
4
(三) I2C总线的工作方式 I2C总线上支持多主和主从两种工作方式。在多主方 式中,通过硬件和软件的仲裁,主控制器取得总线 控制权。而在多数情况下,系统中只有一个主器件, 只需要了解主从工作方式。 很多CPU芯片都具有I2C总线主接口,能够按照状态 码自动进行总线管理,用户只要在程序中装入这些 标准处理模块对总线操作即可。 (四)I2C总线上的器件地址 在主从方式中,从器件的地址包括器件编号地址和 引脚地址,器件地址由I2C总线委员会分配,引脚地 址决定于引脚外接电平的高低。
7
2)总线数据传送的启动与停止 启动信号与停止信号都由主控制器产生。 启动信号:在时钟线保持高电平期间,数据线出现 由高电平向低电平变化时启动I2C总线 停止信号:在时钟线保持高电平期间,数据线上出 现由低到高的电平变化时将停止I2C总线 3)数据字节和应答 每次传送的字节数没有限制,每个字节传送高位在 先,后必跟一个应答位或非应答位 ,数据传送和应 答位的时钟脉冲均由主机产生。发送应答位时,发 送端在应答时钟脉冲高电平期间释放SDA(高), 转由接收器控制,发出应答位或非应答位。
24
for(k=0;k<number;k++) { wrbyt(ff[k]); cack( ); if(F0==1) break; } if(F0==0) break; } stop( );
}
25
/**********9-接收n个字节数据****************/ void rdnbyt(number,slar,qq) uchar number,slar,qq[]; { uchar idata data0,l; do{ sta( ); wrbyt(slar); cack( ); }while(F0==1);
13
IIC.C: #include <intrins.h> #include <reg51.h> #include <iic.h> /***********1-启动I2C总线*****************/ void sta( ) { SDA=1; SCL=1; SDA while(SCL==0){;} _nop_( ); SDA=0; SCL _nop_( ); _nop_( ); 起始信号 SCL=0; }
相关文档
最新文档