首先介绍一下总线的概念:
总线的分类
总线可以按其功能、性能和级别分类。
按传输信号的性质分类
总线按其信号线上传输的信息性质可分为三组:
① 数据总线,一般情况下是双向总线;
② 地址总线,单向总线,是微处理器或其他主
设备发出的地址信号线;
③ 控制总线,微处理器与存储器或接口等之间
SPI(Serial Peripheral Interface:串行外设接口);
SPI是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比IIC总线要快,速度可达到几Mbps。
SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连 接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通 信,当有多个从设备时,还可以增加一条从设备选择线。
如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
IIC
IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。
I2C总线用两条线(SDA和SCL)在总线和装置之间传递信息,在微控制器和外部设备之间进行串行通讯或在主设备和从设备之间的双向数据传送。
I2C是OD输出的,大部分I2C都是2线的(时钟和数据),一般用来传输控制信号。
IIS
IIS(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频 数据传输而制定的一种总线标准。
I2S则大部分是3线的(除了时钟和数据外,还有一个左右声道的选择信号),I2S主要用来传输音频信号。
UART
UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)。
UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。
一总线:
一总线顾名思义就是一根线集成了控制,数据和时钟多根线,主要是用于在传感器上面,比如大家熟悉的温度传感器DS18B20。
以上均是个人整理的资料,还有很多种类的总线结构,均是为了解决某一问题而产生的,大家可以自己上网找资料进行查阅。
就我对总线的理解就是一种上位机和各种器件之间进行通信的协议,其中包含的有每根总线的定义及其作用,他们之间的协议就是怎么样来选中这个总线器件,接着就是读它还是写它的使能,再就是时钟信号控制什么时候读取数据信号,最后就是使能信号的切断并最终完成一次通信。
目前大多数传感器系统都采用放大--传输--数模转换这种处理模式。这种模式一般要占用数条数
据/控制线,限制了单片机功能的扩展。而一线总线技术则很好地解决了这个问题。
一线总线技术就是在一条总线上仅有一个主系统和若干个从系统组成的计算机应用系统。由于总线上的所有器件都通过一条信号线传输信息,总线上的每个器件在不同的时间段驱动总线,这相当于把数据总线、地址总线和控制总线合在了一起。所以整个系统要按单总线协议规定的时序进行工作。为了使其它设备也能使用这条总线,一线总线协议采用了一个三态门,使得每一个设备在不传送数据时空出该数据线给
其它设备。一线总线在外部需要一个上拉电阻器,所以在总线空闲时是高电平。
挂在单总线上的器件称为单总线器件,为了区分总线上的不同器件,生产单总线器件时,厂家都刻录了一个64位的二进制ROM代码作为芯片的唯一序列号。这样通过寻址就可以把每个器件识别出来。
文章评论(0条评论)
登录后参与讨论