您的位置 首页 软件

几种常用的嵌入式板上通讯接口详解

几种常用的嵌入式板上通信接口详解-随着通信与计算机整合时代的到来,数字化、宽带化和智能化已成为未来通信发展的方向,人类社会对电信业务从质量到业务种类都提出越来越高的要求,而接入网作为电信网的重要组成部分,连接本地交换机与用户,是整个电信网的毛细血管和瓶颈,实现数字化、宽带化和业务综合化的关键。 嵌入式系统是以应用为中心的硬件设计和面向应用的软件产品开发为基础的专用计算机系统,广泛应用于制造工业、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费产品等领域。
在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线。下面将逐一说明常用的板上通信接口。

跟着通讯与核算机整合年代的到来,数字化、宽带化和智能化已成为未来通讯开展的方向,人类社会对电信事务从质量到事务品种都提出越来越高的要求,而接入网作为电信网的重要组成部分,衔接本地交换机与用户,是整个电信网的毛细血管和瓶颈,完结数字化、宽带化和事务归纳化的要害。 嵌入式体系是以运用为中心的硬件规划和面向运用的软件产品开发为根底的专用核算机体系,广泛运用于制作工业、进程操控、通讯、仪器、外表、轿车、船只、航空、航天、军事装备、消费产品等范畴。

在嵌入式体系中,板上通讯接口是指用于将各种集成电路与其他外围设备交互衔接的通讯通路或总线。下面将逐个阐明常用的板上通讯接口。

1. I2C总线

I2C总线是一种同步、双向、半双工的两线式串行接口总线。这儿,半双工的意义是指在恣意给定的时间,只需一个方向上是能够通讯的。I2C总线最早由Philips半导体公司于20世纪80年代研制面市。I2C开端的规划方针是为微处理器/微操控器体系与电视机外围芯片之间的衔接供给简略的办法。I2C总线由两条总线组成:串行时钟线SCL和串行数据线SDA。SCL线担任发生同步时钟脉冲,SDA线担任在设备间传输串行数据。I2C总线是同享的总线体系,因而能够将多个I2C设备衔接到该体系上。衔接到I2C总线上的设备既能够用作主设备,也能够用作从设备。主设备担任操控通讯,经过对数据传输进行初始化/中止化,来发送数据并发生所需的同步时钟脉冲。从设备则是等候来自主设备的指令,并呼应指令接纳。主设备和从设备都能够作为发送设备或接纳设备。不管主设备是作为发送设备仍是接纳设备,同步时钟信号都只能由主设备发生。在相同的总线上,I2C支撑多个主设备的一起存在。图2-26显现了I2C总线上主设备和从设备的衔接联系。

几种常用的嵌入式板上通讯接口详解

依据输入缓冲区和漏极开路晶体管(或者是集电极开路晶体管),能够构建I2C总线接口。当总线处于闲暇状况的时分,漏极开路晶体管(或者是集电极开路晶体管)处于悬空状况,输出导线(SDA和SCL)为高阻态。为了使总线正常作业,应该运用上拉电阻,将两条总线都上拉到供电电压(TTL系列器材为+5V,CMOS系列器材为+3.3V)。上拉电阻一般取值为2.2K。运用上拉电阻,总线上输出导线处于闲暇状况的时分,对应于高电平。

经过将设备地址线硬件衔接到所需的逻辑电平上,能够分配I2C设备的地址。在嵌入式设备中,当规划嵌入式硬件的时分,需求分配各种I2C设备的地址并完结硬件衔接。体系与I2C从设备通讯的作业次序如下:

(1) 主设备将总线上的时钟线(SCL)拉高到高电平。

(2) 当SCL线处于高电平逻辑(这是数据传输的发动条件)的时分,主设备将数据线(SDA)拉低到低电平。

(3) 主设备经过SDA线,将从设备地址(具有7位或10位宽度)发送到通讯意图地址。从设备会在SCL线上发生时钟脉冲,用于同步位接纳。需求阐明的是,体系总是首要传输数据的MSB(最高位)。在时钟信号处于高电平期间,总线中的数据是有用的。

(4) 依据需求,主设备发送读位或写位(位值等于1意味着读操作,位值等于0意味着写操作)。

(5) 主设备等候从设备宣布承认位。在发送读/写操作指令的一起,从设备的地址也会发送到总线上。关于衔接到总线上的从设备,会将接纳到的地址与分配的地址进行比较。

(6) 假如从设备接纳到来自主设备的指令并且地址正确,那么从设备经过SDA线发送承认位(值为1)。

(7) 主设备接纳到承认位之后,假如操作指令是向设备写入数据,就经过SDA线向从设备发送8位数据。假如操作指令是从设备读出数据,从设备将经过SDA线将数据发送给主设备。

(8) 关于写入操作,在字节传输完毕之后,主设备等候从设备发送承认位;关于读出操作,在字节传输完毕之后,主设备向从设备发送承认位。

(9) 当时钟线SCL处于逻辑高电平(表明中止)的时分,经过将SDA线拉高到高电平,主设备能够中止数据传输。

I2C总线支撑三种不同的数据速率:规范方式(数据速率为100kb/秒,即100kbps)、快速方式(数据速率为400kb/秒,即400kbps)、高速方式(数据速率为3.4Mb/秒,即3.4Mbps)。第一代I2C设备规划所支撑的数据速率只需100kbps,新一代I2C设备则能够以高达3.4Mbps的数据速率作业。

2. SPI总线

SPI总线是同步、双向、全双工的4线式串行接口总线,最早由Motorola公司提出。SPI是由“单个主设备+多个从设备”构成的体系。需求阐明的是:在体系中,只需恣意时间只需一个主设备是处于激活状况的,就能够存在多个SPI主设备。为了完结通讯,SPI共有4条信号线,分别是:

(1)主设备出、从设备入(Master Out Slave In,MOSI):由主设备向从设备传输数据的信号线,也称为从设备输入(Slave Input/Slave Data In,SI/SDI)。

(2)主设备入、从设备出(Master In Slave Out,MISO):由从设备向主设备传输数据的信号线,也称为从设备输出(Slave Output/Slave Data Out,SO/SDO)。

(3)串行时钟(Serial Clock,SCLK):传输时钟信号的信号线。

(4)从设备挑选(Slave Select,SS):用于挑选从设备的信号线,低电平有用。

图2-27显现了SPI总线上主设备和从设备的衔接联系图。

几种常用的嵌入式板上通讯接口详解

主设备担任发生时钟信号,并经过将相应从设备的从设备挑选信号拉低为低电平,选通所需的从设备。在没有选通的时分,一切从设备的数据输出线MISO都悬空处于高阻态。

SPI总线上的串行数据传输是用户可装备的。SPI设备包括特定的寄存器组,能够保存所需的装备。串行外围设备的操控寄存器用于保存各种装备参数,比方器材的主/从挑选、通讯波特率的挑选、时钟信号操控等。状况寄存器则用于保存各种通讯条件的状况,完结所需的数据传输和数据接纳。

SPI的作业是依据移位寄存器的;为了完结数据传输或数据接纳,主设备和从设备包括了专用移位寄存器。移位寄存器的长度取决于详细设备,一般是8的整数倍。数据在从主设备传输到从设备的进程中,主设备移位寄存器中的数据从MOSI管脚移出,然后经过从设备的MOSI管脚,输入到从设备的移位寄存器中。与此一起,由从设备移位寄存器移位出来的数据,经过MISO管脚,输入到主设备的移位寄存器中。也就是说,主设备和从设备的移位寄存器构成了一个循环缓冲区。关于特定类型的器材,能够经过装备寄存器(比方,关于Motorola公司出产的68HC12型操控器,需求装备SPI操控寄存器的LSBF位),决议最早发送的数据位是最高位仍是最低位。

与I2C总线比较,SPI总线更适于数据流传输。SPI的不足之处在于,SPI不支撑数据承认机制。

3. UART

依据UART的数据传输是异步方式的串行数据传输。依据UART的串行数据传输不需求运用时钟信号来同步传输的发送端和接纳端,而是依赖于发送设备和接纳设备之间预界说的装备。关于发送设备和接纳设备来说,两者的串行通讯装备(波特率、单位字的位数、奇偶校验、开端位数与完毕位、流量操控)应该设置为完全相同。经过在数据流中刺进特定的比特序列,能够指示通讯的开端与完毕。当发送一个字节数据的时分,需求在比特流的最初加上开端位,并在比特流的结尾加上完毕位。数据字节的最低位紧接在开端位之后。

开端位用于奉告接纳设备:数据字节即将抵达接纳端。然后,接纳设备依照设定的波特率,选中其数据接纳线。假如波特率是x比特/秒,那么每个比特可用的时隙是1/x秒。接纳设备会精确地在比特可用时隙一半的方位,守时选中数据接纳线。假如通讯运用了奇偶校验功用,那么UART发送设备会在发送数据流中添加奇偶校验位(取值为1,表明传输比特流中含有奇数个1;取值为0,则表明传输比特流中含有偶数个1)。UART接纳设备核算接纳到的数据位的奇偶校验成果,并与接纳到的奇偶校验位进行比较。UART接纳设备丢掉掉接纳比特流中的开端位、完毕位、奇偶校验位,并将接纳到的串行比特数据转换成字(比方,考虑8比特对应于1个字节的状况,接纳到8比特,最早接纳到的数据位是LSB,最终接纳到的数据位是MSB)。

为了完结正确的通讯,发送设备的数据传输线应该衔接到接纳设备的数据接纳线上。图2-28显现了UART的衔接图。

几种常用的嵌入式板上通讯接口详解

除了串行数据传输功用以外,UART还能够为操控串行数据流供给硬件握手信号支撑。许多半导体厂商都供给了相应的UART芯片。NaTIonal半导体公司出产的8250 UART是具有规范设置的UART,用于IBM PC的前期规划中。

现在,大多数微处理器/操控器都集成有UART功用,并为串行数据传输与接纳供给内置式的指令支撑。

4. 1-Wire接口

1-Wire接口是由Maxim Dallas半导体公司(主页为)开发的异步半双工通讯协议,也称为Dallas 1-Wire®协议。其间,依照主-从通讯模型,只运用单条信号线DQ完结通讯。1-Wire总线的一个重要特征在于,该总线答应在信号线上传输能量。I2C从设备在信号线上运用内部电容器(其典型取值为800 pF)来驱动设备。1-Wire接口支撑在总线上衔接单个主设备以及一个或多个从设备。图2-29显现了1-Wire总线上主设备和从设备的衔接联系图。

几种常用的嵌入式板上通讯接口详解

每台1-Wire设备都具有全球仅有可辨认的64位辨认码信息,存储在设备内部。关于多台从设备衔接到1-Wire总线上的状况,经过解读仅有的辨认码,能够寻址总线上存在的各台独立设备。辨认码由以下三个部分组成:8位的类别码、48位的序列号以及前56比特数据的8位CRC校验成果。与1-Wire从设备通讯的详细流程如下:

(1) 主设备将复位脉冲发送到1-Wire总线上。

(2) 总线上的从设备经过承认脉冲予以回应。

(3) 主设备发送ROM指令(网络寻址指令,参数是设备的64位地址),然后寻址到需求建议通讯的从设备。

(4) 主设备发送读/写指令,对从设备的内部存储器或寄存器进行读/写操作。

(5) 主设备将数据由从设备读出,或者是将数据写入从设备。

1-Wire总线上的一切通讯都是由主设备建议的。其间,通讯的最小距离是时长为60微秒的时隙。复位脉冲占用8个时隙。在通讯的开端阶段,主设备将1-Wire总线拉低到低电平,并继续8个时隙(即480 μs),然后宣布复位脉冲。假如总线上存在从设备,并且现已准备好进行通讯,那么从设备将经过承认脉冲来回应主设备;也就是说,从设备将1-Wire总线拉低到低电平,并继续1个时隙(即60 μs)。为了在1-Wire总线上写入位值1,需求总线主设备将总线拉低,其继续时间为1~15 μs,然后在该时隙的其他时间段开释总线。为了在总线上写入位值0,主设备需求将总线拉低,其继续时间至少为1个时隙(60 μs),最多为2个时隙(120 μs)。为了由从设备读出位值,主设备需求将总线拉低,并继续1~15 μs。为了呼应主设备的读数据恳求,假如从设备想要发送位值1,那么从设备只需求在该时隙的其他时间段开释总线;假如从设备想要发送位值0,那么从设备需求在该时隙的其他时间段将总线拉低。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/103128.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部