(信息技术)电子信息技术
进展通信协议类
中南大学
电子信息技术进展课程报告
指导老师: 丁家峰
课题名称: 通信接口
电信 1005班 艾 娟 1404100718
电信 1005班 郭 阳 1404100721
电信 1005班 张景迪 1404100513
电信 1004班 崔 彬 1404100507
电信 1005班 杨素利 1404100709
电信 1005班 何艳红 1404100728
序言
通信接口(communication interface )是指中央处理器和标准通信子系统
之间的接口。 如:RS232接口。RS232接口就是串口,电脑机箱后方的 9芯插座,
旁边一般有 "|O|O|" 样标识。
一般机箱有两个,新机箱有可能只有一个。笔记本电脑有可能没有。
有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户
说明书中。
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行
通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输
时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双
方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是
在 1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算
机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备
(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标
准规定采用一个 25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以
规定,还对各种信 号的电平加以规定。
以往,PC与智能设备通讯多借助 RS232、RS485、以太网等方式,主要取决
于设备的接口规范。但 RS232、RS485只能代表通讯的物理介质层和链路层,如
果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不
能符合 ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不
具备通用性。在 RS232或 RS485设备联成的设备网中,如果设备数量超过 2台,
就必须使用 RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主
(Master)”设备中转才能实现,这个主设备通常是 PC,而这种设备网中只允许
存在一个主设备,其余全部是从(Slave)设备。而现场总线技术是以 ISO/OSI
模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路
维护等问题.。
本文主要介绍了通信接口的设备有 RS-232接口(串口 UART)、USB接口(通
用串行总线接口)、IrDA(Infra Red Data Association-红外线接口)、SPI(串
行外围设备接口)、I2C、CAN 总线接口、蓝牙接口(Bluetooth)、WiFi、Ethernet
(以太网接口)、IEEE1394接口和通用可编程接口 GPIO。通过简要介绍这些接口
设备的基本概念、特点和应用,体现各接口在计算机领域的应用和发展。
目录
序言 ......................................................................1
目录 ......................................................................2
第一章 RS-232接口(串口 UART) ..........................................10
RS232接口定义及引脚介绍 ........................................10
RS232工作原理 ..................................................12
RS232接口设置 ..................................................13
RS232的缺点 ....................................................15
第二章 USB接口(通用串行总线接口) ....................................15
USB接口定义 ....................................................15
发展历程 ........................................................16
接口引脚介绍 ....................................................17
USB种类 ........................................................18
USB优点 ........................................................20
第三章 IrDA(红外线接口) ...............................................20
IrDA接口定义 ...................................................20
IrDA协议分析 ...................................................21
IrDA建立连接的过程 .............................................22
IrLAP协议分析 ..................................................24
红外通讯电路标准方案 ............................................24
第四章 SPI(串行外围设备接口) .........................................25
SPI接口的定义 ..................................................25
SPI简介 ........................................................26
SPI的特点 ......................................................26
SPI的通信原理 ..................................................27
原理图 ..........................................................29
工作模式 ........................................................29
例子 ............................................................30
第五章 I2C、CAN总线接口 ...............................................31
I2C的作用 ......................................................31
I2C总线特点 ....................................................31
I2C总线工作原理总线的构成及信号类型 ............................32
I2C总线操作 ....................................................33
USB2 I2C功能特点 ...............................................34
CAN简介 ........................................................35
CAN的基本概念 ..................................................35
CAN的优势 ......................................................35
特点 ............................................................36
数据错误检测 ....................................................38
CAN错误处理 ....................................................39
第六章 蓝牙接口(Bluetooth)、WiFi .....................................42
蓝牙的诞生 ......................................................42
蓝牙通信技术特点 ................................................43
蓝牙技术协议 ....................................................44
Wi-Fi简介 ......................................................46
Wi-Fi定义 ......................................................46
Wi-Fi模块 ......................................................47
Wi-Fi特性 ......................................................48
第七章 Ethernet(以太网接口) ..........................................53
MII接口分析 ....................................................53
RMII接口分析 ...................................................63
SMII接口分析 ...................................................66
GMII 接口分析 ...................................................68
RGMII接口分析 ..................................................74
TBI接口分析 ....................................................75
第八章 IEEE1394接口和通用可编程接口 GPIOGPIO ...........................80
IEEE1394概述 ...................................................80
IEEE 1394总线的主要技术特征 ....................................80
IEEE1394总线技术应用特点 .......................................83
IEEE1394接口的物理特质 .........................................84
IEEE1394的版本..................................................85
IEEE 1394总线的应用 ............................................86
IEEE1394总线技术应用的缺点 .....................................87
USB与 IEEE1394接口的比较 .......................................87
GPIO接口简介 ...................................................88
GPIO接口的定义 .................................................88
GPIO应用开发方法 ...............................................90
GPIO接口开发实例 ...............................................92
结束语 ...................................................................95
第一章 RS-232接口(串口 UART)
RS232接口是 1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调
器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数
据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标
准”。 该标准规定采用一个 25个脚的 DB25连接器,对连接器的每个引脚的信号
内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代
替 DB25的 DB9接口,现在都把 RS232接口叫做 DB9。
接口定义及引脚介绍
DB25引脚说明(左上角为 1,右下角为 25):
引脚号 引脚说明 引脚号 引脚说明
1 屏蔽地线 11 数据发送(-)
2 TXD 发送数据 12-17 未定义
3 RXD 接收数据 18 数据接收(+)
4 RTS 请求发送 19 未定义
5 CTS 允许发送 20 数据终端准备好 DTR
6 DSR 数据准备好 21 未定义
7 SG 信号地 22 振铃 RI
8 DCD 载波检测 23-24 未定义
9 发送返回(+) 25 接收返回(-)标准的细节
10 未定义
DB9引脚说明(左上角为 1,右下角为 9):
引脚号 引脚号
1 DCD 载波检测 6 DSR数据准备好
2 RXD 接收数据 7 RTS 请求发送
3 TXD 发送数据 8 CTS 允许发送
4 DTR 数据终端准备好 9 RI 振铃提示
5 SG信号地
DB25转 DB9接口方式
25芯接口 2 3 4 5 6 7 8 20 22
9芯接口 3 2 7 8 6 5 1 4 9
RS232工作原理
在 RS-232标准中,字符是以一串行的比特串来一个接一个的串行(serial)
方式传输,优点是传输线少,配线简单,传送距离可以较远。最常用的编码格式
是异步起停(asynchronous start-stop)格式,它使用一个起始比特后面紧跟 7
或 8 个数据比特(bit),然后是可选的奇偶校验比特,最后是一或两个停止比
特。所以发送一个字符至少需要 10比特,带来的一个好的效果是使全部的传输
速率,发送信号的速率以 10划分。一个最平常的代替异步起停方式的是使用高
级数据链路控制协议(HDLC)。
在 RS-232标准中定义了逻辑 1和逻辑 0电压级数,以及标准的传输速率和
连接器类型。信号大小在正的和负的 3-15v之间。RS-232规定接近 0的电平是
无效的,逻辑 1规定为负电平,有效负电平的信号状态称为传号 marking,它的
功能意义为 OFF,逻辑 0规定为正电平,有效正电平的信号状态称为空号
spacing,它的功能意义为 ON。根据设备供电电源的不同,±5、±10、±12和±15
这样的电平都是可能的。
mark和 space是从电传打字机中来的术语。电传打字机原始的通信是一个简
单的中断直流电路模式,类似与圆转盘电话拨号的中的信号。Marking状态是指
电路是断开的,spacing状态就是指电路是接通的。一个 space就表明有一个字
符要开始发送了,相应的停止的时候,停止位就是 marking。当线路中断的时候,
电传打字机不打印任何有效字符,周期性的连续收到全 0信号
RS-232设计之初是用来连接调制解调器做传输之用,也因此它的脚位意义通
常也和调制解调器传输有关。RS-232的设备可以分为数据终端设备(DTE,Data
Terminal Equipment, For example, PC) 和 数 据 通 信 设 备 ( DCE, Data
Communication Equipment)两类,这种分类定义了不同的线路用来发送和接受
信号。一般来说,计算机和终端设备有 DTE连接器,调制解调器和打印机有 DCE
连接器。但是这么说并不是总是严格正确的,用配线分接器测试连接,或者用试
误法来判断电缆是否工作,常常需要参考相关的文件说明。
RS-232指定了 20个不同的信号连接,由 25个 D-sub(微型 D类)管脚构成
的 DB-25连接器。很多设备只是用了其中的一小部分管脚,出于节省资金和空间
的考虑不少机器采用较小的连接器,特别是 9管脚的 D-sub或者是 DB-9型连接
器被广泛使用绝大多数自 IBM的 AT机之后的 PC机和其他许多设备上。DB-25和
DB-9型的连接器在大部分设备上是雌型,但不是所有的都是这样。最近,8管脚
的 RJ-45型连接器变得越来越普遍,尽管它的管脚分配相差很大。EIA/TIA 561
标准规定了一种管脚分配的方法,但是由 Dave Yost发明的被广泛使用在 Unix
计算机上的 Yost串连设备配线标准("Yost Serial Device Wiring Standard")
以及其他很多设备都没有采用上述任一种连线标准。
RS232接口设置
串行通信在软件设置里需要做多项设置,最常见的设置包括波特率(Baud
Rate)、奇偶校验(Parity Check)和停止位(Stop Bit)。
1、波特率(又称鲍率):是指从一设备发到另一设备的波特率,即每秒钟
多少比特 bits per second (bit/s)。典型的波特率是 300, 1200, 2400, 9600,
15200, 19200等 bit/s。一般通信两端设备都要设为相同的波特率,但有些设备
也可以设置为自动检测波特率。
2、奇偶校验(Parity):是用来验证数据的正确性。奇偶校验一般不使用,
如果使用,那么既可以做奇校验(Odd Parity)也可以做偶校验(Even Parity)。
奇偶校验是通过修改每一发送字节(也可以限制发送的字节)来工作的。如果不
作奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应
的置 1或 0(一般是最高位或最低位),所以数据会被改变以使得所有传送的数
位(含字符的各数位和校验位)中“1”的个数为偶数;在奇校验中,所有传送
的数位(含字符的各数位和校验位)中“1”的个数为奇数。奇偶校验可以用于
接受方检查传输是否发送生错误——如果某一字节中“1”的个数发生了错误,
那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有
发生错误要么发生了偶数个的错误。如果用户选择数据长度为 8位,则因为没有
多余的比特可被用来作为同比特,因此就叫做“无位元(Non Parity)”。
3、停止位:是在每个字节传输之后发送的,它用来帮助接受信号方硬件重
同步。
RS-232在传送数据时,并不需要另外使用一条传输线来传送同步信号,就能
正确的将数据顺利传送到对方,因此叫做“异步传输”,简称 UART(Universal
Asynchronous Receiver Transmitter),不过必须在每一笔数据的前后都加上同
步信号,把同步信号与数据混和之后,使用同一条传输线来传输。比如数据
11001010被传输时,数据的前后就需加入 Start(Low)以及 Stop(High)等两个比
特,值得注意的是,Start信号固定为一个比特,但 Stop停止比特则可以是 1、
或者是 2比特,由使用 RS-232的传送与接收两方面自行选择,但需注意传
送与接受两者的选择必须一致。在串行通信软件设置中D/P/S是常规的符号表示。
8/N/1(非常普遍)表明 8bit数据,没有奇偶校验,1bit停止位。数据位可以
设置为 7、8或者 9,奇偶校验位可以设置为无(N)、奇(O)或者偶(E),奇偶
校验可以使用数据中的比特(bit),所以 8/E/1就表示一共 8位数据位,其中一
位用来做奇偶校验位。停止位可以是 1、或者 2位的(是用在波特率为
60wpm的电传打字机上的)。
4、流量控制:当需要发送握手信号或数据完整性检测时需要制定其他设置。
公用的组合有 RTS/CTS, DTR/DSR或者 XON/XOFF(实际中不使用连接器管脚而在
数据流内插入特殊字符)。
接受方把 XON/XOFF信号发给发送方来控制发送方何时发送数据,这些信号
是与发送数据的传输方向相反的。XON信号告诉发送方接受方准备好接受更多的
数据,XOFF信号告诉发送方停止发送数据直到知道接受方再次准备好。XON/XOFF
一般不赞成使用,推荐用 RTS/CTS控制流来代替它们。 XON/XOFF是一种工作在
终端间的带内方法,但是必须两端都支持这个协议,而且在突然启动的时候会有
混淆的可能。 XON/XOFF可以工作于 3线的接口。RTS/CTS最初是设计为电传打
字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终
端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管 RTS/CTS
是通过硬件达到握手,但它有自己的优势。
ASR(Automatic Send Receive)电传打字机有一个纸带读卡机。当读卡机
读数据的时候字符被发提交去。ASR电传打字机里收到一个 XOFF字符就关掉纸
带读卡机收到一个 XON字符就启动纸带读卡机。当远端系统有必要降低发送放的
速率时就发出 XOFF。在原始的系统中,消息要用纸带事先准备好,传送的时间
才能被缩短。那时的带宽非常有限并且昂贵,有时候传输不得不推迟到晚上进行,
这也正推动了简明电报表达的发展。在有些早期的小型机中,ASR纸带读卡机和
纸带穿孔器也是唯一的恢复程序的方法。
RS232的缺点
(1)接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信
号线的电压均为负逻辑关系。即:逻辑“1”为-3— -15V;逻辑“0”:+3—
+15V ,噪声容限为 2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低
于-3V的信号作为逻辑“1”,TTL电平为 5V为逻辑正,0为逻辑负 。与 TTL电
平不兼容故需使用电平转换电路方能与 TTL电路连接。
(2)传输速率较低,在异步传输时,波特率为 20Kbps;
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地
传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为 50英尺,实际上也只能用在 15米
左右。
第二章 USB接口(通用串行总线接口)
USB接口定义
通用串行总线(英文:Universal Serial Bus,简称 USB)是连接外部装置
的一个串口汇流排标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,
补充标准 On-The-Go(OTG)使其能够用于在便携装置之间直接交换资料。
USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接
口即插即用和热插拔功能。USB接口可连接 127种外设,如鼠标和键盘等。USB
是在 1994年底由英特尔等多家公司联合在 1996年推出后,已成功替代串口和并
口,已成为当今电脑与大量智能设备的必配接口。USB版本经历了多年的发展,
到如今已经发展为 版本。
发展历程
USB
USB 是在 1996年出现的,速度只有 1998年升级为 USB
,速度也大大提升到 12Mb/s,在部分旧设备上还能看
到这种标准的接口。是较为普遍的 USB规范,其高速方式的传输速率
为 12Mbps,低速方式的传输速率为 (b是 Bit的意思),b/s 一般表示
位传输速度,bps 表示位传输速率,数值上相等。B/s与 b/s,BPS(字节每秒)
与 bps(位每秒)不能混淆。 1MB/s(兆字节 /秒) =8Mbps(兆位 /秒),
12Mbps= MP3为此类接口类型。[2]
规范是由 规范演变而来的。它的传输速率达到了 480Mbps,
折算为 MB为 60MB/s,足以满足大多数外设的速率要求。USB 中的“增强主
机控制器接口”(EHCI)定义了一个与 USB 相兼容的架构。它可以用 USB
的驱动程序驱动 USB 设备。也就是说,所有支持 USB 的设备都可以直接
在 USB 的接口上使用而不必担心兼容性问题,而且像 USB 线、插头等等附
件也都可以直接使用。
使用 USB为打印机应用带来的变化则是速度的大幅度提升,USB接口提供了
12Mbps的连接速度,相比并口速度提高达到 10倍以上,在这个速度之下打印文
件传输时间大大缩减。USB 标准进一步将接口速度提高到 480Mbps,是普通
USB速度的 20倍,更大幅度降低了打印文件的传输时间。
USB
由 Intel、微软、惠普、德州仪器、NEC、ST-NXP等业界巨头组成的 USB
Group宣布,该组织负责制定的新一代 USB 标准已经正式完成
并公开发布。USB —— 也被认为是 SuperSpeed USB ——为那些与 PC或音
频/高频设备相连接的各种设备提供了一个标准接口。从键盘到高吞吐量磁盘驱
动器,各种器件都能够采用这种低成本接口进行平稳运行的即插即用连接,用户
基本不用花太多心思在上面。新的 USB 在保持与 USB 的兼容性的同时,
还提供了下面的几项增强功能:
● 极大提高了带宽——高达 5Gbps全双工(则为 480Mbps半双工)
● 实现了更好的电源管理
● 能够使主机为器件提供更多的功率,从而实现 USB——充电电池、LED照
明和迷你风扇等应用。
● 能够使主机更快地识别器件
● 新的协议使得数据处理的效率更高
USB 可以在存储器件所限定的存储速率下传输大容量文件(如 HD电影)。
例如,一个采用 USB 的闪存驱动器可以在 15秒钟将 1GB的数据转移到一个
主机,而 USB 则需要 43秒。
接口引脚介绍
USB是一种常用的 pc接口,他只有 4根线,两根电源两根信号,故信号是串
行传输的,usb接口也称为串行口,的速度可以达到 480Mbps。可以满足
各种工业和民用需要.USB接口的输出电压和电流是: +5V 500mA 实际上有误
差,最大不能超过+/ 也就是 。usb接口的 4根线一般是下面这
样分配的,需要注意的是千万不要把正负极弄反了,否则会烧掉 usb设备或者电
脑的南桥芯片:黑线:gnd 红线:vcc 绿线:data+ 白线:data-
USB接口定义图
USB接口定义 (颜色)一般的排列方式是:红白绿黑从左到右
定义:
红色-USB电源: 标有-VCC、Power、5V、5VSB字样
白色-USB数据线:(负)-DATA-、
USBD-、PD-、USBDT-
绿色-USB数据线:(正)-DATA+、
USBD+、PD+、USBDT+
黑色-地线: GND、Ground
USB种类
随着各种数码设备的大量普及,特别是 MP3和数码相机的普及,我们周围的
USB设备渐渐多了起来。然而这些设备虽然都是采用了 USB接口,但是这些设备
的数据线并不完全相同。这些数据线在连接 PC的一端都是相同的,但是在连接
设备端的时候,通常出于体积的考虑而采用了各种不同的接口。下面简单介绍
Mini类型 sub接口的各种应用。
Mini B型 5Pin
这种接口可以说是最常见的一种接口了,这种接口由于防误插性能出众,体
积也比较小巧,所以正在赢得越来越多的厂商青睐,如今这种接口广泛出如今读
卡器、MP3、数码相机以及移动硬盘上。
Mini B型 4Pin
这种接口常见于以下品牌的数码产品:奥林巴斯的 C系列和 E系列,柯达的
大部分数码相机,三星的 MP3产品(如 Yepp),SONY的 DSC系列,康柏的 IPAQ系
列产品……
Mini B型 4Pin还有一种形式,那就是 Mini B型 4Pin Flat。顾名思义,这
种接口比 Mini B型 4Pin要更加扁平,在设备中的应用也比较广泛。
Mini B型 8Pin Round
这种接口和前面的普通型比起来,就是将原来的 D型接头改成了圆形接头,
并且为了防止误插在一边设计了一个凸起。
这种接头可以见于一些 Nikon的数码相机,CoolPix系列比较多见。虽然
Nikon一直坚持用这种接口,但是在一些较新的机型中,例如 D100和 CP2000也
都采用了普及度最高的 Mini B型 5Pin接口。
Mini B型 8Pin 2×4
这种接口也是一种比较常见的接口了,例如我们熟悉的 iRiver的著名的 MP3
系列,其中号称“铁三角”的 180TC,以及该系列的很多其他产品采用的均是这
种接口。这种接口的应用范围也还算是广,不过从 iRiver自 3XX系列全面换成
Mini B型 5Pin的接口后,这种规格明显没有
Mini B型 5Pin抢眼了。
Micro USB
Micro USB是 USB 标准的一个便携版
本,比部分手机使用的 Mini USB接口更小,Micro-USB[4]是 Mini-USB的下一代
规格,由 USB标准化组织美国 USB Implementers Forum(USB-IF)于 2007年 1
月 4日制定完成。Micro-USB 支持 OTG,和 Mini-USB一样,也是 5pin的。Micro
系列的定义包括标准设备使用的 Micro-B系列插槽;OTG设备使用的 Micro-AB
插槽;Micro-A和 Micro-B插头,还有线缆。Micro系列的独特之处是他们包含
了不锈钢外壳,万次插拔不成问题。
2009年 10月 26日在瑞士日内瓦举办的国际电联 ITU-T第五研究组(SG5)全
会上完成了"通用移动终端及其它 ICT设备的电源适配器和充电器方案"框架标准
讨论并通过,并申请进入报批程序。这实际意味着全球都将统一手机充电器标准。
USB优点
1、可以热插拔。就是用户在使用外接设备时,不需要关机再开机等动作,
而是在电脑工作时,直接将 USB插上使用。
2、携带方便。USB设备大多以“小、轻、薄”见长,对用户来说,随身携带
大量数据时,很方便。当然 USB硬盘是首要之选了。
3、标准统一。大家常见的是 IDE接口的硬盘,串口的鼠标键盘,并口的打
印机扫描仪,可是有了 USB之后,这些应用外设统统可以用同样的标准与个人电
脑连接,这时就有了 USB硬盘、USB鼠标、USB打印机等等。
4、可以连接多个设备。USB在个人电脑上往往具有多个接口,可以同时连接
几个设备,如果接上一个有四个端口的 USB HUB时,就可以再连上;四个 USB设
备,以此类推,尽可以连下去,将你家的设备都同时连在一台个人电脑上而不会
有任何问题(注:最高可连接至 127个设备)。
第三章 IrDA(红外线接口)
IrDA接口定义
IrDA是红外数据组织(Infrared Data Association)的简称,目前广泛采
用的 IrDA红外连接技术就是由该组织提出的.到目前为止,全球采用 IrDA技术
的设备超过了5000万部。 IrDA已经制订出物理介质和协议层规格,以及2个支
持 IrDA标准的设备可以相互监测对方并交换数据。 初始的 标准制订了
一个串行,半双工的同步系统,传输速率为2400bps到115200bps,传输范围1
m,传输半角度为15度到30度。最近 IrDA扩展了其物理层规格使数据传输率提升
到4Mbps。PXA27x就是使用了这种扩展了的物理层规格。
IrDA协议分析
IrDA数据协议由物理层,链路接入层和链路管理层三个基本层协议组成,另
外,为满足各层上的应用的需要,IrDA栈支持 IrLAP, IrLMP, IrIAS, IrIAP,
IrLPT, IrCOMM,IrOBEX和 IrLAN等。
IrDA红外串行物理层协议:
IrPHY定义了4Mb/s以下速率的半双工连接标准。在 IrDA物理层中,将数据
通信按发送速率分为三类:SIR、MIR和 FIR。串行红外(SIR)的速率覆盖了 RS-232
端口通常支持的速率(9600bps~1152Kbps)。MIR可支持和
的速率;高速红外(FIR)通常用于4Mbps的速率,有时也可用于高于 SIR的所
有速率。4Mb/s连接使用4PPM编码, OOK编码,编码脉
冲的占空比为。
OOK编码。
IrLAP红外链路接入协议:
IrLAP定义了链路初始化、设备地址发现、建立连接(其中包括比特率的统
一)、数据交换、切断连接、链路关闭以及地址冲突解决等操作过程。它是从异
步数据通信标准高级数据链路控制(HDLC)协议演化而来的。IrLAP使用了 HDLC
中定义的标准祯类型,可用于点对点和点对多的应用。IrLAP的最大特点是,由
一种协商机制来确定一个设备为主设备,其他设备为从设备。主设备探测它的可
是范围,寻找从设备,然后从那些相应它的设备中选择一个并试图建立连接。在
建立连接的过程中,两个设备彼此协调,按照它们共同的最高通信能力确定最后
的通信速率。以上所说的寻找和协调过程都是在的波特率下进行的。
IrLMP红外链路管理协议:
IrLMP是 IrLAP之上的一层链路管理协议,主要用于管理 IrLAP所提供的链
路连接中的链路功能和应用程序以及评估设备上的服务,并管理如数据速率、BOF
的数量(帧的开始)及连接转换向时间等参数的协调、数据的纠错传输等。
IrIAS,IrLPT,IrCOMM,IrOBEX,IrLAN是建立在 IrLAP之上的应用。
IrDA建立连接的过程
当 IrDA被建立时,它为自己设置下列目标:“建立可互操作的,廉价的红外
线资料互连标准能维持无连接的, 定向无线电传送的使用者模型,能适应活动
的宽带的的要连接到外围设备和主机的应用。”
IrDA选择短射程的、无连接的、点对点定向的红外线通信模型有两主要的原
因。
1. 第一,它初始的目标市场为支持 IrDA的设备将是可移动的
2. 第二, IrDA选择这个通信模型因为它最低的价格。
IrDA建立连接通信分四个阶段
1. 设备发现和地址解析
发现过程是 IrDA 设备查明在通讯范围是否有其它设备的过程。 在此情况
下,发现范围内所有设备的地址,也就是 IrLAP操控的设备序号, 也有的是由
IrLMP层指定的。哪个设备的发现程序占有时间槽, 那个设备就控制发现过程。
当范围内有多个设备时,这种分槽的办法减少了冲突的可能性。在等待560ms后
(普通断开方式规则),初始设备在每个时间槽的头部开始发现过程, 并广播
帧标记。当听到初始发现槽时, 设备将随机选择一个响应。当设备接收到它选
择槽的帧标记时,传送一个发现响应帧。 在发现过程中所有的帧都采用 HDLC的
无编号的交换标识(XID)类型。如果参加发现过程的设备有重复的地址,那就
需启动地址解析过程。 地址解析过程与发现过程相似,它用探测地址冲突来启
动过程,仅解析有冲突的地址。 初始设备向冲突的地址传送地址解析 XID命令,
这个地址的设备选择另一个随机地址和槽响应。 初始这像以前一样传送槽标记,
而原先地址冲突的设备选择恰当的槽响应。 一旦过程结束,每个设备将有唯一
地址。如果仍有冲突,此过程反复进行。
2. 链接建立
一旦发现和地址解析过程完成后,应用层可以决定它希望连接到哪一个被发
现的设备。 应用层将发一个连接请求,它最终选择调用适当的 IrLAP服务原语。
IrLAP层连接远程设备是采用发送带轮换查询位(poll bit)的设置正常响应模
式(SNRM)的命令帧。 假设远程的设备能接受连接,它将发送一个带中止位的
无编号应答响应帧, 指示连接已经被接受。在正常环境下,启动连接的设备(发
送 SNRM)是主设备,其它设备是从设备。
3. 信息交换和链接复位
信息交换过程的操作实在主从模式下进行的,就是主设备控制从设备的访问。
主设备发出命令帧,从设备响应。为了保证在同一时间里只有一个设备能传送帧,
一个传送许可令牌在主、从设备间交换。一个传送许可令牌在主、从设备间交换。
主设备通过发送带轮换查询位的控制帧传递一个传送许可令牌给从设备, 从设
备通过带结束位的响应帧返回令牌。传送数据时,从设备保留令牌, 一旦数据
传输结束或达到最长转换时间,它必须将令牌返回主设备。 当然,主设备也受
最长传送时间的限制,但没有数据传送时,主设备允许保留令牌。
4. 链接终止
一旦数据传输完,主、从设备之一将断开链接。如果主设备希望断开链接,
它将发送带轮询位的断开命令给从设备。从设备返回带终止位的未编号确认帧应
答。 两个设备将都处于正常断开模式,采用其参数(9600bps)。
一旦两个设备处于正常中断模式,传输媒介对于任何设备都是空闲的,都可
以开始设备发现,地址解析,连接建立过程。
IrLAP协议分析
IrDA提供的服务分为两大类,即面向连接的服务和无连接的服务。具体分为
4种:
-Request 由上层协议送达,用来激活服务
-Indication 用于将服务初始化请求通知上层应用
-Response 上层协议用于接受服务请求
-Confirm IrLAP层报告服务结果
另外也是 Infra Red Data Association的缩写,即红外线接口
红外通讯电路标准方案
红外发射电路由红外线发射管 L2 和限流电阻 R2 组成。当主板红外接口的
输出端 IRTX输出调制后的电脉冲信号时,红外线发射管将电脉冲信号转化为红
外线光信号发射出去。电阻 R2 起限制电流的作用,以免过大的电流将红外管损
坏。当 R2 的阻值越小,通过红外管的电流就越大,红外管的发射功率也随电流
的增大而增大,发射距离就越远,但 R2 的阻值不能过小,否则会损坏红外管或
主板红外接口!
红外通信电路标准方案
红外接收电路由红外线接收管 L1 和取样电阻 R1 组成。当红外接收管接收
到红外线光信号时,其反向电阻会随光信号的强弱变化而相应变化,根据欧姆定
律可以得知通过红外接收管 L1 和电阻 R1 的电流也会相应变化,而在取样电阻
两端的电压也随之变化,此变化的电压经主板红外接口的输入端 IRRX 输入主
机。由于不同的红外接收管的电气参数不同,所以取样电阻 R1 的阻值要根据
实际情况作一定范围的调整。
第四章 SPI(串行外围设备接口)
SPI接口的定义
SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步
串行外设接口,它可以使 MCU与各种外围设备以串行方式进行通信以交换信息。
SPI有三个寄存器分别为:控制寄存器 SPCR,状态寄存器 SPSR,数据寄存器
SPDR。外围设备包括 FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和 MCU
等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口
一般使用 4条线:串行时钟线(SCLK)、主机输入/从机输出数据线 MISO、主机
输出/从机输入数据线 MOSI和低电平有效的从机选择线 NSS(有的 SPI接口芯片
带有中断信号线 INT、有的 SPI接口芯片没有主机输出/从机输入数据线 MOSI)。
SPI简介
SPI接 口 的 全 称 是
"Serial Peripheral
Interface",意为串行外
围接口,是 Motorola首先
在其 MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM、FLASH、实时
时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。
SPI接口是在 CPU和外围低速器件之间进行同步串行数据传输,在主器件的
移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速
度总体来说比 I2C总线要快,速度可达到几 Mbps。
SPI的特点
SPI一共有 11位有用信号,每位信号差分成两个信号用来提高传输抗干扰
性,在物理连接上用标准 25芯 D型插头座(DB25)传输,因此连线多且复杂,传
输距离短,容易出现故障。而 ASI(异步串行接口)用串行传输,只需要一根同
轴电缆线,连线简单,传输距离长。
(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK –时钟信号,由主器件产生,最大为 fPCLK/2,从模式频率最大
为 fCPU/2
(4)NSS – 从器件使能信号,由主器件控制,有的 IC会标注为 CS(Chip
select)
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得
简单高效。
在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比 I2C系
统要稍微复杂一些。
SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为 8位,
在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。
如下图所示,在 SCLK的上升沿上数据改变,同时一位数据被存入移位寄存器。
多个从器件硬件连接示意图
通讯时序图
SPI的通信原理
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和
一个或多个从设备,需要至少 4根线,事实上 3根也可以(单向传输时)。也是
所有基于 SPI的设备共有的,它们是 SDI(数据输入),SDO(数据输出),SCK(时
钟),CS(片选)。
(1)SDO – 主设备数据输出,从设备数据输入
(2)SDI – 主设备数据输入,从设备数据输出
(3)SCLK – 时钟信号,由主设备产生
(4)CS – 从设备使能信号,由主设备控制
其中 CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信
号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接
多个 SPI设备成为可能。
负责通讯的 3根线了。通讯是通过数据交换完成的,这里先要知道 SPI是串
行通讯协议,也就是说数据是一位一位的传输的。这就是 SCK时钟线存在的原因,
由 SCK 提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过
SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。
完成一位数据传输,输入也使用同样原理。这样,在至少 8次时钟信号的改变(上
沿和下沿为一次),就可以完成 8位数据的传输。
要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一
个基于 SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式
有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少 8位数
据,而 SPI允许数据一位一位的传送,甚至允许暂停,因为 SCK时钟线由主控设
备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过
对 SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为
SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的 SPI
设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿
或下沿采集有不同定义,具体请参考相关器件的文档。
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单
高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比 I2C
系统要稍微复杂一些。
最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到
数据。
AT91RM9200的 SPI接口主要由 4个引脚构成:SPICLK、MOSI、MISO及
/SS,其中 SPICLK是整个 SPI总线的公用时钟,MOSI、MISO作为主机,从机的
输入输出的标志,MOSI是主机的输出,从机的输入,MISO 是主机的输入,从机
的输出。/SS是从机的标志管脚,在互相通信的两个 SPI总线的器件,/SS管脚
的电平低的是从机,相反/SS管脚的电平高的是主机。在一个 SPI通信系统中,
必须有主机。SPI总线可以配置成单主单从,单主多从,互为主从。
SPI的片选可以扩充选择 16个外设,这时 PCS输出=NPCS,说 NPCS0~3接 4-16译
码器,这个译码器是需要外接 4-16译码器,译码器的输入为 NPCS0~3,输出用于
16个外设的选择。
原理图
最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到
数据。
工作模式
SPI有四种工作模式,各个工作模式的不同在与 SCLK不同, 具体工作由
CPOL,CPHA决定
CPOL: (Clock Polarity),时钟极性
当 CPOL为 0时,时钟空闲 idle时候的电平是低电平;
当 CPOL为 1时,时钟空闲 idle时候的电平是高电平;
CPHA:(Clock Phase),时钟相位
当 CPHA为 0时,时钟周期的前一边缘采集数据;
当 CPHA为 1时,时钟周期的后一边缘采集数据;
CPOL和 CPHA,分别都可以是 0或时 1,对应的四种组合就是:
四种工作模式下的 SCLK表现如下:
红线表示采集数据
例子
假设主机和从机初始化就绪:并且主机的 sbuff=0xaa(10101010),从机的
sbuff=0x55(01010101),下面将分步对 spi的 8个时钟周期的数据情况演示一遍:
假设上升沿发送数据.
这样就完成了两个寄存器 8位的交换,上面的上表示上升沿、下表示下降沿,
sdi、sdo相对于主机而言的。其中 ss引脚作为主机的时候,从机可以把它拉底
被动选为从机,作为从机的是时候,可以作为片选脚用。根据以上分析,一个完
整的传送周期是 16位,即两个字节,因为,首先主机要发送命令过去,然后从
机根据主机的命令准备数据,主机在下一个 8位时钟周期才把数据读回来,主机
产生时钟 SCLK,而数据又必须依靠边沿启动才能传送。
第五章 I2C、CAN总线接口
I2C(‘intel’ -IC)总线 10多年前由 Philips公司推出,是近年来在微
电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,
具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。
I2C的作用
在主从通信中,可以有多个 I2C总线器件同时接到 I2C总线上,通过地址来
识别通信对象。
I2C总线定义 I2C(‘intel’-Integrated Circuit)总线是一种由 PHILIPS
公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于
在 80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中
包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配
置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、
系统温度等多个参数,增加了系统的安全性,方便了管理。
I2C总线特点
I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因
此 I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了
互联成本。总线的长度可高达 25英尺,并且能够以 10Kbps的最大传输速率支持
40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中
任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传
输和时钟频率。当然,在任何时间点上只能有一个主控。
I2C总线工作原理总线的构成及信号类型
构成
I2C总线是由数据线 SDA和时钟 SCL构成的串行总线,可发送和接收数据。
在 CPU与被控 IC之间、IC与 IC之间进行双向传送,最高传送速率 100kbps。各
种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能
工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上
并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取
决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址
码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类
别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总
线上,却彼此独立,互不相关。
信号类型
I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、
结束信号和应答信号。
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC在接收到 8bit数据后,向发送数据的 IC发出特
定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控
单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传
递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。
目前有很多半导体集成电路上都集成了 I2C接口。带有 I2C接口的单片机有:
CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的 PIC16C6XX
系列等。很多外围器件如存储器、监控芯片等也提供 I2C接口
I2C 总线是一种用于 IC器件之间连接的双向二线制总线,所谓总线它上面
可以挂多个器件,并且通过两根线连接,占用空间非常的小,总线的长度可长达
25英尺,并且能够以 10Kbps的最大传输速率支持 4个组件。它的另一优点是多
主控,只要能够进行接收和发送的设备都可以成为主控制器,当然多个主控不能
同一时间 工作。
I2C总线有两根信号线,一根为 SDA(数据线),一根为 SCL(时钟线)。任
何时候时钟信号都是由主控器件产生。
I2C总线操作
I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器
件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。
总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制
总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在 SCL为低电
平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停
止条件。
控制字节
在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不
同的芯片类型有不同的定义,EEPROM一般应为 1010),接着三位为片选,最后
一位为读写位,当为 1时为读操作,为 0时为写操作。
写操作
写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字
节不同有所不同。
读操作
读操作有三种基本操作:当前地址读、随机读和顺序读。图 4给出的是顺序
读的时序图。应当注意的是:最后一个读操作的第 9个时钟周期不是“不关
心”。为了结束读操作,主机必须在第 9个周期间发出停止条件或者在第 9个时
钟周期内保持 SDA为高电平、然后发出停止条件。
I2C总线应用目前有很多半导体集成电路上都集成了 I2C接口。带有 I2C接
口 的 单 片 机 有 : CYGNAL的 C8051F0XX系 列 , 三 星 的 S3C24XX系 列 ,
PHILIPSP87LPC7XX系列,MICROCHIP的 PIC16C6XX系列等。很多外围器件如存储
器、监控芯片等也提供 I2C接口。
举常 I2C器件/I2C Device1、存储器类:
1、ATMEL公司的 AT24CXX系列 EEPROM;
2、I2C总线 8位并行 IO口扩展芯片 PCF8574/JLC1562;
3、I2C接口实时时钟芯片 DS1307/PCF8563/SD2000D/M41T80/ME901/ISL1208/;
4、I2C数据采集 ADC芯片 MCP3221(12bitADC)/ADS1100(16bitADC)/ADS1112
(16bitADC)/MAX1238(12bitADC)/MAX1239(12bitADC);
5、I2C接口数模转换 DAC芯片 DAC5574(8bitDAC)/DAC6573(10bitDAC)
/DAC8571(16bitDAC)/;
6、I2C接口温度传感器 TMP101/TMP275/DS1621/MAX6625
USB转 I2C专用芯片: USB2I2C USB2I2C是一个 USB总线转 I2C总线
I2C/IIC/TWI/SMBUS的接口芯片,通过 USB2I2C芯片可以非常方便地实现 PC机
USB总线和下位机端 I2C接口(即 IIC或 TWI总线:SCL 线、SDA 线)之间的通
信。
USB2I2C芯片上位机 PC端提供简单易用的 动态库调用,可以方
便地被 VB,VC,Delphi,Labview,BCB等上位机开发工具调用。相关例程在 USBIO
公司网站可以找到。
USB2 I2C功能特点
●全速 USB设备接口,兼容 USB 。
●外围元件简单,只需 1个 12M晶体和 2个电容。
●低成本,可以通过 I2C总线直接实现上位机与下位机之间的连接,无需辅
助 MCU。
●上位机软件能够实现灵活实现 I2C/IIC/TWI总线协议的各种操作。
●作为 I2C总线 Host/Master 主机端。
●I2C 接口提供 SCL和 SDA信号线,支持 SCL时钟 4种不同传输速度:
100KHz/400KHz/750KHz。
●采用 SSOP-20小型封装。
CAN简介
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发
和生产汽车电子产品著称的德国 BOSCH公司开发了的,并最终成为国际标准
(ISO118?8)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线
协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥
有以 CAN为底层协议专为大型货车和重工机械车辆设计的 J1939协议。近年来,
其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机
控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境
CAN的基本概念
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO国际标准
化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、
低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信
所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束
的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数
据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的 CAN
通信协议。此后,CAN 通过 ISO11898 及 ISO11519 进行了标准化,在欧洲已是
汽车网络的标准协议。
CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医
疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被
誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实
时、可靠的数据通信提供了强有力的技术支持。
CAN的优势
CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行
通信网络。较之许多 RS-485基于 R线构建的分布式控制系统而言,基于 CAN总
线的分布式控制系统具有明显的优越性。
网络各节点之间的数据通信实时性强
首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先
权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,
且 CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节
点同时接收到相同的数据,这些特点使得 CAN总线构成的网络各节点之间的数据
通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而
利用 RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,
系统的实时性、可靠性较差;
缩短了开发周期
CAN总线通过 CAN收发器接口芯片 82C250的两个输出端 CANH和 CANL与物
理总线相连,而 CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平
或悬浮状态。这就保证不会在出现在 RS-485网络中的现象,即当系统有错误,
出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现
象。而且 CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他
节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使
得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由 CAN控制器芯
片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是
仅有电气协议的 RS-485所无法比拟的。
特点
CAN总线是德国 BOSCH公司从 80年代初为解决现代汽车中众多的控制与测
试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通
信介质可以是双绞线、同轴电缆或光导纤维。通信速率最高可达 1Mbps。
完成对通信数据的成帧处理
CAN总线通信接口中集成了 CAN协议的物理层和数据链路层功能,可完成对
通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等
项工作。
使网络内的节点个数在理论上不受限制
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据
块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数
据块的标识符可由 11位或 29位二进制数组成,因此可以定义 2或 2个以上不同
的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,
这一点在分布式控制系统中非常有用。数据段长度最多为 8个字节,可满足通常
工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占
用总线时间过长,从而保证了通信的实时性。CAN协议采用 CRC检验并可提供相
应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性
和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的
重视,并已公认为最有前途的现场总线之一。
可在各节点之间实现自由通信
CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总
线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它
节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已
被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特
别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在 PC AT XT
兼容机上,方便地构成分布式监控系统。
结构简单
只有 2根线与外部相连,并且内部集成了错误探测和管理模块。
传输距离和速率
CAN总线特点:(1) 数据通信没有主从之分,任意一个节点可以向任何其他
(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次
序,高优先级节点信息在 134μs 通信; (2) 多个节点同时发起通信时,优先级
低的避让优先级高的,不会对通信线路造成拥塞; (3) 通信距离最远可达
10KM(速率低于 5Kbps)速率可达到 1Mbps(通信距离小于 40M);(4) CAN总线传输
介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离
小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。
数据错误检测
不同于其它总线,CAN协议不能使用应答信息。事实上,它可以将发生的任
何错误用信号发出。CAN协议可使用五种检查错误的方法,其中前三节为基于报
文内容检查。
循环冗余检查(CRC)
在一帧报文中加入冗余检查位可保证报文正确。接收站通过 CRC可判断报文
是否有错。
帧检查
这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式
上的错误。
应答错误
如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收
到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的
报文无站接收。CAN协议也可通过位检查的方法探测错误。
总线检测
有时,CAN中的一个节点可监测自己发出的信号。因此,发送报文的站可以
观测总线电平并探测发送位和接收位的差异。
位填充
一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,
如果在一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,同步
沿用位填充产生。在五个连续相等位后,发送站自动插入一个与之互补的补码位;
接收时,这个填充位被自动丢掉。例如,五个连续的低电平位后,CAN自动插入
一个高电平位。CAN通过这种编码规则检查错误,如果在一帧报文中有 6个相同
位,CAN就知道发生了错误。
如果至少有一个站通过以上方法探测到 一个或多个错误,它将发送出错标
志终止当前的发送。这可以阻止其它站接收错误的报文,并保证网络上报文的一
致性。当大量发送数据被终止后,发送站会自动地重新发送数据。作为规则,在
探测到错误后 23个位周期内重新开始发送。在特殊场合,系统的恢复时间为 31
个位周期。
硬同步和重同步
硬同步只有在总线空闲状态条件下隐形位到显性位的跳变沿发生时才进行,
表明报文传输开始。在硬同步之后,位时间计数器随同步段重新开始计数。硬同
步强行将已发生的跳变沿置于重新开始的位时间同步段内。根据同步规则,如果
某一位时间内已有一个硬同步出现,该位时间内将不会发生再同步。再同步可能
导致相位缓冲段 1被延长或相位缓冲段 2被短。这两个相位缓冲段的延长时间或
缩短时间上限由再同步跳转宽度(SJW)给定。
CAN错误处理
错误类型
在 CAN总线中存在 5种错误类型,它们互相并不排斥,下面简单介绍一下它
们的区别、产生的原因及处理方法。
位错误:向总线送出一位的某个节点同时也在监视总线,当监视到总线位的
电平和送出的电平不同时 9则在该位时刻检测到一个位错误。但是在仲裁区的填
充位流期间或应答间隙送出隐性位而检测到显性位时,不认为是错误位。送出认
可错误标注的发送器,在检测到显性位时也不认为是错误位。
填充错误:在使用位填充方法进行编码的报文中,出现了第 6个连续相同的
位电平时,将检 测出一个填充错误。
CRC错误:CRC序列是由发送器 CRC计算的结果组成的。接收器以和发送器相
同的方法计算 CRC。如果计算的结果和接收到的 CRC序列不同,则检测出一个 CRC
错误。
形式错误: 当固定形式的位区中出现一个或多个非法位时,则检测到一个形
式错误。
应答错误:在应答间隙,发送器未检测到显性位时,则由它检测出一个应答
错误。
检测到出错条件的节点通过发送错误标志进行标定。当任何节点检测出位错
误、填充错误、形式错误或应答错误时,由该节点在下一位开始发送出错误标志。
当检测到 CRC错误时。出错标志在应答界定符后面那一位开始发送.除非其
他出错条件的错误标志已经开始发送。
故障状态
在 CAN总线中,任何一个单元可能处于下列 3种故障状态之一:错误激活状态
(ErrorActive)、错误认可状态(Error Passitive)和总线关闭状态(Bus off)。
错误激活单元可以照常参和总线通信,并且当检测到错误时,送出一个活动
错误标志。错误 认可节点可参和总线通信,但是不允许送出活动错误标志。当
其检测到错误时,只能送出认可错 误标志,并且发送后仍为错误认可状态,直
到下一次发送初始化。总线关闭状态不允许单元对总 线有任何影响。
为了界定故障,在每个总线单元中都设有 2个计数:发送出错计数和接收出
错计数。这些 计数按照下列规则进行。
(1)接收器检查出错误时,接收器错误计数器加 1,除非所有检测错误是发
送活动错误标志或超载标志期间的位错误。
(2)接收器在送出错误标志后的第一位检查出显性位时,错误计数器加 8。
(3)发送器送出一个错误标志时,发送器错误计数器加 8。有两种情况例外:
其一是如果发 送器为错误认可,由于未检测到显性位应答或检测到应答错误,
并且在送出其认可错误标志时,未检测到显性位;另外一种情况是如果仲裁器件
产生填充错误,发送器送出一个隐性位错误标志,而检测到的是显性位。除以上
两种情况外,发送器错误计数器计数不改变。
(4)发送器送出一个活动错误标志或超载标志时,检测到位错误,则发送器
错误计数器加 8。
(5)在送出活动镨误标志、认可错误标志或超载错误标志后,任何节点都最
多允许连续 7个显性位。在检测到第 11个连续显性位后,或紧随认可错误标志
检测到第 8个连续的显性位,以及附加的 8个连续的显性位的每个序列后,每个
发送器的发送错误计数都加 8,并且每个接收器的接收错误计数也加 8。
(6)报文成功发送后,发送错误计数减 1,除非计数值已经为 0。
(7)报文成功发送后,如果接收错误计数处于 1~197之间,则其值减 1;如
果接收错误计数为 0,则仍保持为 0;如果大于 127,则将其值记为 119~127之
间的某个数值。
(8)当发送错误计数等于或大于 128,或接收错误汁数等于或大于 128时,
节点进人错误认,可状态,节点送出一个活动错误标志。
(9)当发送错误计数器大于或等于 256时,节点进人总线关闭状态。
(1O)当发送错误计数和接收错误计数均小于或等于 127时,错误认可节点再
次变为错误激活节点。
(11)在检测到总线上 11个连续的隐性位发送 128次后,总线关闭节点将变
为 2个错误计数器均为 0的错误激活节点。
(12)当错误计数器数值大于 96时,说明总线被严重干扰。
如果系统启动期间仅有 1个节点挂在总线上,此节点发出报文后,将得不到
应答,检查出错误并重复该报文,此时该节点可以变为错误认可节点,但不会因
此关闭总线。
第六章 蓝牙接口(Bluetooth)、WiFi
蓝牙的诞生
无线通信,其优势在于随时随地、随心所欲的通信。事实上,好多年以前,
标准化组织就已经提出了一些无线通信的标准,但是由于协议的复杂性、应用的
局限性以及器件的能力等原因,一直没有得到广泛接受。但是随着计算机网络和
移动电话技术的迅猛发展,人们越来越感觉到发展一定范围内的无线数据与语音
通信的迫切需要。蓝牙技术在推出时就瞄准了无线局域网的通信,在 10米到 100
米的空间内所有支持该技术的移动或非移动设备可以方便地建立网络联系、进行
音频通信或直接通过手机进行 Internet冲浪。其应用范围相当广泛,可以应用
于局域网络中各类数据及语音设备,如 PC、拨号网络、笔记本电脑、打印机、
传真机、数码相机、移动电话和高品质耳机等,使用无线的方式将它们连成一个
微微网(Piconet),多个 Piconet之间也可以互连形成 Scatternet,从而方便快
速地实现各类设备之间随时随地的通信。于是在 1998年,爱立信、IBM、Intel、
诺基亚和东芝等公司联合推出了一项最新的无线网络技术,即蓝牙(Bluetooth)
技术。随后这五家公司组建了一个特殊兴趣组织(SIG:Special Interest
Group)来负责开发此技术及协议,如今已有 1800多家公司加入。1999年 7月份
蓝牙 SIG推出了蓝牙协议的 版,将其推向应用阶段。
蓝牙通信技术特点
基本特点
(1)工作频段:的工科医(ISM)频段,无需申请许可证。大多数国家
使用 79个频点,载频为(2402+k)MHz(k=0,1, 2…78),载频间隔 1MHz。采用 TDD
时分双工方式。
(2)调试方式:BT=的 GFSK调制,调制指数为 。
(3)采用跳频技术:跳频速率为 1600跳/秒,在建链时(包括寻呼和查询)提
高为 3200跳/秒。蓝牙通过快跳频和短分组技术减少同频干扰,保证传输的可靠
性。
(4)语音调制方式:连续可变斜率增量调制(CVSD,Continuous Variable
Slope Delta Modulation),抗衰落性强,即使误码率达到 4%,话音质量也可接
受。
(5)支持电路交换和分组交换业务:蓝牙支持实时的同步定向联接(SCO链路)
和非实时的异步不定向联接(ACL链路),前者主要传送语音等实时性强的信息,
后者以数据包为主。语音和数据可以单独或同时传输。蓝牙支持一个异步数据通
道,或三个并发的同步话音通道,或同时传送异步数据和同步话音的通道。每个
话音通道支持 64kbps的同步话音;异步通道支持
通信或 的对称全双工通信。
(6)支持点对点及点对多点通信:蓝牙设备按特定方式可组成两种网络:微微
网(Piconet)和分布式网络(Scatternet),其中微微网的建立由两台设备的连接
开始,最多可由八台设备组成。在一个微微网中,只有一台为主设备(Master),
其它均为从设备(Slave),不同的主从设备对可以采用不同的链接方式,在一次
通信中,链接方式也可以任意改变。几个相互独立的微微网以特定方式链接在一
起便构成了分布式网络。所有的蓝牙设备都是对等的,所以在蓝牙中没有基站的
概念。
(7)工作距离:蓝牙设备分为三个功率等级,分别是:100mW(20dBm)、
(4dBm)和 1mW(0dBm),相应的有效工作范围为:100米、10米和 1米。
优缺点
蓝牙技术的主要优点有:蓝牙工作在全球开放的 ISM(即工业、科
学、医学)频段; 使用跳频频谱扩展技术,把频带分成若干个跳频信道(hop
channel),在一次连接中,无线电收发器按一定的码序列不断地从一个信道“跳”
到另一个信道;一台蓝牙设备可同时与其它七台蓝牙设备建立连接;数据传输速
率可达 1Mbit/s;低功耗、通讯安全性好;在有效范围内可越过障碍物进行连接,
没有特别的通讯视角和方向要求;支持语音传输;组网简单方便
不过目前蓝牙技术也存在着一些缺陷。蓝牙是一种还没有完全成熟的技术,
尽管被描述得前景诱人,但还有待于实际使用的严格检验。蓝牙的通讯速率也不
是很高,在当今这个数据爆炸的时代,可能也会对它的发展有所影响。目前主流
的软件和硬件平台均不提供对蓝牙的支持,这使得蓝牙的应用成本升高,普及难
度增大。另外,ISM频段是一个开放频段,可能会受到诸如微波炉、无绳电话、
科研仪器、工业或医疗设备的干扰。
蓝牙技术协议
蓝牙技术是做为一种“电缆替代”的技术提出来的,发展到今天已经演化成
了一种个人信息网络的技术。它将内嵌蓝牙芯片的设备互联起来,提供话音和数
据的接入服务,实现信息的自动交换和处理。逻辑上蓝牙的协议堆可以划分成两
部分:核心协议和可选协议。
蓝牙的核心协议包括:物理层协议、链路接入协议、链路管理协议和服务发
现协议等。核心协议完成对物理传输媒介的监测与控制,发现设备,可靠的数据
链路的建立与维持,高层数据包的适配,不同协议数据的复用与流量控制。蓝牙
的可选协议中有提供虚拟串口通信,支持 OBEX协议,支持话音数据流和呼叫控
制等。物理层次上蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议
层和高层应用。
底层硬件部分包括无线跳频(RF)、基带(BB)和链路管理(LM)。无线跳频
层通过 无需授权的 ISM频段的微波,实现数据位流的过滤和传输,本层
协议主要定义了蓝牙收发器在此频带正常工作所需要满足的条件。基带负责跳频
以及蓝牙数据和信息帧的传输。链路管理负责连接、建立和拆除链路并进行安全
控制。
中间协议层包括逻辑链路控制和适应协议、服务发现协议、串口仿真协议和
电话通信协议。逻辑链路控制和适应协议具有完成数据拆装、控制服务质量和复
用协议的功能,该层协议是其它各层协议实现的基础。服务发现协议层为上层应
用程序提供一种机制来发现网络中可用的服务及其特性。串口仿真协议层具有仿
真 9针 RS232串口的功能。电话通信协议层则提供蓝牙设备间话音和数据的呼叫
控制指令。
主机控制接口层(HCI)是蓝牙协议中软硬件之间的接口,它提供了一个调
用基带、链路管理、状态和控制寄存器等硬件的统一命令接口。蓝牙设备之间进
行通信时,HCI以上的协议软件实体在主机上运行,而 HCI以下的功能由蓝牙设
备来完成,二者之间通过一个对两端透明的传输层进行交互。
在蓝牙协议栈的最上部是各种高层应用框架。其中较典型的有拨号网络、耳
机、局域网访问、文件传输等,它们分别对应一种应用模式。蓝牙设备应具有互
操作性,对于某些设备,从无线电兼容模块和空中接口,直到应用层协议和对象
交换格式,都要实现互操作性;对另外一些设备(如头戴式设备等)的要求则宽
松得多。蓝牙计划的目标就是要确保任何带有蓝牙标记的设备都能进行互换性操
作。软件的互操作性始于链路级协议的多路传输、设备和服务的发现,以及分组
的分段和重组。蓝牙设备必须能够彼此识别,并通过安装合适的软件识别出彼此
支持的高层功能。互操作性要求采用相同的应用层协议栈。不同类型的蓝牙设备
对兼容性有不同的要求,用户不能奢望头戴式设备内含有地址簿。蓝牙的兼容性
是指它具有无线电兼容性,有语音收发能力及发现其它蓝牙设备的能力,更多的
功能则要由手机、手持设备及笔记本电脑来完成。为实现这些功能,蓝牙软件构
架将利用现有的规范,如 OBEX、vCard/vCalendar、HID(人性化接口设备)及
TCP/IP等,而不是再去开发新的规范。设备的兼容性要求能够适应蓝牙规范和
现有的协议
总之,整个蓝牙协议结构简单,使用重传机制来保证链路的可靠性,在基带、
链路管理和应用层中还可实行分级的多种安全机制,并且通过跳频技术可以消除
网络环境中来自其它无线设备的干扰。
Wi-Fi简介
Wi-Fi是一种可以将个人电脑、手持设备(如 PAD、手机)等终端以无线方
式互相连接的技术。
Wi-Fi是一个无线网路通信技术的品牌,由 Wi-Fi联盟(Wi-Fi Alliance)所
持有。目的是向改善基于 IEEE 标准的无线网路产品之间的互通性的厂商
收取专利费。现时一般人会把 Wi-Fi及 IEEE 混为一谈。甚至把 Wi-Fi等
同于无线网际网路。
Wi-Fi定义
Wi-Fi是一种能够将个人电脑、手持设备(如 PDA、手机)等终端以无线方
式互相连接的技术。Wi-Fi是一个无线网路通信技术的品牌,由 Wi-Fi联盟(Wi-Fi
Alliance)所持有。目的是改善基于 标准的无线网络产品之间的互通
性。使用 IEEE 系列协议的局域网就称为 Wi-Fi。甚至把 Wi-Fi等同于无
线网际网路(Wi-Fi是 WLAN的重要组成部分)
Wi-Fi上网可以简单的理解为无线上网,几乎所有智能手机、平板电脑和笔
记本电脑都支持 Wi-Fi上网,是当今使用最广的一种无线网络传输技术。实际上
就是把有线网络信号转换成无线信号,就如在开头为大家介绍的一样,使用无线
路由器供支持其技术的相关电脑,手机,平板等接收。手机如果有 Wi-Fi功能的
话,在有 Wi-Fi无线信号的时候就可以不通过移动联通的网络上网,省掉了流量
费。但是 Wi-Fi信号也是由有线网提供的,比如家里的 ADSL啊,小区宽带啊之
类的,只要接一个无线路由器,就可以把有线信号转换成 Wi-Fi信号。国外很多
发达国家城市里到处覆盖着由政府或大公司提供的 Wi-Fi信号供居民使用,我国
也有许多地方实施”无线城市“工程使这项技术得到推广。在 4G牌照没有发放
的试点城市,许多地方使用 4G转 WI-FI让市民试用。[2]
所以 Wi-Fi上网当前还是非常容易实现的,只要将我们家用传统的路由器换
成无线路由器,简单设置下即可实现 Wi-Fi无线网络共享了,一般 Wi-Fi信号接
收半径约 95米,但会受墙壁等影响,实际距离会小一些,但办公室自不用说,
就是在整栋大楼中也可使用,因为距离也不是很远了。
Wi-Fi无线上网在大城市比较常用,虽然由 Wi-Fi技术传输的无线通信质量不是
很好,数据安全性能比蓝牙差一些,传输质量也有待改进,但传输速度非常快,
可以达到 54Mbps,符合个人和社会信息化的需求。Wi-Fi最主要的优势在于不需
要布线,可以不受布线条件的限制,因此非常适合移动办公用户的需要,并且由
于发射信号功率低于 100mw,低于手机发射功率,所以 Wi-Fi上网相对也是最安
全健康的。
Wi-Fi模块
经常会碰到一些关于 Wi-Fi模块的咨询,很多刚接触 Wi-Fi模块的设计人员
或者用户,只知道提 Wi-Fi模块,很难提具体的模块要求!希望通过文章的介绍,
会做到有的放矢!咨询时一定要搞清楚自己希望使用什么主芯片/要什么接口/
采用多少伏供电/需要大概的模块尺寸/天线的处理方式等问题。
随着无线网络的不断兴起和发展,2010年 Wi-Fi模块的应用领域相当广泛!
但是 Wi-Fi模块毕竟是一高频性质的产品,它不象普通的消费类电子产品,
生产设计的时候会有一些莫名其妙的现象和问题,让一些没有高频设计经验的工
程师费劲心思,有相关经验的从业人员,往往也是需要借助昂贵的设备来协助分
析!
对于 Wi-Fi部分的处理,有直接把 Wi-Fi部分 Layout到 PCB主板上去的设
计,这种设计,需要勇气和技术,因为本身模块的价格不高,主板对应的产品价
格不菲,当有 Wi-Fi部分产生的问题,调试更换比较麻烦,直接报废可惜;所以
很多设计都愿意采用模块化的 Wi-Fi部分,这样可以直接让 Wi-Fi部分模块化,
处理起来方便,而且模块可以直接拆卸,对于产品的设计风险和具体的耗损也有
很大帮助。
具体的硬件设计应该和相关 Wi-Fi模块咨询时,要考虑清楚以下方面:
通信接口方面:2010年基本是采用 USB接口形式,PCIE和 SDIO的也有少部
分,PCIE的市场份额应该不大,多合一的价格昂贵,而且实用性不强,集成的
很多功能都不会使用,其实也是一种浪费。
供电方面:多数是用 5V直接供电,有的也会利用主板设计中的电源共享,
直接采用 供电。
天线的处理形式:可以有内置的 PCB板载天线或者陶瓷天线;也可以通过
I-PEX接头,连接天线延长线,然后让天线外置。
规格尺寸方面:这个可以根据具体的设计要求,最小的有 nano型号(可以直
接做nano无线网卡);有可以做到迷你型的12*12左右(通常是外置天线方式采用);
通常是 25*12左右的设计多点(基本是板载天线和陶瓷天线多,也有外置天线接
头)。
跟主板连接的形式:可以直接 SMT,也可以通过 的排针来做插件连接(这
种组装/维修方便)。
软件的调试要结合具体的方案主控,毕竟 Wi-Fi部分仅仅是一个无线的收发
而已。很多用户在咨询的时候,很容易混淆!可以说,2013年 Wi-Fi模块应用
最火爆的领域就是 MID市场,同时传统的一些网络领域应用市场也有渗透,比如
一些工业控制领域/网络播放领域/甚至一些遥控领域也有在考虑的,基本上是能
用到网络的部分都希望尝试无线化!
Wi-Fi特性
无线风行,Wi-Fi也成了“巨星”。Wi-Fi可谓是“金盔铁甲”,从八个方面
全面包装自己。下文分别从带宽,信号,功耗,安全,融网,个人服务,移动特
性,客户端全方位为您剖析 Wi-Fi的独到之处。
更宽的带宽
虽然IEEE启动了两个项目打算将标准数据速率提高到千兆或几千兆,
但至今也还没有形成初稿。
更实际一点的是 标准将数据速率提高了一个等级,可以适应不同的
功能和设备,所有 11n无线收发装置支持两个空间数据流,发送和接收数据可以
使用两个或三个天线组合,苹果最新的 Wi-Fi iPod Touch就含有一颗博通
(Broadcom)的无线芯片,支持 11n标准。
很快将会有芯片支持三、四个数据流,数据速率可以分别达到 450Mbps和
600Mbps。2009年初,Quantenna通信表示它已经研制成功 4x4芯片,可以承载
高清数字电视信号流。
Wi-Fi设备供应商 Ruckus无线的共同创始人及 CTO William Kish说:“虽
然不会有很多客户端设备支持 4个空间流,只要正确设计访问点,将可以利用
600Mbps物理层数据速率,实现高速无线骨干网。”
你可以通过 标准将这些高端节点连接起来,形成类似互联网的具有
冗余能力的 Wi-Fi网络。
更强的射频信号
11n中更多可选的性能特性将会出现在无线芯片中,无线客户端和无线访问
点利用这些芯片可以使射频(RF)信号更具弹性,稳定和可靠,换句话说更象一个
电线。
无线芯片制造商 Atheros公司的 CTO William McFarland说:“新的 11n物
理层技术将使 Wi-Fi功能更强大,在给定范围内数据传输速率更高,传输距离更
长”。
这些性能特性包括:低密度奇偶校验码,提高纠错能力;发射波束形成,它
使用来自 Wi-Fi客户端的反馈,让一个访问点集中处理客户端的射频信号;空间
时分组编码(STBC),它利用多重天线提高信号可靠性。
McFarland说:“如今你带着一个有 Wi-Fi功能的笔记本绕建筑物一周,你
会发现数据速率下降或消失,但使用 STBC后,连接将会继续工作”。
Wi-Fi功耗更低
在功耗和管理方面进行了重大创新,不仅能够延长 Wi-Fi智能手机
的电池寿命,还可以嵌入到其它设备中,如医疗监控设备,楼宇控制系统,实时
定位跟踪标签和消费电子产品。可以不断地监测和收集数据,可基于用户的身份
和位置进行个性化。
网络世界(Network World)博主 Craig Mathias 写道“其它现代射频技术不
能做到的,现在 Wi-Fi都能做到了”。
Atheros的 McFarland说:“随着企业无线局域网的建设,这些基础设施已
经到位,现在只需要添加低功耗传感器就可以了”。
嵌入式 Wi-Fi无线数据通信厂商首脑会议宣布的 无线通信以各种插
件形式提供,让设备使用不拥挤的 5GHz波段,Gainspan提供的 11b/g无线设备
带有一个 IP软件堆栈,电力消耗非常低,一块标准电池可以运行几年,Redpine
Signals提供了一个单流嵌入到 11n无线通信中。
改进的安全性
互联网最具破坏性的影响是通过盗窃身份证明,拒绝服务攻击,侵犯隐私,
刺探以及缺乏相应的信任手段对用户造成的伤害,移动网络使这一情况变得更糟,
如果用户信任当前打开的 Wi-Fi连接,有可能使他们遭受毁灭性的风险。
IEEE已经批准了 标准,它保护无线管理帧,使无线链路更好地工
作,Networks公司首席分析师 Matthew Gast说:“Wi-Fi客户端现在可以接收
和采用‘落地网络’信息,在此之前这个信息可能是由攻破访问点的黑客利用 MAC
地址伪造的,11w标准切断了这种攻击”。
Aruba Network公司战略营销主管 Michael Tennefoss说:“Wi-Fi将会使
用基于身份的安全,在 Wi-Fi 网络中,安全策略与用户关联,而不是与端口关联
的,这样的好处是用户可以在家,办公场所,酒店,分支机构和公共场所移动,
安全性不会受到影响”。
与非 Wi-Fi网络的协作
如果你是 T-Mobile Wi-Fi用户,但你现在处于另一个运营商提供的热点范
围内,那你是不能使用 Wi-Fi的。在未来,你的 Wi-Fi设备能够查询到“外网(其
它运营商的无线网络)”服务,并可以安全地接入,你的用户身份将和你一起漫
游,使你能够使用各种不同的 Wi-Fi服务。
标准出台后用户将会更灵活地使用无线网络,未来的 Wi-Fi为了会
对外广告它们的服务,只要你服从它的条款就可以链接到它们,根据你的身份,
你可以访问其它网络中所有或部分服务的子集,在紧急情况下,你可以获得最基
本的连接和功能,标准计划在 2010年 6月最后审批。
自我管理的客户端
Wi-Fi设备厂家已经想了许多办法使它们的设备与无线访问点更智能地结
合工作,无线访问点自身的管理已经相当成熟,但无线客户端的管理还是空白。
如果你在访问点和客户端同时采用新的 Wi-Fi管理协议,它们之间的协作会
更有趣。
想象一下你的上网本 Wi-Fi适配器,或 Wi-Fi VoIP电话在未发送和接收无
线信号,或仅共享位置数据时,可以节省电力,访问点可以将 Wi-Fi语音会议重
定向到一个更理想的相邻访问点上,或者重定向到一个负载较低的访问点上。
Wi-Fi网络可以定位一个客户端的位置,例如,在建筑物外,或在大街上,可以
基于这些数据授予客户端连接操作。
标准可能会在 2010年 7月底完成,在 Wi-Fi管理方面将会有许多
增强特性,它将为统计收集增加一个计数器阵列,增加电源管理,提高电池寿命,
并改善位置数据支持。
Wi-Fi联盟的 Wi-Fi多媒体接纳控制规范也正在处理客户端协调问题,该规
范正在开发中,它可以让无线网络协商和管理流媒体会话,因此高清晰视频不会
切断相同访问点上的 Wi-Fi语音会话,Wi-Fi联盟正在考虑具体的 Wi-Fi为了管
理规范,主要是借用几个相关的 IEEE标准,然后再增加额外的无线管理功能。
改善移动性
在以前的标准中缺乏 RF管理,因为访问点和客户端之间,以及与相邻无线
设备之间通常彼此不了解,它们只了解自己的无线电波频率,这种局限性使得想
管理 RF也很困难。
例如,当一个 Wi-Fi手机进入某个访问点范围时,它会触发一个盲目的寻找
过程,如果客户端可以询问它的访问点“你的邻居是谁,哪一个是最佳连接访问
点?”,这样设备和网络就可以更好地协作,与此同时,Wi-Fi访问点可以“看”
到客户端的 RF环境,确定弱信号或不足的覆盖面,然后采取措施优化连接。
2011年发布的 无线资源管理标准解决了这个问题,通过智能 RF
(射频)管理改善移动性,但 Wi-Fi设备厂家已经实施了一系列的专有功能以应
对这一挑战,Aruba 自适应无线管理技术的 版本就是一个例子。
同时,Wi-Fi联盟使用 11k的某些特性构思它的语音企业认证,目标是优化
大规模的,企业级 Wi-Fi语音环境通话质量。
Wi-Fi个人区域
Wi-Fi是一个端到端的连接,未来的 Wi-Fi网络,你的设备无论在哪里都可
以直接连接到其它客户端设备,例如搭载低功耗芯片的 Ozmo设备让外围设备可
以通过 Wi-Fi直接连接到你的笔记本电脑。
Wi-Fi联盟最新公布的 Wi-Fi Direct(WFD)项目,将让你笔记本电脑上的
Wi-Fi卡绕过访问点,直接连接到无线打印机,数码相机,投影仪,传感器或等
离子屏幕。作为一个行业规范,WFD将在固件中引入新的协议实现,这样就不需
要对硬件做改动了。
同时,Wi-Fi访问点通过 标准(定于 2010年 7月完成)也可以变
成点到点连接引擎,它将为直接连接配置提供扩展,客户端设备从一个访问点请
求许可直接连接到另一个附近的客户端设备,但数据不通过访问点,客户端仍然
与访问点连接,由访问点提供全套安全和管理服务。
第七章 Ethernet(以太网接口)
. MII接口分析
MII接口提供了 MAC与 PHY之间、PHY与 STA(Station Management)之间的互
联技术,该接口支持 10Mb/s与 100Mb/s的数据传输速率,数据传输的位宽为 4
位。
提到 MII,就有可能涉及到 RS,PLS,STA等名词术语,下面讲一下他们之间
对应的关系。
所谓 RS即 Reconciliation sublayer,它的主要功能主要是提供一种 MII
和 MAC/PLS之间的信号映射机制。它们(RS与 MII)之间的关系如下图:
图 1
MII接口的 Management Interface可同时控制多个 PHY,协议最多支
持 32个 PHY,但有一定的限制:要符合协议要求的 connector特性。所谓
Management Interface,即 MDC信号和 MDIO信号。
前面已经讲过 RS与 PLS的关系,以及 MII接口连接的对象。它们是通过 MII
接口进行连接的,示意图如下图。由图可知,MII的 Management Interface是
与 STA(Station Management)相连的。
MII接口支持 10Mb/s以及 100Mb/s,且在两种工作模式下所有的功能以及时
序关系都是一致的,唯一不同的是时钟的频率问题。要求 PHY不一定一定
要支持这两种速率,但一定要描述,通过 Management Interface反馈给 MAC。
图 2
下面将详细介绍 MII接口的信号定义,时序特性等。由于 MII接口有 MAC和
PHY模式,因此,将会根据这两种不同的模式进行分析,同时还会对 RMII/SMII
进行介绍。
MII接口信号定义
MII接口可分为 MAC模式和 PHY模式,一般说来 MAC和 PHY对接,但是 MAC
和 MAC也是可以对接的。
以前的 10M的 MAC层芯片和物理层芯片之间传送数据是通过一根数据线来进
行的,其时钟是 10M,在 100M中,如果也用一根数据线来传送的话,时钟需要
100M,这会带来一些问题,所以定义了 MII接口,它是用 4根数据线来传送数据
的,这样在传送 100M数据时,时钟就会由 100M降低为 25M,而在传送 10M数据
时,时钟会降低到 ,这样就实现了 10M和 100M的兼容。
MII接口主要包括四个部分。一是从 MAC层到物理层的发送数据接口,二是
从物理层到 MAC层的接收数据接口,三是从物理层到 MAC层的状态指示信号,四
是 MAC层和物理层之间传送控制和状态信息的 MDIO接口。
MII接口的 MAC模式定义:
MII接口 PHY模式定义:
MII接口时序特性
在 MII接口中,TX通道参考时钟是 TX_CLK,RX通道参考时钟是 RX_CLK,
-2005定义了它们之间的关系。
图 3 Transmit signal timing relationships at the MII
由图 3可知,即 The clock to output delay shall be a min of 0 ns and a
max of 25 ns,参考时钟沿是上升沿。很明显,该 Spec只对 TX通道上 MAC这一
侧的发送特性作了定义,而对 TX通道 PHY那一侧的接收特性并没有定义。IC
Vendor可在 TX通道那一侧的 PHY的接收特性作适当调整,只要最终的时序满足
TX通道上 MAC这一侧的发送特性就可以。
图 4 Receive signal timing relationships at the MII
由图 4可知,The input setup time shall be a minimum of 10 ns and the
input hold time shall be a minimum of 10 ns,参考时钟沿是上升沿。很明
显,该 Spec只对 RX通道上 MAC这一侧的接收特性作了定义,而对 RX通道 PHY
那一侧的发送特性并没有定义。IC Vendor可在 RX通道那一侧的 PHY的发送特
性作适当调整,只要最终的时序满足 RX通道上 MAC这一侧的接收特性就可以。
MII信号功能特性
<1>: TX_CLK (transmit clock),TX_CLK (Transmit Clock)是一个连续的
时钟信号(即系统启动,该信号就一直存在),它是 TX_EN, TXD, and TX_ER(信
号方向为从 RS到 PHY)的参考时钟,TX_CLK由 PHY驱动 TX_CLK的时钟频率是数
据传输速率的25%,偏差+-100ppm。例如,100Mb/s模式下,TX_CLK时钟频率为25MHz,
占空比在 35%至 65%之间。
<2>:对于同样的 RX_CLK,它与 TX_CLK具有相同的要求,所不同的是它是
RX_DV, RXD, and RX_ER(信号方向是从 PHY到 RS)的参考时钟。RX_CLK同样是由
PHY驱动,PHY可能从接收到的数据中提取时钟 RX_CLK,也有可能从一个名义上
的参考时钟(., the TX_CLK reference)来驱动 RX_CLK
<3>:TXD (transmit data),TXD由 RS驱动,同步于 TX_CLK,在 TX_CLK的
时钟周期内,并且 TX_EN有效,TXD上的数据被 PHY接收,否则 TXD的数据对 PHY
没有任何影响。
图 5
<4>:TX_ER (transmit coding error),TX_ER同步于 TX_CLK,在数据传输
过程中,如果 TX_ER有效超过一个时钟周期,并且此时 TX_EN是有效的,则数据
通道中传输的数据是无效的,没用的。注:当 TX_ER有效并不影响工作在 10Mb/s
的 PHY或者 TX_EN无效时的数据传输。在 MII接口的连线中,如果 TX_ER信号线
没有用到,必须将它下拉接地。
图 6
<5>:RX_DV (Receive Data Valid),RXD_DV同步于 RX_CLK,被 PHY驱动,
它的作用如同于发送通道中的 TX_EN,不同的是在时序上稍有一点差别:为了让
数据能够成功被 RS接收,要求 RXD_DV有效的时间必须覆盖整个 FRAME的过程,
即 starting no later than the Start Frame Delimiter (SFD) and
excluding any End-of-Frame delimiter,如下图 7。
图 7
<6>:RXD (receive data),RXD由 RS驱动,同步于 RX_CLK,在 RX_CLK的
时钟周期内,并且 RX_DV有效,RXD上的数据被 RS接收,否则 RXD的数据对 RS
没有任何影响。While RX_DV is de-asserted, the PHY may provide a False
Carrier indication by asserting the RX_ER signal while driving the
value <1110> onto RXD<3:0>。
图 8
<7>:RX_ER (receive error),RX_ER同步于 RX_CLK,其在 RX通道中的作
用类似于 TX_ER对于 TX通道数据传输的影响。
图 9
<8>:CRS (carrier sense),CRS不需要同步于参考时钟,只要通道存在发
送或者接收过程,CRS就需要有效。The behavior of the CRS signal is
unspecified when the duplex mode bit in the control register is
set to a logic one(自动协商禁止,人工设为全双工模式), or when the
Auto-Negotiation process selects a full duplex mode of operation,即半
双工模式信号有效,全双工模式信号无效。
<9>:COL (collision detected),COL不需要同步于参考时钟。The
behavior of the COL signal is unspecified when the duplex mode bit
in the control register is set to a logic one(自动协商禁止,人工
设为全双工模式), or when the Auto-Negotiation process selects a full
duplex mode of operation。即半双工模式信号有效,全双工模式信号无效。
图 10
MII的管理 MDIO接口
MDIO接口包括两根信号线:MDC和 MDIO,通过它,MAC层芯片(或其它控制
芯片)可以访问物理层芯片的寄存器(前面 100M物理层芯片中介绍的寄存器组,
但不仅限于 100M物理层芯片,10M物理层芯片也可以拥有这些寄存器),并通
过这些寄存器来对物理层芯片进行控制和管理。MDIO管理接口如下:
MDC:管理接口的时钟,它是一个非周期信号,信号的最小周期(实际是正
电平时间和负电平时间之和)为 400ns,最小正电平时间和负电平时间为 160ns,
最大的正负电平时间无限制。它与 TX_CLK和 RX_CLK无任何关系。
MDIO是一根双向的数据线。用来传送MAC层的控制信息和物理层的状态信息。
MDIO数据与 MDC时钟同步,在 MDC上升沿有效。MDIO管理接口的数据帧结构如:
图 11 MDIO管理接口的数据帧结构
帧结构各域的含义如下:
PRE:帧前缀域,为 32个连续“1”比特,这帧前缀域不是必要的,某些物
理层芯片的 MDIO操作就没有这个域。
ST:帧开始标志,出现“01”比特表示帧设计开始。
OP:帧操作码,比特“10”表示此帧为一读操作帧,比特“01”表示此帧为
一写操作帧。
PHYAD:物理层芯片的地址,5个比特,每个芯片都把自己的地址与这 5个比
特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。
REGAD:用来选择物理层芯片的 32个寄存器中的某个寄存器的地址。
TA:状态转换域,若为读操作,则第一比特时 MDIO为高阻态,第二比特时
由物理层芯片使 MDIO置“0”。若为写操作,则 MDIO仍由 MAC层芯片控制,其
连续输出“10”两个比特。
DATA:帧的寄存器的数据域,16比特,若为读操作,则为物理层送到 MAC层
的数据,若为写操作,则为 MAC层送到物理层的数据。
IDLE:帧结束后的空闲状态,此时 MDIO无源驱动,处高阻状态,但一般用
上拉电阻使其处在高电平,即 MDIO引脚需要上拉电阻。
MDIO数据帧的时序关系如下:
图 12 MDIO数据帧的时序关系
MII接口也有一些不足之处,主要是其接口信号线很多,发送和接收和指示
接口有 14根数据线(不包括 MDIO接口的信号线,因为其被所有 MII接口所共享),
当交换芯片的端口数据较多时,会造成芯片的管脚数目很多的问题,这给芯片的
设计和单板的设计都带来了一定的问题。为了解决这些问题,人们设计了两种新
的 MII接口,它们是 RMII接口(Reduced MII接口)和 SMII接口(StreamMII接
口)。
这两种接口都减少了 MII接口的数据线,不过它们一般只用在以太网交换机的交
换 MAC芯片和多口物理层芯片中,而很少用于单口的 MAC层芯片和物理层芯片中。
RMII接口和SMII接口都可以用于10M以太网和100M以太网,但不可能用于1000M
以太网,因为此时时钟频率太高,不可能实现。
Electrical Character
MII接 口 的 电 气 特 性 可 以 分 为 Driver characteristics和 Receiver
characteristics。
针对于 Driver characteristics的 DC电气特性而言,Spec要求所有 MII接
口 The high (one) logic level output potential Voh shall be no less
than V at an output current Ioh of – mA. The low (zero) logic
level output potential Vol shall not be greater than V at an
output current IoLof mA。这个就是 LVTTL常用的逻辑标准。
针对于 Driver characteristics的 AC电气特性而言,Drivers must also
meet certain ac specifications in order to ensure adequate signal
quality for electrically long point-to-point transmission paths. The
ac specifications shall guarantee the following performance
requirements.
The initial incident potential change arriving at the receiving
end of a point-to-point MII signal path plus its reflection from the
receiving end of the path must switch the receiver input potential
monotonically from a valid high (one) level to Vil ≤ Vil(max)–200
mV, or from a valid low (zero) level to Vih ≥ Vih(min) + 200 mV.
Subsequent incident potential changes arriving at the receiving end
of a point-to-point MII signal path plus their reflections from the
receiving end of the path must not cause the receiver input potential
to reenter the range Vil(max) – 200 mV < Vi < Vih(min) + 200 mV
except when switching from one valid logic level to the other. Such
subsequent incident potential changes result from a mismatch between
the characteristic impedance of the signal path and the driver output
impedance。
RMII接口分析
RMII接口信号定义
RMII接口(Reduced MII接口)是简化的 MII接口。它也分为 MAC模式和 PHY
模式。
RMII接口接收、发送和控制的同步参考时钟 REF_CLK是由外部时钟源提供的
50MHz信号。这与原来的 MII接口不同,MII接口中发送和接收的时钟是分开的,
且都是由物理层芯片提供给 MAC层芯片。
这里需要注意的是由于数据接收时钟是由外部晶振提供而不是由载波信号提取
的,所以在物理层芯片内的数据接收部分要设计一个 FIFO,用来协调两个不同
的时钟,在发送接收的数据时提供缓冲。物理层芯片的发送部分则不需要一个
FIFO,它直接将接收到的数据发送出去就可以了。
CRS_DV是 MII中的 RXDV 和 CRS(Carrier_Sense)两个信号合并而成,当介质不
空闲时 CRS_DV以和 REF_CLK相异步的方式给出。当 CRS比 RX_DV早结束时(即载
波消失而队列中还有数据要传输时),就会出现 CRS_ DV在半位元组的边界以
25MHz(在 100MHz模式下)或 (在 10MHz模式下)的频率在 0、1之间来回切
换。因此,MAC能够从 CRS_ DV中精确的恢复出 RX_DV和 CRS,见图 14。
RMII接口的 MAC模式定义:
RMII接口 PHY模式定义:
RMII接口时序特性
RMII接口的发送部分包括 TX_EN(发送使能)和 TXD[1:0](发送数据)两类信号线,
它们与时钟 CLK_REF同步。当 MAC层有数据要发送时,TX_EN变为有效,数据便
出现在 TXD[1:0]上。对于 100M速率时,物理层芯片在每个时钟周期都要采样
TXD[1:0]上的数据,而在 10M速率时,物理层芯片要每隔 10个时钟周期采样
TXD[1:0]上的数据,而 MAC层发送的每个数据会在 TXD[1:0]上保留 10个周期。
发送部分的波形图如下
图 13 RMII发送部分的时序关系图
RMII接口的接收部分包括 CRS_DV(载波和数据有效)、RXD[1:0](接收数据)、
RX_ER(接收出错)三类信号线,其中 RXD[1:0]和 RX_ER与时钟 CLK_REF同步,而
CRS_DV信号与时钟是异步的。当物理层接收到有效的载波信号后,CRS_DV信号
变为有效,此时如果 FIFO中还没有数据,则它会送出全零的数据给 RXD[1:0],
然后当 FIFO 中填入有效的数据帧,数据帧的开头是“1010......”交叉的前导
码,所以在 RXD[1:0]上会出现“01”的比特,MAC层芯片会检测这一过程,从而
开始一帧数据的接收。当外部载波信号消失后,CRS_DV会变为无效,但如果 FIFO
中还有数据要发送时,CRS_DV在下一周期又会变为有效,然后再无效再有效,
直到 FIFO中数据发送完为止。在接收过程中如果出现无效的载波信号或无效的
数据编码,则 RX_ER会变为有效,表示物理层芯片接收出错。在 100M以太网速
率中,MAC层芯片要每个时钟采样一次 RXD[1:0]上的数据,在 10M以太网速率中,
MAC层芯片则每 10个时钟周期采样一次 RXD[1:0]上的数据,此时物理层芯片接
收的每个数据会在 RXD[1:0]上保留 10个时钟周期。RMII接收部分的波形图如下
图 14 接收部分时序关系图
SMII接口分析
SMII接口信号定义
SMII(Serial MII)接口又叫串行 MII接口。它包括 TXD、RXD、SYNC三类信号
线。另外所有的端口共用一个时钟信号 CLOCK,此时钟信号是 125MHz的,前三
类信号都与此时钟同步。为什么用 125MHz,是因为数据线里面会传送一些控制
信息,后面会有介绍。SYNC是数据收发的同步信号,它每 10个时钟周期置 1次
高电平,指示同步。TXD和 RXD上收发的数据和控制信息,它们以 10个比特为
一组,以 SYNC 为高电平来指示一组数据的开始,每一组的数据的含义见后面。
可以看出,SMII接口所需的信号线每端口只有 3根,比 RMII接口(7根)还要少,
比 MII接口(14根)就更少了。
SMII接口的 MAC模式定义:
SMII接口时序特性
发送部分的波形图如下:
图 15 发送部分的时序关系
从波形中可以看出,在 SYNC变高后的 10个时钟周期内,TXD上依次输出一组 10
比特的数据即 TX_ER、TX_EN、TXD[0:7]。这些数据和控制信息的含义与 MII接
口中的含义相同,物理层芯片在接收到这些数据和控制信息后做与 MII接口相同
的处理。在 100M速率中,每一组的内容都是变换的,在 10M速率中,每一组的
数据则要重复 10次,物理层芯片采样任何一组都可以。
接收部分的波形图如下:
图 16 接收部分的时序关系图
从波形中可以看出,在 SYNC变高后的 10个时钟周期内,RXD上依次输出一组 10
比特的数据即 CRS、RX_DV、RXD[0:7]。其中 CRS和 RX_DV的含义与 MII接口中
的相同。RXD[0:7]的含义则与 RX_DV有关,当 RX_DV为有效时(为高时),RXD[0:7]
上为物理层接收的数据。当 RX_DV为无效时(为低时),RXD[0:7]上的数据反映
的是物理层状态的信息。其详细内容如下表所示:
图 17 SMII接口接收部分信息编码表
当以太网的速率是 100M时,每一组的数据都是变化的,当以太网的速率是
10M时,每一组的数据则要重复 10次,MAC层芯片只要采样其中任何一次就可以
了。对其中的信号,MAC层芯片从 SMII接口中获得的信息的处理方式与 MII接
口的处理方式是一样的。
GMII 接口分析
GMII接口提供了 8位数据通道,125MHz的时钟速率,从而 1000Mbps的数据传输
速率。下图定义了 RS层的输入输出信号以及 STA的信号:
图 18 Reconciliation Sublayer (RS) and STA connections to GMII
下面将详细介绍 GMII接口的信号定义,时序特性等。由于 GMII接口有 MAC和 PHY
模式,因此,将会根据这两种不同的模式进行分析,同时还会对 RGMII/TBI/RTBI
接口进行介绍。
GMII 接口信号定义
GMII接口可分为 MAC模式和 PHY模式,一般说来 MAC和 PHY对接,但是 MAC和 MAC
也是可以对接的。
在 GMII接口中,它是用 8根数据线来传送数据的,这样在传送 1000M数据时,
时钟就会 125MHz。
GMII接口主要包括四个部分。一是从 MAC层到物理层的发送数据接口,二是从
物理层到 MAC层的接收数据接口,三是从物理层到 MAC层的状态指示信号,四是
MAC层和物理层之间传送控制和状态信息的 MDIO接口。
GMII接口的 MAC模式定义:
注意在表 7中,信号 GTX_CLK对于 MAC来说,此时是 Output信号,这一点和 MII
接口中的 TX_CLK的 Input特性不一致。
GMII接口 PHY模式定义:
表 8
注意在表 8中,信号 GTX_CLK对于 PHY来说,此时是 Input信号,这一点和 MII
接口中的 TX_CLK的 Output特性不一致。
GMII接口时序特性
在 GMII接口中,TX通道参考时钟是 GTX_CLK,RX通道参考时钟是 RX_CLK,
-2005定义了它们之间的关系。
图 19 GMII signal timing at receiver input
由图 19可知,Spec只定义了 TX通道和 RX通道中接收端 Setup时间和 Hold时
间。很明显,即该 Spec只对 TX通道上 PHY这一侧的接收特性作了定义,而对 TX
通道 MAC那一侧的发送特性并没有定义。IC Vendor可在 TX通道那一侧的 MAC
的发送特性作适当调整,只要最终的时序满足 TX通道上 PHY这一侧的接收特性
就可以。
同样的道理,该 Spec只对 RX通道上 MAC这一侧的接收特性作了定义,而对 RX
通道 PHY那一侧的发送特性并没有定义。IC Vendor可在 RX通道那一侧的 PHY
的发送特性作适当调整,只要最终的时序满足 RX通道上 MAC这一侧的接收特性
就可以。
图 20 Setup和 Hold Time的值
从图 20可以看出,这里有两组 setup和 hold时间。其中第一组 Spec则是根据
图 21给定的测试电路定义的,即该 Spec未考虑 PCB上传输线的不匹配等影响。
而第二组 Spec则是定义了 receiver at its input pins的时间要求,它考虑了
PCB上传输线的长度不匹配等影响。一般 IC Vendor需要按照第二组 Spec来设
计它们的 IC。
(Two sets of setup and hold time parameters are specified in Fig. 20.
The first set, tSETUP and tHOLD, applies to the source of a
synchronous GMII signal and its clock and is measured using the
“GMII Setup and Hold Time Test Circuit,” which has transmission
lines with matched propagation delays in the “clock” and“signal”
paths. The second set, tSETUP(RCVR) and tHOLD(RCVR), applies to the
GMII receiver and specifies the minimum setup and hold times
available to the GMII receiver at its input pins. The difference
between the two sets of setup and hold time parameters provides
margin for a small amount of mismatch in the propagation delays of
the “clock” path and the “signal” paths in GMII applications)。
图 21 GMII接口 Setup和 Hold Time测试电路
GMII 信号功能特性:
<1>: GTX_CLK (transmit clock),GTX_CLK (Transmit Clock)是一个连续的时
钟信号(即系统启动,该信号就一直存在),它是 TX_EN, TXD, and TX_ER(信号
方向为从 RS到 PHY)的参考时钟,PHY端在信号的上升沿采样,GTX_CLK由 MAC
驱动。GTX_CLK的时钟频率是数据传输速率的 ,即 125MHz。
<2>:对于同样的 RX_CLK,它与 TX_CLK具有相同的要求,所不同的是它是
RX_DV, RXD, and RX_ER(信号方向是从 PHY到 RS)的参考时钟,MAC端在时钟的
上升沿采样。RX_CLK是由 PHY 驱动,PHY可能从接收到的数据中提取时钟
RX_CLK,也有可能从一个名义上的参考时钟(., the TX_CLK reference)来驱
动 RX_CLK
<3>:GMII接口的发送时序如图 22所示,接收时序如图 23所示,至于其它信号
的功能特性以及在数据传输过程中,不同信号的逻辑变化所代表的意义,这里不
再描述,大体上和“MII信号功能特性”一节中描述类似,读者可以参阅
-3005的 Spec。
图 22 GMII信号发送时序
图 23 GMII信号接收时序
GMII的管理 MDIO接口:
关于 GMII的管理 MDIO接口,这里也不再描述,它在硬件设计上同 MII的管理 MDIO
接口一节的描述。
Electrical Character
GMII接 口 的 电 气 特 性 可 以 分 为 DC characteristics和 AC
characteristics。
针对于 DC电气特性而言, All GMII drivers and receivers shall
comply with the dc parametric attributes specified in Table 35–7.
The potential applied to the input of a GMII receiver may exceed the
potential of the receiver’ s power supply (., a GMII driver
powered from a V supply driving VOH into a GMII receiver powered
from a V supply). Tolerance for dissimilar GMII driver and
receiver supply potentials is implicit in these specifications.
针对于 AC电气特性而言,The GMII ac electrical characteristics are
specified in a manner that allows the implementor flexibility in
selecting the GMII topologies its devices support and the techniques
used to achieve the specified characteristics.
All GMII devices are required to support point-to-point links.
The electrical length of the circuit board traces used to implement
these links can be long enough to exhibit transmission line effects
and require some form of termination. The implementor is allowed the
flexibility to select the driver output characteristics and the
termination technique and components to be used with its drivers for
point-to-point links. Implementors may elect to support other GMII
topologies in addition to the point-to-point topology and may specify
different termination techniques and components for each supported
topology.
Since the output characteristics and output voltage waveforms of GMII
drivers depend on the termination technique and the location of the
termination components, the ac output characteristics of GMII drivers
are not explicitly specified. Rather, the ac characteristics of the
signal delivered to a GMII receiver are specified. These
characteristics are independent of the topology and termination
technique and apply uniformly to all GMII applications.
RGMII接口分析
RGMII接口信号定义:
RGMII接口(Reduced GMII接口)是简化的 GMII接口。它也分为 MAC模式和 PHY
模式。
RGMII接口的 MAC模式定义:
表 9
RGMII接口的 PHY模式定义:
表 10
由表 9~表 10可知,RGMII接口相对于 GMII接口,在 TXD和 RXD上总共减少了 8
根数据线。
RGMII接口时序特性:
图 24 RGMII接口 TX通道 MAC侧发送特性
虽然 RGMII接口中,信号线减半,同时 GTX_CLK和 RX_CLK还是 125MHz,为了达
到 1000Mbit的传输速率,TXD和 RXD信号线上在时钟的上升沿发送 GMII接口中
的 TXD[3:0]/RXD[3:0],在时钟的下降沿发送 GMII接口中 TXD[7:4]/RXD[7:4],
并且信号 TX_CTL反映了 TX_EN和 TX_ER的状态,即在 GTX_CLK上升沿发送
TX_EN,下降沿发送 TX_ER。同样的道理适用于信号 RX_CTL,它反映了 RX_EN和
RX_ER的状态,即在 RX_CLK上升沿发送 RX_EN,下降沿发送 RX_ER。它们具体的
关系。具体时序特性如图 24~图 25。
图 25 RGMII接口 RX通道 PHY侧发送特性
TBI接口分析
所为 TBI,即 Ten-Bit interface,10位接口(TBI)从千兆媒体独立接口(GMII)
演化而来,它们都是千兆以太网的接口。TBI与 GMII接口的主要区别在于,GMII
接口还包括物理编码子层(PCS)功能,支持 TBI接口的器件通常不包含上述功能,
如图 26中被方框圈起来的部分。选择 TBI还是 GMII接口,主要取决于所采用的
媒体访问控制器(MAC)以及是否具备必需的 PCS 功能,或收发器是否需要这些功
能。
图 26
从图 26可以看出,千兆以太网协议与 10/100Mb/s以太网协议的差别仅仅在
于物理层。图中的 PHY表示实现物理层协议的芯片;协调子层(Reconciliation
sublayer)用于实现指令转换;MII(介质无关接口)/GMII(吉比特介质无关
接口)是物理层芯片与实现上层协议的芯片的接口;MDI(介质相关接口)是物
理层芯片与物理介质的接口;PCS、PMA 和 PMD则分别表示实现物理层协议的各
子层。在实际应用系统中,这些子层的操作细节将全部由 PHY 芯片实现,只需对
MII和 MDI接口进行设计与操作即可。
吉比特以太网的物理层接口标准主要有四种:GMII、RGMII(Reduced GMII)、
TBI(Ten-Bit Interface)和 RTBI(Reduced TBI)。GMII是标准的吉比特以太网接
口,它位于 MAC 层与物理层之间。对于 TBI接口,图 26中 PCS子层的功能将由 MAC
层芯片实现,在降低 PHY芯片复杂度的同时,控制线也比 GMII接口少。RGMII
和 RTBI两种接口使每根数据线上的传输速率加倍,数据线数目减半。
TBI接口信号定义:
关于 TBI接口的信号定义,它和 GMII接口的信号定义比较类似。
TBI接口的 MAC模式定义:
TBI接口 PHY模式定义:
注意在表 11~表 12中,TXD0~TXD9和 RXD0~RXD9并不全是数据线。TXD8对应
TX_ER,作为发送出错标志位;TXD9对应 TX_EN,作为发送使能位;RXD8对应
RX_DV,作为接收数据有效位;RXD9对应 RX_ER,作为接收差错检测位。
TBI接口的时序特性:
关于 TBI接口的时序特性,可以参阅 GMII接口的时序特性,图 22~图 23。只是 TXD8
对应 TX_ER ,TXD9对应 TX_EN,;RXD8对应 RX_DV,RXD9对应 RX_ER。
从硬件角度看,TBI和 GMII接口基本上是一致的。
RTBI接口信号定义:
RTBI接口的 MAC模式定义:
RTBI接口的 PHY模式定义:
RTBI接口的时序特性:
GTX_CLK和 RX_CLK是 125MHz,为了达到 1000Mbit的传输速率,TXD和 RXD信号
线上在时钟的上升沿发送 TBI接口中的 TXD[3:0]/RXD[3:0],在时钟的下降沿发
送 TBI接口中 TXD[8:5]/RXD[8:5],并且信号 TX_CTL反映了 TXD[4]和 TXD[9]的
状态,即在 GTX_CLK上升沿发送 TXD[4],下降沿发送 TXD[9]。同样的道理适用
于信号 RX_CTL,它反映了 RXD[4]和 RXD[9]的状态,即在 RX_CLK上升沿发送
RXD[4],下降沿发送 RXD[9]。它们具体的关系。具体时序特性如图 27~图 28。
图 27 RTBI接口 TX通道 MAC侧发送特性
图 28 RGMII接口 RX通道 PHY侧发送特性
第八章 IEEE1394接口和通用可编程接口 GPIOGPIO
IEEE1394概述
IEEE1394最初由 Apple公司提出的高速串行 总线“FIRE W IRE” (称为“火
线 ” 技术 ) ,并在 1995 年由 IEEE (电气与电子工程师协会 )正式制定为总
线标准 ,认可为 IEEE139421995规范 ,即 IEEE1394 是一项具有视频数据传输
速度的外部串行接口标 准 [1 ] 。它定义了数据的传输协定及连接系统 ,可用
较低的成本达到较高的性能 ,以增强电脑与外设 , 如硬盘、 打印机、 扫描仪
与消费性电子产品如数码 相机、 DVD播放机、 视频电话等的连接能力。新的
IEEE1394 是一种针对高性能串行总线的 IEEE设计 ,此标准的修订已发布(即
IEEE 1394a2 2000)。IEEE 1394b标准将把 IEEE 1394的速度提高到 800、 1
600和 3 200 Mb/ s,同时提供新的连接 选择。例如 ,塑料光纤 (POF)、 玻璃
光纤 (GOF) 和 UTP25。此串行总线由背板 (例如 ,VME和 FB + )、 物理层和
点对点用电缆相连的虚拟总线组成。背 板版本数据速率为 12 . 5、 25 或 50
Mb/ s,而电缆版 本 (基于当前标准支持的电缆介质 )支持的数据速 率为 200、
400、 800 和 1 600 Mb/ s。两个版本在链 路层和更高层上都完全兼容 ,接口
标准定义了传输 方法、 介质和协议。 电缆版本的应用有使用低成本、 可扩
展、 高速 串行接口的个人计算机、 外设和消费类电子产品 I/O连接的集成。
IEEE 1394 标准提供了一些服务 (如实时 I/O) ,并为下列设备提供了实时连接
/中断 功能 : 存储器 ( HDD、CD2ROM、CDRW、MO、ZIP、 RA ID、 SAN 等等 )、
打印机、 扫描仪、 数码相机、 机顶 盒、 HDTV 和便携式摄像机。
IEEE 1394总线的主要技术特征
EEE 1394总线继承了成熟的 SCSI指令体系,因此传输的稳定度和效率都相当地
高。和 相比,对于 cpu的负担也较低;虽然 IEEE 1394A的帐面上的最高
值低于 ,但是实际上的传输速度胜过 。因此被使用在各种需要高
速稳定传输数据的接口上。因为商目标关系同时有着 FireWire、、DV端
子等多种名字。
FireWire原本是苹果公司开发时的代称,在 2002年 5月 29日,当时的苹果电
脑正式于 IEEE 1394的推广团体“1394 Trade Association”发表,将属于苹果
的商标“FireWire”作为 IEEE 1394的统一品牌;另外 sony则是在苹果将
FireWire作为统一的品牌之前,就在自己公司的数字影音、相机产品上搭载了
IEEE 1394接口,并且命名为“”,并且注册为其商标。
它的主要技术表现在数据传输方式、 数据传输速率、 拓扑结构和通信协议等
方面。
IEEE 1394的数据传输方式
IEEE 1394可同时提供同步 (Synchronous)和异 步 (Asynchronous)数据传输
方式。同步传输应用于 实时性的任务 ,而异步传输则是将数据传送到特定 的
地址 (ExplicitAddress)。这一标准的协议称为等时同步 ( Isosynchronous)。
使用这一协议的设备可 以从 IEEE 1394连接中获得必要的带宽。其余的带
宽 ,可以用于异步数据传输 ,异步数据传输过程并 不保留同步传输所需的带宽。
这种处理方式使得 两种传输方式各得其所 ,可以在同一传输介质上可 靠地传
输音频、 视频和计算机数据。它对计算机内 部总线没有影响 [3 ] 。目前的
PCI局部总线可以充 分利用 IEEE 1394。
IEEE 1394的数据传输速率
IEEE 1394标准定义了两种总线数据传输模 式 ,即 : Backplane模式和
Cable模式。Backplane模 式最小传输速率也比 USB1 . 1最高速率高 ,分别为
12 . 5 Mb/ s、 25 Mb/ s、 50 Mb/ s,可以用于多数高带 宽。Cable模式是速
度非常快的模式 ,分为 100 Mb/ s、 200 Mb/ s和 400 Mb/ s几种 ,在 200
Mb/ s下可以 传输不经压缩的高质量数据电影。目前正在开发 1 G的版本。在
400Mb/ s时 ,只要利用 50%的带宽就 可以支持不经压缩的高质量数字化视频
信息流。
IEEE 1394拓扑结构
IEEE 1394标准是一种基于事务的数据包技 术 ,用于基于电缆或背板的环境。
IEEE 1394 串行 总线的组织方式就如设备之间互连的存储器空间 , 或者就如
插在主背板插槽中的一个个设备。设备 寻址宽度是 64位 ,给网络 ID划出 10
位 ,给节点 ID 划出 6 位 ,给存储器地址划出 48 位。这样就产生 对 63个节
点的 1 023个网络寻址的能力 ,每个网络 的存储器容量是 281 万亿字节。基
于内存的寻址 (而不是基于通道的寻址 )查看可通过处理器至存 储器事务访问
的资源 ,如寄存器和存储器。每个总 线实体看作一个“节点 ” 来单独寻址、
复位和识别。 多个节点可在一个模块上 ,而多个端口可在一个节 点上。 IEEE
1394拓扑的一些重要功能有多主控制器 功能、 实时连接 /中断 (热拔插 )功
能、 互连电缆上的 不分供应商电缆连接接头和动态节点地址分配 ,如 将节点
添加至串行链。另一个功能是传送速度对 于 IEEE 1394a - 2000 可从大约
100 Mb/ s扩展到 400 Mb/ s,对于 IEEE 1394 b可以高达 1 600 Mb/ s。每个
节点还充当一个转发器 ,从而允许将这些 节点链接在一起组成树拓扑。由于
IEEE 1394的速 度很高 ,所以每个节点或中继段不应超过 4 . 5 m,而 链中最
多可以有 16个中继段 ,因此 ,端到端的最远 总距离是 72 m。每个节点之间的
电缆距离主要受 信号衰减限制。282gauge信号对的廉价电缆最长可 达 0 . 5
m。散布最远的两个节点之间的电缆中继段 不能超过 16个。因此 ,可提供 72
m到 224 m的端 到端距离。 在电缆和背板环境中传送的信息是采用数据 选通
(DZ) 编码的 NRZ。DS编码只允许两个信号 线中的一个更改每个数据位周期 ,
基本上可使抖动 容差加倍 ,而在硬件方面增加的电路开销却很小。 IEEE
1394b技术将使用 8B10B 编码。
IEEE 1394的协议
IEEE1394它具有三层协议层,分别为事物层、物理层、链路数据层。其中事
物层只支持异步传输,同步传输是由链路层提供。 异步格式将数据和事件层信
息传输至显式地址。 等时格式依靠通道数而不是特定寻址方式传输数据。等时
数据包以平均每 125μs一次的间隔发出 , 以便支持时间敏感的应用。在同一
个接口上提供 异步格式和同步格式允许非实时重要应用 (如打印 机和扫描仪 )
和实时重要应用 (如视频和音频 )在同 一个总线上运行。 树形拓扑在每次添
加新节点或从网络删除节 点时触发的一系列事件期间解析。这一系列事件 从
总线复位阶段开始 ,而有关拓扑的所有先前信息 都会被清除掉。树 ID 序列确
定实际树结构。在树 I D处理过程中 ,为每个节点分配一个地址 ,而根节 点
是动态分配的 ,也可以强制特定节点成为根节 点。组成了树之后 ,自 ID 阶段
允许网络中的每个 节点向所有其它节点标识自身。在每个节点上收 集了所有
信息之后 ,总线进入空闲状态 ,等待开始 标准仲裁过程。 另外一个特性是事
务能以不同的速度在同一个 设备媒介上出现 (例如 ,一些设备可以 100Mb/ s
的速 度通信 ,而另一些设备以 200Mb/ s和 400Mb/ s的速 度通信 )。在单个
IEEE 1394串行总线上使用多速 度事件需要考虑每个节点的最大容量 ,这样在
设计连接时才能确保两个较高速度的节点之间路径不 会被低速率的设备阻塞
IEEE1394总线技术应用特点
IEEE1394总线技术具有以下应用特点 : (1)安装方便且容易使用。支持热插
拔 ,即插 即用 ,无需设置设备 ID号 ,不必关机即可随时动态 配置外部设备 ,
增加或拆除外设后 IEEE 1394会自 动调整拓扑结构 , 重设整个外设网络状态。
从 W in98 SE以上版本的操作系统开始内置 IEEE 1394 支持核心 [4 ] ,在这
些操作系统中用户不用再安装驱 动程序 ,也能使用 IEEE1394设备。 (2)数据
传输速度快。 IEEE1394总线是一种 目前为止最快的高速串行总线。目前有两
个版本 , 即通常所使用的 IEEE1394a和发展中的、 更高速的 IEEE1394b。
IEEE1394a 高达 400 Mb/ s, 后 续 的 IEEE1394b标准可将速度提升到 800
Mb/ s、 1 . 6 Gb/ s甚至 3 . 2 Gb/ s。 IEEE1394接口不需要控制器 , 具有
等时间的传送功能 ,能确保视听 AV设备重播 声音和图像数据质量 ,具有好的
重播效果。 (3) 能够向被连接的设备提供电源。 IEEE 1394的连接电缆
(Cable)中共有六条芯线。其中两 条线为电源线 ,可向被连接的设备提供电源 ;
其他 四条线被包装成两对双绞线 ,用来传输信号。电源 的电压范围是 (8 -
40) V直流电压 ,最大电流 1 . 5 A。像数码相机之类的一些低功耗设备可以从
总线 电缆内部取得动力 ,而不必为每一台设备配置独立 的供电系统。由于
1394能够向设备提供电源 ,即使 设备断电或者出现故障也不影响整个网络的
运转。 (4)真正点对点连接 (peer2to2peer)。设备间不分 主从 ,任何两个支持
IEEE 1394的设备可以直接 连接 ,不需要通过电脑控制。例如 ,在电脑关闭的
情况下 ,仍可以将 DVD播放机与数字电视机连接而 直接播放光盘节目。 (5)
IEEE 1394接口具有把一个输入信息源传 来的数据向多个输出机器广播的功
能 ,特别适用于 家庭视听 AV (AUD IO2V ISUAL)的连接。对于各种需要大量带
宽的设备提供了专门的优化 ,火线是目 前唯一支持数字摄录机的总线。 (6)
采用“级联 ”方式连接各个外部设备。 IEEE 1394在一个端口上最多可以连接
63个设备 , 设备间采用树形或菊花链结构。设备间电缆的最 大长度是 4 . 5
m,采用树形结构时可达 16层 ,从主 机到末端外设总长可达 72 m。 (7)
IEEE1394既可作为外部总线 ,又可成为内 部总线使用 ,不过由于已经有了
PCI这样历史悠久 的总线存在 ,而且现在 PCI正向 64位过渡 ,各厂商 并不
愿意做总线上的调整改动 , 所以市面上的 IEEE1394是作为外部总线连接外设
使用的。
IEEE1394接口的物理特质
IEEE1394是串行的数字接口,也许有人会认为为什么不采用像 IDE或 PCI这
样的并行总线呢?因为更多的导线将提供更大的带宽。其实,并行端口非常复杂,
相对于串行总线来说需要更多的软件控制,而且系统开销也很大。因此,并行接
口不一定能够提供更快的传输速率。此外,价格也是一方面的因素。更多的控制
软件和连接导线都会增加技术的实现成本。而且并行导线容易产生信号干扰,解
决这一问题同样也需要增加费用。相对于并行总线,串行总线的另外一个优势就
是节省空间。串联线体积更小,使用更加方便。
IEEE1394接口有 6针和 4针两种类型。6角形的接口为 6针,小型四角形接
口则为 4针。最早苹果公司开发的 IEEE1394接口是 6针的,后来,SONY公司看
中了它数据传输速率快的特点,将早期的 6针接口进行改良,重新设计成为现在
大家所常见的 4针接口,并且命名为 iLINK。这种连接器如果要与标准的 6导线
线缆连接的话,需要使用转换器。
两种接口的区别在于能否通过连线向所连接的设备供电。6针接口中有 4针
是用于传输数据的信号线,另外 2针是向所连接的设备供电的电源线。由于 1394
是一串行总线,数据从一台设备传至另一台时,若某一设备电源突然关断或出现
故障,将破坏整个数据通路。电缆中传送电源将使每台设备的连接器电路工作,
采用一对线传送电源的设计,不管设备状态如何,其传送信号的连续性都能得到
保证,这对串行信号是非常重要的。而对于低电源设备,电缆中传送电源可以满
足所有的电源需求,因而无需配备外接电源连接器。这就是传送电源的优点。
传送电源的两根线,它们之间的电压一般为 8~40V,最大电流 ,供应物理
层电源。为提供电隔离,常使用变压器或电容耦合。变压器耦合提供 500V电压,
成本低;电容耦合提供 60V电位差隔离。
当然,并不是所有的情况都要传送电源。以 Sony公司为代表推出的数字摄录一
体机中就采用第二种接口设计,所使用的电缆比第一种更细。接口为 4芯,即只
有双绞线,不含有电源。4针接口由于省去了 2根电源线,因此只剩 4根信号线。
在应用方面,一般来讲,受配置接口的空间等因素的限制,6针的接口,主要用
于普通的台式电脑。时下很多主板都整合了这种接口,特别是 Apple电脑,统统
采用的这种接口;在笔记本电脑和一体机等电脑中则大多采用 4针。另外,在数
码摄像机等产品和家电中,采用 4针的情况也比较常见。4针接口从外观上就显
得要比 6针的小很多,与 6针的接口相比,4针的接口没有提供电源引脚,所以
无法供电,但优势也很明显:就是小!特别是近一段时间,笔记本电脑和 DV都
在朝着小型化和超薄化发展,像 SONY近期上市的 IP系列数码摄像机,机身小巧,
整合度高,在这样的机器上如果采用 6针的接口,则显得非常笨拙。另外,DV
的 1394接口主要用于传输影像数据,所以也无需供电。但是如果您是添加外置
硬盘,6针的 1394端子就非常必要了,首先是外置硬盘体积比较宽大,所以也
就不计较接口大小。其次,外置硬盘运行时需要供电,并且需要有非常高速的传
输速率,此时带供电的 6针 1394接口就非常必要了。在这方面,Apple的 iPOD
就比较有代表性,其一方面通过 1394接口传输文件,另一方面其也通过 FireWire
线缆进行自动充电。虽然 IEEE-1394可以通过串联线为接驳设备供电,但是对于
各种连接设备来说只靠连接线供电还是远远不够的。例如,像硬盘这种对于电量
要求较高的设备就很难从所接入的设备中得到充足的电力供应。以 Evergreen推
出的 HotDrive为例,该硬盘如果与 PC连接的话,不需要任何的外部电源供应;
但是如果与笔记本电脑连接的话,就需要使用一个外接电源。纵上所述,这两种
IEEE1394接口可谓是各有千秋,所以也无法说谁比谁更好。不过说到这里,还
要告诉大家一个小问题,目前市面上不仅有四针对四针、六针对六针的传输线缆,
也有六针转四针的传输线缆。但是由于 IEEE1394接口的传输速率很快,以致其
连接线缆对屏蔽性的要求非常高,所以市面上见到的 IEEE1394线都不长,大概
最长的也就是 3米多一些。
IEEE1394的版本
2000
IEEE 1394a-2000(FireWire 400)和 IEEE 1394-1995几乎相同,改良数个地方
之后制定的新规格。为了和后述的 IEEE 1394b分别,因此称为“FireWire
400”。在工业上使用的时候,有时就单纯称呼为“.a”。
2002
IEEE 1394b-2002(FireWire 800)即是理论最高速为 800Mbps的高速规格,兼
容于 IEEE 1394a,但是接头的形状从 IEEE 1394a的 6 Pin变成 9 Pin,因此需
要经由转接线连接。在工业上使用的时候,有时就单纯称呼为“.b”。
2006
FireWire S800T公布于 2007年 6月 8日,提供了一个重大的技术改进,新的接
头规格和 RJ45相同,并使用 CAT-5(5类双绞线)和相同的自动协议,可以使用
相同的端口来连接任何 IEEE 1394设备或 IEEE (1000BASE-T以太网双绞
线)的设备。
虽然听起来相当地有魅力,但是直到 2008年 10月为止,市面上尚无任何产品或
是芯片,包含这种能力。
和
IEEE 1394的推广团体 1394 Trade Association,在 2007年 12月宣布,将可以
在 2008年底使用新的扩张规格 S1600(理论值达到 Gbit/s)和 S3200模式
(理论值达 Gbit/s)。这个扩张规格使用 FireWire800,使用的 9 Pin接头和
缆线,而且将会完全兼容于 FireWire 400和 FireWire 800的设备。这是为了迎
战 USB 规格所作的准备。
IEEE 1394总线的应用
IEEE1394作为一个工业标准的高速串行总线,已广泛应用于数字摄像机、数
字照相机、电视机顶盒、家庭游戏机、计算机及其外围设备。更新一代的产品如
DVD、硬盘录像机等也将使用 IEEE1394。其在数字视音频消费市场的广泛应用,
为家用市场甚至专业市场开辟了全数字化拍摄到制作环境。IEEE1394接口已经
在一些厂家的摄录机中使用,如 Sony 推出的 DVCAM系列摄录设备,松下公司推
出的 DVCPRO25系列设备。其它厂家也相应推出各自的摄像机产品,将 1394接口
的应用推向新的高度。
飞机
IEEE 1394b使用在军用飞机上,被当做 F22猛禽战机上的总线,同时也使用在 F35
上。NASA的航天飞机。也用它来监视可能在降落时撞击到的碎片(泡沫、冰块)。
DV
所有的数码摄影机都有一个"火线"的接口,但消费品牌已经转向 用
当做它的商标。许多数码摄影机都有一个"DV-输入"的"火线"连接器(通
常都是 6-pin的),可以直接连接数码摄影机来记录影片(不需使用电脑)。这个
传输协定允许被遥控,如播放,倒转等等。
IEEE1394总线技术应用的缺点
IEEE1394的缺点主要表现于 : (1)应用少。现在支持 IEEE1394的设备还不
是太多 ,只有一些数码相机与 MP3等使用高带宽的 设备使用 IEEE1394。其他
的设备其实也用不了那 么高的带宽。 (2) IEEE1394总线需要占用大量的资
源 ,所以 需要高速度的 CPU[4 ] 。 (3) 前置 IEEE1394接口少。随着数码家
电产 品的普及 ,横跨 PC及家电产品平台的 IEEE1394接 口的使用也越来越多。
前置 IEEE1394接口为越来 越多的 IEEE1394外部设备提供了很好的易用性。
例如 IEEE1394高速外置式硬盘、 数码相机、 摄影机 等等。但是在目前 ,
IEEE1394接口在 PC平台上的 普及程度还远远不及 USB 接口 ,因此 ,具有前
置 IEEE1394接口的机箱产品现在也并不是太多。
USB与 IEEE1394接口的比较
两者的传输速率不同。过去,很多人都会选用 IEEE1394作传输文件用,因
为其流量比 版本快百倍。USB的传输速率现在只有 12Mbps/s,只能连接
键盘、鼠标与麦克风等低速设备,而 IEEE1394可以使用 400Mbap/s,可以用来
连接数码相机、扫描仪和信息家电等需要高速率的设备。而后来,推出了
,虽然有所赶上 IEEE1394,但是火线的流量还可以增加至 1G。
两者的结构不同。USB在连接时必须至少有一台电脑,并且必须需要 HUB来实现
互连,整个网络中最多可连接 127台设备。IEEE1394并不需要电脑来控制所有
设备,也不需要 HUB,IEEE1394可以用网桥连接多个 IEEE1394网络,也就是说
在用 IEEE1394实现了 63台 IEEE1394设备之后也可以用网桥将其他的 IEEE1394
网络连接起来,达到无限制连接。
两者的智能化不同。IEEE1394网络可以在其设备进行增减时自动重设网络。USB
是以 HUB来判断连接设备的增减了。两者的应用程度不同。现在 USB已经被广泛
应用于各个方面,几乎每台 PC主板都设置了 USB接口,也会进一步加大 USB
应用的范围。IEEE1394现在只被应用于音频、视频等多媒体方面。
GPIO接口简介
General Purpose Input Output,即通用可编程输入输出接口,简称为
GPIO。
在嵌入式系统中,常常有很多结构比较简单的外部设备/电路,对于这些设
备/电路来说,有的需要 CPU为之提供控制手段,有的则需要被 CPU用作输入信
号。而且,许多这样的设备/电路只要求一位,也就是说,只要有开/关两种状态
就够了,比如电灯的亮与灭。在实现这些控制时,使用传统的串行口或并行口都
不合适。所以在微控制器芯片上一般都会提供"通用可编程输入输出接口",即
GPIO。有无 GPIO接口也是微控制器区别于微处理器的重要特征之一。
所以,GPIO通常作为一种常见的接口,可为用户提供方便的输入输出操作。
例如,当使用输出功能时,可以分别将输入置高或置低。当使用输入功能时,可
以方便地读出外部输入的高低电平。而所有的配置均可通过寄存器的配置方便地
实现。
GPIO接口至少有两种寄存器:"通用 IO控制寄存器"与"通用 IO数据寄存器
"。控制寄存器用来控制 GPIO接口的信号方向,用来决定当前接口处于输出状态
还是输入状态。数据寄存器中的每一位都对应着一个 GPIO引脚的状态。当接口
为输出状态时,可以通过数据寄存器的写入来控制接口输出电平;当接口为输入
状态时,可以通过数据寄存器读入当前接口的电平状态。
GPIO的使用非常广泛。用户可以通过 GPIO接口与硬件进行数据交互、控制
硬件(如 LED、蜂鸣器等)工作、读取硬件的工作状态信号(如中断信号)等。一些
协议相对简单的低速总线(如 I2C、SPI总线等),也可以通过软件控制一组 GPIO
接口,从而模拟总线协议的通信。因此,GPIO接口是嵌入式系统中应用最广泛
和最灵活的接口之一。
GPIO接口的定义
在 EG20T架构下,系统共提供了26路 GPIO接口资源。其中,Intel Atom
Processor E6xx芯片提供了14路 GPIO接口,这些接口大多已经在系统中使用。
例如,GPIO-5被用于系统软开关的控制。
因此,真正能够被用于进行二次开发的 GPIO接口主要是12路由 EG20T芯片
提供的接口。实验箱中的 JGP接口将其中的8路 GPIO进行引出。JGP在实验箱中
的位置如图4-1所示。
JGP接口中共有10个引脚,其中8个为 GPIO口(),1个为 VCC(5V),1个
为 GND。其中接口的具体定义见表4-1。
表4-1 JGP接口的引脚定义
信 号 名 称 引 脚 编 号 信 号 名 称
GPIO
248
1 2 VCC
GPIO 3 4 GPIO
249 252
GPIO
250
5 6 GPIO
253
GPIO
251
7 8 GPIO
254
GND 9 1
0
GPIO
255
GPIO应用开发方法
在 Linux的应用层程序中,可以使用系统中的 GPIOLIB模块在用户空间提供
的 sysfs接口,实现应用层对 GPIO的独立控制。本节介绍的 GPIO的这种操作方
式是在 Linux 内核之后引入的一种 GPIOLIB的管理机制,GPIOLIB提供了
很好的用户接口封装,为用户提供了一个动态导出的接口。
在实验箱中运行的 Linux系统的/sys/class/gpio目录下,共有5个文件,其
中有3个文件为符号链接(gpiochip0、gpiochip5、gpiochip244),指向管理对应
设备的目录。这3个符号链接分别对应实验箱中能够分别控制对应 GPIO的3个管
理芯片。上一节中涉及的 GPIO都是从与 gpiochip244对应的芯片中引出的。因
此,本节主要讨论 gpiochip244对应芯片的 GPIO管理,但是此处介绍的操作方
法同样也适用于 gpiochip0和 gpiochip5。
在/sys/class/gpio/gpiochip244目录下,共有3个文件和3个文件夹,主要
作用见表4-2。
表4-2 gphichip244目录下文件的作用
文 件 名 类
型
属
性
作 用
label 文件 只读 设备信息
base 文件 只读 设备所管理的 GPIO初
始编号
ngpio 文件 只读 设备所管理的 GPIO总
数
power 目录 设备供电方面的相关信
息
subsyst
em
目录 符号链接,指向父目录
uevent 文件 读写
内核与 udev(自动设备
发现程序)之间的通信
接口
在这个目录下,base和 ngpio这两个文件为开发人员提供了重要的信息。
在 gpiochip244目录下,base文件中的内容为"244"(字符串类型),ngpio文件
中的内容为"12"。这两条信息说明,该外设管理了编号从244到255的12个 GPIO
接口。在实验箱中只有编号在248到255之间的8个 GPIO被引出。
对其中某个 GPIO接口的控制主要需要进行如下包含3个步骤的操作:
(1) 导出 GPIO接口
在 /sys/class/gpio目录中有两个只具有写属性的文件: export和
unexport。通过对这两个文件进行操作可以实现对 GPIO接口的导出。
下面举例说明,为了对255号 GPIO接口进行导出,可以在终端中通过下面的
操作来完成:
1 cd /sys/class/gpio //进入相应的目录
2 echo 255 > export //将"255"(字符串类型)写入文件 export
将"255"写入 export文件后,系统会自动在/sys/class/gpio下创建 gpio255
目录。这说明对编号为255的 GPIO接口导出成功。
(2) 设置 GPIO属性
在 gpio255目录下,系统会自动产生6个文件。其中,power、subsystem和
uevent这3个文件的功能与表4-2中描述的功能相同。
其他的3个文件--value、direction和 active_low都具有读写属性,用于完
成对 GPIO接口的控制。
value:具有读写属性,表示当前 GPIO接口的电平状态。当 GPIO的方向为
输入时,可以通过value读出当前GPIO接口的电平状态高低("1"/"0",均以ASCII
码表示);当 GPIO方向为输出时,可以向该文件写入"1"/"0",控制当前 GPIO接
口的高/低电平。
direction:具有读写属性,控制 GPIO 接口的输入输出方向。如果将"out"
写入该文件,该 GPIO接口为输出状态;如果将"in"写入该文件,该 GPIO接口为
输入状态;如果将"high"写入该文件,那么在将 GPIO接口置为输出状态的同时,
也将 value的值置为"1";如果将"low"写入 value文件,那么在将 GPIO接口置
为输出状态的同时,将"0"写入 value文件。通过对 direction文件的读操作还
可以判断当前 GPIO接口的输入/输出状态("in"/"out")。
active_low:具有读写属性,值为"0"或"1",用于决定 value中的值是否进
行翻转。当值为"0"时,value中的"0"表示低电平,"1"表示高电平;当值为"1"
时,value中的"1"表示低电平,"0"表示高电平。
(3) GPIO接口导出的取消
将取消导出的 GPIO编号写入文件 unexport中,对应的 GPIO接口将会被取
消导出。相对的,在文件系统中创建的目录也会消失。
例如,取消255号 GPIO接口的导出:
3 echo 255 > unexport //将"255"(字符串类型)写入文件 unexport
GPIO接口开发实例
下面通过实例来说明GPIO接口的使用方法。创建如下应用程序,使255号GPIO
接口产生周期为两秒的方波输出:
4 #include <>
5 #include <sys/>
6 #include <sys/>
7 #include <>
8 int main (void)
9 {
10 int i;
11 //导出255号 GPIO接口
12 int fd = open("/sys/class/gpio/export", O_RDWR);
13 if (fd < 0) {
14 printf("Open file /sys/class/gpio/export failed!\n");
15 return -1;
16 }
17 write(fd, "255", 3);
18 close(fd);
19 //将 GPIO接口方向设置为输出
20 fd = open("/sys/class/gpio/gpio255/direction", O_RDWR);
21 if (fd < 0) {
22 printf("Open file /sys/class/gpio/gpio255/direction
failed!\n");
23 return -1;
24 }
25 write(fd, "out", 3);
26 close(fd);
27 //输出100个周期的方波
28 fd = open("/sys/class/gpio/gpio255/value", O_RDWR);
29 if (fd < 0) {
30 printf("Open file /sys/class/gpio/gpio255/value
failed!\n");
31 return -1;
32 }
33 for (i=0; i<200; i++) {
34 if (i%2)
35 write(fd, "1", 1);
36 else
37 write(fd, "0", 1);
38 sleep(1);
39 }
40 close(fd);
41 //取消255号 GPIO接口的导出
42 fd = open("/sys/class/gpio/unexport", O_RDWR);
43 if (fd < 0) {
44 printf("Open file /sys/class/gpio/unexport failed!\n");
45 return -1;
46 }
47 write(fd, "255", 3);
48 close(fd);
49 return 0;
50 }
结束语
通过详细了解各种通信接口的类型、发展、应用特点,掌握了通信中常用
的接口的基本概念,本文中较为广泛的涉及到了 RS-232接口(串口 UART)、USB
接口(通用串行总线接口)、IrDA(Infra Red Data Association-红外线接
口)、SPI(串行外围设备接口)、I2C、CAN总线接口、蓝牙接口(Bluetooth)、
WiFi、Ethernet(以太网接口)、IEEE1394接口和通用可编程接口 GPIO,在
平时的学习中,接触到的计算机间的通信也更好的帮我们理解一些基本应用,
对于以后从事此方面的学习有很好的铺垫作用。
附录 内容分工
何艳红 第一章、第二章
郭阳 第三章、第四章
崔彬 第五章
张景迪 第六章
杨素利 第七章
艾娟 第八章