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