MBus协议详解(一)

2023-05-16

看了许多关于MBus协议的资料,感觉说的不具体、不完整、也不系统,本人准备结合一个具体的产品实现,从理论和实现上对MBus协议做一个详细的论述,如有不当之处,欢迎讨论。

1介绍

         MBus(Meter Bus)即仪表总线,MBus总线开发的目的是用于满足网络系统和远程抄表的需要,例如用于测量家里面气和水的消耗。MBus仪表总线可以满足由电池供电或远程供电的计量仪表的特殊要求。当计量仪表收到数据发送请求时,将当前测量的数据发送到主站,(主站可以是手持设备、计算机、或其他终端)。主站定期读取某栋建筑物中安装的计量仪表的数据。MBus在家庭电子系统中的其他应用有:报警系统、智能照明、热能控制。
 

2串行总线系统的基本原理

2.1串行总线应用和定义

数据处理系统互相通信的方法是根据相互间的通信距离来分类。根据相互间的通信距离,可以将网络分为:覆盖遍及世界的全球网络(Global Area NetworksGAN);覆盖大陆或大片地方的广域网(Wide Area NetworksWAN);覆盖距离可达几公里,或者被限制在特定的地理区域,如实验室,办公楼和办公场所的局部局域网络(Local Area Networks LAN)。局域网可以被用来连接一个终端设备、电脑、测量设备、自动化出来模块等。局域网中设备的连接方式(即拓扑结构)有下面三种方式:

星型拓扑:每个设备用一条独立的传输线连接到一个中央处理单元。每个设备可以顺序或者同时向中央处理单元传送数据。这种拓扑的一个缺点是增加了布线的需求。

环形拓扑:设备连接起来形成一个环形,数据从点到点的进行传输。这种拓扑的缺点是一个设备有故障,整个环形网络都不能够工作。

    总线拓扑:每个设备通过一条公共的总线连接在一起,这样在某一时刻只有一个设备能够传输数据。这种拓扑非常符合成本效益,一个设备出故障不会影响其他设备通信。数据可以在总线上传输到所以设备(即广播,Broadcasting),或者传输到某组设备(即组播,Multicasting)。
 
            一个串行总线可以被定义为一条传输路径,所有参加者在这条路径上使用相同的媒介,按照时间顺序传输他们的数据串(例如,一位一位传输)。相比之下,在并行总线系统中一个字节的各个独立比特是在一定数量的数据线上同时传输。这种并行传输方式增加了数据线和连接器的成本,但数据的传输时间比串行总线短。

2.2总线系统的基本功能

    根据传输和访问技术对串行总线系统进行分类,下图展示了各种形式的串行总线系统:
 
           总线第一层根据所使用的多路复用技术分为时分多路复用和频分多路复用,在频分复用下,总线传输媒介的频谱被分为频段,每个频段代表一个频道(Channel)。总线上的每个设备分配一个频道。

2.2.1接入技术

在总线系统中,总线传输媒介被全部总线设备一起共同使用,所有设备的各种传输要求都需要考虑。设备在总线上传输数据时使用的方法称为接入技术。这些接入技术必须保证总线设备不会在同一时刻使用总线,因为这样会导致总线冲突或者干扰,而且接入技术必须保证每个总线设备在总线上有一个确定的最小数据传输时间。各个设备对总线的分时使用,是通过一个分配逻辑系统来实现的。

使用中央分配逻辑,中央总线控制器接收到一个使用总线的请求,由中央总线控制器来决定设备能否占用总线和在什么时候占用总线。为了实现这种分配逻辑,有多种方法被用来注册总线的占用请求,如下所示:

*直接注册法:要求每个设备有一条独立的分支线与分配逻辑相连。

*轮询法:根据设备的传输要求,进行周期性的轮询。

*请求发送:使用发送者的标识符在一条公共线上请求发送。

*时隙法:每个设备在自己固定的时隙占用总线,不用考虑设备单独的请求。

中央分配逻辑的优势是减少了总线分配方法在单个设备上实现的复杂性。

总线分布式分配逻辑,要求总线上的每个设备需要具备能够识别总线是否被占用的功能。有多种方法可以用来判断总线是否正被占用,如下所示:

*互斥询问设备法:这种方法要求每个设备有一条请求线与之相连。

*周期性总线分配法:通过在总线设备间传输所有权标识(ownership)来实现。

*载波监听多址接入(CSMACarrier Sense Multiple Access):设备需要具有检测总线是否正在传输数据的能力,一旦发现总线空闲就开始传输自己的数据。为了避免冲突,这种冲突是在信号传输的时候出现的,例如,在以太网(Ethernet)这种总线系统中,设备能够在总线上使用它们自己的数据判断是否有总线冲突,一旦发现有总线冲突,立即停止传输数据,并在一个合适的时间间隔后开始从新传输数据。

分布式分配逻辑的实现,要求总线设备有更高的逻辑复杂性,但这种总线系统也有他的优势,某个中央总线控制器出现故障不会导致整个总线系统的崩溃。

2.2.2 通信设备的同步

     同步可以理解为通信的参与者对于信号传输和接收在时间上的协调。同步的各种方法可以根据数据的传输是同步还是异步来进行分类,同步技术的分类如下图:
  MBus协议详解(一) - 北极星 - xiebingsuccess的博客
      采用同步传输技术,一个稳定的时钟需要由一个中心站点或者一个通信设备提供,用于测量通信时间。异步传输技术可以分为具有应答的异步传输和没有应答的异步传输。采用具有应答的异步传输技术时,发送者在线上向接收者发送一个特殊的信号表示有数据需要发送,然后等待接受者的应答。不带应答的异步传输技术,对于并行比特传输需要在一条特殊的信号线上使用一个传输时钟,对于串行比特传输要用开始和停止比特来构成一个字符。

2.2.3 错误处理

在总线系统上导致传输错误的原因是多种多样的,特别是来自于外部的电磁干扰,例如电感耦合、高频干扰、电容耦合、由多个地导致的来自于地回路的直接耦合电流。一个总线系统必须确保能够发现和纠正传输错误,通过在数据传输过程中提供附加信息,使数据在接收的时候能够被检测。特别是在异步传输时,一个附加的奇偶比特通常和字符一起传输。通过这个附加的奇偶比特,使得奇偶条件(偶数个1,或者奇数个1)得到满足。另外一种方法是使用校验和的方法,校验和是通过精确的数学运算从传输的数据中得到的。接收者通过比较接收到的校验和,从接收到的数据中计算出的校验和是否相等来判断数据在传输中是否出错。奇偶校验位仅仅能够识别出奇数个错误比特。为了纠正错误,接收者需要发送一个应答给发送者,用于明确指示传输是否有错误。同时,发送者在一个固定时间段内检查数据接收者发出的应答,如果发生超时(timeout),发送者重传数据。为了详细说明一个字符编码的安全性,海明间距(Hamming Distance)被使用,在所有情况下,这能够识别总错误数减1个错误。

2.3 OSI参考模型

ISO-OSI参考模型为OSI标准得开发提供了一个基本原则,OSI参考模型由ISO组织设计,目的是为了确保来自于由不同厂家生产、具有不同体系结构的系统所发出的信息能够按照标准的处理程序被交换和解释。

这个模型在七个层次上分配通信的功能,两个通信对象对应的通信层上有一条虚连接。仅仅在最底层(Layer 1)存在物理连接用于信号的交换,除第一层外的每个通信层都是通过其下一层来获得必须的服务。OSI模型仅仅定义各层的功能和服务,而不定义各层的技术(即协议)实现。

如果两个应用程序之间存在如下面几点的协定(例如,存在协议),就可以在第七层上进行信息交换:

*在第6层上信息的表示。

*在第5层上内容和形式通信的流程。

*在第4层上信息的完整性和传输的安全性。

*在第3层上通过网络传输路由信息。

*在第2层上传输的安全性。

       *在第1层上的物理媒介。
 OSI模型的七个层次:

物理层:两个通信对象之间最基本的物理连接发生在最底层,通过指定线缆、通信距离、连接器的PIN脚、比特位的表示方法在物理层定义传输媒介的机械和电气特性。

数据链路层:这层确保在两个通信对象间建立一条可靠的运行连接。为此,数据链路层协议定义保护传输的方法、报文结构、访问传输媒介的方法、通信对象寻址和同步的方法。通过使用在2.2.3节描述的错误处理程序,数据链路层负责识别和纠正本层传输错误。

网络层:负责选择出网络中两个通信对象间最优化的传输路径并执行这个传输路径,同时将这种路由服务提供给传输层。当不同的网络通过网关相互连接,网络层的这种路由功能就非常重要。

传输层:传输层表示基于5~7层的应用和基于1~4层的传输间的边界层,传输层负责指导信息通过网络层、进行流量控制和将信息分组成单个的包。

会话层:会话层为一个通信“会话”提供打开、按顺序进行、终止这样一个处理过程。还包括两个系统间对话的控制,即他们各自传输特权的确定。

表示层:发送端应用程序的数据在表示层被转换成接收端应用程序能够解释的数据格式。这样,表示层就实现了数据格式和代码转换间的匹配。

应用层:此层是开放系统(OSI)和用户之间的接口,应用层给用户或者用户程序提供服务,这使得用户或者用户程序与开放系统很容易的工作。应用程序需要被开发,这样就可以通过应用层的协议来访问开发系统的功能。

在下图中从发送端到接收应用程序的数据流图,通过连续箭头指示可以看出。发送端的开销信息对于信息的传输和处理是必须的,开销信息被增加到每层的实际数据中,在接收端,这些开销信息按照他们被添加的相反顺序移除。
  按照OSI模型的数据传输

3 Mbus总线概述

3.1 消费者公用仪表总线系统要求

对于要求可靠性和成本效益的网络消费者仪表系统来说,有多种网络拓扑结构可以被考虑,但实际上只有总线拓扑结构式最适合的。下面将解释在这种总线系统上的仪表能够被读取所需要满足的要求。

最重要的要求是在长达几千米的距离上,多个设备(达到几百个)的互连。因为由仪表发送的数据被用于终端用户的计费,因此要求总线具有高度的传输完整性。另一方面,因为通常只有相对少量的数据需要传输,因此可以采用高速度来传输。为了保证数据传输的高度完整性,要求总线具有很强的抗电容电感耦合干扰能力。为了避免接地回路,总线上的从设备应该被电隔离。

对总线的进一步需求是整个系统的低成本,这要求总线使用的传输媒介不需要屏蔽、使用尽可能少的组件使仪表的单个成本减少、通过总线对仪表供电。另外系统的安装和维护成本需要考虑进来,可以采用多种方式来减少系统安装维护成本,比如极性反接保护、在总线系统运行期间允许附加设备的接入。

3.2 OSI模型中的MBus

由于没有一个总线系统能够满足3.1节描述的要求,因此Meter-Bus(M-Bus)总线被开发出来。MBusPaderborn大学的Dr. Horst Ziegler教授和TI公司的Deutschland GmbH  Techem GmbH共同开发的,MBus基于ISO-OSI参考模型设计,目的是为了实现一个开发系统,可以利用几乎任何可用的协议。

    由于MBus不是一个网络,因此它不需要一个传输和会话层,即其在OSI模型中的第4~6层是空的,因此,只有物理、数据链路、网络和应用层提供的功能。
                                                         OSI模型中的MBus协议层
    由于在ISO-OSI模型中修改像波特率、地址这类参数是不允许的,因此在7OSI模型的最上层和旁边定义了管理层。
  MBus协议详解(一) - 北极星 - xiebingsuccess的博客
                                                Mbus的管理层

        因此地址254255被保留用于管理物理层,地址253用于网络层,这些地址仅在某些情况下被使用。使用这一新的层来直接管理每个OSI层的实现特点,这不符合OSI模型。

物理层

4.1.1操作原理

        Mbus是一个层次系统,由一个master(中央分配逻辑)来控制通信。MBusmaster、许多slaves(终端设备仪表)、一条双线连接电缆组成。Slaves被并行的连接到传输媒介即连接电缆上。
                                                          MBus系统原理框图      

为了实现具有低成本传输媒介的总线网络,一条具有串行数据传输功能的二线电缆被使用。为了允许对远程slaves供电,总线上的比特描述如下:

由主到从的bit串传输,通过电压调制方式实现。一个逻辑1(称为Mark)对应于在总线的驱动器(repeater)上输出36V的标准电压,repeatermaster的一部分;一个逻辑0(称为Space)被发送时,repeater减少总线电压12V,在总线驱动上输出24V的标准电压。也可以理解为在24v电压上进行的电压调制,发送Mark时候在24v基础上增加12v电压,发送Space的时候不增加12v电压。

    从slavemaster发送的bit串,通过调制slave上的电流消耗进行编码。一个逻辑1是由最高1.5mA的恒定电流表示,一个逻辑0通过slave额外增加11~20mA的电流来表示。处于Mark状态的电流可用于给接口和仪表本身供电。
                                                                                   MBus 总线上的 bit 串表示

由于输出阻抗的原因,slave传输逻辑0Space)的时候会导致repeater上输出电压的轻微减少,如上图所示Bus Voltage at Repeater上可以看到电压的轻微下降。在总线上的静止状态表示逻辑1Mark),即在repeater上总线电压是36Vslave需要的最大恒定静态电流是每个1.5mA。当所有slave都不发送Space(逻辑0)的时候,Master端的repeater上将输出恒定的电流以驱动总线,换句话说就是在静止状态时slave将消耗恒定的电流。因为slave消耗恒定电流这个原因,而且线缆上存在阻抗,在slave端检测到的实际Mark电压会比36V低,具体低多少依赖于slaverepeater间的距离和slaves的总静态电流。因此,slave不必检测绝对的电压电平,而是对于Space检测一个12V的电压降。Repeater必须调整它自己到静态电流水平(Mark),并且将总线上11~20mA电流的增加解释为一个Space。在Mark状态被定义为36V时,这种处理方式是可以实现的。这意味着在任一时刻,只能在一个方向上进行传输:从masterslave,或者从slavemaster,即半双工(Half Duplex)。

由于在masterslave方向的传输有一个12V电压的变化,在应答方向有最少11mA电流的变化,因此Mbus总线不仅实现了给slave供电,同时还获得了对外部干扰很强的抵抗力。

4.2 总线安装规范

MBus系统可以由多个区域(zones)的组成,每个区域有它的组地址,区域间通过区域控制器和更高层的网络进行相互连接。每个区域由多个段组成,这些段按顺序连接到远处的repeaters。然而,在通常情况下,一个MBus系统仅由单一的段组成,这个段通过本地repeater连接到个人电脑(PC),PC充当总线Master的角色。这个本地repeaterMBus信号转换为RS232接口信号。从现在开始,本地repeater将简单的称为repeater,本地repeaterPC的组合称为Master

双线标准电话线缆(JYStY N*2*0.8 mm)被用于作为MBus总线传输媒介。一个slaverepeater间的最大距离是350m,这个长度对应的线缆电阻达到29欧姆。这个距离应用于标准配置有300~9600的波特率和最多250slaves。可以通过限制波特率和减少总线上slaves的数量来增加总线的传输距离,由于需要给远程slave供电,在Space状态的总线电压一定不能低于12V。在标准配置的线缆总长度不能超过1000m,以满足180 nF的最大电缆电容的要求。

到目前为止还没有标准或者推荐一种MBus插头连接仪表到总线系统,但是MBus协议组正在定义一种合适的连接器。三种不同的插头必须对连接器定义:a) 安装模式、b)仪表固定安装、c)表手持连接。

4.3 repeaters规格

    See chapter 'Electrical Requirements Master' in the document 'WG4N85R2.DOC'

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MBus协议详解(一) 的相关文章

  • 完全二叉树学习

    定义 xff1a 假设高度为h xff0c 那么前h 1层都是满的 xff0c 最后一层 xff0c 从左向右 xff0c 连续集中在最左边 xff1b k层的完全二叉树总节点个数最小为2 k 1 xff0c 最大节点个数为2 k 1 可以
  • thrift例程编译报错原因和解决方法总结

    thrift里自带的turoral xff0c 使用make编译时经常会报错 xff0c 总结如下 xff1a 1 如果出现如下错误 xff1a error uint8 t does not name a type error uint32
  • C++11带来的move语义

    C 43 43 11带来了move语义 xff0c 可以有效的提高STL的效率 xff0c 这篇文章写的非常好 xff0c 可以参考 xff0c 这里对原文进行翻译 xff0c 加入我自己的理解 原文 xff1a http www cpro
  • C++11带来的lambda表达式

    C 43 43 11带来了lambda表达式 xff0c 可以简化程序的编写 xff0c 使代码更加清晰 现在按照步骤来介绍lambda表达式 xff1a 1 函数对象 又叫仿函数 xff0c 如果一个类或者结构体重载了operator 操
  • caffe中几个基本概念

    caffe中几个基本概念 1 caffe中的blob结构是用来进行数据存储 交换和处理网络中正向反向迭代时的数据和导数信息的数据结构 blob是caffe的标准数组结构 他提供了一个统一的内存接口 其将内部的cpu gpu数据之间的传输与存
  • 摄像头引脚定义

    摄像头引脚定义 1 NC NO CONNECT 2 AGND Power Analog ground 3 SIO D I O SCCB serial interface data I O 4 AVDD Power Analog power
  • Android7.0 JACK编译器不支持多用户同时编译的问题的解决

    xfeff xfeff Android7 0 xff08 也就是Android N xff09 上默认使用JACK编译器而不再使用openjdk了 xff0c 但发现JACK不是很好用 xff0c 比如最大的一个问题就是 xff0c 同一台
  • 【树莓派】死机自动重启、掉线自动重连

    目录 WIFI掉线自动重连 首先查看你的板子硬件型号 拿树莓派去做服务器就要配置下这两项 xff0c 保证随时能够VNC控制 WIFI掉线自动重连 http shumeipai nxez com 2017 01 25 raspberry p
  • open vswitch分析

    Open vSwitch 概述 Open vSwitch xff08 下面简称 OVS xff09 是一个高质量的 多层虚拟交换机 OVS 遵循开源 Apache2 0 许可 xff0c 通过可编程扩展 xff0c OVS 可以实现大规模网
  • C# 接口《通俗解释》

    原文地址 xff1a https www cnblogs com hamburger p 4681681 html 接口的定义 xff1a 接口是指定一组函数成员 xff0c 而不实现他们的引用类型 接口使用interface 关键字进行定
  • linux 如何查看指定动态库

    要查看 Linux 系统指定的动态库 xff0c 可以使用以下命令 xff1a 使用 ldconfig 命令 xff1a ldconfig p 该命令将显示系统已加载的所有动态库及其路径 如果要查找特定动态库 xff0c 可以使用 grep
  • Tortoisegit 恢复文件夹被删除的文件(被误删)

    关于Tortoisegit 恢复git文件夹中被删除的文件 xff1a 1 在git文件夹右键tortorisegit show log 2 选择版本 xff08 当时执行删除操作的版本 xff09 3 选择被delete掉的 xff0c
  • putty screen 快捷键

    使用putty的时候 xff0c 开启screen再detach xff0c 可以防止跑程序过程中断开连接而导致程序中断 总结了下putty与screen 相关的快捷键 目前常用的有如下几个 xff08 命令均在putty终端输入 xff0
  • Magento的不同版本(CE,EE,ECE)介绍

    Magento提供了三个不同的版本平台 xff0c 即Magento Community Edition xff08 CE xff09 社区版 xff0c Magento Enterprise Edition xff08 EE xff09
  • c语言初学,字母大小写转换

    这类题目主要通过ASCII码差值实现 xff0c A对应ASCII码十进制数字是65 xff0c a对应ASCII码十进制数字是97 xff0c 即大小写字母之间ASCII码差值为32 xff0c 想要将大写字母转换为小写字母可以将该字符A
  • matlab——subplot多子图共用一个colorbar,微调子图和colorbar位置

    用subplot命令画出多个图后 xff0c 需要让这些图共用一个colorbar 在这里与大家分享我的操作 xff0c 希望能帮助到有需要的人 备注 xff1a 从 R2019b 开始 xff0c 可以在分块图布局中显示共享颜色栏 xff
  • 远程连接服务器数据库报错:Host ‘XXXXXX’ is blocked because of many connection errors

    一 我遇到的问题描述 使用Navicat for mysql连接公司的服务器数据库 xff0c 报错 xff1a Host XXXXXX is blocked because of many connection errors 二 出现错误
  • android中MediaCodec硬编码中关键帧间隔时间设置问题

    在MediaCodec硬编码中设置 xff29 关键帧时间间隔 xff0c 在 xff21 xff30 xff29 中是这么设置的 mMediaCodec 61 MediaCodec createByCodecName debugger g
  • python3 网络编程问题——虚拟机centos7上运行tcp服务器,在主机win10上使用网络调试助手作为tcp客户端无法建立连接,提示1035错误:the socket is marked...

    前提 xff1a 主机和虚拟机都是在同一网段下 我的网络调试助手的连接结果如下图 xff1a 注意 红框中的提示 xff0c 连接超时的结果可能是由于以下两种可能的情况导致的 xff1a 1 服务器端口未开启监听 2 路由项被防火墙拦截 对
  • DSSM pytorch实现

    之前在网上找到了一个文本匹配实现仓库 xff0c 但是没有提供DSSM的代码 xff0c 我就根据那个代码实现以下DSSM 数据集采用的是蚂蚁金服的数据集 也参考过别人的代码 xff0c 但是总感觉怪怪的 xff0c DSSM原文中 xff

随机推荐

  • 文本匹配实验结果总结

    主要把一些实验结果说一下 xff1a DSSM 作为文本匹配的开山鼻祖 xff0c 想法也很简单 xff0c 就是将query 和doc拉到同一维度 xff0c 然后计算余弦相似度 xff0c 网络也是非常简单 xff0c 所以只获得了78
  • 使用wikiextractor 提取wiki数据

    wikiextractor包链接地址 xff1a https github com attardi wikiextractor 安装wikiextractor pip install wikiextractor 然后下载wiki语料库 xf
  • python爬虫(Python读取TXT文件中的URL并下载文件)

    前言 xff1a 本人之前并没有接触过python爬虫 xff0c 但是现在因为要做个试验 xff0c 需要下载海量人脸图片 xff0c 所以需要用到python爬虫这个办法 但是过程中遇到到了很多问题 xff0c 程序调了很久都不成功 x
  • 机器学习之python读取CSV文件

    当我们在用python处理机器学习的问题时 xff0c 往往需要先读取数据 xff0c 这些数据通常都是文件 xff0c 我今天遇到的是CSV文件 xff0c 是在kaggle竞赛数据集下载的 xff08 比如手写数字识别 xff0c 以及
  • Robust PCA Low-rank(附matalb 代码)

    最近在看的论文中 xff0c 包括人脸识别 xff0c 以及深度神经网络模型压缩等论文中 xff0c 都会有low rank 低秩 低秩稀疏分解等解决方法 xff0c 感觉关于low rank的研究还挺火的 xff0c 这个问题和Robus
  • 完美图解教程 Linux环境VNC服务安装、配置与使用

    图片直观明了 xff0c 尝试一步一步分享俺的成果 1 xff1a 下面第一步当然是确认自己linux系统是否安装VNC 默认情况下 xff0c Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上 打开终端窗
  • torch.ge,torch.gt,torch.le

    torch ge torch ge input other out 61 None Tensor 逐元素比较input和other xff0c 即是否 input gt 61 otherinput gt 61 other 如果两个张量有相同
  • VAE(变分自动编码器)

    首先先贴上一些有用的链接 xff1a https www cnblogs com king lps p 8477300 html https zhuanlan zhihu com p 29685634 再补充一个链接 xff1a https
  • 视频去噪资料整理(深度学习方法)

    近几天做了一些视频去噪的一些边缘工作 xff0c 故整理一下 我读的一篇论文 xff1a paper TOFlow Video Enhancement with Task Oriented Flow code https github co
  • 正则表达式里的?:是啥意思例如(?:a|b)

    我也是找答案时看到的 xff0c 发现这里回答的理论是的 xff0c 但不好让人理解 xff0c 我也结合其他地方的资料 xff0c 才能理解他的答案 下面我用两个例子来说明 单引号里面的三个元字符之间的意思 39 39 1 39 39 x
  • idea设置javadoc、idea2020单行注释的快捷键

    找了半天 xff0c 想不起来叫什么 1 其实就是给方法和类上添加这种doc文档的注释的快捷键 xff1a 打开setting keymap 搜索 xff1a fix doc comment 我习惯用ctrl 43 enter 2 切换到i
  • LaTeX分享008【LaTeX多图排列方法】

    LaTeX分享 LaTeX多图排列方法 作者 xff1a JinyuLi 日期 xff1a 2023 03 18 内容 xff1a 填坑 xff0c 补充上一篇专栏中LaTeX图片插入问题中的多张图片同时插入的实现方法部分 xff0c 本篇
  • SONiC(2):手动运行sonic-vs

    SONiC的testbed都是用ansible自动部署的 xff0c 下面尝试手动来创建 另外最新的sonic vs可以从这里下载 准备工作 ansible生成的vlab 01这个虚机的vir配置xml文件如下 testbed 64 u18
  • SONiC vs testbed搭建

    准备工作 一台安装Ubuntu18 04的系统 xff0c 内存建议不少于16G 需要支持kvm虚拟化安装ssh server sudo apt update y sudo apt openssh server y 设置sudo免密 sud
  • 2. 安装GNOME和KDE图形化桌面

    安装GNOME和KDE图形化桌面 1 使用CD DVD介质配置本地Yum源2 安装GNOME图形化桌面2 1 安装GNOME xff1a 2 2 设置在系统启动时进入图形化桌面3 安装KDE图形化桌面3 1 安装KDE xff1a 3 2
  • 复位电路的几种设计

    本人转自 xff1a http hi baidu com yinweini2 item 48ba4f12f54587711009b591 复位源是导致单片机内部复位操作的源泉 xff0c 大致可分为七种 xff1a 上电复位 xff08 P
  • Hadoop入门经典:WordCount

    以下程序在hadoop1 2 1上测试成功 本例先将源代码呈现 xff0c 然后详细说明执行步骤 xff0c 最后对源代码及执行过程进行分析 一 源代码 package org jediael hadoopdemo wordcount im
  • Jlink 采用 SWD 模式下载电路接法

    在Jlink上 xff1a 对应的电路图为 xff1a 其中要使用的是 Pin1 gt vcc Pin7 gt SWDIO Pin9 gt SWCLK Pin4 gt GND 其他GND 引脚也可 在对于的开发板 xff08 举例 xff1
  • ubuntu系统硬盘温度过高的解决方法

    一 更改swap分区设置 在ubuntu 里面 xff0c swappiness的值的大小对如何使用swap分区是有着很大的联系的 swappiness 61 0的时候表示最大限度使用物理内存 xff0c 然后才是 swap空间 xff0c
  • MBus协议详解(一)

    看了许多关于MBus协议的资料 xff0c 感觉说的不具体 不完整 也不系统 xff0c 本人准备结合一个具体的产品实现 xff0c 从理论和实现上对MBus协议做一个详细的论述 xff0c 如有不当之处 xff0c 欢迎讨论 1 介绍 M