微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 同步串行扩展总线接口

同步串行扩展总线接口

时间:05-14 来源:互联网 点击:

[摘要]简要论述了当前单片机测控领域常见的几种同步串行扩展总线的基本原理,给出了它们典型的应用接口方式,同时对单片机测控系统的总线选择提出一些建议。

[关键词]同步串行总线;单总线;I2C;SPI

1串行总线接口简介

众所周知,单片机与外围设备的通信方式可分为并行通信和串行通信,相应的通信总线被称为并行总线和串行总线。并行通信速度快,实时性好,但由于占用单片机的口线多(即使地址和数据线可部分复用),不适合作为小型化产品和分布式、远程测控系统的数据通信方式。串行通信只需一根和几根数据传输线(兼作地址、控制线),不仅大大降低硬件成本,也有利于系统的扩展设计,所以串行总线广泛应用于单片机测控中。目前串行总线除了使用通用异步串行接口(UART,如:RS-232C/449/423/422/485)以外,应用越来越多的是同步串行扩展总线接口,主要有单总线、I2C、SPI、USB、MPS、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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top