【大学课件】单片机原理与接口技术课件 单片机系统常用串行扩展技术.ppt
《【大学课件】单片机原理与接口技术课件 单片机系统常用串行扩展技术.ppt》由会员分享,可在线阅读,更多相关《【大学课件】单片机原理与接口技术课件 单片机系统常用串行扩展技术.ppt(87页珍藏版)》请在三一文库上搜索。
1、1,12:05,单片机原理与接口技术,第9章 单片机系统常用串行扩展技术,http:/ (2)掌握利用软件编程模拟I2C总线时序的程序设计方法。 (3)熟悉串行EEPROM存储器和Flash存储器的接口设计方法。 (4)熟悉串行总线扩展I/O接口的方法。 (5)熟悉串行键盘和LED显示器的扩展方法。,本章教学要求,3,12:05,本 章 目 录,9.1 常用串行总线协议 9.1.1 I2C串行总线 9.1.2 SPI总线 9.1.3 单线总线 9.2 串行存储器扩展 9.2.1 I2C接口EEPROM的存储器扩展 9.2.2 SPI接口的大容量FLASH存储器扩展 9.3 串行转并行I/O接口
2、扩展 9.3.1 串行转并行I/O扩展芯片的工作原理,9.3.2 串行总线扩展I/O接口实例 9.4 串行键盘和LED显示器扩展 9.4.1 串行键盘和LED显示器控制芯片的工作原理 9.4.2 串行键盘和LED显示器扩展实例 9.5 串行总线扩展实例简介 习题与思考题,4,12:05,前 言,传统的单片机系统采用并行总线扩展外围设备,对地址线译码产生片选信号,为每个外设分配唯一的地址,利用并行数据总线传输数据,需要的单片机芯片引脚数多。例如8051单片机采用并行总线扩展一个外围芯片需要的最少引脚数为: 8(数据)+2(RD,WR)+1(/CS)+n条地址线 n=log2(内部寄存器或存储器字
3、节的数目) 这种方式虽然传输速度高,但是芯片封装体积增大使成本升高,同时电路板体积增大,布线复杂度高,也带来故障点增多,调试维修多有不便。 随着电子技术的发展,串行总线技术日益成熟,具有代表性的典型串行总线有IC、SPI、1-Wire、MICROWIRE等。随着串行总线数据传输速率的逐渐提高和芯片逐渐系列化,为多功能、小型化和低成本的单片机系统的设计提供了更好的解决方案。采用串行总线扩展技术可以使系统的硬件设计简化,系统的体积减小,系统的更改和扩充更为容易。可以说串行总线技术已成为单片机总线的主导技术。本章将主要介绍单片机系统的串行总线扩展技术和方法。,5,12:05,9.1 常用串行总线协议
4、,为了简化集成电路之间的互连,Philips公司开发出一种标准外围总线互连接口,称为“集成电路间总线”或“内部集成电路总线”I2C(Inter-IC)。I2C总线是一个两线双向串行总线接口标准,采用这种接口标准的器件只需要使用两条信号线与单片机进行连接,就可以完成单片机与接口器件之间的信息交互。 其相关的术语有: 发送器(Transmitter):发送数据到总线的器件; 接收器(Receiver):从总线接收数据的器件; 主器件(Master):即主控器件,初始化发送、产生时钟信号和终止发送的器件; 从器件(Slave):被主控器件寻址的器件。,9.1.1 I2C串行总线,-术语,6,12:0
5、5,9.1.1 I2C串行总线,由于I2C总线的双向特性,总线上的主器件和从器件都可能成为发送器和接收器。 在主器件发送数据或命令时,主器件是发送器(主发送器); 在主器件接收从器件的数据时,主器件为接收器(主接收器); 从器件在接收主器件命令或数据时,从器件是接收器(从接收器); 从器件向主器件返回数据时则是发送器(从发送器)。 由于采用串行数据传输方式,其传输速率不是太高。 标准模式下数据传输速率为100 kb/s; 快速模式下传输速率为400 KB/s; 高速模式传输速率为3.4 Mb/s。,-特性,7,12:05,9.1.1 I2C串行总线,采用I2C总线设计系统具有如下的优点: (1
6、) 实际的器件与功能框图中的功能模块相对应,所有I2C器件共用一条总线,便于将框图转化成原理图。 (2) 在两条线上完成寻址和数据传输,节省电路板体积。 (3) 器件通过内置地址结合可编程地址的方式寻址,不需设计总线接口;增加和删减系统中的外围器件,不会影响总线和其他器件的工作,便于系统功能的改进和升级。 (4) 数据传输协议可以使系统完全由软件来定义,应用灵活适应面广。 (5) 通过多主器件模式可以将外部调试设备连接到总线上,为调试、诊断提供便利。,-特点,8,12:05,9.1.1 I2C串行总线,I2C总线采用二线制传输,分别是: 串行数据线SDA(Serial Data Line) 串
7、行时钟线SCL(serial clock line) 所有I2C器件都连接在SDA和SCL上。 单片机系统采用I2C总线可方便地扩展外部存储器、AD和DA转换器、实时时钟、键盘、显示等接口电路。如下图。,1I2C总线的电气连接,-I2C总线,9,12:05,9.1.1 I2C串行总线,为了避免总线信号混乱和冲突,I2C总线接口电路均为漏极开路或集电极开路,总线上必须有上拉电阻。上拉电阻与电源电压VDD和SDA/SCL总线串接电阻Rs有关,一般可选510K。 I2C总线的外围扩展器件大都是CMOS器件,总线有足够的电流驱动能力,因此总线扩展的节点数由负载电容特性决定,I2C总线的驱动能力为400
8、 pF。可根据器件的I2C总线接口的等效电容确定可扩展的器件数目和总线的长度,以减小总线传输的延迟和出错。,-电气性能,10,12:05,9.1.1 I2C串行总线,I2C总线支持多主和主从两种工作方式。一般的设计中I2C总线工作在主从工作方式,I2C总线上只有一个主器件,其它均为从器件。主器件对总线具有控制权。在多主方式中,通过硬件和软件的仲裁,主控制器取得总线控制权。,2I2C总线的工作方式,3I2C总线的器件寻址方式,I2C总线上连接的器件都是总线上的节点,每个时刻只有一个主控器件操控总线。每个器件都有一个唯一确定的地址,主控器件通过这个地址实现对从器件的点对点数据传输。器件的地址由7位
9、组成,其后附加了1位方向位,确定数据的传输方向。这8位构 成了传输起始状态S后的 第一个字节,如图所示。,-工作及寻址方式,11,12:05,9.1.1 I2C串行总线,器件的地址由4位固定位和3位可编程位组成。固定位由生产厂家给出,用户不能改变。可编程位与器件的地址管脚的连接相对应,当系统中使用了多个相同芯片时可以进行正确的访问。,-总线器件寻址方式,当主器件发送了数据帧的第一个字节后,总线上连接的从器件会将接收到的地址数据与自己的地址进行比较,被选中的从器件再根据方向位确定是接收数据还是发送数据。,不同的器件有时会有相同的固定地址编码,例如静态RAM器件PCF8570和EEPROM器件PC
10、F8582的固定位均为1010,此时通过可编程位进行区分,如图所示。,12,12:05,9.1.1 I2C串行总线,I2C总线必须由主控器件控制,主控器件产生起始和停止条件,控制总线的传输方向,并产生时钟信号同步数据传输,如下图所示。,4I2C总线的的数据传输过程,总线上信号有: 起始信号(S), 终止信号(P), 应答信号(A/NA), 数据信号等,-数据传输过程,13,12:05,9.1.1 I2C串行总线,总线信号: (1)起始信号(S):在时钟信号SCL为高电平时,数据线SDA从高电平变为低电平产生起始条件,标志着启动I2C总线。 (2)终止信号(P):在时钟信号SCL为高电平时,数据
11、线SDA从低电平变为高电平,标志着终止I2C总线传输过程。 (3)应答信号(A/NA):I2C协议规定总线每传输一字节数据后,都要有一个应答位。应答位由接收器件产生,即主器件向从器件发送数据时,应答位由从器件产生;主器件接收从器件数据时,应答位由主器件产生。 数据接收方可以接收数据时, 产生应答信号(ACK) 。当主器件接收从器件送来的最后一个数据后, 必须给从器件发一个非应答信号(NACK), 令从器件释放SDA信号线, 这样主器件可以发送终止信号来结束数据的传输。,-总线信号,14,12:05,9.1.1 I2C串行总线,(4)数据信号:地址和数据均以字节为单位,且高位在前,低位在后。数据
12、接收方每接收一字节数据都产生一个应答信号。发送器必须在接收器发送应答信号前,预先释放对SDA线的控制(SDA=1),以便主控器件对SDA线上应答信号的检测。 时钟: 无论何种情况下时钟信号始终由主器件产生。 时钟线SCL的一个时钟周期只能传输一位数据,I2C总线的通信速率受主器件控制,在不超过芯片最快速度的情况下,取决于主器件的时钟信号。,-总线信号,时钟,15,12:05,9.1.1 I2C串行总线,-传输信息,主器件与从器件之间传输数据是交互进行的,除了起始位、结束位及数据外,还应包含被叫对象地址、操作性质(读/写)、应答等信息,即一次信息传输过程传输的信息包含6部分。一个完整的数据传输过
13、程如下图所示。,16,12:05,9.1.1 I2C串行总线,根据所连接的器件性质不同,在I2C总线上可能存在如下的数据传输方式: (1) 主器件发送命令或数据到从器件。在寻址字节之后,主控发送器通过SDA线向从接收器发送信息,信息发送完毕后发送终止信号,以结束传送过程。这种情况下数据传输的方向不发生变化。例如向DA转换器写入数据,或向IO扩展器件写输出值。如图(a)所示。,-数据传输方式,17,12:05,9.1.1 I2C串行总线,(2) 主器件读取从器件的数据。寻址字节发送完成的第一个应答信号后,主器件由发送器变为接收器,从器件则转为发送器。主器件通过SDA线接收从器件发送信息。这种情况
14、下数据传输方向会发生变化。例如读取AD转换器的转换结果,或者读取IO扩展器件的输入信息。如图(b)所示。,-数据传输方式,18,12:05,9.1.1 I2C串行总线,(3) 复合模式。主器件向从器件发送命令或数据后,再次向从器件进行一次操作性质相反的操作。例如在对串行EEPROM的操作中,先向器件写入要访问的存储器地址,然后再向器件发送读取命令,读回数据。如图(c)所示。,-数据传输方式,19,12:05,9.1.1 I2C串行总线,主机与从机进行通信时,有时需要切换数据的收发方向。 例如,访问某一具有I2C总线接口的EEPROM存储器时,主机先向存储器输入存储单元的地址信息(发送数据),然
15、后再读取其中的存储内容(接收数据)。 在切换数据的传输方向时,可以不必先产生停止条件再开始下次传输,而是直接再一次产生开始条件。I2C总线在已经处于忙的状态下,再一次直接产生起始条件的情况被称为重复起始条件。重复起始条件常常简记为Sr。 正常的起始条件和重复起始条件在物理波形上并没有什么不同,区别仅仅是在逻辑方面。在进行多字节数据传输过程中,只要数据的收发方向发生了切换,就要用到重复起始条件。,-数据传输方式,20,12:05,9.1.1 I2C串行总线,- I2C总线器件,5常用的I2C总线器件,21,12:05,9.1.2 SPI总线,SPI(Serial Peripheral Inter
16、face)总线也是当前广泛使用的一种串行外设接口,由Motorola公司提出,用来实现单片机与各种外围设备的串行数据交换。 外围设备可以是数据存储器、网络控制器、键盘和显示驱动器、A/D和D/A转换器。 SPI总线还可实现微控制器之间的数据通信等。 SPI总线主要特性在于采用3线同步传输,可以同时发出和接收串行数据,工作在全双工方式下。SPI最高数据传输速率可达几 M bps。,- SPI总线特性,22,12:05,9.1.2 SPI总线,SPI总线采用四线通信,4根线分别为: SCK:串行时钟线,用作同步脉冲信号,有的芯片称为CLK; MISO:主机输入/从机输出数据线,有的芯片称为SDI、
17、DI或SI; MOSI:主机输出/从机输入数据线,有的芯片称为SDO、DO或SO; CS:从机选择线,由主机控制,有的芯片称为nCS、CS或STE等。,- SPI总线的4根线,1SPI总线的电气连接,23,12:05,9.1.2 SPI总线,总线上有多个SPI接口的单片机时,应为一主多从,在某一时刻只能有一个单片机为主器件。 如果总线上只有一个SPI接口器件, 不需要进行寻址操作而进行全双工通信。,- SPI总线连接,大多数SPI从器件具有三态输出, 器件没有选中时处于高阻态,允许MISO引脚并接在同一条信号线上,但如果器件的输出不是三态特性时,需要接到单片机单独的I/O口。,在扩展多个SPI
18、外围器件时,单片机应分别通过I/O口线为每个从器件提供独立的使能信号,硬件上比I2C系统要稍微复杂一些,如下图所示。但是SPI不需要在总线上发送寻址序列,软件上简单高效。,24,12:05,9.1.2 SPI总线,数据的传输格式是高位(MSB)在前,低位(LSB)在后。 SPI总线有4种工作模式,是根据时钟的极性和相位来划分的。,- SPI总线工作模式,2SPI总线的数据传输过程,25,12:05,9.1.2 SPI总线,在SPI传输过程中,发送方首先将数据上线,然后在同步时钟信号的上升沿SPI的接收方锁存位信号。在SCK信号的一个周期结束时(下降沿),发送方输出下一位数据信号,再重复上述过程
19、,直到一字节的8位信号传输结束。,- SPI总线工作模式 0,工作模式0,26,12:05,9.1.2 SPI总线,在SPI传输过程中,在SCK的上升沿发送方输出位数据,SPI的接收方在SCK的下降沿锁存位信号。在SCK信号的一个周期结束时(上升沿),发送方输出下一位数据信号,再重复上述过程,直到一字节的8位信号传输结束。,- SPI总线工作模式 1,工作模式1,27,12:05,9.1.2 SPI总线,在SPI传输过程中,发送方首先将数据上线,然后在同步时钟信号的下降沿SPI的接收方锁存位信号。在SCK信号的一个周期结束时(上升沿),发送方输出下一位数据信号,再重复上述过程,直到一字节的8位
20、信号传输结束。,- SPI总线工作模式 2,工作模式2,28,12:05,9.1.2 SPI总线,在SPI传输过程中,在SCK的下降沿发送方输出位数据,SPI的接收方在SCK的上升沿锁存位信号。在SCK信号的一个周期结束时(下降沿),发送方输出下一位数据信号,再重复上述过程,直到一字节的8位信号传输结束。,- SPI总线工作模式 3,工作模式3,29,12:05,9.1.2 SPI总线,3常用的SPI总线器件,- SPI总线器件,30,12:05,9.1.3 单线总线,1-Wire单线总线是有maxim公司推出的微控制器外围设备串行扩展总线,适用于单主机系统,可控制一个或多个从器件。 单线总线
21、只采用一根数据线来完成从器件供电和主从设备之间的数据交换,加上地线共需两根线,即可保证器件的全速运行。采用单线总线可最大限度减少系统的连线,降低电路板设计的复杂度。,- 1-Wire总线特性,31,12:05,9.1.3 单线总线,1单线总线的电气连接,单线总线器件内部有唯一的64位器件序列号,允许多个器件挂接在同一条1-Wire总线上。 通过网络操作命令协议, 主机可以对其进行寻址和操控。 下图是一个单线总线系统扩展温度传感器的例子。,- 单线总线连接,32,12:05,9.1.3 单线总线,1单线总线的电气连接,多数1-Wire器件没有电源引脚,而采用寄生供电的方式从1-Wire通信线路获
22、取电源。因此需要对单线总线上拉,如图中电阻RP。上拉电压越高,1-Wire器件所得到的功率就越大。电压越高,网络中可以挂接的1-Wire从器件也越多,时隙之间的恢复时间也越短。如果距离较远的情况下,需要提供额外的电源。 采用单片机作为单线总线主机时要注意所连的I/O口必须是双向的,其输出为漏极开路,且线上具有弱上拉电阻,这是单线总线接口的基本要求。,- 单线总线连接,33,12:05,9.1.3 单线总线,由于单线总线没有时钟脉冲进行同步,需要严格的时序和协议来保证总线的操作有效性和数据的完整性。 单线总线有四种基本操作,分别是复位、写1、写0和读位操作。 单线总线将完成一位传输的时间称为一个
23、时隙。 定义了基本操作后,对器件的读写操作可通过多次调用位操作来实现。,2单线总线的基本操作,- 单线总线基本操作,34,12:05,9.1.3 单线总线,单线总线基本操作定义和实现方法,- 单线总线基本操作,35,12:05,9.1.3 单线总线,- 单线总线操作时序,单线总线操作时序和推荐时间,采用单线总线通信,要求CPU能够产生较为精确的1s延时, 还要保证通信过程不能被中断。,36,12:05,9.1.3 单线总线,为了正确访问不同的单线总线器件,每个单线总线器件都内置一个唯一的64位二进制ROM代码,以标志其ID号。其中前8位是1-Wire家族码,中间48位是唯一的序列号,最后8位是
24、前56位的CRC(循环冗余校验)码,如图所示。,3单线总线的器件ROM码,-器件ROM码,主机根据ROM码的前56位来计算CRC值,并与读取回来的值进行比较,判断接收的ROM码是否正确,CRC码的多项式函数为CRC=X8+X5+X4+1。,37,12:05,9.1.3 单线总线,单线总线协议针对不同类型的器件规定了详细的命令,命令有两种类型。一类是ROM命令,每种命令均为8位,用来搜索、甄别从器件,实现从器件寻址或简化总线操作。另一类是器件操作的功能命令,如存储器操作、转换启动等,具体的命令与器件相关。 常用的ROM命令有: 搜索ROM命令F0h:获取从器件的类型和数量 读ROM命令33h:读
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学课件 【大学课件】单片机原理与接口技术课件 单片机系统常用串行扩展技术 大学 课件 单片机 原理 接口 技术 系统 常用 串行 扩展
链接地址:https://www.31doc.com/p-3034842.html