接口

我们将简要介绍七个串行接口:SIO、UART、SSP(SPI)、I2C、CAN、USB和EtherMAC。虽然每个接口都有几个不同的操作模式,但我们只介绍一个典型的模式。

1. SIO(串行输入输出)

最基本的串行接口是SIO,它由一个主器件和一个从器件通过一条数据线和一条时钟线采用一对一的方式连接组成。主器件把传输时钟提供给从器件。

接口将被其控制电路中的寄存器指定为主从器件。在数据传输之前,应该设置另一个寄存器以确定哪一个成为发射器或接收器。

1.png

如果数据集为8位,则发出8个时钟来同步传输数据。主器件的指令随时钟信号传输至从器件。这就是说,当主器件向从器件发送或接收数据时,主器件将通过发出时钟来启动传输请求。由于数据传输方向是预先定义的,因此主器件将在必要时向从器件发出时钟,并执行与从器件之间的数据发送或接收,与时钟同步。

2.png

数据通常是8位串行数据。可以在数据末尾添加一个奇偶校验位,这将使得长度总共为9位。在这种情况下,从器件接口必须在接收串行数据之前已经知道串行数据有一个奇偶校验位。

3.png

2. UART(通用异步收发器)

UART是异步串行接口,两个接口之间没有时钟信号。因此在UART中,主从器件的定义没有意义。

虽然消除时钟信号的目的是防止噪声问题,但这将造成另一个问题。如前所述,来自主器件的命令将通过SIO中的时钟信号发送到从器件。但是由于UART没有任何时钟信号,UART接口无法接受任何命令。因此,接收器必须等待数据到达,然后随时正确接收数据。

为了使接收器能够识别传输数据的开始和结束,发射器应对传输数据的开始或结束数据设置一些指示。起始位是数据“0”,停止(结束)位是数据“1”,它们分别添加在传输数据之前和之后。

4.png

在数据传输之前,发射器或接收器的分配已经完成。如果数据线变为“0”(数据线通常为“1”),则接收器会识别到发射器将要发送数据并准备开始接收传输数据。在数据传输过程中,由于没有时钟信号,很难理解一个位的时间间隔有多长。如果发射器发送了两个“0”(“00”),则接收器不可能在发射器和接收器之间没有任何约定的情况下识别出传输数据只是一个“0”或“00”。

关于该约定的典型例子是,接收器用频率比发射器中的发送时钟快16倍的时钟接收数据,该发射器应在数据传输之前预先定义。一旦接收器检测到起始位,它将每隔16个时钟捕获一次数据。

5.png

在UART和SIO中都可以添加奇偶校验位。

UART中可能有两个以上的接口。在这种情况下,只有一个接口能分配为主器件,其它接口作为从器件。接收器将应答返回给发射器,使得对接功能可在UART上工作。

3. SSP(SPI)(同步串行端口(串行外围接口))

SSP是同步串行接口的总称,是指包括SPI在内的几种不同的数据传输方法。

SPI有一个主器件和多个从器件,这就是说SPI具有星型结构。所有接口共享两条数据线。其中一条是主器件发送数据线(SPDO),另一条是主器件接收数据线(SPDI)。通过使用这两条数据线,SPI可以方便地控制从器件接口,同时可轻松地增加从器件接口的数量,因为数据线上不会发生数据冲突。一条时钟线(SPCLK)将由主器件和所有从器件以及数据线共享。主器件具有选择线路(SPFSSn)来访问其中一个从器件以便与主器件进行通信。一条选择线路连接到一个从器件,因此主器件的选择线路数量与从器件的相同。

6.png

4. I2C(内部集成电路)

即使网络中存在多个从器件,在I2C中也只需要两条线路,即一条数据线和一条时钟线。I2C还允许多个主器件结构(可以分配多个主器件)。在每个接口控制电路中设置一个寄存器,可以完成主从器件的分配。I2C是同步接口。

设计I2C数据线和时钟线以实现多个主器件结构。所有接口的输出只有“0”或高阻状态,数据和时钟的高电平由线路上的上拉元件(“线与”结构)提供。每个接口的输出缓冲区只有NMOS晶体管,没有PMOS晶体管。必要时,这些晶体管变为“导通”,接口的输出将为“0”。如果这些NMOS晶体管变为“关断”,则接口的输出变为高阻状态。由于上拉元件连接到每条线路,如果连接到信号线的接口的所有输出变成高Z状态,则该线路被上拉直至VDD并变成“1”。这是“线与”结构。

7.png

8.png

在“线与”连接中,数据“0”比数据“1”强。也就是说,如果两个接口分别输出“0”和“1”(高阻状态),则该线路的数据变为“0”。该强度优先级实现了对于防止多个主器件系统中发生数据冲突的仲裁方式。考虑两个主器件同时向数据线输出数据的情况,如果其中一个数据为“0”,另一个数据为“1”,则后一个接口将立即知道其它输出为“0”,并根据自己的判断立即停止线路访问。结果是前一个接口将保留使用线路的优先级,后一个接口将在知道前一个接口的数据传输结束后恢复数据传输。这种仲裁方式使得多个主器件系统成为可能。

5. CAN(控制器区域网络)

CAN是一种主要用于汽车内部通信的网络。CAN的结构致力于抗噪声。它采用差分数据线结构,不需要任何时钟线。所以CAN是异步接口,尽管CAN仅由与I2C一样的两条信号线构成。

9.png

双数据线即所谓的CAN.H和CAN.L。两个数据信号之间的电压差表示数据;较高电压的CAN.H和较低电压的CAN.L定义数据“0”,而这些信号的相同电压电平定义数据“1”。这些定义实现了高的抗噪性,因为噪声将以相同的方式同时影响两条线路。

10.png

CAN接口有一种特殊的同步方式,不需要任何时钟,主从器件之间没有区别。因此,信号线上存在数据冲突的可能性,所以每个接口应设置优先级。接口之间的同步按以下方式进行。首先,发射器将在发送数据之前传输起始位“0”。因为到目前为止,信号线上的数据一直是“1”,所以其它接口将检测到这个“0”数据,并将它们自己的时钟同步到数据“0”的边缘。当接收到传输的数据时,接收器将其时钟定时调整到数据“0”的任意边缘。当数据“1”继续时,这个方法将出现问题,因为数据“1”在CAN.H或CAN.L上没有边缘。连续的数据序列“1”无边缘,并且接收器可能与发射器失去同步。其解决方案是采用“位填充”技术,这种情况下,在五个连续的“1”数据之后插入一个数据“0”,这仅用于发射器的同步。接收器将使用数据“0”来同步其时钟,并将其从接收的数据中消除。

11.png

如前所述,应对每个接口设置优先级,以防止数据冲突。为此,每个CAN接口都有标识符(11位)。标识符可用于确定每个接口传输数据的优先级,以防止数据冲突。

实际上,当数据“0”和数据“1”从不同的接口输出到数据线时,数据“0”在CAN中的传输类似于在I2C中的传输。在起始位之后和传输数据之前,发射器将传输其自己的标识符。当两个接口同时发送它们的标识符时,其中一个接口将取得优先级,输出“0”,另一个输出“1”。前一个接口可以占用数据线,在另一个接口之前完成发送。

6. USB 2.0(通用串行总线2.0)

USB 2.0是一种非常流行的串行接口,特别是对于个人电脑而言。众所周知,USB 2.0被广泛应用于各种应用,比如键盘、鼠标、打印机、闪存、硬盘、扬声器等接口。

USB 2.0有三种速度等级,分别是低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。
USB接口采用分层结构。在USB中,主器件称为“主机”,从器件称为“设备”。USB 2.0是一个星型网络,其中一个“主机”控制着许多“设备”。例如,PC是主机,设备可以是通过USB电缆连接到PC的任何设备,比如键盘、鼠标等。

12.png

USB的显著特点是即插即用。连接或卸下USB设备时,不必关闭电脑。这就是USB变得如此流行的原因之一。

为了使USB设备能够很容易地连接到网络或从网络中移除,USB主机必须做一些工作。当USB设备连接到网络时,该设备会向主机发送请求。接收来自设备的请求后,主机开始获取设备的信息,选择最合适的驱动器,并为设备分配地址。主机的这个操作称为枚举。枚举成功后,主机可以正确访问设备。

主机可控制的设备和集线器的最大数量为127。如果集线器插入网络,则串联连接的集线器数量必须小于或等于5。

USB 2.0电缆有4根导线:VDD、GND、信号D+和信号D-。对于一个传输数据,信号D+和D-彼此取互补值。如果D+为高电平,D-为低电平,则数据被称为“差分1”。如果D+为低电平,D-为高电平,则数据被称为“差分0”。

但在USB 2.0网络的实际数据传输中,“差分1”和“差分0”并不一定分别意味着数据“1”和数据“0”。USB的数据格式为NRZI(反向不归零)。当一个时钟间隔内没有变化时,此格式将定义数据“1”,当发生从高到低或从低到高的变化时,则定义数据“0”。

13.png

14.png

USB 2.0没有任何时钟线,所以它是异步接口。所以主机和驱动器必须像在CAN中一样进行相互同步。传输8位SYNC码,使接收器与发射器以USB全速同步。

数据传输时,在USB 2.0中连续传输6次数据“1”后,完成数据“0”的位填充,因为只有数据“1s”连续传输时,NRZI格式中无信号边缘出现。

15.png

7. EtherMAC(以太网媒体访问控制)

EtherMAC是以太网接口的一部分。由于以太网的接口结构非常复杂,所以不容易闸释完全的以太网功能。我们只对以太网进行简要说明,提供到目前为止所述的与其它串行接口的差异概述。

以太网的“以太”来自一种叫做“以太”的介质,它是一种物理学定义,曾经被认为可以填满所有的空间。“以太”的存在最终被否定了,但由于“以太”被认为是无处不在的,所以它成为了网络命名的起源。

以太网主要分为四层,即物理层、数据链路层、网络层和上层。EtherMAC处理最低的两层:物理层和数据链路层。

以太网电缆由四根信号线组成。两条绞合线用于输出数据,另两条绞合线用于输入数据。这种电缆即使没有电屏蔽层也有很好的抗噪性(非屏蔽双绞线:UTP)。由于没有时钟线,因此以太网是一个异步接口。

为了理解以太网的概念,我们先介绍一下10Base-T,尽管100Base-TX是当今最流行的版本,但10Base-T是基本的,且比100Base-TX简单得多。10Base-T是一个使用双绞线的接口,具有10Mbps传输速率和基带格式。信号传输采用曼彻斯特代码格式。在曼彻斯特代码中,数据“1”和“0”分别定义为上升转换和下降转换。

16.png

以太网没有任何时钟线。接收器和发射器必须彼此同步,与CAN和USB2.0接口中一样。但即使相同的数据连续重复,也不需要位填充,因为数据“1”和数据“0”中都有信号转换。发射器发送数据前的56位连续脉冲,仅用于使接收器与发射器同步。

以太网没有USB 2.0中所必不可少的主机和设备关系等层次结构。当接口的一个单元想要输出数据时,该线路必须是空闲的。如果另一个单元占用线路,该单元必须等待。即使该单元已确保线路可用并开始发送数据,但如果另一个单元也开始同时发送数据,则会发生冲突。一旦发生冲突,所有单元将停止发送数据,并等待线路空闲。当一个单元尝试开始发送时,可能会再次发生另一个冲突,因为其它单元也尝试开始发送。为了防止这种永久性的冲突,以太网有一个防止冲突的对策。当发生冲突时,发射器的等待时间由随机数决定。这对发生冲突的单元有效。但是当先前的一个单元开始再次发送数据时,新单元可能会发生冲突。一个单元最多可以发送16次相同的数据。

对于无主从器件关系的系统分担通信责任而言,这是最佳的仲裁方式之一。

来源:硬件工程师技术号

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 37

业界领先的半导体器件供应商兆易创新GigaDevice(股票代码 603986)今日宣布,在由AspenCore主办的2023全球CEO峰会暨全球电子成就奖(WEAA)颁奖典礼上,旗下GD32H737/757/759系列Cortex®-M7内核超高性能MCU荣获“年度微控制器/接口产品”奖。

1.jpg

全球电子成就(World Electronics Achievement Awards)旨在评选并表彰对推动全球电子产业创新做出杰出贡献的企业和管理者,由AspenCore全球资深产业分析师组成的评审委员会以及来自亚、美、欧洲的网站用户群共同评选出得奖者。经过与国际和国内知名厂商的激烈角逐,兆易创新GD32H7系列产品最终荣膺该奖项。

兆易创新GD32H737/757/759系列MCU是中国首款基于Arm® Cortex®-M7内核的超高性能微控制器。该系列产品具备卓越的处理能效、丰富的连接特性及多重安全机制,以先进工艺制程和优化的成本控制,全面释放高级应用的创新潜力,可广泛应用于数字信号处理、电机变频、电源、储能系统、民用无人机、音频视频、图形图像等各类应用。得益于超高主频、内置硬件加速器以及大存储容量,该系列产品也适用于机器学习和人工智能等诸多高端创新场景。

GD32H7系列MCU采用基于Armv7E-M架构的600MHz Arm® Cortex®-M7高性能内核,最高主频下的工作性能可达1552 DMIPS,CoreMark®测试取得了2888分的出色表现,同主频下的代码执行效率相比市场同类产品提升约10%,相比Cortex®-M4产品的性能提升超过40%。GD32H7系列MCU配备了1024KB到3840KB的片上Flash及1024KB的SRAM,其中包含512KB可配置超大紧耦合内存(ITCM, DTCM),可确保关键指令与数据的零等待执行;还配备了64KB L1-Cache高速缓存(I-Cache, D-Cache),有效提升CPU处理效率和实时性。能够支持复杂操作系统及嵌入式AI、机器学习(ML)等多种高级算法。 

GD32H7系列MCU新增了大量通用外设资源,集成了3路CAN-FD控制器和2路以太网,满足高速互联应用所需。还提供了出色的图形显示和音视频接口,为多媒体应用提供了重组支持。配备了2个14位ADC采样速率可达4MSPS,1个12位ADC采样速率高达5.3MSPS,还集成了快速比较器(COMP)、DAC等高精度模拟外设以支持各类电机控制场景。GD32H7提供了多种安全加密功能,包括DES、三重DES、AES算法及哈希算法,集成的RTDEC模块,还可以保护连接到AXI或AHB总线的外部存储器的信息安全,防止在工厂和现场的通信过程中受到的威胁,确保物联网硬件数据安全。

此外,依托于GD32完善的开发生态,GD32H7系列获得了Arm® KEIL、IAR、SEGGER等知名嵌入式工具厂商提供的包括集成开发环境(IDE)、调试(Debug)和跟踪(Trace)等在内的全面支持。业界主流的实时操作系统(RTOS)、图形化界面(GUI)和嵌入式AI算法等中间件也将适配,加速用户项目设计,缩短产品上市周期。

此次获得全球电子成就奖“年度微控制器/接口产品”大奖,是来自世界各地的行业专家对兆易创新GD32 H7系列产品强劲性能的高度认可。GD32 MCU还将基于多元的开发生态和丰富的产品组合,为更多用户带来优质可靠的服务,并将与海内外的合作伙伴共同携手促进嵌入式应用的发展。

*兆易、兆易创新、GigaDevice、GD32,及其标志均为兆易创新科技集团股份有限公司的商标或注册商标,其他品牌和注册商标归各自所有者持有。

来源:兆易创新GigaDevice

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 16

在PCB设计中,电磁兼容性(EMC)异常重要,关系到整个项目的成败,稍早前本加油站发表了两篇相关文章,对这个问题所涉及到的方方面面,做了一个全面的梳理:

如何在PCB板设计中,增强电磁兼容性?

本文将重点讲解电源部分设计在EMC方面的考虑。

1. 概述

在MCU硬件系统中,电源和接口的硬件设计是非常重要和必不可少的部分。

同时,电源和接口的EMC设计在产品和项目是非常常见和容易出现问题的两个设计要点。

本文简要介绍和讨论了关于电源和接口在EMC设计和布局布线的考虑。

2. 电源EMC设计考虑

2.1 电源电路设计

在MCU硬件系统设计中,我们经常用到的电源包括LDO和DC-DC Buck/Boost电路。

DC-DC电路又可以分为PWM工作模式,PFM工作模式和PWM-PFM混合工作模式。

LDO电源电路具有电源输出纹波小,负载响应快,静态功耗低,噪声抑制比高和外围器件少等优点。但相应地,也存在Vdrop压降和电源转换效率低等缺点。

DC-DC Buck/Boost电路具有电源转换效率高,输入电压范围宽和输出电流大等特点。但同时由于电路的开关特性而具有电源输出纹波噪声大,负载响应较慢和外围电路复杂成本高等缺点。

在进行电源电路设计时,应根据实际系统的设计要求,选择合适的电源类型和拓扑结构。

同时,从电磁兼容性的角度来讲,有以下几点需要注意:

  • 选择低ESR的电源输出电容,以降低输出电源纹波,并提高负载响应速度;
  • 选择低ESR和带shield屏蔽的电感,以降低纹波和EMI噪声;

  • PWM-PFM工作模式可根据负载的要求和动态变化,进行合理选择和切换。
    PWM模式下,纹波噪声小,重负载时效率高;
    PFM模式下,静态功耗小,轻负载时效率高,负载响应速度快,但纹波噪声较大。

2.2 电源电路PCB layout设计

电源电路PCB Layout设计时,一些布局布线的设计规则和方法可以作为参考,如下所示:

  • 电源输入和输出滤波电容布局时,首先要将小容值电容放在靠近电源输入或输出的位置,然后依次是大容值滤波电容。因为小容值可以提供快速的响应时间,能滤除电源中高频干扰部分,大容值的体电容能够滤除低频干扰并提供负载瞬间大电流的蓄储能力。
    其次,滤波电容应摆放在电源输入端或输出端与芯片电源引脚之间的路径上,保证电源输入或输出必然经过滤波电容。
    再次,也需保证滤波电容的GND距离芯片GND引脚之间的距离最短,以最大程度地缩短回流路径,降低GND网络阻抗;
  • 增加电源输入或输出端换层时过孔数量,以减少电源阻抗;
  • 尽量减少GND换层,保证GND在芯片的TOP层有完整的地平面,以减少地阻抗;
  • 电源输入和输出的回流路径保持最小。

“图
图 1. DC-DC电源最小化回流路径

如下图所示,电源电路优化过程包括如下几方面的优化:

  • 去掉元器件引脚间的残留锐角铜皮;

  • 增加电源输入过孔数量,确保先经过输入滤波电容,并提高与电感的隔离度;

  • 优化地平面的回流路径,使得电源环路面积最小;

  • 尽可能加粗电源走线,保证电源走线的低阻抗特性;

  • 优化输出电容的接地,确保在最小的回流路径上。

“”图2.
图2. DC-DC电源优化过程

在使用内电层作为电源层平面或者走线时,有以下需要关注的要点:

  • 电源层分割时,应考虑整板电源层内缩,即保证电源层在PCB电路板边缘要相对于GND层内缩。这样可有效减少PCB电路板的EMI辐射。

  • 电源层分割或走电源线时,应注意尽量减少避空的过孔,保证电源平面或电源线的低阻抗特性。

  • 在接口或者高隔离要求的电路中,要保证GND层和电源层的同时隔离。例如RS485电路,它采用光耦隔离电路来提高板级隔离度,同时要将隔离电路下面的GND层和电源层进行避空隔离。

  • 电源层的电源域进行换层时,需要在就近的地方放置电源滤波电容,并增加过孔的数量,保证电源工作在最大负载时的载流能力。

“图3.
图3. DC-DC电源走内电层的情况

3. 接口电路EMC设计考虑

在产品设计中,我们通常会设计诸如USB, HDMI,RJ-45, RS422/485和音频输入等接口,以满足汽车,工业和消费级客户的不同应用需求。

从EMC设计的角度出发,需要从电路滤波设计和GND分割隔离处理等方面进行考虑和设计。

接口电路滤波设计,例如USB接口加共模抑制电感,RJ-45接口加LC滤波电路等。

如下图所示,以RS485接口为例,对比介绍了接口的隔离设计,主要采取了以下措施以满足EMC设计的要求。

  • 电路设计中增加了光耦隔离设计;

  • 采用单点接地连接的方式,在每一层GND都进行信号板级GND和接口GND进行分割处理,保证足够的分割间隙;

  • 保持跨越GND分割间隙的走线最短。

“图4.
图4. RS485接口采用隔离设计之前的Layout

“图5.
图5. RS485接口隔离设计之后的Layout

有需要进一步了解的读者,可以继续阅读恩智浦的文档:
AN13202-<EMCDesign Recommendation on i.MXRT Series>.

来源: 恩智浦MCU加油站
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 309

我们知道,在电路系统的各个子模块进行数据交换时可能会存在一些问题导致信号无法正常、高质量地“流通”,例如有时电路子模块各自的工作时序有偏差(如CPU与外设)或者各自的信号类型不一致(如传感器检测光信号)等,这时我们应该考虑通过相应的接口方式来很好地处理这个问题。

下面就电路设计中7个常用的接口类型的关键点进行说明一下:

(1)TTL电平接口:

这个接口类型基本是老生常谈的吧,从上大学学习模拟电路、数字电路开始,对于一般的电路设计,TTL电平接口基本就脱不了“干系”!它的速度一般限制在30MHz以内,这是由于BJT的输入端存在几个pF的输入电容的缘故(构成一个LPF),输入信号超过一定频率的话,信号就将“丢失”。它的驱动能力一般最大为几十个毫安。正常工作的信号电压一般较高,要是把它和信号电压较低的ECL电路接近时会产生比较明显的串扰问题。

(2)CMOS电平接口:

我们对它也不陌生,也是经常和它打交道了,一些关于CMOS的半导体特性在这里就不必啰嗦了。许多人都知道的是,正常情况下CMOS的功耗和抗干扰能力远优于TTL。但是!鲜为人知的是,在高转换频率时,CMOS系列实际上却比TTL消耗更多的功率,至于为什么是这样,请去问半导体物理理论吧。由于CMOS的工作电压目前已经可以很小了,有的FPGA内核工作电压甚至接近1.5V,这样就使得电平之间的噪声容限比TTL小了很多,因此更加加重了由于电压波动而引发的信号判断错误。众所周知,CMOS电路的输入阻抗是很高的,因此,它的耦合电容容量可以很小,而不需要使用大的电解电容器了。由于CMOS电路通常驱动能力较弱,所以必须先进行TTL转换后再驱动ECL电路。此外,设计CMOS接口电路时,要注意避免容性负载过重,否则的话会使得上升时间变慢,而且驱动器件的功耗也将增加(因为容性负载并不耗费功率)。

(3)ECL电平接口:

这可是计算机系统内部的老朋友啊!因为它的速度“跑”得够快,甚至可以跑到几百MHz!这是由于ECL内部的BJT在导通时并没有处于饱和状态,这样就可以减少BJT的导通和截止时间,工作速度自然也就可以提上去了。But,这是要付出代价的!它的致命伤:功耗较大!它引发的EMI问题也就值得考虑了,抗干扰能力也就好不到哪去了,要是谁能够折中好这两点因素的话,那么他(她)就该发大财了。还有要注意的是,一般ECL集成电路是需要负电源供电的,也就是说它的输出电压为负值,这时就需要专门的电平移动电路了。

(4)RS-232电平接口:

玩电子技术的基本没有谁不知道它的了(除非他或她只是电子技术专业的“门外汉”)。它是低速串行通信接口标准,要注意的是,它的电平标准有点“反常”:高电平为-12V,而低电平为+12V。So,当我们试图通过计算机与外设进行通信时,一个电平转换芯片MAX232自然是少不了的了。但是我们得清醒地意识到它的一些缺点,例如数据传输速度还是比较慢、传输距离也较短等。

(5)差分平衡电平接口:

它是用一对接线端A和B的相对输出电压(uA-uB)来表示信号的,一般情况下,这个差分信号会在信号传输时经过一个复杂的噪声环境,导致两根线上都产生基本上相同数量的噪声,而在接收端将会把噪声的能量给抵消掉,因此它能够实现较远距离、较高速率的传输。工业上常用的RS-485接口采用的就是差分传输方式,它具有很好的抗共模干扰能力。

(6)光隔离接口:

光电耦合是以光信号为媒介来实现电信号的耦合和传递的,它的“好处”就是能够实现电气隔离,因此它有出色的抗干扰能力。在电路工作频率很高的条件下,基本只有高速的光电隔离接口电路才能满足数据传输的需要。有时为了实现高电压和大电流的控制,我们必须设计和使用光隔离接口电路来连接如上所述的这些低电平、小电流的TTL或CMOS电路,因为光隔离接口的输入回路和输出回路之间可以承受几千伏特的高压,足以满足一般的应用了。此外,光隔离接口的输入部分和输出部分必须分别采用独立的电源,否则的话还是有电气联系,也就不叫隔离了。

(7)线圈耦合接口:

它的电气隔离特性好,但是允许的信号带宽有限。例如变压器耦合,它的功率传输效率是非常高的,输出功率基本接近其输入功率,因此,对于一个升压变压器来说,它可以有较高的输出电压,但是却只能给出较低的电流。此外,变压器的高频和低频特性并不让人乐观,但是它的最大特点就是可以实现阻抗变换,当匹配得当时,负载可以获得足够大的功率,因此,变压器耦合接口在功率放大电路设计中很“吃香”。

本文转自:玩转单片机,转载此文目的在于传递更多信息,版权归原作者所有。

围观 469

任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。

微机中总线一般有内部总线、系统总线和外部总线。

(1)、内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;
(2)、系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;
(3)、外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备
一级的互连。

另外,从广义上说,计算机通信方式可以分为并行通信和串行通信,相应的通信总线被称为并行总线和串行总线。并行通信速度快、实时性好,但由于占用的口线多,不适于小型化产品;而串行通信速率虽低,但在数据通信吞吐量不是很大的微处理电路中则显得更加简易、方便、灵活。串行通信一般可分为异步模式和同步模式。

随着微电子技术和计算机技术的发展,总线技术也在不断地发展和完善,而使计算机总线技术种类繁多,各具特色。

下面仅对微机各类总线中目前比较流行的总线技术分别加以介绍。

一、内部总线

1.I2C总线
I2C(Inter-IC)总线10多年前由Philips公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

2.SPI总线
串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

3.SCI总线
串行通信接口SCI(serial communication interface)也是由Motorola公司推出的。它是一种通用异步通信接口UART,与MCS-51的异步通信功能基本相同。

二、系统总线

1.ISA总线
ISA(industrial standard architecture)总线标准是IBM 公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。它是对XT总线的扩展,以适应8/16位数据总线要求。它在80286至80486时代应用非常广泛,以至于现在奔腾机中还保留有ISA总线插槽。ISA总线有98只引脚。

2.EISA总线
EISA总线是1988年由Compaq等9家公司联合推出的总线标准。它是在ISA总线的基础上使用双层插座,在原来ISA总线的98条信号线上又增加了98条信号线,也就是在两条ISA信号线之间添加一条EISA信号线。在实用中,EISA总线完全兼容ISA总线信号。

3.VESA总线
VESA(video electronics standard association)总线是 1992年由60家附件卡制造商联合推出的一种局部总线,简称为VL(VESA local bus)总线。它的推出为微机系统总线体系结构的革新奠定了基础。该总线系统考虑到CPU与主存和Cache 的直接相连,通常把这部分总线称为CPU总线或主总线,其他设备通过VL总线与CPU总线相连,所以VL总线被称为局部总线。它定义了32位数据线,且可通过扩展槽扩展到64 位,使用33MHz时钟频率,最大传输率达132MB/s,可与CPU同步工作。是一种高速、高效的局部总线,可支持386SX、386DX、486SX、486DX及奔腾微处理器。

4.PCI总线
PCI(peripheral component interconnect)总线是当前最流行的总线之一,它是由Intel公司推出的一种局部总线。它定义了32位数据总线,且可扩展为64位。PCI总线主板插槽的体积比原ISA总线插槽还小,其功能比VESA、ISA有极大的改善,支持突发读写操作,最大传输速率可达132MB/s,可同时支持多组外围设备。 PCI局部总线不能兼容现有的ISA、EISA、MCA(micro channel architecture)总线,但它不受制于处理器,是基于奔腾等新一代微处理器而发展的总线。

5.Compact PCI
以上所列举的几种系统总线一般都用于商用PC机中,在计算机系统总线中,还有另一大类为适应工业现场环境而设计的系统总线,比如STD总线、 VME总线、PC/104总线等。这里仅介绍当前工业计算机的热门总线之一——Compact PCI。 Compact PCI的意思是“坚实的PCI”,是当今第一个采用无源总线底板结构的PCI系统,是PCI总线的电气和软件标准加欧式卡的工业组装标准,是当今最新的一种工业计算机标准。Compact PCI是在原来PCI总线基础上改造而来,它利用PCI的优点,提供满足工业环境应用要求的高性能核心系统,同时还考虑充分利用传统的总线产品,如ISA、STD、VME或PC/104来扩充系统的I/O和其他功能。

三、外部总线

1.RS-232-C总线
RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。

2.RS-485总线
在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

3.IEEE-488总线
上述两种外部总线是串行总线,而IEEE-488 总线是并行总线接口标准。IEEE-488总线用来连接系统,如微计算机、数字电压表、数码显示器等设备及其他仪器仪表均可用IEEE-488总线装配起来。它按照位并行、字节串行双向异步方式传输信号,连接方式为总线方式,仪器设备直接并联于总线上而不需中介单元,但总线上最多可连接15台设备。最大传输距离为20米,信号传输速度一般为500KB/s,最大传输速度为1MB/s。

4.USB总线
通用串行总线USB(universal serial bus)是由Intel、 Compaq、Digital、IBM、Microsoft、NEC、Northern Telecom等7家世界著名的计算机和通信公司共同推出的一种新型接口标准。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目的。它可以为外设提供电源,而不像普通的使用串、并口的设备需要单独的供电系统。另外,快速是USB技术的突出特点之一,USB的最高传输率可达12Mbps比串口快100倍,比并口快近10倍,而且USB还能支持多媒体。

5.IEEE1394
Apple公司的FireWire基础上由IEEE制定的标准。与USB有很大的相似性。采用树形或菊花链结构,以级连方式在一个接口上最多可连接63个不同种类的设备。传输速率高,最高可达3.2Gb/s; 实时性好,总线提供电源,系统中各设备之间的关系是平等的,连接方便,允许热插拔和即插即用。

转自:嵌入式ARM

围观 432

上一篇:嵌入式系统之接口技术篇(一)

12 、PCI 接口

(1)PCI 总线是 地址 、 数据多路复用的高性能32位和64位总线,是微处理器与外围控制部件、外围附加板之间的互连机构。

(2)从数据宽度上看,PCI 定义了32位数据总线,且可扩展为64位。从总线速度上分,有33MHz 和66MHz两种。

(3)与 ISA 总线相比,PCI 总线的地址总线与数据总线分时复用,支持即插即用、中断共享等功能。

13 、 USB 接口

(1)USB 总线的主要特点:

A、使用简单,即插即用。
B、每个 USB 系统中都有主机,这个 USB 网络中最多可以连接127个设备。
C、应用范围广,支持多个设备同时操作。
D、低成本的电缆和连接器,使用统一的4引脚插头。
E、较强的纠错能力。
F、较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。
G、支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。
H、总线供电,能为设备提供5V/100mA 的供电。

(2)USB 系统由3部分来描述:USB 主机、USB 设备和 USB 互连。

(3)USB 总线支持的数据传输率有3种:高速信令位传输率为 480Mb/s;全速信令位传输率为 12Mb/s ;全速信令位传输率为 1.5Mb/s。

(4)USB 总线电缆有4根线:一对双绞信号线和一对电源线。

(5)USB 是一种 查询总线,由主控制器启动所有的数据传输。USB 上所挂接的外设通过由主机调度的 、基于令牌的协议来共享 USB 带宽。

(6)大部分总线事务涉及3个包的传输:

A、 令牌包:指示总线上要执行什么事务,欲寻址的 USB 设备及数据传送方向。
B、 数据包:传输数据或指示它没有数据要传输。
C、 握手包:指示传输是否成功。

(7)主机与设备端点之间的 USB 数据传输模型被称作 管道。管道有两种类型: 流和 消息。消息数据具有USB 定义的结构,而数据流没有。

(8) 事务调度表允许对某些流管道进行流量控制,在硬件级,通过使用 NAK(否认)握手信号来调节数据传输率,以防止缓冲区上溢或下溢产生。

(9)USB 设备最大的特点是 即插即用。

(10)工作原理:USB 设备插入 USB 端点时,主机都通过 默认地址0 0 0 0与 设备的端点0 0 0 0进行通信。在这个过程中,主机发出一系列试图得到 描述符的标准请求,通过这些请求,主机得到所有感兴趣的设备信息,从而知道了设备的情况以及该如何与设备通信。随后主机通过发出 Set Address 请求为设备设置一个 唯一的地址。以后主机就通过为设备设置好的地址与设备通信,而不再使用默认地址0。

14 、SPI 接口

(1)SPI 是一个 同步协议接口,所有的传输都参照一个共同的时钟,这个同步时钟有主机产生,接收数据的外设使用时钟来对串行比特流的接收进行同步化。

(2)在多个设备连接到主机的同一个 SPI 接口时,主机通过从设备的 片选引脚来选择。

(3)SPI 主要使用4 4 4 4 个信号:主机输出/从机输入(MOSI),主机输入/从机输出(MISO)、串行时钟 SCLK和外设片选 CS。

(4)主机和外设都包含一个 串行移位寄存器,主机通过向它的 SPI 串行寄存器写入一个字节来发起一次数据传输。寄存器通过 MOSI 信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过 MISO 信号线返回给主机,这样,两个移位寄存器中的内容就被 交换了。

(5)外设的 写操作和读操作时同步完成的,因此 SPI 成为一个很有效的协议。

(6)如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。

15 、 IIC 接口

(1)IIC 总线是具备 总线仲裁和 高低速设备同步等功能的高性能 多主机总线。

(2)IIC 总线上需要 两条线:串行数据线 SDA 和串行时钟线 SCL。

(3)总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器件的功能决定)。

(4)IIC 总线有4种操作模式:主发送、主接收、从发送、从接收。

(5)IIC 在传送数据过程中共有3种类型信号:
A、 开始信号:SCL 为高电平时,SDA 由高向低跳变。
B、 结束信号:SCL 为高电平时,SDA 由低向高跳变。
C、 应答信号:接收方在收到8位数据后,在第9个脉冲向发送方发出特点的低电平。

(6)主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。1个字节的地址包括7 7 7 7 位地址信息和1 1 1 1 位传输方向指示位,如果第7位为0,表示要进行一个写操作,如果为1 ,表示要进行一个读操作。

(7)SDA 线上传输的每个字节长度都是8 8 8 8 位,每次传输种字节的数量没有限制的。在开始信号后面的第一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK),传输中串行数据的 MSB ( 字节高位 ) )首先发送。

(8)如果数据接收方无法再接收更多的数据,它可以通过将 SCL 保持低电平来中断传输,这样可以迫使数据发送方等待,直到 SCL 被重新释放。这样可以达到高低速设备同步。

(9)IIC 总线的工作过程:SDA 和 SCL 都是双向的。空闲的时候,SDA 和 SCL 都是高电平,只有 SDA变为低电平,接着 SCL 再变为低电平,IIC 总线的数据传输才开始。SDA 线上被传输的每一位在 SCL 的上升沿被采样,该位必须一直保持有效到 SCL 再次变为低电平,然后 SDA 就在 SCL 再次变为高电平之前传输下一个位。最后,SCL 变回高电平,接着 SDA 也变为高电平,表示数据传输结束。

16 、以太网接口

(1)最常用的以太网协议是 IEEE802.3 标准。

(2)传输编码(06和07年都有考题):曼彻斯特编码和差分曼彻斯特编码。
A、 曼彻斯特编码:每位中间有一个电平跳变,从 高到底的跳变表示“0”,从 低到高的跳变表示为“1”。
B、 差分曼彻斯特编码:每位中间有一个电平跳变,利用每个码元开始时有无跳变来表示“0”或“1” ,有跳变为“0”, 无跳变为“1”。

(3)相比之下,曼彻斯特编码编码简单,差分曼彻斯特编码提供更好的噪声抑制性能。

曼彻斯特编码:
0=在间隔的中间位置从高向低跳变。
1=在间隔的中间位置从低向高跳变。

差分曼彻斯特编码:在间隔的中间位置总有一个跳变。
0=在间隔的起始位置有跳变。
1=在间隔的起始位置没有跳变。

(4)以太网数据传输特点:

A、所有数据位的传输 由低位开始,传输的位流时用 曼彻斯特编码。
B、以太网是 基于冲突检测的总线复用方法,由硬件自动执行。
C、传输的数据长度,目的地址 DA+源地址 SA+类型字段 TYPE+数据段 DATA +填充位 PAD,最小为60B,最大为1514B。
D、通常以太网卡可以接收3种地址的数据:广播地址、多播地址、自己的地址。
E、任何两个网卡的 物理地址都不一样,是世界上 唯一的,网卡地址由专门机构分配。

(5)嵌入式以太网接口有两种实现方法:

A、嵌入式处理器+网卡芯片(例如:RTL8019AS、CS8900等)
B、带有以太网接口的处理器。

(6)TCP/IP 是一个分层协议,分为:物理层、数据链路层、网络层、传输层和应用层。每层实现一个明确的功能,对应一个或几个传输协议,每层相对于它的下层都作为一个独立的数据包来实现。每层上的协议如下:

A、应用层:BSD 套接字。
B、传输层:TCP、UDP。
C、网络层:IP、ARP、ICMP、IGMP
D、数据链路层:IEEE802.3 Ethernet MAC
E、物理层:二进制比特流。

(7)ARP(地址解析协议)

A、 网络层用 32 位的地址来标识不同的主机(即 IP 地址),而 链路层使用 48 位的物理地址(MAC)来标识不同的以太网或令牌网接口。
B、ARP 功能:实现从 IP 地址到对应物理地址的转换。

(8)ICMP(网络控制报文协议)

A、IP 层用它来与其他主机或路由器交换错误报文和其他重要控制信息。
B、ICMP 报文是在 IP 数据包内被传输的。
C、网络诊断工具 ping 和 traceroute 其实就是 ICMP 协议。

(9)IP(网际协议)

A、IP 工作在网络层,是 TCP/IP 协议族中最为核心的协议。
B、所有的 TCP、UDP、ICMP 及 IGMP 数据都以 IP 数据包格式传输。
C、TTL(生存时间字段):指定了 IP 数据包的生存时间(数据包可以经过的路由器数)。

D、IP 提供不可靠、无连接的数据包传送服务,高效、灵活。
a、 不可靠:它不能保证数据包能成功到达目的地,任何要求的可靠性必须由上层来提供(如 TCP) 。如果发生某种错误,IP 有一个简单的错误处理算法。丢弃该数据包,然后发送 ICMP 消息报给信源端。
b、 无连接:IP 不维护任何关于后续数据包的状态信息。每个数据包的处理都是相互独立的。IP数据包可以不按顺序接收,

(10)TCP(传输控制协议)

TCP 协议是一个 面向连接的可靠的传输层协议,它为两台主机提供高可靠性的端到端数据通信。

( 11 )UDP(用户数据包协议)

UDP 协议是一种 无连接不可靠的传输层协议,它不保证数据包能到达目的地,可靠性有应用层来提供。UDP 协议开销少,和 TCP 相比更适合于应用在低端的嵌入式领域中。

(12)端口:TCP 和 UDP 采用16位端口号来识别上层的用户,即应用层协议,例如 FTP 服务的 TCP端口号都是21,Telnet 服务的 TCP 端口号都是23,TFTP 服务的 UDP 端口号都是69。

17 、 CAN 总线接口

(1)CAN(Control Area Network,控制器局域网)总线是一种 多主方式的串行通信总线,是国际上应用最广泛的现场总线之一,最初被用于汽车环境中的电子控制网络。一个 CAN 总线构成的单一网络中,理想情况下可以挂接任意多个节点,实际应用中节点数据受网络硬件的电气特性所限制。

(2)总线信号使用 差分电压传送。两条信号线被称为 CAN_H 和 CAN_L,静态是均为2.5V 左右,此时状态表示 逻辑1 1 1 1,也可以叫做“ 隐性”。用 CAN_H 比 CAN_L 高表示 逻辑0 ,称为“ 显性”,此时,通常电压值为 CAN_H=3.5V 和 CAN_L=1.5V。

(3)当“显性”和“隐性”位同时发送的时候,最后总线数值将为“显性”这种特性为 CAN 总线的仲裁奠定了基础。

(4)CAN 总线的一个位时间可以分成4个部分:同步段、传播时间段、相位缓冲段1和相位缓冲段2。

(5)CAN 总线的数据帧有两种格式: 标准格式和 扩展格式。包括:帧起始、仲裁场、控制场、数据场 、CRC 场、ACK 场和帧结束。

(6)CAN 总线硬件接口包括: CAN 总线控制器和 CAN 收发器。CAN 控制器主要完成时序逻辑转换等工作,例如菲利普的 SJA1000。CAN 收发器是 CAN 总线的物理层芯片,实现 TTL 电平到 CAN 总线电平特性的转换,例如 TJA1050。

18 、 xDSL 接口

(1)xDSL(数字用户线路)技术是,在现有用户电话线两侧同时接入专用的 DSL 调制解调设备,在用户线上 利用数字数字信号高频带宽较宽的特性直接采用数字信号传输,省去中间的 A/D 转换,突破了模拟信号传输极限速率为56KB/s 的闲置。

(2)DSL 技术主要分为 对称和 非对称两大类。

(3)对成 xDSL 更适合于企业 点对点连接应用,例如文件传输、视频会议等收发数据量大致相同的工作。

(4)ASDL 是近年发展的另一种宽带接入技术,是利用双绞铜线向用户提供两个方向上 速率不对称的宽带信息业务。

(5)ADSL 在一对电话线上同时传送一路高速下行数据、一路较低速率上行数据、一路模拟电话。各信号之间采用 频分复用方式占用不同频带, 低频段传送话音; 中间窄频带传送上行信道数据及控制信息; 其余高频段传送下行信道数据、图像或高速数据。

19 、 WLAN 接口

(1)WLAN(Wireless Local Area Network)是利用无线通信技术在一定的局部范围内建立的,是计算机网络与无线通信技术相结合的产物,它以无线多址通道作为传输媒介,提供有线局域网的功能。

(2)WLAN 的标准:主要是针对 物理层和 媒质访问控制层 ( MAC 层) ),涉及到所有使用的无线频率范围 、控制接口通信协议等技术规范与技术标准。

A、 IEEE 802.11:定义了物理层和 MAC 层规范,工作在2.4~2.4835GHz 频段,最高速率为2Mb/s ,是 IEEE 最初制定的一个无线局域网标准。
B、 IEEE 802.11b:工作在2.4~2.4835GHz 频段,最高速率为11Mb/s,传输距离50~150inch。采用点对点模式和基本模式两种运行模式。在数据传输速率方面可以根据实际情况在11Mb/s、5.5Mb/s、2Mb/s、1 Mb/s 的不同速率间自动切换。
C、 IEEE 802.11a:工作在5.15~8.825GHz 频段,最高速率为54Mb/s/72Mb/s,传输距离10~100m。
D、 IEEE 802.11g:混合标准,拥有 EEE 802.11a 的传输速率,安全性较 EEE 802.11b 好,采用两种调制方式,做到与 EEE 802.11a 和 EEE 802.11b 兼容。

(3)WLAN 有两种网络类型: 对等网络和 基础机构网络。

20 、蓝牙接口

(1)蓝牙技术的目的:使特定的移动电话、便鞋式电脑以及各种便携通信设备的主机之间近距离内实现无缝的资源共享。

(2)蓝牙技术的实质内容是要建立通用的无线空中接口及其控制软件的公开标准。其工作频段为全球通用的 2.4GHz ISM(即工业、科学、医学)频段,其数据传输速率为 1Mb/s,采用 时分双工方案来实现全双工传输,其理想的连接范围为 10cm ~ 10m。

(3)蓝牙基带协议是 电路交换和分组交换的结合。

(4)蓝牙技术特点:

A、传输距离短,工作距离在10m 以内。
B、采用跳频扩频技术。
C、采用时分复用多路访问技术,有效地避免了“碰撞”和“隐藏终端”等问题。
D、网络技术。
E、语言支持。
F、纠错技术,其采用的是 FEC(前向纠错)方案。

(5)蓝牙接口由3 3 3 3 大单元组成:无线单元、基带单元、链路管理与控制单元。

21 、 1394 接口

(1)1394作为一种标准总线,可以在不同的工业设备之间架起一座沟通的桥梁,在一条总线上可以接入63个设备。

(2)IEEE 1394的 特点:

A、支持多种总线速度,适应不同应用要求。
B、即插即用,支持热插拔。
C、支持同步和异步两种传输方式。
D、支持点到点通信模式,IEEE 1394是多主总线。
E、遵循 ANSI IEEE 1212控制及状态寄存器(CSR)标准,定义了64位的地址空间,可寻址1024条总线的63个节点,每个节点可包含256TB 的内存空间。
F、支持较远距离的传输。
G、支持公平仲裁原则,为每一种传输方式保证足够的传输带宽。
H、六线电缆具有电源线,可传输8~40V 的直流电压。

(3)IEEE 1394的 协议栈由3 3 3 3 层组成:物理层、链路层和事务层,例外还有一个管理层。物理层和链路层由硬件构成,而事务层主要由软件实现。

A、 物理层提供 IEEE 1394的电气和机械接口,功能是重组字节流并将它们发送到目的节点上去。
B、 链路层提供了给事务层确认的数据服务,包括:寻址、数据组帧和数据校验。
C、 事务层为应用提供服务。
D、 管理层定义了一个管理节点所使用的所有协议、服务以及进程。

22 、电源接口

(1)DC-DC 转换器有三种类型:

A、 线性稳压器:产生较输入电压低的电压。
B、 开关稳压器:能升高电压、降低电压或翻转输入电压。
C、 充电泵:可以升高、降低或翻转输入电压,但电流驱动能力有限。

(2)任何变压器的转换过程都不具有100%的效率,稳压器本省也使用电流(静态电流),这个电流来自输入电流。静态电流越大,稳压器功耗越大。

(3)线性稳压器输入输出使用 退耦电容来过滤,电容除了有助于平稳电压以外,还有利于去除电源中的瞬间短时脉冲波形干扰。

(4)电压与功耗之间的平方关系意味着理想高效的方法是在要求较低电压的较低时钟速率上执行代码,而不是先以最高的时钟速率执行代码然后再转为空闲休眠。

(5)电源通常被认为是整个系统的“心脏”,绝大多数电子设备50%~80%的节能潜力在于电源系统 ,研制开发新型开关电源是节能的主要举措之一。

(6) 降低功耗的设计技术:

A、采用低功耗器件,例如选用 CMOS 电路芯片。

B、采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计。

C、动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件。

D、利用“节电”工作方式。

E、合理处理器件空余引脚:

a、大多数数字电路的输出端在输出低电平时,其功耗远远大于输出高电平时的功耗,设计时应该注意控制低电平的输出时间,闲置时使其处于高电平输出状态。
b、多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。
c、ROM 或 RAM 及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应该与“读/写”信号结合,只对其进行读写操作时才选通。

F、实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况。

转自: 沉舟侧畔

围观 276

1. Flash 存储器

(1)Flash 存储器是一种非易失性存储器,根据结构的不同可以将其分为 NOR Flash 和 NAND Flash 两种。

(2) Flash 存储器的特点:

A、 区块结构:在物理上分成若干个区块,区块之间相互独立。

B、 先擦后写:Flash 的写操作只能将数据位从1写成0,不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。擦除操作的最小单位是一个区块,而不是单个字节。

C、 操作指令:执行写操作,它必须输入一串特殊指令(NOR Flash)或者完成一段时序(NAND Flash )才能将数据写入。

D、 位反转:由于 Flash 的固有特性,在读写过程中偶尔会产生一位或几位的数据错误。位反转无法避免,只能通过其他手段对结果进行事后处理。

E、 坏块:区块一旦损坏,将无法进行修复。对已损坏的区块操作其结果不可预测。

(3) NOR Flash 的特点:

应用程序可以直接在闪存内运行,不需要再把代码读到系统 RAM 中运行。NOR Flash 的传输效率很高,在1MB~4MB 的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

(4) NAND Flash 的特点

能够提高极高的密度单元,可以达到高存储密度,并且写入和擦除的速度也很快,这也是为何所有的 U盘都使用 NAND Flash 作为存储介质的原因。应用 NAND Flash 的困难在于闪存需要特殊的系统接口。

(5)NOR Flash 与 NAND Flash 的 区别:

A、NOR Flash 的读速度比 NAND Flash 稍快一些。

B、NAND Flash 的擦除和写入速度比 NOR Flash 快很多

C、NAND Flash 的随机读取能力差,适合大量数据的连续读取。

D、NOR Flash 带有 SRAM 接口,有足够的地址引进来寻址,可以很容易地存取其内部的每一个字节。NAND Flash 的地址、数据和命令共用8位总线(有写公司的产品使用16位),每次读写都要使用复杂的 I/O 接口串行地存取数据。

E、NOR Flash 的容量一般较小,通常在1MB~8MB 之间;NAND Flash 只用在8MB 以上的产品中 。因此,NOR Flash 只要应用在代码存储介质中,NAND Flash 适用于资料存储。

F、NAND Flash 中每个块的最大擦写次数是一百万次,而 NOR Flash 是十万次。

G、NOR Flash 可以像其他内存那样连接,非常直接地使用,并可以在上面直接运行代码;NAND Flash需要特殊的 I/O 接口,在使用的时候,必须先写入驱动程序,才能继续执行其他操作。因为设计师绝不能向坏块写入,这就意味着在 NAND Flash 上自始至终必须进行虚拟映像。

H、NOR Flash 用于对数据可靠性要求较高的代码存储、通信产品、网络处理等领域,被成为 代码闪存;NAND Flash 则用于对存储容量要求较高的 MP3、存储卡、U 盘等领域,被成为 数据闪存。

2 、 RAM 存储器

(1)SRAM 的特点:

SRAM 表示 静态随机存取存储器,只要供电它就会保持一个值,它没有刷新周期,由 触发器构成基本单元, 集成度低,每个 SRAM 存储单元由6 6 6 6 个晶体管组成,因此其 成本较高。它具有 较高速率,常用于高速缓冲存储器。

通常 SRAM 有4种引脚:

CE:片选信号,低电平有效。
R/W:读写控制信号。
ADDRESS:一组地址线。
DATA :用于数据传输的一组双向信号线。

(2)DRAM 的特点:

DRAM 表示 动态随机存取存储器。这是一种 以电荷形式进行存储的半导体存储器。它的每个存储单元由 一个晶体管和一个电容器组成,数据存储在电容器中。电容器会由于漏电而导致电荷丢失,因而 DRAM器件是不稳定的。它必须有规律地 进行刷新,从而将数据保存在存储器中。

DRAM 的接口比较复杂,通常有一下引脚:

CE:片选信号,低电平有效。
R/W:读写控制信号。
RAS:行地址选通信号,通常接地址的高位部分。
CAS:列地址选通信号,通常接地址的低位部分。
ADDRESS:一组地址线。
DATA :用于数据传输的一组双向信号线。

(3)SDRAM 的特点:

SDRAM 表示 同步动态随机存取存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。它通常只能工作在 133MHz 的主频。

(4)DDRAM 的特点

DDRAM 表示 双倍速率同步动态随机存取存储器,也称 DDR。DDRAM 是基于 SDRAM 技术的,SDRAM 在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而 DDR 内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据。在133MHz 的主频下,DDR内存带宽可以达到133×64b/8×2=2.1GB/s。

3、 GPIO 原理与结构

GPIO 是 I/O 的最基本形式,它是一组输入引脚或输出引脚。有些 GPIO 引脚能够加以编程改变工作方向,通常有两个控制寄存器:数据寄存器和数据方向寄存器。数据方向寄存器设置端口的方向。如果将引脚设置为输出,那么数据寄存器将控制着该引脚状态。若将引脚设置为输入,则此输入引脚的状态由引脚上的逻辑电路层来实现对它的控制。

4、 A/D 接口

(1)A/D 转换器是把电模拟量转换为数字量的电路。实现 A/D 转换的方法有很多,常用的方法有计数法 、双积分法和逐次逼进法。

(2)计数式 A/D 转换法

其电路主要部件包括:比较器、计数器、D/A 转换器和标准电压源。

其 工作原理简单来说就是,有一个计数器,从0开始进行加1计数,每进行一次加1,该数值作为 D/A 转换器的输入,其产生一个比较电压 V O 与输入模拟电压 V IN 进行比较。如果 V O 小于 V IN 则继续进行加1计数 ,直到 V O 大于 V IN ,这时计数器的累加数值就是 A/D 转换器的输出值。这种转换方式的 特点是简单,但是速度比较慢,特别是模拟电压较高时,转换速度更慢。例如对于一个8位 A/D 转换器,若输入模拟量为最大值,计数器要从0开始计数到255,做255次 D/A 转换和电压比较的工作,才能完成转换。

(3)双积分式 A/D 转换法

其电路主要部件包括:积分器、比较器、计数器和标准电压源。其 工作原理是,首先电路对输入待测电压进行固定时间的积分,然后换为标准电压进行固定斜率的反向积分,反向积分进行到一定时间,便返回起始值。由于使用固定斜率,对标准电压进行反向积分的时间正比于输入模拟电压值,输入模拟电压越大,反向积分回到起始值的时间越长。只要用标准的高频时钟脉冲测定反向积分花费的时间,就可以得到相应于输入模拟电压的数字量,也就完成了 A/D 转换。其 特点是,具有很强的抗工频干扰能力,转换精度高,但转换速度慢,通常转换频率小于10Hz,主要用于数字式测试仪表、温度测量等方面。

(4)逐次逼近式 A/D 转换法

其电路主要部件包括:比较器、D/A 转换器、逐次逼近寄存器和基准电压源。其 工作原理是,实质上就是对分搜索法,和平时天平的使用原理一样。在进行 A/D 转换时,由 D/A 转换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。首先使最高位为1,这相当于取出基准电压的1/2与输入电压比较,如果在输入电压小于1/2的基准电压,则最高位置0,反之置1。之后,次高位置1,相当于在1/2的范围中再作对分搜索,以此类推,逐次逼近。其 特点是,速度快,转换精度高,对 N 位 A/D 转换器只需要 M 个时钟脉冲即可完成,一般可用于测量几十到几百微秒的过渡过程的变化,是目前应用最普遍的转换方法。

(5)A/D 转换的重要指标

A、 分辨率:反映 A/D 转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟电压的电平值表示。n 位 A/D 转换器能反映1/2 n 满量程的模拟输入电平。

B、 量程:所能转换的模拟输入电压范围,分为单极性和双极性两种类型。

C、 转换时间:完成一次 A/D 转换所需要的时间,其倒数为转换速率。

D、 精度:精度与分辨率是两个不同的概念,即使分辨率很高,也可能由于温漂、线性度等原因使其精度不够高。精度有绝对精度和相对精度两种表示方法。通常用数字量的最低有效位 LSB 的分数值来表示绝对精度,用其模拟电压满量程的百分比来表示相对精度。例如,满量程10V,10位 A/D 芯片,若其绝对精度为±1/2LSB,则其最小有效位 LSB 的量化单位为 :10/1024=9.77mv,其绝对精度为9.77mv/2=4.88mv,相对精度为:0.048%。

5 、 D/A 接口基本

(1)D/A 转换器使将数字量转换为模拟量。

(2)在集成电路中,通常采用 T 型网络实现将数字量转换为模拟电流,再由运算放大器将模拟电路转换为模拟电压。进行 D/A 转换实际上需要上面的 两个环节。

(3)D/A 转换器的分类:

A、 电压输出型:常作为高速 D/A 转换器。
B、 电流输出型:一般外接运算放大器使用。
C、 乘算型:可用作调制器和使输入信号数字化地衰减。

(4)D/A 转换器的主要指标:分辨率、建立时间、线性度、转换精度、温度系数。

6 、键盘接口

(1)键盘的两种形式:线性键盘和矩阵键盘。

(2)识别键盘上的闭合键通常有两种方法:行扫描法和行反转法。

(3)行扫描法是矩阵键盘按键常用的识别方法,此方法分为两步进行:

A、识别键盘哪一列的键被按下:让所有行线均为低电平,查询各列线电平是否为低,如果有列线为低,则说明该列有按键被按下,否则说明无按键按下。

B、如果某列有按键按下,识别键盘是哪一行按下:逐行置低电平,并置其余各行为高电平,查询各列的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。

7 、显示接口

(1)LCD 的基本原理是,通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。

(2)LCD 的光源提供方式有两种: 投射式和 反射式。笔记本电脑的 LCD 显示器为投射式,屏的背后有一个光源,因此外界环境可以不需要光源。一般微控制器上使用的 LCD 为反射式,需要外界提供电源,靠反射光来工作。 电致发光( EL )是液晶屏提供光源的一种方式。

(3)按照液晶 驱动方式分类,常见的 LCD 可以分为三类:扭转向列类(TN)、超扭曲向列型(STN)和薄膜晶体管型(TFT)。

(4)市面上出售的 LCD 有两种类型:带有驱动电路的 LCD 显示模块,只要 总线方式驱动;没有驱动电路的 LCD 显示器,使用 控制器扫描方式。

(5)通常,LCD 控制器工作的时候,通过 DMA 请求总线,直接通过 SDRAM 控制器读取 SDRAM 中指定地址(显示缓冲区)的数据,此数据经过 LCD 控制器转换成液晶屏扫描数据格式,直接驱动液晶显示器。

(6)VGA 接口本质上是一个 模拟接口,一般都采用统一的 15 引脚接口,包括2个 NC 信号、3根显示器数据总线、5个 GND 信号、3个 RGB 色彩分量、1个行同步信号和1个场同步信号。其色彩分量采用的电平标准为 EIA 定义的 RS343 标准。

8 、触摸屏接口

(1)按工作原理分,触摸屏可以分为:表面声波屏、电容屏、电阻屏和红外屏几种。

(2)触摸屏的控制采用专业芯片,例如 ADS7843。(具体工作原理看《教程》176页)。

9 、音频接口

(1)基本原理:麦克风输入的数据经音频编解码器解码完成 A/D 转换,解码后的音频数据通过音频控制器送入 DSP 或 CPU 进行相应的处理,然后数据经音频控制器发送给音频编码器,经编码 D/A 转换后由扬声器输出。

(2)数字音频的格式有多种,最常用的是下面三种:

A、 采用数字音频 ( PCM) ):是 CD 或 DVD 采用的数据格式。其采样频率为44.1kHz。精度为16位时 ,PCM 音频数据速率为1.41Mb/s;精度为32位时为2.42 Mb/s。一张700MB 的 CD 可以保存大约60分钟的16位 PCM 数据格式的音乐。

B、 MPEG 层3 3 3 3频 音频 ( MP3) ):MP3播放器采用的音频格式。立体声 MP3数据速率为112kb/s 至128kb/s。

C、 ATSC 数字音频压缩标准 ( AC3) ):数字 TV、HDTV 和电影数字音频编码标准,立体声 AC3编码后的数据速率为192kb/s。

(3)IIS 是音频数据的编码或解码常用的串行音频数字接口。IIS 总线只处理声音数据,其他控制信号等则需要单独传输。IIS 使用了3根串行总线:数据线 SD、字段选择线 WS、时钟信号线 SCK。

(4)当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发送的数据字段小于系统字段宽度,就在低位补0;如果发送方的数据宽度大于接收方的宽度,则超过 LSB的部分被截断。字段选择 WS 用来选择左右声道,WS=0表示选择左声道;WS=1表示选择右声道。此外 ,WS 能让接收设备存储前一个字节,并准备接收下一个字节。

10 、串行接口

(1)串行通信是指,使数据一位一位地进行传输而实现的通信。与并行通信相比,串行通信具有传输线少、成本低等优点,特别适合远距离传送;缺点使速度慢。

(2)串行数据传送有3种基本的通信模式:单工、半双工、全双工。

(3)串行通信在信息格式上可以分为2种方式:同步通信和异步通信。

A、 异步传输:把每个字符当作独立的信息来传输,并按照一固定且预定的时序传送,但在字符之间却取决于字符与字符的任意时序。异步通信时,字符是一帧一帧传送的,每帧字符的传送靠起始位来同步。一帧数据的各个代码间间隔是固定的,而相邻两帧数据其时间间隔是不固定的。

B、 同步传输:同步方式不仅在字符之间是同步的,而且在字符与字符之间的时序仍然是同步的,即同步方式是将许多字符聚集成一字符块后,在每块信息之前要加上1~2个同步字符,字符块之后再加入适当的错误检测数据才传送出去。

(4)异步通信必须遵循3项规定:

A、字符格式:起始位+数据+校验位+停止位(检验位可无),低位先传送。
B、波特率:每秒传送的位数。
C、校验位:奇偶检验。
a、奇校验:要使字符加上校验位有奇数个“1”。
b、偶检验:要使字符加上校验位有偶数个“1”。

(5)RS-232C 的电气特性: 负逻辑。

A、在 TxD 和 RxD 上:逻辑1为-3V~-15V,逻辑0为3V~15V。
B、在 TES、CTS、DTR、DCD 等控制线上:
信号有效(ON 状态)为3V~15V
信号无效(OFF 状态)为-3V~-15V

(6)TTL 标准与 RS-232C 标准之间的电平转换利用集成芯片 RS232实现。(详见《教程》182页)

(7)RS-422串行通信接口

A、RS-422是一种单机发送、多机接收的单向、平衡传输规范,传输速率可达10Mb/s。
B、RS-422采用 差分传输方式,也称做平衡传输,使用一对双绞线。
C、RS-422需要一终端电阻,要求其阻值约等于传输电缆的特性阻抗。

(8)RS-485串行总线接口

A、RS-485是在 RS-422的基础上建立的标准,增加了多点、双向通信能力,通信距离可为几十米到上千米。
B、RS-485收发器采用 平衡发送和 差分接收,具有抑制共模干扰的能力。
C、RS-485需要两个终端电阻。在近距离(300m 一下)传输可不需要终端电阻。

11 、并行接口

(1)并行接口的数据传输率比串行接口快8倍,标准并行接口的数据传输率为1Mb/s,一般用来连接打印机、扫描仪等,所以又称打印口。

(2)并行接口可以分为 SPP(标准并口)、EPP(增强型并口)和 ECP(扩展型并口)。

(3)并行总线分为标准和非标准两类。常用的并行标准总线有 IEEE 488总线和 ANSI SCSI 总线。MXI总线是一种高性能非标准的通用多用户并行总线。

来源:http://www.cnblogs.com/chenshikun/p/7723699.html

围观 535

作者: Regine Monique Aurellano Microchip Technology Inc.

简介

串行外设接口(Serial Peripheral Interface,SPI)一直以来是PIC® MCU内核外设集的一部分。PIC18(L)F2X/4XK42单片机系列引入的最新特性之一是用于实现SPI功能的单独模块。以前的器件将SPI功能与其他串行通信协议集成,并在SPI共享寄存器和中断标志等资源的主同步串行端口(Master Synchronous Serial Port,MSSP)模块中实现。SPI的专用模块可显著改进SPI的传统功能并扩展新功能,从而提高灵活性并加强用户控制。

本技术简介旨在讨论SPI模块的实现、工作模式和其他有用的附加特性。

SPI模块概述

SPI(串行外设接口)模块具有可在全双工和半双工模式下工作的同步串行数据通信总线。器件在主/从环境下通信,在该环境下,由主器件发起通信。从器件由主器件通过从选择(Slave Select,SS)线控制。示例从器件包括串行EEPROM、移位寄存器、显示驱动器、模数转换器或其他PIC® MCU。

SPI模块支持以下模式和特性:

• 主模式
• 从模式
• 时钟极性和边沿选择
• 从选择同步
• 从器件的菊花链连接

以下是全新专用SPI模块特有的新特性:

• SDI、SDO和SS极性控制
• 独立的发送和接收使能
• 具有2字节FIFO和DMA功能的独立发送和接收缓冲区

如前文所述,SPI协议使用主从结构。如果器件配置为主器件,则它将提供并控制时钟信号。连接到主器件的所有从器件都由该主时钟控制,并且可能无法处理该时钟。当数据随时钟移出主器件或从器件时,时钟将同时驱动新数据。从选择(SS)信号控制主器件正在与哪个从器件通信,确保一次只有一个从器件工作。

无论器件的模式为主模式还是从模式,发送过程都涉及将位移入和移出寄存器。数据缓冲区寄存器用于发送和接收数据。数据通常一次移出一位,首先移出最高有效位(Most Significant bit,MSb)。较新的器件包含两个单独的寄存器,一个用于发送数据,另一个用于接收数据。主器件在编程的时钟边沿将数据移出发送寄存器和串行数据输出(Serial Data Out,SDO)引脚,在相反的时钟边沿将数据移入从器件的串行数据输入(Serial Data In,SDI)引脚和接收寄存器。图1给出了一个框图,说明了具有独立数据发送和接收缓冲区的器件中SPI系统的连接。

8位PIC®单片机上的串行外设接口(SPI)通信

注: 主器件和从器件应配置为相同的时钟极性设置。

要开始通信,主器件需发出时钟信号。在每个SPI时钟周期期间,发生数据发送。当主器件通过其SDO引脚发出数据、从器件通过其SDI引脚接收该数据时,从器件还会通过其SDO引脚将一些数据发送到主器件的SDI引脚。移出8位数据后,主器件和从器件应交换了寄存器值。如果有更多数据要交换,寄存器再次装入数据并重复此过程。只要主器件发送时钟信号,发送便可能涉及任意数量的时钟周期。没有更多要发送的数据时,主器件停止发送时钟信号,从器件的SS线禁用,从而取消选择从器件。

SPI模式入门

使能和禁止SPI模块

要使能串行端口,相应寄存器的EN位必须置1。将该位置1还可以使能SPI输入和输出:SDI、SDO、SCK和SS。所有这些输入和输出均可通过外设引脚选择(Peripheral Pin Select,PPS)进行控制,并且必须正确映射才能正常工作。清零EN位将中止正在进行的传输、不允许硬件将中断标志置1并复位读写FIFO指针。

校验是否存在正在进行的传输

用户可通过一些位校验是否有传输正在进行。用户可以轮询SPIxCON2寄存器的BUSY位来校验模块的状态,即所进行的数据传输是否完成。

发送和接收寄存器

对于用于发送和接收的数据,可通过具有SPI外设模块的较新器件的只写SPIxTXB和只读SPIxRXB寄存器进行访问。这些寄存器最多可包含两个字节的信息,并且可读取和写入指向下一个执行读取或写入操作的存储单元的指针。每次读取SPIxRXB都会使读指针递增,每次写入SPIxTXB都会使写指针递增。

LSb优先和MSb优先操作

SPI外设模块允许在LSb优先和MSb优先之间进行选择。SPIxCON0寄存器的LSBF位指定数据采用LSb优先还是MSb优先的方式移入或移出器件。该位在默认情况下清零,因此MSb为实际配置。

对于新的SPI模块,有3个位可控制串行端口的极性。SDIP、SDOP和SSP位分别控制SDI、SDO和SS信号的极性。对于全部3个位而言,当该位清零时,输入或输出为高电平有效;否则,输入或输出为低电平有效。

SPI工作模式

主模式

在主模式下,器件控制SCK线并启动数据传输。它还将确定哪个从器件可发送或接收数据。新的独立SPI模块提供了主模式的4种配置,即:
• 全双工(传统)模式
• 仅接收模式
• 仅发送模式
• 传输关闭模式

该模式可由TXR和RXR位配置。表1说明了RXR/TXR位的各个配置对应于哪种模式。

• 全双工(传统)模式(RXR|TXR = 11)
在该模式下,只要接收(RX)寄存器未满并且发送(TX)寄存器中存在数据,就会发生数据传输。实际上,只要接收寄存器为空(即已读取其最新的内容),即会在数据写入发送寄存器后立即发送/接收数据。如果BMODE = 0,则BMODE位也应被视为数据传输可能取决于传输计数器。将BMODE位设置为等于1可完全匹配传统设置。

8位PIC®单片机上的串行外设接口(SPI)通信

• 仅接收模式(RXR|TXR = 10)
在该模式下,如果RX寄存器未满并且传输计数器非零,则将发生数据传输。传输计数器用于控制在数据交换停止之前将发生多少次数据传输。如果TX寄存器中有任何数据,则将发送并且会重复发送该数据。如果TX寄存器中没有数据,则会发送最新接收到的数据。

• 仅发送模式(RXR|TXR = 01)
在该模式下,每当TX寄存器非空(如果BMODE= 1)或传输计数器非零(如果BMODE = 0)时,便会发生数据传输。接收到的任何数据都不会存储在RX寄存器中。当BMODE = 0时,传输计数器还必须在传输之前写入,当传输计数器达到零时,传输将停止。

• 传输关闭模式(RXR|TXR = 00)
在该模式下,SCK将不会翻转,也不会交换数据。

对于SPI外设模块,主模式还提供用于控制从选择引脚的用户选项。用户可以通过SPIxCON2寄存器的SSET位使硬件控制从选择输出,当传输计数器非零时,可选择使其始终保持有效或被驱动为有效状态。对于硬件控制,确保通过外设引脚选择分配选定的SS引脚。从选择功能也可由软件通过任何通用I/O引脚进行控制,只需确保该引脚是配置为输出的GPIO引脚。

SPI主模式的时钟输出可以从以下方式获得,通过配置SPIxCLK寄存器进行设置(有关详细配置信息,请参见数据手册):
• FOSC
• HFINTOSC
• CLKREF
• Timer0
• Timer2/4/6
• SMT

SPIxBAUD寄存器允许对该时钟进行分频。SCK输出的频率由下面的公式1定义。

8位PIC®单片机上的串行外设接口(SPI)通信

对于SPI 数据采样和时钟模式,SDI 的采样由CKE 和SMP位控制,SCK行为由CKP和CKE位控制。

新的SPI模块还在SCK生成时引入了一些同步延时,以确保SS输出正确定时。默认情况下,SPI模块在第一个SCK脉冲之前插入一个1/2波特的延时,以使主从硬件的时间彼此同步。

从模式

在SPI协议中,主器件控制发送和接收数据所使用的时钟信号,从选择引脚用于同步通信。SS线保持其无效状态,直到主器件准备好进行通信。当SS线激活时,从器件即获知主器件的新传输将开始。如果从器件未接收到通信,接收器逻辑将在发送结束时复位,此时SS线返回其无效状态。

在新的SPI模块中,TXR和RXR位控制数据传输的方式。

• 当TXR置1时,将发送TX寄存器的数据,写FIFO指针递增。如果TX寄存器为空,则将发送最新接收到的数据,发送下溢(TXUIF)中断标志位置1,以指示发生此类错误。

• 当 TXR 清零时,将发送 TX 寄存器中的数据(如果可用),但写FIFO指针不会递增。如果TX寄存器为空,则将发送最新接收到的数据,但TXUIF中断将不会置1。

• 当RXR置1时,如果RX寄存器未满,则数据将存储到该寄存器中,读FIFO指针递增。如果接收到数据并且RX寄存器已满,则接收上溢(RXOIF)中断标志位将置1以指示错误,接收到的数据将被丢弃。

• 当RXR清零时,所有接收到的数据将被忽略,不会存储到RX寄存器中。

如果SS线在数据传输过程中转换到无效状态,则SPIxCON2寄存器中的从选择故障(SSFLT)位置1。SPIxCON1寄存器的SSP位控制从选择极性。当SSP位置1时,SS线为低电平有效。相反,当SSP位清零时,SS线为高电平有效。

对于从模式下的SCK 设置,SCK 引脚必须始终为输入,并配置为与主器件相同的时钟极性和边沿。与主模式类似,时钟极性由CKP位控制,时钟沿由CKE位设置,这两个位均位于SPIxCON1寄存器中。

新特性:传输计数器

在主模式下,传输计数器用于确定事务终止前SPI将发送/接收的数据传输数。传输计数器为10位宽,可通过SPIxTCTH/L寄存器对访问。在主模式下,传输计数器可以在两种模式下工作,具体由SPIxCON0寄存器的BMODE位决定。在下面要讨论的两种模式中,当传输计数器达到零时,传输计数器为零中断标志(TCZIF)将置1。

总位计数模式(BMODE = 0)

• 在该模式下,将结合SPIxTCTH/L和SPIxTWIDTH寄存器的值组合来确定要传输的总位数。发送或接收每个字节时,传输计数器均减少8,直到剩余的总数小于8。如果有任何剩余的位,TX寄存器将发出最后一个字节,其中超过剩余位的任何位都将被忽略。类似地,如果有待接收的剩余位,RX寄存器将装入包含这些剩余位的最后一个字节,并用0填充未使用的位。SPIxCON0的LSBF位决定MSb还是LSb用0填充。在该模式下,SPIxWIDTH设置仅适用于交换的最后一个字节。请注意,在该模式下,即使SS引脚由软件控制,SPIxTCNT寄存器也必须始终为非零值。

可变传输大小模式(BMODE = 1)

• 在该模式下,SPIxTWIDTH寄存器确定每次数据传输的位长。SPIxTCTH/L寄存器对指定该长度的传输的次数。如果SPIxTWIDTH = 0,每次数据传输均为一个字节宽。否则,只有指定的位数移入TX寄存器,未使用的位将被忽略。接收到的数据在未使用的区域用0 填充,然后装入RX 寄存器。

SPIxCON0的LSBF位决定MSb还是LSb用0填充。在该模式下,SPIxWIDTH设置适用于发送的每个字节。请注意,在该模式下,当SS引脚由软件控制时,SPIxTCNT寄存器无需为非零值。

在从模式下,传输计数器仍递减,但不控制数据传输。传输计数器与BMODE位一起使用时,可供从器件用来确定何时应寻找从选择故障。如果BMODE = 1,则在发送每次单独传输的最后一位之前,如果SS线转换到无效状态,SSFLT 位将置1。如果BMODE = 0,则当SS线在数据字节之间发生转换时,SSFLT位将置1。如果SS 线在消息最后一个字节的位之间发生转换,则SSFLT位也将置1。此外,SSFLT位对于初次使用的用户而言更易于想象。

SPI在休眠模式下的工作

在SPI外设模块中,如果源时钟在休眠模式下有效,则SPI主模式可在休眠状态下工作。有关休眠模式下有效的时钟列表,请参见数据手册。所有中断仍将触发,并可将器件从休眠状态唤醒。从模式仍可工作,因为时钟由外部主器件提供。中断仍会触发并可将器件从休眠状态唤醒。

SPI中断

SPI模块可在几种不同的条件下触发中断。这些中断标志位和允许位位于PIRx/PIEx特殊寄存器中。

下面是适用于SPI外设模块的新中断:

• SPI接收器数据中断(SPIxRIF/SPIxRIE)
SPI接收器数据中断在RX寄存器包含数据时置1,在RX寄存器清零时清零。该中断可实现完全由中断驱动的操作,并且兼容DMA。

• SPI发送器数据中断(SPIxTIF/SPIxTIE)
SPI发送器数据中断在TX寄存器未满时置1,在TX寄存器已满时清零。与接收器数据中断一样,它可实现完全由中断驱动的操作,并且也兼容DMA。

• 移位寄存器空中断(SRMTIF/SRMTIE)
移位寄存器空中断仅在主模式下可用,并且在数据传输完成但新传输未准备就绪时置1。

• 传输计数器为零中断(TCZIF/TCZIE)
传输计数器为零中断在传输计数器达到0时置1。该位也必须用软件清零。

• 从选择开始和从选择结束中断(SOSIF/SOSIE和EOSIF/EOSIE)
这些中断在SS输入的前沿和后沿触发,可在主模式和从模式下使用。不过,应注意的是,在主模式下,应使用PPS将SS输入连接到与SS输出相同的引脚,以便在SS线发生转换时触发这些中断。

• 接收器上溢和发送器下溢中断(RXOIF/RXOIE和TXUIF/TXUIE)
当有待接收的数据但RX寄存器已满且RXR位置1时,接收器上溢中断触发。类似地,当没有要发送的数据但TXR位置1时,发送器下溢中断触发。

这些条件仅在从模式下出现,必须由软件通过清零各个标志位或清零SPIxCON0的EN位的方式清零。

结论

由于专用协议的普及和广泛应用,SPI外设成为所有PIC® MCU器件的主要部分。PIC MCU中包含的SPI外设能够支持SPI系统可能需要的所有功能。本技术简介讨论了SPI模块的不同模式,并简要介绍了每个角色(无论是主器件还是从器件)和模式的设置以及每个设置的数据传输方式。本技术简介还概述了仅针对专用SPI模块提供的全新传输计数器功能,还讨论了可在发生与SPI活动相关的特定事件时触发的中断,这将极大地帮助理解文档中提到的事件。这些特性证明了PIC®MCU器件已成为可靠且强大的平台,适合使用SPI协议的任何应用。

8位PIC®单片机上的串行外设接口(SPI)通信
围观 776

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。
因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:

MCU的特点

要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块、中断源、工作电压及功耗等等。

了解这些MCU Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确哪些资源是目前所需要的,哪些是本项目所用不到的。

对于项目中需要用到的而所选MCU不能提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现。例如,所开发的项目需要五六个COM口进行通讯,而所选的MCU只提供4个UART口,则可以考虑用外部扩展的方式来实现。

对于项目开发需要用到的资源,则需要对其进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。

对于MCU学习来讲,应用才是关键,也是最主要的目的。

MCU的功能

对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:

● Timer(定时器):Timer的种类虽然比较多,但可归纳为两大类:

一类是固定时间间隔的Timer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz等,此类可以用来实现时钟、计时等相关的功能;

另一类则是可编程定时器,顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。
此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出。由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起。

● IO口:任何MCU都具有一定数量的IO口,没有IO口,MCU就失去了与外部沟通的渠道。

根据IO口的可配置情况,可以分为如下几种类型:

纯输入或纯输出口:此类IO口有MCU硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定。

直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口;当执行写IO口指令则自动为输出口。

程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LED的控制总线等。

● 外部中断:

外部中断也是绝大多数MCU所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。

外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启;若为输出口,则外部中断功能将自动关闭。

● SPI接口:

此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及片选信号;

此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver。

● I2C接口:

I2C是由Philips开发的一种数据传输协议,采用2根信号来实现:SDA(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问;

I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢。

● UART:

属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit + Parity Bit+ Stop Bit。一位数据所占的时间称为Baud Rate(波特率)。

对于大多数的MCU来讲,数据为的长度、数据校验方式(奇校验、偶校验或无校验)、停止位的长度及波特率是可以通过程序编程进行灵活设定。
此类接口最常用的方式就是与PC机的串口进行数据通讯。

● Watchdog(看门狗定时器):

Watchdog也是绝大多数MCU的一种基本配置,大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭,而有的MCU则是通过特定的方式来决定其是否打开。

一般而言watchdog的复位时间是可以程序来设定的。
Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。

转自: 周立功单片机

围观 303

页面

订阅 RSS - 接口