以太网接口基本原理
IEEE802标准
局域网标准协议工作在物理层和数据链路层,其将数据链路层又划分为两层,从下到上分别为介质访问控制子层(不同的MAC子层,与具体接入的传输介质相关),逻辑链路控制子层(统一的LLC子层,为上层提供统一的服务)。
IEEE802标准包含很多子标准,主要掌握三种:
(1)IEEE802.1A:局域网体系结构,并定义接口原语。
(2)IEEE802.3:描述CSMA/CD介质接入控制方法和物理层技术规范。
(3)IEEE802.11:描述无线局域网标准。
曼彻斯特编码
曼彻斯特编码:在数字信号的每一个bit位中,都会产生一次极性跳变,且数字信号0和1的极性跳变是相反的,即数字信号0会从负极跳变到正极(或从正极跳变到负极),数字信号1会从正极跳变到负极(或从负极跳变到正极),因此,仅有该编码不能唯一确定一串数字信号。适用于早期的10M局域网。
差分曼彻斯特编码:不是根据一个二进制位来判断的,而是根据两个二进制位之间的电平变化来判断,数字信号0的前沿极性与之前的相反,1的前沿极性与之前的相同。适用于令牌网。
曼彻斯特编码和常规编码如下图所示。
以太网帧格式
以太网帧格式如下图所示。
其中,PR是前同步码,用于收发双方的时钟同步;SD是帧开始定界符,表示接下来的是帧数据;DA和SA分别是目的MAC地址和源MAC地址;TYPE是类型,表示IP数据报的类型,如IP包、ARP包等;DATA是数据域,封装的是上层的完整数据报,大小在46~1500B;PAD是填充位,保证最小帧长;FCS是32位的CRC校验位。
注意,PR和SD字段是物理层封装的头,不属于以太网帧,规定的以太网帧长范围是60~1514B,这是因为没有加上最后的FCS校验位。
CAN总线接口基本原理
CAN总线特点
控制器局域网(ControllerAreaNetwork,CAN)总线是国际上应用最广泛的现场总线之一。最初,CAN总线被汽车环境中的微控制器通信,在车载各电子控制装置之间交换信息,形成汽车电子控制网络。它是一种现场总线,能有效支持分布式控制和实时控制的串行通信网络。
CAN总线是一种多主方式的串行通信总线。一个由CAN总线构成的单一网络中,理想情况下可以挂接任意多个结点,实际应用中结点数目受网络硬件的电气特性所限制。例如:当使用PhilipsP82C250作为CAN收发器时,同一网络中允许挂接110个结点。
CAN总线具有很高的实时性能,已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。CAN总线能够使用多种物理介质进行传输,例如双绞线、光纤等。最常用的就是双绞线。
总线信号使用差分电压传送,两条信号线被称为CAN_H和CAN_L,静态时均是2.5V左右,此时状态表示为逻辑1,也可以叫做“隐性”。
用CAN_H比CAN_L高表示逻辑0,称为“显性”。此时,通常电压值为CAN_H=3.5V和CAN_L=1.5V。
当“显性”位和“隐性”位同时发送的时候,最后总线数值将为“显性”。正是这种特性为CAN总线的仲裁奠定了基础。
位时间
CAN总线的一个位时间可以分成四个部分:同步段,传播时间段,相位缓冲段1和相位缓冲段2。
每段的时间份额的数目都是可以通过CAN总线控制器编程控制,而时间份额的大小t由系统时钟tys和波特率预分频值BRP决定:tq=BRP/tys。下图说明了CAN总线的一个位时间的各个组成部分。
同步段:用于同步总线上的各个结点,在此段内期望有一个跳变沿出现(其长度固定)。如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。采样点位于相位缓冲段1的末尾和相位缓冲段2开始处。
传播时间段:用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。因此,要实现与位流发送结点的同步,接收结点必须移相。CAN总线非破坏性仲裁规定,发送位流的总线结点必须能够收到同步于位流的CAN总线结点发送的显性位。
相位缓冲段1:重同步时可以暂时延长。
相位缓冲段2:重同步时可以暂时缩短。
上述几个部分的设定和CAN总线的同步、仲裁等信息有关。其主要思想是要求各个结点在一定误差范围内保持同步。必须考虑各个结点时钟(振荡器)的误差和总线的长度带来的延迟(通常每米延迟为5.5ns)。正确设置CAN总线各个时间段,是保证CAN总线良好工作的关键。
在嵌入式处理器上扩展CAN总线接口
一些面向工业控制的处理器,本身就集成了一个或者多个CAN总线控制器。CAN总线控制器主要是完成时序逻辑转换等工作,要在电气特性上满足CAN总线标准,还需要一个CAN总线的物理层转换芯片。用它来实现TTL电平到CAN总线电平特性的转换,这就是CAN收发器。
实际上,多数嵌入式处理器都不带CAN总线控制器。在嵌入式处理器的外部总线上扩展CAN总线接口芯片是通用的解决方案。常用的CAN总线接口芯片主要有:Phillips公司的SJA1000和Microchip公司的MCP251x系列(MCP2510和MCP2515)。
SJA1000的总线采用的是地址线和数据线复用的方式,多数嵌入式处理器采用SJA1000扩展CAN总线较为复杂。
MCP2510的CAN总线控制器特点有:支持标准格式和扩展格式的CAN数据帧结构(CAN2.0B);0~8字节的有效数据长度,支持远程帧;最大1Mb/s的可编程波特率;两个支持过滤器(Filter、Mask)的接收缓冲区,三个发送缓冲区;支持回环(LoopBack)模式,便于测试;SPI高速串行总线,最大5MHz;3V到5.5V供电。
大多数嵌入式处理器都有SPI总线控制器,可以直接和MCP251x连接,如下图所示。
MCP2510可以3V到5.5V供电,因此能够直接和3.3VI/O口的嵌入式处理器连接。这里,使用MCP2510在三星公司的S3C44BOX处理器上扩展CAN总线接口。其电路图如下图所示。
在这个电路中,MCP2510使用3.3V电压供电。它可以直接和S3C44BOX通过SPI总线连接。
相关的资源如下:
(1)使用一个扩展的I/O口(EXIO2)作为片选信号,低电平有效。
(2)用S3C44B0X的外部中断6(EXINT6)作为中断管脚,低电平有效。
(3)16MHz晶体作为输入时钟,MCP2510内部有振荡电路,用晶体可以直接起振。(4)使用TJA1050作为CAN总线收发器。
无线以太网基本原理
无线局域网标准
无物理传输介质相比较于有线局域网,其优点有:移动性、灵活性、成本低、容易扩充;其缺点有:速度和质量略低,安全性低。
WLAN标准见下表
两种无线网络拓扑结构
基础设施网络:即Infrastructure结构,通过接入点AP接入,AP是组建小型无线局域网时最常用的设备。AP相当于一个连接有线网和无线网的桥梁,工作在数据链路层。其主要作用是将各个无线网络客户端连接到一起,然后将无线网络接入以太网。
特殊网络(对等网络):即Ad-hoc结构,是一种点对点的连接,不需要有线网络和接入点的支持,终端设备之间通过无线网卡直接通信,结点之间对等,每个结点既是主机,又是路由器,形成网络。所有无线终端必须使用相同的工作组名、ESSID和密码。
三种WLAN通信技术
红外线:定向光束红外线、全方向广播红外线、漫反射红外线。
扩展频谱:将信号散布到更宽的带宽上以减少发生阻塞和干扰的机会,包括频率跳动扩频FHSS、直接序列扩频DSSS。
窄带微波:申请许可证的窄带RF、免许可证的窄带RF。
蓝牙接口基本原理
蓝牙技术原理
蓝牙技术是一种用于各种固定于移动数字化硬件设备之间的低成本、近距离无线通信连接技术。其目的是使特定的移动电话、便携式电脑以及各种便携通信设备的主机之间在近距离内实现无缝的资源共享。
蓝牙技术的实质是要建立通用的无线电空中接口及其控制软件的公开标准:工作频段为全球通用的2.4GHzISM(即工业、科学、医学)频段;数据传输速率为1Mb/s,采用时分双工方案来实现全双工传输;理想的连接范围为10cm~10m。
蓝牙基带协议是电路交换与分组交换的结合。可以进行异步数据通信,可以支持多达三个同时进行的同步话音信道,还可以用一个信道同时传送异步数据和同步话音。每个话音信道支持64kb/s,同步话音链路。异步信道可以支持一端最大速率为721kb/s,而另一端速率为57.6kb/s的不对称连接,也可以支持43.2kb/s的对称连接。
蓝牙技术的特点
传输距离短:工作距离在10m以内。
采用调频扩频技术FHSS:将2.4GHz~2.4835GHz之间划分出79个频点,调频速率为每秒1600次,数据包短,更高的安全性和抗干扰能力。
采用时分复用多路访问技术TDMA:有效地避免了碰撞和隐蔽终端的问题。
网络技术:几个微微网(Piconet)可以被连接在一起,并依靠跳频顺序识别每个Piconet。同一个Piconet的所有用户都与这个跳频顺序同步。
语音支持:语音信道采用CVSD(连续可变斜率增量调制)语音编码方案,且从不重发语音数据包。CVSD编码擅长处理丢失和被损坏的语音采样,即使错误率达到4%,经过CVSD编码处理的语音同样可以被识别。
纠错技术:采用的是FEC(前向纠错)方案,其目的是为了减少数据重发的次数,降低数据传输负载。
蓝牙接口的组成
蓝牙接口主要由三大单元组成。
(1)无线单元:主要完成基带信号和射频信号之间的上下转换,实现数据流的过滤和传输。
(2)基带单元:主要完成跳频控制,数据和信息的打包与传输。
(3)链路管理与控制单元:是系统的核心部分,它负责连接的建立和拆除以及链路的安全和控制,还要为上层软件提供访问入口。
链路管理与控制
在Piconet内的连接被建立之前,所有的设备都处于旁观(standby)状态。此时,这些设备周期性地“监听”其他设备发出的查询(inquire)消息或寻呼(page)信息。
首先请求连接的单元是master单元,如果对方地址己经存在于master单元的地址簿中,master单元则通过发出寻呼(page)消息包请求建立连接;如果地址未知,则首先通过查询(inqure)消息包查询覆盖范围内其他单元的地址,然后再用寻呼(page)消息包建立连接。
如果Piconet中已经处于连接的设备在较长一段时间内没有数据传输,master可以把slave置为hold(保持)模式,这时,hold模式只有一个内部计数器工作。一般用于连接好几个微微网的情况或者耗能低的设备。
蓝牙还支持sniff模式和park模式两种节能工作模式:在sniff(呼吸)模式下,slave降低了从Piconet“收听”消息的速率,“呼吸”间隔可以依应用要求做适当调整;在park(暂停)模式下,设备依然与Piconet同步但没有数据传送。
蓝牙接口的主要应用
蓝牙在移动电话中的应用:无线耳机、车载电话;可以实现与计算机、其他设备无线连接,组成一个方便灵活的WPAN。
蓝牙在计算机中的应用:蓝牙接口可以直接集成到计算机主板或通过PC卡、USB接口连接,实现计算机之间及计算机与外设之间的无线连接。
蓝牙其他方面的应用:汽车行业对汽车各部件的实时控制;建筑行业实现智能化住宅。
IEEE1394接口基本原理
IEEE1394总线特点
IEEE1394是美国Apple公司率先提出的一种高品质、高传输速率的串行总线技术。1995年被IEEE认定为串行工业总线标准。1394作为一种标准总线,可以在不同的工业设备之间架起一座沟通的桥梁,在一条总线上可以接入63个设备。
(1)支持多种总线速度,适应不同的应用要求。
(2)即插即用,支持热插拔:设备的资源均由总线控制器自动分配,总线控制器会自动重新配置好设备。
(3)支持同步和异步两种传输方式:设备可以根据需要动态地选择传输方式,总线自动完成带宽分配;要求实时传输并对数据的完整性要求不严格的场合,可采用同步传输方式;对数据完整性要求较高的场合,采用异步传输方式更好。
(4)支持点到点通信模式:多主总线结构,每个设备均可以获取总线的控制权,与其他设备进行通信。
(5)遵循ANSI/IEEE1212控制及状态寄存器(CSR)标准,该标准定义了64位的地址空间;可寻址1024条总线的63个结点,每个结点可包含256TB的内存空间。
(6)支持较远距离的传输:普通线缆2个设备之间的最大距离可达4.5m(高级线缆可达15m);玻璃光缆或5类双绞线设备间距离可达100m以上。
(7)支持公平仲裁原则,为每一种传输方式保证足够的传输带宽,支持错误检测和处理。
(8)六线电缆具有电源线,可传输8~40V的直流电压,某些特定的结点可通过电源线向总线供电,其他结点可以从总线获取能量。
IEEE1394的协议结构
IEEE1394的协议由三层组成:物理层、链路层及事务层。另外还有一个管理层。物理层和链路层由硬件构成,而事务层主要由软件实现,如下图所示。
物理层提供了IEEE1394的电气和机械接口,它的功能是重组字节流并将它们发送到目的结点上去。同时,物理层为链路层提供服务,解析字节流并发送数据包给链路层。
链路层提供了给事务层确认的数据包服务,包括:寻址、数据组帧及数据校验。提供直接面向应用的服务;支持同步和异步传输模式;链路层的底层提供了仲裁机制,以确保同一时间上只有一个结点在总线上传输数据。
事务层为应用提供服务。它定义了三种基于请求响应的服务,分别为read、write和lock。只支持异步传输。同步传输服务由链路层提供。
管理层定义了一个管理结点所使用的所有协议、服务以及进程。电缆环境下,IEEE1394定义了两大类管理:总线管理(BM)和同步资源管理(IRM)。BM包含总线的电源管理信息、拓扑结构信息及不同结点的速度极限信息,以便协调不同速度设备之间的通信。IRM管理同步资源,如可用频道信息以及带宽的分配。
嵌入式系统电源
电源分类
所有嵌入式系统设计都必须包含电源,可以选择AC电源插座或电池供电。
AC电源:对于便携性没有太高要求的嵌入式系统,可以采用交流电供电。但是交流电压高,需转换成电压低得多的直流电。可以使用交流电适配器,提供+5VDC~+12VDC不等的输出电压,电流可高达500mA。
电池:使用方便,容易携带,但需要选择合适的电压和足够的电流,且系统设计合理,才能保证嵌入式系统的正常工作。选择电池时,要考虑它的平均电流、峰值电流,才能在负载恒定和峰值负载的时候给系统供电。
稳压器
稳压器是一个把输入的DC电压转换为固定输出DC电压的半导体设备,它主要用来为系统提供恒定的电压。恒定电压作为参考电压,如A/D转换器。稳压器有助于去除电源的噪声,起到了保护和隔离的作用。
下面介绍DC-DC转换器的稳压器类型,它可以接收不稳定的DC电压,而输出一个恒定电压值的稳定DC电压。DC-DC转换器有三种类型:
(1)线性稳压器。产生较输入电压低的电压。体积小、价格便宜、噪声小,使用方便。
(2)开关稳压器。能升高电压、降低电压或翻转输入电压。功耗低、效率高,但需要较多的外部器件、噪声大。
(3)充电泵。可以升压、降压或翻转输入电压,但电流驱动能力有限。
任何变压器的转换过程都不具有100%的效率,稳压器本身也使用电流(称为静态电流),这个电流来自输入电流。静态电流越大,稳压器的功耗越大。在选择稳压器时,应尽量选择既能满足嵌入式系统电压和电流的要求,又保证静态电流低的变压器。
电源管理技术
嵌入式系统中常用的电源管理技术如下。
(1)系统上电行为:微处理器及其片上外设一般均以最高时钟频率上电启动,不必要的电源消耗器件应关闭或使之处于空闲状态。
(2)空闲模式:关闭不需要的时钟,可消除不必要的有效功耗,但静态功耗仍然在。
(3)断电:仅在系统需要时才给子系统上电。
(4)电压与频率缩放:有效功耗与切换频率呈线性比例,但与电源电压平方成正比。经较低的频率运行应用与在全时钟频率上运行该应用并转入闲置相比,并不能节约多少功率。但是,如果频率与平台上可用的更低操作电压兼容,那么就可以通过降低电压来大大节约功耗,这正是因为存在上述平方关系的缘故。
降低功耗的设计技术
降低功耗的设计技术如下。
(1)采用低功耗器件:例如选用CMOS电路芯片。
(2)采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计。
(3)动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件。
(4)利用节电工作方式。
(5)合理处理器件空余引脚:大多数数字电路的输出端在输出低电平时,其功耗远大于输出高电平时的功耗,设计时应注意控制低电平的输出时间,闲置时使其处于高电平输出状态。因此,多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。对ROM或RAM及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应与“读/写”信号结合,只对其进行读或写操作时才选通器件。
(6)实行电源管理,设计外部器件电源控制电路,控制耗电大户的供电情况。