《单片机应用技术》第9章.ppt
《《单片机应用技术》第9章.ppt》由会员分享,可在线阅读,更多相关《《单片机应用技术》第9章.ppt(66页珍藏版)》请在三一办公上搜索。
1、第9章 串行扩展技术,教学目的,了解串行扩展的分类和特点。了解Microware、1-wire、USB和CAN总线。掌握I2C总线的原理。掌握SPI总线的原理。,学习重点和难点,I2C总线的软件模拟。SPI总线的软件模拟。,第9章 串行扩展技术,9.1 串行扩展概述 9.2 UART串行扩展接口 9.3 I2C串行扩展总线 9.4 SPI串行扩展接口 本章小结习题,9.1 串行扩展概述,9.1.1 串行扩展的种类 9.1.2 串行扩展的特点,9.1.1 串行扩展的种类,新一代单片机技术的显著特点之一就是串行扩展总线和接口的推出。常用的串行扩展总线和接口有I2C总线、SPI总线、Microwar
2、e总线、1-wire总线和CAN总线等。(1)UART串行扩展接口(Universal Asynchronous Receiver/Transmitter)UART通用异步收发器,既能同步又能异步通信的硬件电路称为UART。UART是用于控制计算机与串行设备的芯片,它提供了RS232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS232C接口的串行设备通信了。,9.1.1 串行扩展的种类,(2)I2C(Inter Integrated Circuit)串行扩展总线 I2C总线是Philip公司推出的芯片间串行传输总线。它用两根线实现了完善的全双工同步数据传送,可以极为方便地构成多
3、机系统和外围器件扩展系统。(3)SPI(Serial Peripheral Interface)串行扩展接口 SPI总线是Motorola公司提出的一种同步串行外设接口。允许MCU与各种外围设备以同步串行方式进行通信。其外围设备种类繁多,从最简单的TTL移位寄存器到复杂的LCD显示驱动器、网络控制器等,可谓应有尽有。,9.1.1 串行扩展的种类,(4)Microware串行扩展接口 Microware总线是NS公司提出的串行同步双工通信接口,用于8位COP800系列单片机和16位HPC系列单片机。(5)单总线(1-wire)串行扩展总线 1-wire总线是Dallas公司研制开发的一种协议,用
4、于便携式仪表和现场监控系统。(6)USB(Universal Serial BUS)串行扩展总线 USB总线是Compaq、Intel、Microsoft、NEC等公司联合制定的一种计算机串行通信协议。,9.1.1 串行扩展的种类,(7)CAN(Controller Area Network)串行扩展总线 CAN总线是德国Bosch公司最先提出的多主机局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备。,9.1.2 串行扩展的特点,串行扩展总线技术是
5、新一代单片机技术发展的一个显著特点。与并行扩展总线相比,串行扩展总线有电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等优点。常用串行扩展总线和接口的特点简要说明如下:(1)UART串行扩展接口 UART接口是二线制,8051单片机的UART既能作通用异步接收和发送器,又能作同步移位寄存器。它可以实现8051单片机系统之间点对点的单机通信或多机通信,也可以实现扩展I/O口。,9.1.2 串行扩展的特点,(2)I2C总线 I2C总线是二线制,采用器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。I2C总线简单,结构紧凑,易
6、于实现模块化和标准化。(3)SPI串行扩展接口 SPI总线是三线制,可直接与多种标准外围器件直接接口,在SPI从设备较少而没有总线扩展能力的单片机系统中使用特别方便。即使在有总线扩展能力的系统中采用SPI设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。,9.1.2 串行扩展的特点,(4)Microware串行扩展接口 Microware总线是三线制,由一根数据输出(SO)线、一根数据输入(SI)线和一根时钟(SK)线组成。所有从器件的时钟线连接到同一根SK线上,主器件向SK线发送时钟脉冲信号,从器件在时钟信号的同步沿输出/输入数据。主器件的数据输出线SO和所有从器
7、件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线SI上。(5)1-wire总线 1-wire总线是利用一根线实现双向通信,由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合1-wire协议的从芯片都有一个唯一的地址,包括8位分类码、48位的序列号和8位CRC代码。主芯片对各个从芯片的寻找依据这64位的不同来进行。单总线节省I/O引脚资源、结构简单、成本低廉、便于总线扩展和维护。,9.1.2 串行扩展的特点,(6)USB串行扩展接口 USB比较于其他传统接口的一个优势是即插即用的实现,即插即用(Plug-and-Play)也称为热插拔(Ho
8、t Plugging)。数据传输速度快,USB1.1接口的最高传输率可达12 Mb/s;USB2.0接口的最高传输率可达480 Mb/s。扩展方便,使用USB Hub扩展,可以连接127个USB设备,连接的方式十分灵活。(7)CAN总线 在由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。当信号传输距离达到10km时,CAN 仍可提供高达50Kbit/s的数据传输速率。,9.2 UART串行扩展接口,9.2.1
9、 串行口工作方式 9.2.2 UART串行扩展应用实例,9.2.1 串行口工作方式,串行口有四种工作方式,每一种工作方式都有自己的特点。其中方式0是8位同步通信方式,用于串/并或并/串转换中,常用的串/并转换芯片有74LS164和并/串转换芯片74LS165等。74LS164 是一个双列直插式8位串入/并出移位寄存器,其引脚如下图所示。其引脚定义如下:A:同步串行数据输入端B:同步串行数据输入端Q0Q7:8位并行数据输出端CK:时钟脉冲输入端CLR:数据清除端(清除输出数据,通常用在移位完成时)GND:接地端VCC:电源端,9.2.1 串行口工作方式,74LS165 是一个双列直插式8位并入/
10、串出移位寄存器,其引脚如下图所示。其引脚定义如下:LD:重新装载数据端(通常用在数据完全移出后)CK:内部数据移位时钟脉冲输入端D0D7:并行数据输入端Q11:取反串行输出端GND:接地端Q11:串行输出端SE:用于填充数据移出后的空位的逻辑电平信号COK:和CK联合控制数据移动VCC:电源端,9.2.1 串行口工作方式,74LS164引脚图 74LS165引脚图,9.2.2 UART串行扩展应用实例,【例1】利用74LS164串行输入并行输出芯片作一个简单的电子钟,要求四个数码管显示时钟;其中LED1显示小时的十位,LED2显示小时的个位,LED3显示分钟的十位,LED4显示分钟的个位。解:
11、原理图如下图,采用单片机的串行口输出字形码,用74LS164和74LS138作为扩展芯片。74LS164的功能是将AT89C2051串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED数码管。74LS138是一个3线-8线译码器,它将单片机输出的地址信号译码后动态驱动相应的LED。因74LS138电流驱动能力较小,故用末级驱动三极管9013作为地址驱动。将4只LED的字段位都连在一起,它们的公共端则由74LS138分时选通,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式,其优点使用串行口进行LED通信程序编写相当简单,用户只需将需显示的数据直接送串口发送缓冲器,等待串
12、行中断即可。,9.2.2 UART串行扩展应用实例,串行动态LED扫描电路,P3.2P3.3,TXRX,9.2.2 UART串行扩展应用实例,下面是一个简单的动态扫描程序,如果再利用上第六章的定时器就可做成一个完整的电子钟,四个数码管显示为00:00这种形式。在本例中冒号就不显示出来了,分别用20H、21H、22H、23H地址存放时间的时钟的十位、时钟的个位、分钟的十位、分钟的个位。用中断方式做一个不带时钟芯片的电子钟,请读者自己完成。,9.2.2 UART串行扩展应用实例,参考程序:,9.2.2 UART串行扩展应用实例,参考程序:,9.3 I2C串行扩展总线,9.3.1 I2C总线的结构原
13、理 9.3.2 I2C总线的软件模拟 9.3.3 I2C串行扩展应用实例,9.3.1 I2C总线的结构原理,I2C总线是芯片间串行传输总线。它用数据线SDA和时钟线SCL两根线实现全双工同步数据传送,可方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。按照I2C总线规范,总线传输中的所有状态都生成相对应的状态码,系统中的主机能够依照这些状态码自动地进行总线管理,用户只要在程序中装入这些标准处理模块,根据数据操作要求完成I2C总线的初始化,启动I2C总线,就能自动完成规定的数据传送操作。
14、,9.3.1 I2C总线的结构原理,I2C总线接口电路结构,9.3.1 I2C总线的结构原理,I2C总线接口为开漏或开集电极输出,需加上拉电阻。系统中所有的单片机、外围器件都将数据线SDA和时钟线SCL的同名端相连在一起,总线上的所有节点都由器件和管脚给定地址。系统中可以直接连接具有I2C总线接口的单片机,也可以通过总线扩展芯片或I/O口的软件仿真与I2C总线相连。在I2C总线上可以挂接各种类型的外围器件,如RAM/EEPROM、日历/时钟芯片、A/D转换器、D/A转换器、以及由I/O口、显示驱动器构成的各种模块。,9.3.1 I2C总线的结构原理,SDA 和SCL 都是双向线路,都通过一个电
15、流源或上拉电阻连接到正的电源电压;当总线空闲时,这两条线路都是高电平;连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。I2C 总线上数据的传输速率在标准模式下可达100kbit/s。在快速模式下可达400kbit/s。在高速模式下可达3.4Mbit/s。连接到总线的接口数量只由总线电容是400pF 的限制决定关于高速模式主机器件的信息。,9.3.1 I2C总线的结构原理,I2C总线上数据传送的基本单位为字节,采用低位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。I2C的主要命令只有读、写两种,虽然读写的字节根据具体器件的
16、不同而不同,但其时序关系不会发生改变。下位机只要具备I2C的基本时序即可。这些基本时序包括:启动、写字节、读字节、应答位、停止信号,并可以组合成两个子程序:读N字节子程序、写N字节子程序。,9.3.1 I2C总线的结构原理,I2C总线最显著的特点是规范的完整性、结构的独立性和用户使用时的“傻瓜”化。I2C总线有严格的规范,如接口的电气特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。在I2C总线规范中,总线上的器件节点的电气特性及地址给定都具有较强的独立性,而且各节点上的器件、模块都有相对独立的地址编号。严格、完善的规范,并将这些规范的应用尽可能“傻瓜”化,除了有充分
17、的硬件支持外,在软件方面,Philips公司为用户提供了一套完善的总线状态处理软件包,以致于用户可以不去熟悉I2C总线的规范,不去理睬总线的管理方法,只要掌握I2C总线的应用程序设计方法就可方便地使用I2C总线,并且能很快地掌握I2C总线系统的软、硬件设计方法。,9.3.2 I2C总线的软件模拟,1.产生起始位和停止位 I2C总线的起始和停止条件如下图所示。分别用P1.0和P1.1模拟I2C总线的时钟线和数据线,则可给时钟线SCL和数据线SDA赋值。程序如下:,9.3.2 I2C总线的软件模拟,2.发送起始条件 当时钟SCL为高电平时,数据线SDA从高电平向低电平切换表示起始条件,即启动I2C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机应用技术 单片机 应用技术
链接地址:https://www.31ppt.com/p-5020496.html