单片机原理及应用第12章 51单片机的总线接口技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
12.1.1 I2C总线概述
I2C总线使Байду номын сангаас广泛,是很有发展前途的芯片间串行扩展总线。 I2C总线只有两条信号线,一是数据线SDA,二是时钟线SCL。两条信号线 都是双向传输的信号线,所有连接到I2C上的器件的数据线都与SDA线连接;各 器件时钟线均与SCL线连接。I2C系统的基本结构如图12–1所示。I2C总线单片机 (如PHILIPS公司的8xC552)可以直接与I2C接口的各种扩展器件(如存储器、I/O芯 片、A/D、D/A、键盘、显示器、日历/时钟)连接。 由于I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就大 大简化了总线数量。
图12–2 24C02引脚图
SDA — 串行数据/地址引脚,双向信号传输,用于器件所有数据的
发送或接收,SDA是一个开漏输出引脚,可与其它器件的开漏输出或集
电极开路输出端进行线或(wire-OR),使用时需要连接一个上拉电阻。
12.2 SPI总线接口 12.2.1 SPI总线概述及主要特点 12.2.2 12位串行A/D TLC2543介绍 12.2.3 TLC22543与51单片机的接口设计
12.3 单总线串行扩展
2
12.1 I2C总线接口
单片机的并行总线扩展(利用三总线DB、AB、CB进行的系统扩展)已不再是 单片机应用系统唯一的扩展结构。目前,串行总线扩展技术已得到广泛地应用。
8
12.1.3 24C02引脚功能
24C02是一块有2048位,即256个
8位字节存储容量的串行CMOS EEPROM芯片。该芯片有8个引脚, 封装有PDIP、SOIC、TSSOP和 MSOP,图12–2为PDIP封装引脚图。
SCL — 串行时钟输入引脚, 输入发送或接收数据的时钟信号。
A0 1 8 VCC A1 2 7 WP A2 3 6 SCL VSS 4 5 SDA
EEPROM芯片有两类接口:并行接口和串行接口。并行 EEPROM相对容量大、速度快、功耗大、价格贵,但读/写方法简单; 串行EEPROM体积小、功耗低、价格便宜,使用中占用系统信号线 少,但读/写速度相对慢,读/写方法稍复杂一些。对于系统中那些需 要较少修改的代码或参数,通常所需要的字节数和写入的次数不会 很多,写入速度也没有太高要求,这种情况下采用串行EEPROM是 非常合适的。本节以24C02为例介绍二线制串行EEPROM的使用。
连到I2C总线上的每个器件有一个唯一的地址,扩展器件时也要受 器件地址数目的限制。
I2C系统允许多主器件,究竟哪一主器件控制总线要通过总线仲 裁来决定。如何仲裁,可查阅I2C仲裁协议。但在实际应用中,经常遇 到的是以一个单片机为主机,其它外围接口器件为从机情况,在这种 情况下,时钟线SCL为单向传输信号线,由单一主机发出。
由于各器件输出端为漏级开路,故必须通过上拉电阻接正电源(见 图12–1中的两个电阻),以保证SDA和SCL在空闲时被上拉为高电平。
SCL线上的时钟信号对SDA线上的各器件间的数据传输起同步控 制作用。 SDA线上的数据起始、终止及数据的有效性均要根据SCL 线上的时钟信号来判断。
在标准I2C模式中,数据的传输速率为100kbit/s,高速模式下可达 400kbit/s。
例如:DALLAS 公司的单总线(1–Wire)接口、Philips公司的I2C串行总线接口、
Motorola公司的SPI串行外设接口以及Microwire总线三线同步串行接口。
本章介绍上述串行扩展接口总线的工作原理及特点,重点介绍I2C串行扩展
技术和SPI 总线接口。 单片机的串行扩展技术与并行扩展技术相比具有显著的优点,串行接口器件
4
VDD RP RP
单片机 SCL SDA
存储器 SCL SDA
时钟线SCL 数据线SDA
SDA SCL 键盘接口
SDA SCL LED驱动
SDA SCL 时钟/日历
图12–1 I2C串行总线系统的基本结构
SDA SCL ADC或DAC
I2C的运行由主器件(主机)控制。主器件是指启动数据的发送(发出起始信 号)、发出时钟信号、传送结束时发出终止信号的器件,主器件通常由单片机 来担当。
从器件(从机)可以是存储器、LED或LCD驱动器、A/D或D/A转换器、时 钟/日历器件等,从器件必须带有I2C串行总线接口。
5
当I2C总线空闲时,SDA和SCL两条线均为高电平。由于连接到总 线上器件(节点)输出级必须是漏极或集电极开路,只要有一器件任意时 刻输出低电平,都将使总线上的信号变低,即各器件的SDA及SCL都是 “线与” 关系 。
6
总线上扩展的器件数量不是由电流负载决定的,而是由电容负载 确定的。 I2C总线上每个节点器件的接口都有一定的等效电容,连接 的器件越多,等效电容值越大,这会造成信号传输的延迟。总线上允 许的器件数以所有器件的等效电容量不超过400pF(通过驱动扩展可达 4000pF)为宜,据此可计算出总线长度及连接器件的数量。
7
12.1.2 串行EEPROM概述
EEPROM (Electrically Erasable Programmable Read–Only Memory), 电可擦除可编程只读存储器,是一种掉电后数据不丢失的存储芯片。 EEPROM可以应用微处理器或专用设备擦除已有信息,重新写入数 据,写入的数据在常温下可以保持十年。
单片机原理及应用
第12章 51单片机的总线接口技术
第12章 目录
12.1 I2C总线接口 12.1.1 I2C总线概述 12.1.2 串行EEPROM概述 12.1.3 24C02引脚功能 12.1.4 工作方式 12.1.5 器件寻址、写操作和读操作 12.1.6 24C02芯片与51单片机的接口电路及编程 12.1.7 ZLG7290接口电路及编程
与单片机接口时需要的I/O口线很少(仅需1~4条),串行接口器件体积小,因而占 用电路板的空间小,约为并行接口器件的10%,明显减少了电路板空间和成本 。 除上述优点,还有工作电压宽、抗干扰能力强、功耗低、数据不易丢失等特点。 串行扩展技术在IC卡、智能仪器仪表以及分布式控制系统等领域得到广泛应用。
12.1.1 I2C总线概述
I2C总线使Байду номын сангаас广泛,是很有发展前途的芯片间串行扩展总线。 I2C总线只有两条信号线,一是数据线SDA,二是时钟线SCL。两条信号线 都是双向传输的信号线,所有连接到I2C上的器件的数据线都与SDA线连接;各 器件时钟线均与SCL线连接。I2C系统的基本结构如图12–1所示。I2C总线单片机 (如PHILIPS公司的8xC552)可以直接与I2C接口的各种扩展器件(如存储器、I/O芯 片、A/D、D/A、键盘、显示器、日历/时钟)连接。 由于I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就大 大简化了总线数量。
图12–2 24C02引脚图
SDA — 串行数据/地址引脚,双向信号传输,用于器件所有数据的
发送或接收,SDA是一个开漏输出引脚,可与其它器件的开漏输出或集
电极开路输出端进行线或(wire-OR),使用时需要连接一个上拉电阻。
12.2 SPI总线接口 12.2.1 SPI总线概述及主要特点 12.2.2 12位串行A/D TLC2543介绍 12.2.3 TLC22543与51单片机的接口设计
12.3 单总线串行扩展
2
12.1 I2C总线接口
单片机的并行总线扩展(利用三总线DB、AB、CB进行的系统扩展)已不再是 单片机应用系统唯一的扩展结构。目前,串行总线扩展技术已得到广泛地应用。
8
12.1.3 24C02引脚功能
24C02是一块有2048位,即256个
8位字节存储容量的串行CMOS EEPROM芯片。该芯片有8个引脚, 封装有PDIP、SOIC、TSSOP和 MSOP,图12–2为PDIP封装引脚图。
SCL — 串行时钟输入引脚, 输入发送或接收数据的时钟信号。
A0 1 8 VCC A1 2 7 WP A2 3 6 SCL VSS 4 5 SDA
EEPROM芯片有两类接口:并行接口和串行接口。并行 EEPROM相对容量大、速度快、功耗大、价格贵,但读/写方法简单; 串行EEPROM体积小、功耗低、价格便宜,使用中占用系统信号线 少,但读/写速度相对慢,读/写方法稍复杂一些。对于系统中那些需 要较少修改的代码或参数,通常所需要的字节数和写入的次数不会 很多,写入速度也没有太高要求,这种情况下采用串行EEPROM是 非常合适的。本节以24C02为例介绍二线制串行EEPROM的使用。
连到I2C总线上的每个器件有一个唯一的地址,扩展器件时也要受 器件地址数目的限制。
I2C系统允许多主器件,究竟哪一主器件控制总线要通过总线仲 裁来决定。如何仲裁,可查阅I2C仲裁协议。但在实际应用中,经常遇 到的是以一个单片机为主机,其它外围接口器件为从机情况,在这种 情况下,时钟线SCL为单向传输信号线,由单一主机发出。
由于各器件输出端为漏级开路,故必须通过上拉电阻接正电源(见 图12–1中的两个电阻),以保证SDA和SCL在空闲时被上拉为高电平。
SCL线上的时钟信号对SDA线上的各器件间的数据传输起同步控 制作用。 SDA线上的数据起始、终止及数据的有效性均要根据SCL 线上的时钟信号来判断。
在标准I2C模式中,数据的传输速率为100kbit/s,高速模式下可达 400kbit/s。
例如:DALLAS 公司的单总线(1–Wire)接口、Philips公司的I2C串行总线接口、
Motorola公司的SPI串行外设接口以及Microwire总线三线同步串行接口。
本章介绍上述串行扩展接口总线的工作原理及特点,重点介绍I2C串行扩展
技术和SPI 总线接口。 单片机的串行扩展技术与并行扩展技术相比具有显著的优点,串行接口器件
4
VDD RP RP
单片机 SCL SDA
存储器 SCL SDA
时钟线SCL 数据线SDA
SDA SCL 键盘接口
SDA SCL LED驱动
SDA SCL 时钟/日历
图12–1 I2C串行总线系统的基本结构
SDA SCL ADC或DAC
I2C的运行由主器件(主机)控制。主器件是指启动数据的发送(发出起始信 号)、发出时钟信号、传送结束时发出终止信号的器件,主器件通常由单片机 来担当。
从器件(从机)可以是存储器、LED或LCD驱动器、A/D或D/A转换器、时 钟/日历器件等,从器件必须带有I2C串行总线接口。
5
当I2C总线空闲时,SDA和SCL两条线均为高电平。由于连接到总 线上器件(节点)输出级必须是漏极或集电极开路,只要有一器件任意时 刻输出低电平,都将使总线上的信号变低,即各器件的SDA及SCL都是 “线与” 关系 。
6
总线上扩展的器件数量不是由电流负载决定的,而是由电容负载 确定的。 I2C总线上每个节点器件的接口都有一定的等效电容,连接 的器件越多,等效电容值越大,这会造成信号传输的延迟。总线上允 许的器件数以所有器件的等效电容量不超过400pF(通过驱动扩展可达 4000pF)为宜,据此可计算出总线长度及连接器件的数量。
7
12.1.2 串行EEPROM概述
EEPROM (Electrically Erasable Programmable Read–Only Memory), 电可擦除可编程只读存储器,是一种掉电后数据不丢失的存储芯片。 EEPROM可以应用微处理器或专用设备擦除已有信息,重新写入数 据,写入的数据在常温下可以保持十年。
单片机原理及应用
第12章 51单片机的总线接口技术
第12章 目录
12.1 I2C总线接口 12.1.1 I2C总线概述 12.1.2 串行EEPROM概述 12.1.3 24C02引脚功能 12.1.4 工作方式 12.1.5 器件寻址、写操作和读操作 12.1.6 24C02芯片与51单片机的接口电路及编程 12.1.7 ZLG7290接口电路及编程
与单片机接口时需要的I/O口线很少(仅需1~4条),串行接口器件体积小,因而占 用电路板的空间小,约为并行接口器件的10%,明显减少了电路板空间和成本 。 除上述优点,还有工作电压宽、抗干扰能力强、功耗低、数据不易丢失等特点。 串行扩展技术在IC卡、智能仪器仪表以及分布式控制系统等领域得到广泛应用。