0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

同步串行总线接口的原理、接口方式和使用方法

电子设计 来源:网络整理 作者:佚名 2020-03-20 08:07 次阅读

1、行总线接口简介

众所周知,单片机与外围设备的通信方式可分为并行通信和串行通信,相应的通信总线被称为并行总线和串行总线。并行通信速度快,实时性好,但由于占用单片机的口线多(即使地址和数据线可部分复用),不适合作为小型化产品和分布式、远程测控系统的数据通信方式。串行通信只需一根和几根数据传输线(兼作地址、控制线),不仅大大降低硬件成本,也有利于系统的扩展设计,所以串行总线广泛应用于单片机测控中。目前串行总线除了使用通用异步串行接口UART,如:RS-232C/449/423/422/485)以外,应用越来越多的是同步串行扩展总线接口,主要有单总线、I2C、SPI、USBMPS、Microwire/PLUS等。越来越多的外围器件如A/D、E2PROM、集成智能传感器等,都配置了同步串行扩展总线接口I2C、SPI等,而摈弃了以往的并行总线接口。从20世纪90年代开始,众多的单片机厂商都陆续推出了

带有同步串行接口的单片机(一般保留了异步口UART),如:Philips公司的8XC552和LPC76X系列,带I2C接口;Motorola公司的M68HC05和M68HC11,ATMEL公司的AT89S8252以及新一代的基于RISC的AVR系列单片机都集成有SPI接口。可以说串行总线是当今单片机测控系统开发的首选,只有在没必要或不能使用串行总线的场合才用并行总线。文中将逐一介绍上述几种同步串行扩展总线及其接口方式,以便给大家选择外围器件及进行系统设计提供一点借鉴。

2、几种常见的同步串行总线接口的基本原理和使用方法

2.1I2C总线

I2C(Inter-IC)总线是英文INTERICBUS或ICTOICBUS的简称,它是由Philips公司推出的一种基于两线制的同步串行总线,被广泛应用于消费类电子产品、通信产品、仪器仪表工业测控系统中。在标准模式下,I2C总线的数据传输速率可达100间进行双向传送。各种器件均并联在这条总线上,而且每个器件都有惟一的地址。MCU发出的控制信号分为地址码和数据码两部分:地址码用来标识器件地址,即确定和哪个器件进行通信;数据码就是通信的内容。这样,各器件虽然挂在同一条总线上,却彼此独立,互不干扰。图2—1以AT89C51(本身不带I2C接口,用I/O口模拟)接两片E2PROMAT24C16为例简要说明I2C接口的使用方法。

同步串行总线接口的原理、接口方式和使用方法

图2—1中,由A0、A1、A2确定器件的地址,故U1的地址为000,U2的地址为001;R1、R2为上拉电阻;用AT89C51的P1.0、P1.1脚模拟出I2C的SCL和SDA信号,对于有I2C的MCU直接接到对应的SCL和SDA脚即可。

2.2SPI总线

SPI(SerialPeripheralInterface串行外设接口)是由Motorola公司提出的一种基于四线制的同步串行总线,它在速度要求不高、低功耗、需保存少量参数的智能化仪表及测控系统中得到广泛应用。使用SPI总线接口不仅能简化电路设计,还可以提高设计的可靠性。SPI总线使用4条线:1)SCK(SerialClock),串行时钟线,主机启动发送并产生SCK,从机被动接收时钟;2)MISO(MasterInSlaveOut),主机输入从机输出;3)MOSI(MasterOutSlaveIn),主机输出从机输入;4)(SlaveSelect),从机选择信号,低电平有效。典型的由SPI总线构成的分布式测控系统如图2—2所示。

同步串行总线接口的原理、接口方式和使用方法

图2—2中,各器件的片选端或使能端由MCU的其它I/O端口来控制。同I2C一样,SPI总线也可以用软件来模拟。

2.3单总线(1-WIRE)

单总线是DALLAS公司的一项专利技术,它将地址线、数据线、控制线、电源线合为一根信号线,允许在这根信号线上挂数百个测控对象,这些测控对象使用的芯片每个都有一个64位的ROM,也称之为身份证号,确保挂在单总线上后,可以被惟一地区分识别出来。ROM中含有CRC检验码,能确保数据交换可靠。芯片内还有收、发控制和电源存储电路,一般不用另附电源。这些芯片在检测地点就把模拟信号数字化,单总线上传送的是数字信号,使系统的抗干扰性能好、可靠性高。单总线系统按单总线协议规定的时序和信号波形进行初始化、识别器件和交换数据,单片机I/O口P1、P2、P3中的任一位端口都可以与总线进行双向数据传输。通过单总线可以方便、便宜地构建分布式单片机测控系统。图2—3所示的环境监控系统,只需要一条双绞线(一根为信号线,一根为地线)从单片机拉向监控系统,然后将各种监控对象挂在其上就可以了。

同步串行总线接口的原理、接口方式和使用方法

2.4USB总线

USB(UniversalSerialBus)是1995年Microsoft、Compaq、IBM等公司联合制定的一种新的串行通信协议。USB支持热插拔和即插即用,USB接口可对外提供电源,USB2.0规范提供高达480Mbit/s的数据传输速率,最多支持127个设备。数据传输除了支持同步方式外,还可以采用控制、中断和批量传输等方式。在单片机应用系统中,常用的USB接口方法有两种:一种是系统外部扩展USB接口器件(如NS公司的USBN9602);另一种是选用内部带USB接口的单片机(如ATMEL公司的AT43USB351M等)。

2.5MPS总线

MPS是MicroPortSaver(节省微处理器接口的器件)的缩写,代表产品是Xicor公司的串行E2PROM存储器X84XXX系列。MPS接口器件可直接连到处理器总线上,并通过标准总线读写时序进行数据传输(可看作同步方式),在微控制器的控制线如、等的配合下,可以最大限度地节省I/O口,并简化逻辑编程。图2—4以AT89C51接两片E2PROMX84041为例简要说明MPS接口的使用方法(X84041的片选接74LS138输出即可,图中省略)。

同步串行总线接口的原理、接口方式和使用方法

2.6Microwire和Microwire/PLUS总线

Microwire总线是美国国家半导体(NS)公司推出的三线同步串行总线。这种总线由一根数据输出线(SO)、一根数据输入线(SI)和一根时钟线(SK)组成(但每个器件还要接一根片选线)。原始的Microwire总线上只能连接一片单片机作为主机,总线上的其它设备都是从机。此后,NS公司推出了8位的COP800单片机系列,仍采用原来的Microwire总线,但单片机上的总线接口改成既可由自身发出时钟,也可由外部输入时钟信号,也就是说,连接到总线上的单片机既可以是主机,也可以是从机。为了区别于原有的Microwire总线,称这种新产品为增强型的Microwire/PLUS总线。增强型的Microwire/PLUS总线上允许连接多片单片机和外围器件,因此,总线具有更大的灵活性和可变性,非常适用于分布式、多处理器的单片机测控系统。要改变一个系统,只需改变连接到总线上的单片机及外围器件的数量和型号。Microwire总线系统的典型结构如图2—5所示。

同步串行总线接口的原理、接口方式和使用方法


2.7其它的串行接口

除了以上介绍的5种串行扩展总线接口,还有一些器件具有类似的总线接口,如DS1302,它是美国DALLAS公司推出的一种高性能、低功耗、带RAM实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行记时,具有闰年补偿功能。它采用三线制与MCU进行通信:(1)I/O,串行数据输入/输出;(2)SCLK,串行时钟输入端,是串行数据的同步信号;(3),复位兼片选端。

3、结论

以上简要论述了当前单片机测控领域常见的几种同步串行扩展总线的接口方式,大家可以根据需要选择适当的接口方式来组成自己的单片机测控系统。一般来说,外围器件或被控器(从机)具有上述的一种或几种串行接口;主控机可以有两种选择:(1)选择有对应接口的单片机。它们的内部已经具有了相应的时序硬件控制逻辑,并提供了相应的控制寄存器和中断向量,只要按资料进行编程控制即可;(2)用常用的单片机,但是没有相应的同步串行接口,此时,大部分情况下可以通过I/O口的模拟来实现接口的功能(就是用软件模拟出通信过程中的时序变化),这样做必然会增加编程的代码量和降低系统的可靠性。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48105

    浏览量

    740102
  • 单片机
    +关注

    关注

    6001

    文章

    43977

    浏览量

    620861
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87218
收藏 人收藏

    评论

    相关推荐

    串行接口的优缺点

    时,这些元件决定了总线的选择,除非单线器件可提供更好的解决方案。同步接口• SPI• MICROWIRE• I2C™• 通用串行异步收发器(universal serial async
    发表于 06-06 05:00

    什么是串行通信接口IIC?

    初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线
    发表于 10-18 07:32

    SPI总线串行外围设备接口是什么

    SPI总线串行外围设备接口,是一种高速的、全双工、同步的通信总线。只占用四根线,(省线)
    发表于 07-19 08:51

    基于PC/104 总线与CPLD 的SPI 接口设计

    本文根据SPI 同步串行接口的通信协议,介绍了在CPLD 中利用VHDL 语言实现PC/104 总线扩展SPI 接口的设计原理和编程思想。
    发表于 05-30 09:28 41次下载

    SPI接口读写串行EEPROM

    SPI接口读写串行EEPROM:93C46为采用3线串行同步总线SPI接口方式的EEPROM,其芯片引脚名称和功能描述如图1-1:
    发表于 09-19 11:39 89次下载

    通用串行总线(USB)原理及接口设计

    通用串行总线(USB)原理及接口设计 通用串行总线USB (Universal SerialBus)是Intel、Microsoft等大厂商为解决计算机外设种类的日
    发表于 04-11 18:41 2528次阅读
    通用<b class='flag-5'>串行总线</b>(USB)原理及<b class='flag-5'>接口</b>设计

    什么是IEEE 1394串行接口

    什么是IEEE 1394串行接口 IEEE 1394高速串行接口总线是IEEE委员会1995年确认的高速度、低成本
    发表于 08-01 07:58 2867次阅读
    什么是IEEE 1394<b class='flag-5'>串行</b><b class='flag-5'>接口</b>

    数字接口系列文章之SPI总线

    数字接口系列文章之SPI总线  串行外设接口 (SPI) 总线是一种运行于全双工模式下的同步
    发表于 01-08 10:46 816次阅读
    数字<b class='flag-5'>接口</b>系列文章之SPI<b class='flag-5'>总线</b>

    单片机的串行接口

    串行接口简称串口,也称串行通信接口(通常指COM接口),是采用串行通信
    发表于 06-29 17:25 3339次阅读

    同步串行接口SPI的C语言编程

    同步串行接口SPI的C语言编程,快来下载学习啊
    发表于 07-04 14:01 8次下载

    lm3s同步串行接口

    lm3s同步串行接口
    发表于 10-11 14:51 5次下载
    lm3s<b class='flag-5'>同步</b><b class='flag-5'>串行</b><b class='flag-5'>接口</b>

    使用Verilog实现SPI串行总线接口的资料和源代码免费下载

    集成电路设计越来越向系统级的方向发展,并且越来越强调模块化的设计。SPI(Serial Peripheral Bus)总线是Motorola公司提出的一个同步串行外设接口,容许CPU
    发表于 08-19 08:00 9次下载
    使用Verilog实现SPI<b class='flag-5'>串行</b><b class='flag-5'>总线</b><b class='flag-5'>接口</b>的资料和源代码免费下载

    基于SPI串行总线接口的Verilog实现

    简 介: 集成电路设计越来越向系统级的方向发展,并且越来越强调模块化的设计。SPI(Serial Peripheral Bus)总线是Motorola公司提出的一个同步串行外设接口,容
    的头像 发表于 05-29 10:16 4580次阅读
    基于SPI<b class='flag-5'>串行</b><b class='flag-5'>总线</b><b class='flag-5'>接口</b>的Verilog实现

    串行总线、驱动器和物理接口的特性及性能比较

    微处理器中常用的集成串行总线是通用异步接收器传输总线(UART)、串行通信接口(SCI)和通用串行总线
    的头像 发表于 05-31 09:06 2590次阅读
    <b class='flag-5'>串行</b><b class='flag-5'>总线</b>、驱动器和物理<b class='flag-5'>接口</b>的特性及性能比较

    如何对SPI总线接口进行ESD静电放电保护?

    串行外设接口(Serial Peripheral Interface),简称SPI接口,是一种高速、全双工、同步的通信总线
    的头像 发表于 06-05 09:50 910次阅读
    如何对SPI<b class='flag-5'>总线</b><b class='flag-5'>接口</b>进行ESD静电放电保护?