嵌入式系统中网络通信协议的选择
物联网环境下的嵌入式系统设计与开发

物联网环境下的嵌入式系统设计与开发随着物联网技术的迅猛发展,嵌入式系统设计和开发变得越来越重要。
嵌入式系统是一种专门用于控制、通信、计算和监测的微型计算机系统,通常是由芯片、操作系统和外围设备组成。
物联网环境下的嵌入式系统设计和开发需要考虑多种因素,如网络连接、安全性、功耗和可靠性等。
1.网络连接物联网环境下的嵌入式系统需要与互联网相连,因此网络连接是嵌入式系统设计和开发中必不可少的一部分。
通常,在嵌入式系统中集成WiFi或Ethernet模块是实现网络连接的最常见方法。
另外,还可以使用蓝牙、ZigBee和LoRa等短距离无线通信技术。
在网络连接方面,需要注意以下几点:1.1 数据传输速率:物联网设备需要发送大量的数据,因此嵌入式系统需要具有高速、稳定的数据传输能力。
1.2 网络协议:在设计嵌入式系统时,需要选择适合特定应用场景的网络协议。
例如,HTTP协议常用于Web应用程序,MQTT协议适用于大规模传感器网络。
1.3 安全性:与互联网相连的嵌入式系统容易遭受网络攻击和数据泄露。
因此,嵌入式系统设计和开发需要考虑网络安全性,并采取相应的措施,如数据加密、身份验证和访问控制。
2.安全性安全性是物联网环境下嵌入式系统设计和开发的一个重要问题。
嵌入式系统在运行过程中需要处理大量的敏感数据,包括个人身份信息、财务数据和医疗记录等。
因此,必须采取安全措施来保护这些数据的机密性和完整性。
在安全性方面,需要注意以下几点:2.1 加密:对于处理敏感数据的嵌入式系统,数据加密是保障信息安全的关键措施之一。
AES和RSA等加密算法可以保证数据传输的机密性。
2.2 认证:嵌入式系统需要对用户进行身份验证,以防止未授权访问。
常见的认证方式包括密码认证、指纹认证和智能卡认证等。
2.3 安全芯片:安全芯片可以提供加密存储和处理敏感数据的硬件支持,有效地防止嵌入式系统被非法访问和攻击。
3.功耗嵌入式系统通常是由电池供电,因此功耗是嵌入式系统设计和开发中需要重点考虑的问题之一。
嵌入式系统的网络通信

嵌入式系统的网络通信嵌入式系统是一种具有特定功能的计算机系统,通常被嵌入到其他设备中,如手机、汽车、电视等。
它们通常需要进行网络通信,以实现与其他设备或云服务器的交互。
本文将探讨嵌入式系统的网络通信相关内容。
嵌入式系统的网络通信方式嵌入式系统可以通过多种方式进行网络通信,其中最常见的是以太网、Wi-Fi和蓝牙等。
以太网是目前最常用的有线网络通信方式,它能够提供较高的通信速度和可靠性。
Wi-Fi是一种无线网络通信方式,它可以实现高速的数据传输,并且可以在室内范围内进行通信。
蓝牙则是一种适用于近距离通信的无线技术,通常用于连接手机和耳机、手环等设备。
不同的网络通信方式适用于不同的应用场景。
例如,以太网适用于需要高速、可靠网络连接的场景,例如服务器、路由器等;Wi-Fi则适用于需要在较大范围内进行通信的场景,例如家庭、办公室、公共场所等;蓝牙则适用于近距离通信的场景,例如手环、耳机等。
嵌入式系统的网络通信协议在进行网络通信时,嵌入式系统需要遵循特定的通信协议,以确保通信的准确性和可靠性。
以下是几种常用的网络通信协议:TCP/IP协议TCP/IP是一种用于互联网的通信协议,它包含了传输控制协议(TCP)和互联网协议(IP)两部分。
TCP负责数据的可靠传输,IP则负责数据在网络中的路由,确保数据能够正确到达目的地。
TCP/IP协议被广泛应用于网络通信中。
HTTP协议HTTP是一种用于客户端和服务器之间通信的协议,它通常被用于Web浏览器和Web服务器之间的通信,用于传输HTML和其他Web资源。
HTTP协议使用TCP/IP协议进行通信,是Web 的核心协议之一。
MQTT协议MQTT是一种轻量级的通信协议,被广泛应用于物联网领域。
它采用发布-订阅模式进行通信,可以实现高效的消息传递。
MQTT协议通常被用于传感器和云服务器之间的通信,例如用于智能家居、智能城市等场景。
CoAP协议CoAP是一种轻量级的通信协议,最初被设计用于无线传感器网络(WSN)中。
嵌入式系统中的无线模块选择和应用

嵌入式系统中的无线模块选择和应用随着互联网和物联网的发展,对于物联网的需求也越来越高。
无线模块在物联网中起到了至关重要的作用。
嵌入式系统中的无线模块种类众多,如何选择合适的无线模块并合理地应用是嵌入式工程师需要面对的难题。
无线模块主要分为以下三种:蓝牙模块、WiFi模块和NB-IoT模块。
针对不同应用场景需求,我们可以选择合适的模块。
蓝牙模块主要应用于短距离无线通信,具有低功耗、低成本、开发周期短等特点。
在智能家居、智能手环、智能门锁等场景中应用广泛。
同时,基于蓝牙的Mesh网络也在智能家居领域得到了运用,可以实现设备之间的互联互通。
WiFi模块主要应用于宽带网络场景,在数据传输速度和稳定性上都比较出色。
WiFi模块可以实现小型服务器、多媒体传输、语音识别等功能,在人机交互和数据传输方面有着很大的优势。
WiFi模块和移动网络结合使用,也可以实现远程数据采集和控制。
NB-IoT模块是目前物联网应用比较火热的一种模块,它可以实现广域的远程数据传输和设备控制。
相比于传统移动通信技术,NB-IoT模块更加注重低功耗、宽覆盖、高可靠等特性,适用于远程监测、智能农业、智能交通等领域,为物联网应用的广泛推广提供了技术保障。
选择合适的无线模块要根据项目需求来决定,主要考虑以下几个方面:1、数据传输距离和速度:不同的无线模块在数据传输的距离和速度上存在很大的差异,需要根据实际需求选择合适的模块。
2、功耗:在电池供电下,尽可能降低功耗,延长设备使用寿命。
3、价格:根据项目需求和预算,选择满足需求并且价格适中的无线模块。
4、稳定性:在移动通信中,网络波动会影响传输速度和稳定性,需要选择稳定性更好的无线模块来保证通信的质量。
应用无线模块的时候,还需要考虑模块本身的通信协议和数据格式。
不同的无线模块提供的通信协议和数据格式也存在一定的差异,需要按照实际需求进行选择和定制。
可以利用如下几个技巧来选择和应用无线模块:1、参考数据手册:每个无线模块都有自己的数据手册,这是选择和应用无线模块的首要依据。
嵌入式系统中的接口与通信

嵌入式系统中的接口与通信当提到嵌入式系统时,我们常常会联想到各种智能设备,如智能手机、智能家居、汽车控制系统等。
而嵌入式系统的核心是通过接口与外部设备或其他嵌入式系统进行通信。
本文将探讨嵌入式系统中的接口与通信技术,包括串口通信、并口通信和无线通信。
一、串口通信串口通信是一种常见的嵌入式系统通信方式,其原理是通过发送和接收串行数据来实现设备之间的通信。
串口通信相对简单,常用于连接外部设备,如传感器、显示器等。
串口通信通常需要考虑以下要素:1. 波特率:波特率是指每秒传输的位数,常见的波特率有9600、115200等。
波特率越高,传输速率越快,但也容易出现错误。
2. 数据位:数据位定义了传输的二进制信息长度,一般为8位。
3. 停止位:停止位用于告知接收方该接收位数已经传输完毕,一般为1位。
4. 校验位:校验位用于检验数据在传输过程中是否发生错误。
常见的串口通信协议有RS-232和RS-485。
二、并口通信并口通信是一种通过并行传输数据的通信方式。
与串口通信相比,它具有更高的传输速度和稳定性。
然而,并口通信的接线相对复杂,不如串口通信灵活。
并口通信主要有以下要素:1. 数据线:并口通信使用多条数据线来同时传输数据,一般为8或16条。
2. 时钟线:时钟线用于同步数据传输,确保发送方和接收方在相同时间进行数据交换。
3. 控制线:控制线用于传输命令和控制信号,如读写信号、使能信号等。
并口通信常用于连接打印机、扫描仪等外部设备。
三、无线通信随着无线技术的发展,嵌入式系统中的无线通信得到了广泛应用。
无线通信可以提供更大的灵活性和便捷性,常用于连接移动设备、远程监测等。
无线通信主要有以下几种技术:1. 蓝牙:蓝牙是一种短距离无线通信技术,适用于连接手机、耳机、键盘等设备。
2. Wi-Fi:Wi-Fi是一种局域网无线通信技术,适用于连接电脑、智能家居等设备。
3. ZigBee:ZigBee是一种低功耗无线通信技术,适用于物联网设备、传感器网络等。
qt嵌入式mqtt编程 -回复

qt嵌入式mqtt编程-回复嵌入式系统是一种特殊的计算机系统,它通常用于控制、监控和实时处理任务。
与传统的计算机系统不同,嵌入式系统往往具有严格的资源限制、低功耗和高可靠性的要求。
因此,对于嵌入式系统而言,选择一个合适的网络通信协议非常重要。
在这篇文章中,我们将重点介绍一种适用于嵌入式系统的MQTT(Message Queuing Telemetry Transport)协议,以及如何在QT 中使用MQTT 进行编程。
一、什么是MQTT 协议?MQTT 是一种基于发布/订阅模式的消息传输协议,它可以在TCP/IP 网络上实现低带宽、低开销和可靠的数据传输。
MQTT 协议通常被嵌入式系统和物联网应用中广泛使用,因为它非常适合资源有限的设备。
MQTT 协议的核心思想是将设备之间的通信通过一个中间代理进行,该代理被称为MQTT 代理或MQTT 服务器。
设备可以通过“发布”消息将数据发送到MQTT 服务器,其他设备通过“订阅”主题来接收这些消息。
这种发布/订阅模式使得设备之间的通信变得灵活且解耦。
二、为什么选择MQTT 协议?在嵌入式系统中,选择一个合适的通信协议非常关键。
从性能和资源消耗的角度考虑,MQTT 协议具有以下优势:1. 轻量级: MQTT 协议非常轻量级,占用较少的硬件资源和网络带宽。
这使得它非常适合在嵌入式系统和物联网设备上运行。
2. 可靠性: MQTT 协议具有数据确认机制,可以确保消息的可靠传输。
即使在不稳定的网络环境下,数据也能够得到正确传输。
3. 异步通信: MQTT 协议支持异步通信模式,设备之间可以以非阻塞的方式进行通信。
这有助于提高系统的响应速度和并发性能。
4. 安全性: MQTT 协议支持使用SSL/TLS 进行数据加密和身份验证,保证数据的安全传输。
三、在QT 中使用MQTT 进行编程QT 是一个跨平台的C++ 应用程序开发框架,具有丰富的图形界面和网络编程功能。
下面将介绍如何在QT 中使用MQTT 进行编程。
mcu间通信模块化通信协议

mcu间通信模块化通信协议MCU(Microcontroller Unit)间的通信模块化通信协议是指在嵌入式系统中,不同的MCU之间通过通信模块进行数据交换和通信的一种协议。
本文将介绍MCU间通信模块化通信协议的概念、主要特点以及常用的通信协议。
一、概念MCU是一种集成了处理器核心、存储器和外设接口等功能的微控制器。
在很多应用领域中,需要多个MCU之间进行数据交换和通信,例如物联网、智能家居等。
为了实现MCU之间的通信,需要采用一种通信协议来规定数据传输的格式、传输方式以及通信的控制流程等。
通信模块化通信协议是指将通信模块和通信协议进行模块化设计,通过定义统一的接口和规范来实现MCU之间的通信。
通信模块化的设计可以提高系统的灵活性和可扩展性,同时也方便了不同厂商和开发者之间的合作和交流。
二、特点1. 灵活性:通信模块化通信协议可以适应不同的应用场景和通信需求,可以根据具体的应用要求进行定制和扩展。
2. 可扩展性:通信模块化通信协议可以支持多种不同的通信方式和通信协议,例如串口通信、SPI通信、I2C通信等,以及常用的通信协议如UART、CAN、Ethernet等。
3. 可靠性:通信模块化通信协议可以提供数据传输的可靠性保证,通过校验和、重传机制等方式来确保数据的完整性和准确性。
4. 易于使用:通信模块化通信协议可以提供简洁易用的接口和API,使开发者可以方便地进行通信功能的开发和集成。
5. 跨平台性:通信模块化通信协议可以支持多种不同的硬件平台和操作系统,例如ARM、AVR、RTOS等,使得系统可以在不同的硬件平台上进行移植和应用。
三、常用的通信协议1. UART(Universal Asynchronous Receiver/Transmitter):UART是一种串行通信协议,通过一对数据线实现数据的传输。
它是一种简单、常用的通信方式,适用于短距离的通信需求。
2. SPI(Serial Peripheral Interface):SPI是一种串行外设接口协议,通过四根数据线(时钟线、数据线、使能线、地线)实现数据的传输。
嵌入式系统的网络通信协议

嵌入式系统的网络通信协议嵌入式系统是由硬件、软件、操作系统等多个组成部分所构成的一种特殊的计算机系统。
嵌入式系统通常运行在各种各样的设备上,如汽车、家电、智能手机、电视机、空调等等。
这些设备都需要使用网络通信协议来进行数据传输和控制。
在本文中,我们将探讨嵌入式系统的网络通信协议。
网络通信协议是在计算机网络中用来协调通信的规则和标准。
它们定义了网络中的数据传输格式、传输速度、错误检测和纠正、数据传输顺序、数据分组和重组、网络连接和拆除等等。
在嵌入式系统中,最常见的网络通信协议包括TCP/IP协议、HTTP协议、FTP协议和SNMP协议等等。
TCP/IP协议是嵌入式系统中最常用的协议之一。
它是面向连接的协议,它提供了可靠的数据传输服务。
TCP/IP协议在传输大数据量时表现出色,因为它可以将数据切割成较小的数据包,并根据需要进行重新组装。
此外,TCP/IP协议还可以检测和纠正数据传输中的错误。
HTTP协议是世界上最常用的网络协议之一。
它用于在Web服务器和Web客户端之间传输超文本和多媒体文件。
HTTP协议是一种无连接的协议,它在Web服务器和Web客户端之间建立短暂的连接,以传输Web内容。
HTTP协议也可以实现数据压缩和编码,从而提高数据传输效率。
FTP协议是用于文件传输的网络协议。
它可以在客户端和服务器之间进行文件上传和下载。
FTP协议可以通过授权访问FTP服务器来保护数据的安全。
它还可以通过使用加密技术来保护数据的传输安全。
SNMP协议是用于管理网络设备的网络协议。
它可以收集有关网络设备状态的信息,从而帮助管理员识别和解决网络问题。
SNMP协议可以通过访问网络设备的MIB(管理信息库)来读取和写入网络设备的状态信息,从而实现对网络设备的管理和控制。
在嵌入式系统中,网络通信协议的选择取决于应用的特定需求。
不同的应用需要不同的协议来满足其数据传输和管理需求。
此外,开发人员还需要考虑网络通信协议的性能、可靠性、安全性和易用性等方面,以确保它们在嵌入式系统中的实现是可靠和高效的。
《面向ZYNQ嵌入式平台的EtherCAT通信协议栈设计与实现》

《面向ZYNQ嵌入式平台的EtherCAT通信协议栈设计与实现》一、引言随着工业自动化和智能制造的快速发展,EtherCAT (Ethernet for Control Automation Technology)通信协议因其高带宽、低延迟和易扩展的特性,在嵌入式系统中得到了广泛应用。
本文将详细介绍面向ZYNQ嵌入式平台的EtherCAT通信协议栈的设计与实现过程,通过对其体系结构和功能的全面描述,旨在为相关开发人员提供一定的参考。
二、EtherCAT协议概述EtherCAT是一种实时以太网通信协议,其核心思想是将实时控制任务的数据传输与标准以太网进行无缝集成。
EtherCAT协议通过分布式时钟和状态机机制,实现了对数据的高效、实时传输。
在嵌入式系统中,EtherCAT协议的应用能够显著提高系统的响应速度和数据处理能力。
三、ZYNQ嵌入式平台简介ZYNQ嵌入式平台是一款基于Xilinx FPGA和ARM Cortex-A9处理器的嵌入式系统。
其具有高性能、低功耗的特点,广泛应用于工业控制、医疗设备、智能交通等领域。
在ZYNQ平台上实现EtherCAT协议,能够更好地满足实时性、稳定性和可扩展性的需求。
四、EtherCAT通信协议栈设计1. 整体架构设计EtherCAT通信协议栈的设计包括物理层、数据链路层、网络层和应用层。
其中,物理层负责与硬件设备进行数据传输;数据链路层负责帧的封装与解析;网络层负责数据的路由与转发;应用层则提供丰富的接口供上层应用使用。
2. 详细设计(1)物理层设计:物理层采用标准的以太网物理层芯片,通过MII/GMII接口与ZYNQ平台进行连接。
(2)数据链路层设计:数据链路层负责将上层数据封装成EtherCAT帧,并实现帧的发送与接收。
此外,还需要实现分布式时钟同步机制,以保证数据的实时性。
(3)网络层设计:网络层主要负责数据的路由与转发。
在EtherCAT协议中,网络层需要实现SDO(Service Data Object)访问和PDO(Process Data Object)通信等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统中网络通信协议的选择一、引言一个现代化工业企业的网络环境一般可分为四个层次:·Internet:实现企业之间的信息交流;·Intranet:实现企业内部管理、财务、办公及人事等的信息化;·Infranet:实现工业企业现场生产设备级的综合管理、调度与监控等;·Embedded Network :嵌入式网络。
实现生产设备内部多个分布式子系统之间的实时通信。
Internet、Intranet都基于TCP/IP协议簇,Intranet是面向广域网的Internet在企业内部局域网上的延伸。
Infranet的建设目前主要采用各种现场总线协议,如ProfiBus、Lonwork、CAN等。
随着社会的进步和技术的发展,现代机电控制系统往往包括若干个子系统,每个子系统既自成一体,拥有自己独立的CPU,又与其它子系统紧密协调。
嵌入式网络就是实现子系统间相互通信的手段。
二、对嵌入式网络的特殊要求嵌入式网络通常应用在环境比较恶劣的工业生产现场,因此在以下几个方面有其自身独特的要求:1. 实时性:生产设备内部多个分布式子系统信息耦合通常比较紧密,对实时性要求很高,这就要求所用的网络协议具有可确定的实时性能,即极坏情况下的响应时间是可确定的;另外在网络节点数比较多,或者有些节点对实时响应要求特别高时,网络协议还应支持优先级调度,以提高时间紧迫型任务的信息传输可确定性。
2. 可靠性:嵌入式网络本身的可靠性直接影响设备的有效作业率、成品率和生产效率,要求网络能动态增加/删除节点;生产现场比较恶劣的电磁环境要求嵌入式网络本身具有很强的抗干扰能力、检错和纠错能力以及快速恢复能力;3. 通信效率:嵌入式网络通信的特点之一是子系统之间通信非常频繁,但每次通信的信息长度很短,因此要求嵌入式网络协议尽量采用短帧结构,且帧头和帧尾尽可能短,从而提高通信效率和带宽的利用率;4. 双重混合支持:不同工作环境的巨大差异决定了嵌入式网络应具有灵活的介质访问协议,不但支持多种介质(双绞线、同轴电缆、光缆),而且支持混合拓扑结构(星型、环型、总线型),有时甚至要求同一个嵌入式网络能同时使用多种介质和多种网络拓扑。
如在噪声环境中,系统中一部分连接需要使用光缆,其它部分则使用双绞线或同轴电缆。
同轴电缆适于采用总线拓扑,而光纤则更适于环型或星型拓扑,这就要求网络协议具有双重混合支持。
5. 实现难度和造价:嵌入式系统通常需要针对实际需求进行专门设计与制造,这就要求其中的网络系统软硬件容易实现,并与子系统控制部分集成,有关元器件商品化程度高,造价较低。
6. 开放性:嵌入式网络必需具有良好的开放性,一方面能通过企业Infranet连接到Intranet中,实现企业生产管理的管控一体化;另一方面应具有公开透明的开发界面,资料完备,实现系统硬件、软件的自主开发和集成。
此外,嵌入式网络系统必须配置灵活、维护简便。
通常,嵌入式网络就覆盖范围而言属于局域网。
按照ISO/OSI的观点,TCP/IP 协议簇位于网络层以上。
显然,TCP/IP协议簇已经超出了嵌入式网络系统的范畴。
嵌入式网络包括ISO/OSI七层模型中的物理层和数据链路层。
数据链路层在具体实现上可划分成两个子层:介质访问控制子层(MAC子层)和逻辑链路控制子层(LLC子层)。
MAC子层包括物理层接口硬件和实现介质访问协议的通信控制器;通常LLC子层由软件实现(用户自主开发)。
因此,嵌入式系统设计中网络通信协议选择的核心是介质访问协议的选择。
三、常见介质访问协议的比较1、面向链接的协议面向链接的协议主要用在网络发展初期的主机–终端式网络中,如X.25和IBM的SNA网络。
其主要缺点是:1)节点之间采用串行连接方式,每个物理连接只支持两个节点,速度较低;2)物理上没有连接的节点之间的通信需要经过多个中间节点的多次传输;3)直接相连的节点间的通信是可确定的,而间接相连的节点间的通信则无法确定延时。
因此,在局域网技术已非常成熟的今天,这类协议已很少应用。
2、轮询法轮询法因其简单和实时性能可确定等特点而成为嵌入式网络常用协议之一。
采用轮询法的协议,需指定一个主节点作为中央主机来定期轮询各个从节点,以便显式分配从节点访问共享介质的权力。
这类协议的缺点是;1)轮询过程占用了宝贵的网络带宽,增加了网络负担;2)风险完全集中在主节点上,为避免因主节点失效而导致整个网络瘫痪,有时需设置多个主节点来提高系统的健壮性(如Profibus)。
3、CSMA/CD(带冲突检测的载波监听多路访问)CSMA/CD有许多不同的实现版本,其核心思想是:一个节点只有确认网络空闲之后才能发送信息。
如果多个节点几乎同时检测到网络空闲并发送信息,则产生冲突。
检测到冲突的发送信息的节点必须采用某种算法(如回溯算法)来确定延时长短,延时结束后重复上述过程再试图发送。
CSMA/CD的优点是理论上能支持任意多的节点,且不需要预先分配节点位置,因此在办公环境中几乎占有绝对优势。
但在CSMA/CD中冲突产生具有很大的随机性,在最坏情况下的响应延时不可确定,无法满足嵌入式网络最基本的实时性要求。
4、TDMA(时分多路访问)TDMA已大量应用于移动通信领域(如GSM、DAMPS),但也可用于局域网。
TDMA的特点是:每轮信息传输前,网络中的主节点先广播一个帧同步信号以同步各从节点的时钟,在帧同步信号之后,每个从节点在各自所分配的时间片内发送数据。
TDMA的缺点是:1)每个从节点必须有一个稳定的基准时间以确定时间片,因此从节点比较复杂,造价较高;2)TDMA的主流应用领域依然是无线移动通信领域,用于嵌入式网络的TDMA无论在相关软硬件技术支持和市场认同方面都非常欠缺。
5、令牌环在令牌环网中,节点之间使用端到端的连接,所有节点在物理上组成一个环型结构。
一组特殊的脉冲编码序列,即令牌,沿着环从一个节点向其物理邻居节点传递。
一个节点获得令牌后,如无信息要发送,则将令牌继续传递给下一个邻居,否则首先停止令牌循环,然后沿着环发送它的信息,最后继续令牌传递。
令牌环网的优点是:1)在实时性方面是可确定的。
因为容易计算出最坏情况下节点等待令牌的时间;2)令牌传递占用的网络带宽极小,带宽利用率很高,具有强大的吞吐能力。
但这种协议在具体实现时为确保可靠性必须付出较大的代价:1)为了避免因电缆断裂和节点失效导致整个网络瘫痪,常采用双环结构(如FDDI)和失效节点自动旁路措施,导致实施成本增加;2)为了能立即检测到令牌是否意外丢失,不得不增加该协议实施的复杂性。
6、令牌总线令牌总线的基本原理与令牌环网相似。
但在令牌总线中,网络上所有节点组成一个虚拟环,而非物理环。
令牌在虚拟环中从一个节点传向其逻辑邻居节点。
只有持有令牌的节点才能访问网络。
如同令牌环一样,令牌总线具有非常高的网络带宽利用率、很高的吞吐能力和良好的可确定性。
另外令牌总线中各节点有相同的优先级;令牌总线中的电缆断裂并不一定导致整个网络瘫痪;网络运行过程中可动态增加或关闭节点,因此节点失误一般不会导致整个网络瘫痪(当然在网络启动、增加 /删除节点时会导致逻辑环重构,以便每个节点确定自己的逻辑邻居,这会有点费时);总线拓补结构还非常适合于制造设备。
因此,令牌总线协议被MAP (Manufacturing Automation Protocol,制造自动化协议)、ARCnet (Attached Resource Computer Network)采用,在过程自动化控制等嵌入式场合广泛应用。
7、CSMA/CA (带冲突避免的载波监听多路访问)CSMA/CD在节点数量不多、传输信息量较少时效率很高;基于令牌的协议具有良好的实时性和吞吐能力。
人们已经开发出一种能综合以上两者优点的混合协议—CSMA/CA。
CSMA/CA的本质是利用竞争时间片来避免冲突。
其基本原理是:如同CSMA/CD一样,节点必须检测到网络空闲之后才能发送信息;如果有两个或更多的节点发生冲突,便在网络上启动一个阻塞信号通知所有冲突节点,同步节点时钟,启动竞争时间片(竞争时间片跟随在阻塞信号之后,其长度比沿网络环路传输时延稍长));通常,每一个竞争时间片均指定给特定的节点,每个节点在其对应的时间片内如有信息发送则可以启动传输;其它节点检测到信息传输后,停止时间片的推进,直到传输结束所有节点才恢复推进时间片;当所有时间片都失去作用时,网络进入空闲状态。
为确保公平性和可确定性,在每次传输之后,时间片要循环。
此外,优先时间片(the priority slots)优先于普通时间片的推进,能支持高优先级信息的全局优先传输。
CSMA/CA 协议在具体实施中主要有两个变种:一是RCSMA(Reservation CSMA),其特点是时间片数等于节点数。
RCSMA在各种传输条件下都能有效工作,但显然不适于节点较多的网络;在另一个变种中,时间片数少于节点数,且根据冲突最少的原则随机调整时间片的分配,根据所预测的网络流量动态地改变时间片数;如Echelon公司推出的广泛应用于智能大厦领域的 Lonwork标准。
另外,在CSMA/CA中,并非必需采用硬件来避免冲突,还可以通过软手段来实现,例如发送使时间片在没有网络传输的情况下仍然保持活动的哑信息。
四、结论介质访问协议是嵌入式网络协议选择的核心。
尽管没有哪一种协议对各种应用场合都是十全十美的,但通过对上述各种介质访问协议的分析和比较不难发现:令牌环、令牌总线、CSMA/CA比较适合于嵌入式网络。
但令牌环的具体实施比较复杂、成本较高,其应用越来越少。
读者可针对具体应用需求,选用令牌总线(如ARCnet)或CSMA/CA。