补充教材 根据大纲要求,一些新技术或相关教学内容在教材上没有包括,这里补充如 下 1、RS-423A总线 为了克服RS-232C的缺点,提高传送速率,增加通信距离,又考虑到与 RS-232C的兼容性,美国电子工业协会在1987年提出了RS-423A总线标准。该 标准的主要优点是在接收端采用了差分输入。RS-423A的接口电路如下图所示。 MC3488A LS423s"6 RS423A接口电路 而 差分输入对共模干扰信号有较高的 抑制作用,这样就提高了通信的可靠性。RS423A用-6v表示逻辑“1”,用+6y 表示逻辑“0”,可以直接与RS-232C相接。采用RS-423A标准以获得比RS-232C 更佳的通信效果。 2、RS422A总线 RS422A总线采用平衡输出的发送器,差分输入的接收器。如图所示。 MC3487A S-422AMC3488 RS422A平衡输出差分输入图 RS422A的输出信号线间的电压为士2v,接收器的识别电压为±0.2v。共模 范围士25V。在高速传送信号时,应该考虑到通信线路的阻抗匹配,一般在接收 端加终端电阻以吸收掉反射波。电阻网络也应该是平衡的,如图: 300L L之w 在接收端加终端电阻图
补充教材 根据大纲要求,一些新技术或相关教学内容在教材上没有包括,这里补充如 下: 1、 RS-423A 总线 为了克服 RS-232C 的缺点,提高传送速率,增加通信距离,又考虑到与 RS-232C 的兼容性,美国电子工业协会在 1987 年提出了 RS-423A 总线标准。该 标准的主要优点是在接收端采用了差分输入。RS-423A 的接口电路如下图所示。 而 差分输入对共模干扰信号有较高的 抑制作用,这样就提高了通信的可靠性。RS-423A 用-6v 表示逻辑“1”,用+6v 表示逻辑“0”,可以直接与 RS-232C 相接。采用 RS-423A 标准以获得比 RS-232C 更佳的通信效果。 2、RS-422A 总线 RS-422A 总线采用平衡输出的发送器,差分输入的接收器。如图所示。 RS-422A 的输出信号线间的电压为±2v,接收器的识别电压为±0.2v。共模 范围±25v。在高速传送信号时,应该考虑到通信线路的阻抗匹配,一般在接收 端加终端电阻以吸收掉反射波。电阻网络也应该是平衡的,如图: RS-423A 接口电路 RS-422A 平衡输出差分输入图 在接收端加终端电阻图
3、RS485总线 RS485适用于收发双方共用一对线进行通信,也适用于多个点之间共用一对 线路进行总线方式联网,通信只能是半双工的,线路如下图所示: 使用RS485多个点之间共用一对线路过行总线方式联网 典型的RS232到RS422/485转换芯片有: MAX481483/485/487488/489490/491,SN75175/176/184等等,它们均只需单一 +5v电源供电即可工作。具体使用方法可查阅有关技术手册。 4、I2C总线 I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL (串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管 是单片机、存储器、LCD服动器还是键盘接口。 1)I2C总线的基本结构采用I2C总线标准的单片机或C器件,其内部不仅有I2C 接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块 通过软件寻址实现片 选,减少了器件片选线的连接。CU不仅能通过指令将某个功能单元电路挂靠或摘离总线
3、RS-485 总线 RS-485 适用于收发双方共用一对线进行通信,也适用于多个点之间共用一对 线路进行总线方式联网,通信只能是半双工的,线路如下图所示: 典型的 RS232 到 RS422/485 转换芯片有: MAX481/483/485/487/488/489/490/491,SN75175/176/184 等等,它们均只需单一 +5v 电源供电即可工作。具体使用方法可查阅有关技术手册。 4、I2C 总线 I2C 总线是一种用于 IC 器件之间连接的二线制总线。它通过 SDA(串行数据线)及 SCL (串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管 是单片机、存储器、LCD 驱动器还是键盘接口。 1)I2C 总线的基本结构 采用 I2C 总线标准的单片机或 IC 器件,其内部不仅有 I2C 接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片 选,减少了器件片选线的连接。CPU 不仅能通过指令将某个功能单元电路挂靠或摘离总线, 使用 RS-485 多个点之间共用一对线路过行总线方式联网
还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C 总线接口电路结构如图1所示。 +VCC 器件 落件2 2)双向传输的接口特性传统的单片机串行接口的发送和接收一般都各用一条线,如 MCS51系列的TXD和RXD,而2C总线侧根据器件的功能通过软件程序使其可工作于发 送或接收方式。当某个器件向总线上发送信息时,它就是发送器也叫主器件),而当其从总 线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时针 以开放传送的器件,此时任何被寻址的器件均被认为是从器件。2C总线的控制完全由挂接 在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。 总线上主和从即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方 向。SDA和SCL均为双向VO线,通过上拉电阻接正电源。当总线空闲时,两根线都是高 电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有与”功能。2℃总线的 数据传送速率在标准工作方式下为10 Okbit/s,在快速方式下,最高传送速率可达4 00kbit/s, 3)12C总线上的时钟信号在I2C总线上传送信息时的时钟同步信号是由挂接在SC 时钟线上的所有器件的逻辑“与“完成的。SCL线上由高电平到低电平的跳变将影响到这些器 件,一日某个婴件的时钟信号下跳为低由平,将使SC1线一直保持低由平,使C线上的 所有器件开始低电平期。此时,低电平周期短的 件的时钟由低至高的跳变并不能影响SC 线的状态,于是这些器件将进入高电平等待的状态。 当所有器件的时钟信号都上跳为高电平时,低电平期结束,$CL线被释放返回高电平 即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线 节成低申平。这样就在SCL线上产生一个同步时钟。可见,时钟低申平时间由时钟低申平 期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定 4)数据的传送 在数据传送过程中,必须确认数据传送的开始和结束。在12C总线技 术规范中,开始和结束信号(也称启动和停止信号)的定义如下图所示。当时钟线$CL为 高电平时,数据线SDA由高电平跳变为低电平定义为开始”信号:当SCL线为高电平时, SDA线发生低电平到高电平的跳变为“结束”信号。开始和结束信号都是由主器件产生。在 开始信号以后,总线即被认为处于忙状态:在结束信号以后的一段时间内,总线被认为是空 闲的 1开始信号1 I2C总线的数据传送格式是:在I2C总线开始信号后,送出的第一个字节数据是用来选择
还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C 总线接口电路结构如图 1 所示。 2)双向传输的接口特性 传统的单片机串行接口的发送和接收一般都各用一条线,如 MCS51 系列的 TXD 和 RXD,而 I2C 总线则根据器件的功能通过软件程序使其可工作于发 送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总 线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟 以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C 总线的控制完全由挂接 在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。 总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方 向。SDA 和 SCL 均为双向 I/O 线,通过上拉电阻接正电源。当总线空闲时,两根线都是高 电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线“与”功能。I2C 总线的 数据传送速率在标准工作方式下为 100kbit/s,在快速方式下,最高传送速率可达 400kbit/s。 3) I2C 总线上的时钟信号 在 I2C 总线上传送信息时的时钟同步信号是由挂接在 SCL 时钟线上的所有器件的逻辑“与”完成的。SCL 线上由高电平到低电平的跳变将影响到这些器 件,一旦某个器件的时钟信号下跳为低电平,将使 SCL 线一直保持低电平,使 SCL 线上的 所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响 SCL 线的状态,于是这些器件将进入高电平等待的状态。 当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL 线被释放返回高电平, 即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将 SCL 线 拉成低电平。这样就在 SCL 线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平 期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。 4)数据的传送 在数据传送过程中,必须确认数据传送的开始和结束。在 I2C 总线技 术规范中,开始和结束信号(也称启动和停止信号)的定义如下图所示。当时钟线 SCL 为 高电平时,数据线 SDA 由高电平跳变为低电平定义为“开始”信号;当 SCL 线为高电平时, SDA 线发生低电平到高电平的跳变为“结束”信号。开始和结束信号都是由主器件产生。在 开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空 闲的。 I2C 总线的数据传送格式是:在 I2C 总线开始信号后,送出的第一个字节数据是用来选择
从器件地址的,其中前7位为地址码,第8位为方向位(RW。方向位为0"表示发送,即主 器件把信息写到所选择的从器件:方向位为表示主器件将从从器件读信息。开始信号后 系统中的各个器件将自己的地址和主器件送到 总线上的地址进行比较,如果与主器件发送 总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8 位(R/W确定。 在12C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的 字节后面必须跟一个认可位(第9位),也叫应答位(CK)。数据的传送过程如下图所示 每次都是 通常从器件在接收到每个字节后都会作出响应, 即释放SCL线返回 高电平,准备接收下 个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件 而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收2C 总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时 主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕 时将释放SCL线,主器件继续传送 x:/1 NU/A UAAUR/R 当主器件发送完一个字节的数据后,接者发出对应于SCL线上的一个时钟(ACK)认可 位,在此时钟内主器件释放SDA线 个字节传送结束 ,而从器件的响应信号将SDA线 成低电平,使SDA在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,SDA 线返回高电平,进入下一个传送周期。 2C总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播 呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址 中提供的数据,则应对地址作出响应, 其表现为 个接收器 5)总线竞争的仲裁总线上可能挂接有多个器件,有时会发生两个或多个主器件同时 想占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发 送数据,这种情况叫做总线竞争。I2C总线具有多主控能力,可以对发生在SDA线上的总 线音争讲行仲拔,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件 发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器 件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位 的比较,如 果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是 利用2C总线上的信总进行仲裁,因此不会造成信息的丢失。 6)2C总线接口器件日前在视频处理、移动通信等领域采用2C总线接口器件己 比较普追。另外,通用的I2C总线接口器件,如带I2C总线的单片机、RAM、ROM、A/D、 D/A、LCD驱动器等器件 也越来越多地应用于计算机及自动控制系统中。下面以目前在单 片机系统中常用的带2C接口的EEPROM芯片24LC01B为例,介绍I2C接口器件的基本应 用。 24LC01B是内含128×8位低功耗CMOS的EEPROM,具有工作电压宽(2.5-5.5V) 擦写次数名(大于10000次)、写入速度快(小于10ms)等特点。下图为24LC01B的引脚 图。图中A0、A1、A2是三条地址线,用于确定芯片的硬件地址。VDD和VSS分别为 负电源。SDA为串行数据输入输出,数据通过这条双向I2C总线串行传送。SCL为串行时 钟输入线。T正ST为速度测试输出端,可接至VSS、VDD或保持开路状态
从器件地址的,其中前 7 位为地址码,第 8 位为方向位(R/W)。方向位为“0”表示发送,即主 器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后, 系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到 总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第 8 位(R/W)确定。 在 I2C 总线上每次传送的数据字节数不限,但每一个字节必须为 8 位,而且每个传送的 字节后面必须跟一个认可位(第 9 位),也叫应答位(ACK)。数据的传送过程如下图所示。 每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放 SCL 线返回 高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件 而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收 I2C 总线上的数据字节)可以使时钟 SCL 线保持低电平,从器件必须使 SDA 保持高电平,此时 主器件产生 1 个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕 时将释放 SCL 线,主器件继续传送。 当主器件发送完一个字节的数据后,接着发出对应于 SCL 线上的一个时钟(ACK)认可 位,在此时钟内主器件释放 SDA 线,一个字节传送结束,而从器件的响应信号将 SDA 线拉 成低电平,使 SDA 在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,SDA 线返回高电平,进入下一个传送周期。 I2C 总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播 呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址 中提供的数据,则应对地址作出响应,其表现为一个接收器。 5) 总线竞争的仲裁 总线上可能挂接有多个器件,有时会发生两个或多个主器件同时 想占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发 送数据,这种情况叫做总线竞争。I2C 总线具有多主控能力,可以对发生在 SDA 线上的总 线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件 发送高电平,而另一个主器件发送低电平,则发送电平与此时 SDA 总线电平不符的那个器 件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如 果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是 利用 I2C 总线上的信息进行仲裁,因此不会造成信息的丢失。 6) I2C 总线接口器件 目前在视频处理、移动通信等领域采用 I2C 总线接口器件已经 比较普遍。另外,通用的 I2C 总线接口器件,如带 I2C 总线的单片机、RAM、ROM、A/D、 D/A、LCD 驱动器等器件,也越来越多地应用于计算机及自动控制系统中。下面以目前在单 片机系统中常用的带 I2C 接口的 EEPROM 芯片 24LC01B 为例,介绍 I2C 接口器件的基本应 用。 24LC01B 是内含 128×8 位低功耗 CMOS 的 EEPROM,具有工作电压宽(2.5~5.5V)、 擦写次数多(大于 10000 次)、写入速度快(小于 10ms)等特点。下图为 24LC01B 的引脚 图。图中 A0、A1、A2 是三条地址线,用于确定芯片的硬件地址。VDD 和 VSS 分别为正、 负电源。SDA 为串行数据输入/输出,数据通过这条双向 I2C 总线串行传送。SCL 为串行时 钟输入线。TEST 为速度测试输出端,可接至 VSS、VDD 或保持开路状态
24LC01B中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字带均以单一操作方式读取。为降低总的写入时 间, 一次操作可写入多达8个字节的数据 下图是24LC01B在M51系列单片机中的一种应用实例,这里是利用8031的P10和P11 分别作为24LC01B的串行时钟输入和串行数据输入输出,T正$T端在这里没有使用,将 其接地(VSS)。因系统中只用了这一个EEPROM芯片,故A0~A2接地。 VSS 只要P1.0和P1.1口串行时钟和数据符合前面介绍的I2C总线的技术规范,即可实现对 24LC01B的读写 带有12C总线接口的器件可十分方便地用来将一个或多个单片机及外围器件构成单片 机系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少 因此其构成的系统价格低,器件间总线简单,结构紧凑,而且在总线上增加器件不影响系统 的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方 便地确定总线的时钟。 目前世界上采用的12C总线有两个规范,它们分别是由荷兰飞利浦公司和日本索尼公司 提出的。现在广泛采用的是飞利浦公司的I2C总线技术规范,它已成为被电子行业认可的总 线标准。采用I2C技术的单片机以及外围器件己广泛应用于家用电器、通讯设备及各类电子 产品中,而且应用范围将会越来越广。 5、SPI总线 SPI(Serial Peripheral Interface-一串行外设接D)总线系统是一种同步串行外设接口,它 可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、.网络控 制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种 标准外围器件直接接口,该接口一般使用4条线: 串行时钟线(SCX) 主机输入/从机输出数据线TSO 主机输出/从机输入数据线MOS
24LC01B 中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时 间,一次操作可写入多达 8 个字节的数据。 下图是24LC01B 在M51系列单片机中的一种应用实例,这里是利用8031的P1.0 和P1.1 分别作为 24LC01B 的串行时钟输入和串行数据输入/输出,TEST 端在这里没有使用,将 其接地(VSS)。因系统中只用了这一个 EEPROM 芯片,故 A0~A2 接地。 只要 P1.0 和 P1.1 口串行时钟和数据符合前面介绍的 I2 C 总线的技术规范,即可实现对 24LC01B 的读写。 带有 I2C 总线接口的器件可十分方便地用来将一个或多个单片机及外围器件构成单片 机系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少, 因此其构成的系统价格低,器件间总线简单,结构紧凑,而且在总线上增加器件不影响系统 的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方 便地确定总线的时钟。 目前世界上采用的 I2C 总线有两个规范,它们分别是由荷兰飞利浦公司和日本索尼公司 提出的。现在广泛采用的是飞利浦公司的 I2C 总线技术规范,它已成为被电子行业认可的总 线标准。采用 I2C 技术的单片机以及外围器件已广泛应用于家用电器、通讯设备及各类电子 产品中,而且应用范围将会越来越广。 5、SPI 总线 SPI(Serial Peripheral Interface-串行外设接口)总线系统是一种同步串行外设接口,它 可以使 MCU 与各种外围设备以串行方式进行通信以交换信息。外围设置 FLASHRAM、网络控 制器、LCD 显示驱动器、A/D 转换器和 MCU 等。SPI 总线系统可直接与各个厂家生产的多种 标准外围器件直接接口,该接口一般使用 4 条线: 串行时钟线(SCK) 主机输入/从机输出数据线 MISO 主机输出/从机输入数据线 MOST