数据专栏

智能大数据搬运工,你想要的我们都有

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>

电磁兼容标准:
1、 基础标准:描述了EMC现象、规定了EMC测试方法、设备,定义了等级和性能判据。
2、 通用标准:是按照设备使用环境划分的,当产品没有特定的产品类标准可以遵循时,使用通用标准来进行EMC测试。
3、 产品类标准:针对某种产品系列的EMC测试标准。往往引用基础标准,但根据产品的特殊性提出更详细的规定。产品类标准主要从电磁骚扰发射和抗扰度两个方面对产品的电磁兼容性进行规定。
4、 专用产品标准:专用产品标准通常不单独形成电磁兼容标准,而以专门条款包含在产品的通用技术条件中。专用产品标准包含在产品的通用技术条件中。专用产品标准对电磁兼容和相应的产品族标准相一致,在考虑了产品的特殊性之后,也可增加试验项目和对电磁兼容性能作某些改变。与产品族标准相比,专用产品标准对电磁兼容性的要求更加明确,而且还增加了对产品性能试验的判据。对试验方法,应由试验人员参照相应基础标准进行。

电磁兼容的三要素:
1、 骚扰源:产生电磁骚扰的电路或设备。
2、 敏感源:受这种干扰影响的电路或设备。
3、 耦合路径:能够将干扰源产生的干扰能量传递到敏感源的路径。
这三个条件称为电磁兼容的三要素,只要将这三要素中的一个消除,电磁干扰的问题就不再存在。
电磁骚扰源的特性
电磁骚扰产生于电压或者电流的剧烈变化,即,有较大的du/dt、di/dt。当电路中或者周围环境中有较大的du/dt、di/dt,就构成了潜在的电磁骚扰源。
电磁骚扰要对其他电路产生影响,必须通过能量的传递,电磁场往往成为传递能量的形式。
电磁骚扰的能量以两种模式传播,一种叫传导模式,它是以电流的形式在导线上传输,被其他电路接收到后产生干扰,这种骚扰叫传导骚扰(或传导发射)。另一种叫辐射模式,它是以电磁波的形式在空间传输,被其他电路接收后产生干扰效应,这种骚扰叫做辐射骚扰(或辐射发射)。
需要注意的是,这两种模式之间会相互转变。导线上传输的电流也会产生电磁辐射,形成电磁波。而空间的电磁波也会在导线上感应处电流,形成传导电流。这两种模式通常同时存在。
电磁敏感源的特性
任何依靠电磁原理工作的电路和设备都可能是电磁敏感源。这里的电磁可能是:噪声电压、噪声电流、电场、磁场、电磁场等。 一般利用什么原理工作,就对什么类型的干扰敏感。
对于数字电路而言,如果数字逻辑是通过电平表示的,则对噪声电压会比较敏感。如果数字电路的逻辑变换是靠脉冲沿来触发的,则这个电路会对瞬态的脉冲干扰很敏感。
对于模拟信号而言,电磁干扰会导致信噪比下降,或者电平值出错。
需要注意的一点是,电路对电磁干扰的敏感频率并不限于电路的工作频率。一个典型的例子就是当使用固定电话时,旁边的移动电话一旦来电,固定电话中就会产生噪音。从原理上讲,固定电话的电路工作在音频,而移动电话的工作频率在1GHz甚至更高,本不应该相互干扰。这是由于半导体的检波效应所致。
当一个信号加在三极管的基极B上时,相对于发射极而言,会在基极-发射极PN结形成的二极管上发生整流。这个二极管与电路中的寄生电容构成了检波电路。当频率更高时,(f>100fc),检波的作用开始下降。这种现象称为调幅解调现象。它有两个作用:1、引起放大器直流偏置电压的漂移,使电路特性发生变化,如进入非线性工作区。2、如果检波得到的包络线含有与电路工作相同的频率,就会对电路的功能造成影响,如固话中的噪声。
电路对空间电磁波的响应必须通过天线接收,除了以接收无线信号为目的的天线外,大部分天线是电路或设备中的寄生天线,由于这些寄生天线的存在,电路会对空间电磁波敏感,产生干扰问题。对于一个实际的设备而言,设备上最有效的寄生接收天线就是外拖电缆。当电缆的长度大于 时,电场在电缆上感应的电流可以用下式估算:
这个公式的含义是:当电缆置于电磁场中,并处于接收最强电场的方向时,每1V/m的场强回在电缆上感应处1.5mA的电流,于电缆的高度和长度无关。当电缆靠近地面时,这个值会有所增加。
电磁骚扰耦合路径
电磁骚扰源与敏感源之间的耦合路径主要有5个:
(1) 电源耦合:两个电路共用一个电源网络,彼此间形成干扰。
(2) 地线耦合:由于地线设计不当,两个电路通过公共部分的地线发生耦合。
(3) 杂散电容耦合:两个电路之间存在杂散电容,通过这种杂散电容,两个电路之间能够形成耦合。
(4) 互感耦合:两个电路之间存在着互感,两个电路通过这种互感形成耦合,其情形类似于变压器的初级与次级之间的耦合。
(5) 电磁场耦合:一个电路中的寄生天线辐射的电磁场,被另一个电路中的寄生天线所接收,并形成干扰。这种情况一般发生在电缆之间,电缆作为有效的发射天线和接收天线。
硬件开发
2019-11-07 12:18:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
其实很多筒子都想看放大器相关的东西,射频君一直很头疼这个题目。毕竟是比较复杂的器件,其实写起来也是很困难的。今天就来跟大家唠唠放大器相关的基础知识,抛砖引玉哈。
射频放大器,根本上是我们射频系统中的正反馈系统,一般位于发射链路上。由于考虑无线传输的链路衰减,发射端需要辐射足够大的功率才能获得比较远的通信距离。因此,射频放大器主要负责将功率放大到足够大后馈送到天线上辐射出去,是通信系统中的核心器件。
那么对于如此重要的器件来说,射频放大器又有哪些主要类型呢?
1)从工作频带分类
按工作频带分类,可以分为窄带射频功率放大器和宽带射频功率放大器。窄带射频功率放大器一般都采用选频网络作为负载回路,例如LC谐振回路。宽带射频功率放大器则不采用选频网络作为负载回路,而是以频率响应很宽的传输线作为负载。
2)从匹配网络性质分类
根据匹配网络的性质,可将功率放大器分为非谐振功率放大器和谐振功率放大器。非谐振功率放大器的匹配网络是非谐振系统,例如高频变压器、传输线变压器等非谐振系统,它的负载性质呈现纯电阻性质。而谐振功率放大器的匹配网络是谐振系统,它的负载性质呈现电抗性质。
3)按电流导通角分类
按照电流导通角,射频功率放大器可以分为A类、AB类、B类、C类、D类、E类等。这些类别区别大家可以参见如下的表格
放大器的分类中,我们经常说的还是按导通角分的A到E类的放大器。丙类工作状态的输出功率和效率是这几种工作状态中最高的,射频用的放大器大部分工作于C(丙)类。
放大器的分类就已经如此复杂,可见主要性能指标肯定不会简单,实际上也是这样。
放大器的主要指标如下: 工作频率范围
一般来讲,是指放大器的线性工作频率范围。如果频率从DC开始,则认为放大器是直流放大器。 增益
工作增益是衡量放大器放大能力的主要指标。增益的定义是放大器输出端口传送到负载的功率与信号源实际传送到放大器输入端口的功率之比。
增益平坦度,是指在一定温度下,整个工作频带范围内放大器增益的变化范围,也是放大器的一个主要指标。 输出功率和1dB压缩点(P1dB)
参见上图,当输入功率超过一定量值后,晶体管的增益开始下降,最终结果是输出功率达到饱和。当放大器的增益偏离常数或比其他小信号增益低1dB时,这个点就是大名鼎鼎的1dB压缩点(P1dB)。一般说放大器的功率容量,就是拿1dB压缩点来表示的了。 效率
由于功放是功率元件,需要消耗供电电流。因此功放的效率对于整个系统的效率来讲极为重要。
功率效率是功放的射频输出功率与供给晶体管的直流功率之比。
ηp=射频输出功率/直流输入功率 交调失真(IMD)
交调失真是指具有不同频率的两个或者更多的输入信号通过功率放大器而产生的混合分量。这是由于功放的非线性特质造成的。
其中,由于三阶交调产物离基波信号特别近,影响最大,因此交调产物中最着重考虑的就是三阶交调。三阶交调产物越低越好。 三阶交调截止点(IP3)
图2中基波信号输出功率延长线与三阶交调延长线的交点称为三阶交调截止点,用符号IP3表示。
IP3也是功放非线性的重要指标。当输出功率一定时,三阶交调截止点输出功率越大,功放的线性度就越好。 动态范围
功放的动态范围一般是指最小可检测信号到线性工作区最大输入功率之间的差值。自然,这个值肯定是越大越好。 谐波失真
当输入信号增加到一定程度后,功放会由于工作到了非线性区产生一系列谐波。对于大功率放大器系统中,一般需要用滤波器将谐波降到60dBc以下。 输入/输出驻波比
这也是非常重要的指标,表明功放和整个系统的匹配程度。输入、输出比变坏会导致系统的增益起伏和群时延变坏。但是高驻波比的功放是比较难以设计的,一般的系统中,都会需要要求功放的输入驻波比低于2:1。
硬件开发
2019-11-07 11:24:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
1、初识高频电路
高频电路高频电路基本上是由无源器件、有源器件和无源网络组成的。高频电路中无源线性元件主要是电阻(器)、电容(器)和电感(器)。高频电路说白了就是无线电电路,但是不涉及微波电路(微波用于处理一千兆赫兹以上电路,要从物理学的电磁场入手,跟我们常见的电路很不一样),用于无线电波发射、接收、调制、解调、放大等等。
2、高频电路性能指标
高频小信号放大有谐振放大和宽带放大两种电路形式,性能指标主要包括如下几项。
(一) 增益
高频电路与低频电路一样,有电压增益和功率增益的指标。对于谐振放大电路,是指在谐振频率f0处,对于宽带放大电路,是指在一段频率泡围。
(二) 通频带
与低频电路概念相似,对于谐振放大电路,通频带是指相对于谐振频率f0,归一化幅竟下降到0.707的两个对应频率之差;对于宽带放大电路,则是相对于一段频率的相应定义。
(三) 选择性
选择性主要针对谐振放大电路,表征电路选择有用信号抑制无用信号的能力,通常用矩形系数和抑制比来衡量,都是基于电路的谐振特性曲线。
(四) 噪声系数
放大电路工作时,由于种种原因会产生载流子的不规则运动,在电路内部形成噪声,使信号质量受到影响。这种影响通常用信号功率Ps与噪声功率Pn之比(简称信噪比)来描述。噪声系数定义为输入信噪比与输出信噪比之比。
(五) 稳定性
高频放大电路的稳定性是指工作状态或条件发生变化时,其主要性能的稳定程度。例如,环境温度的改变或电源电压的波动,会影响放大电路的直流工作状态;电路元件参数也会改变,导致放大电路增益发生变化,中心频率偏移,谐振曲线畸变。甚至产生自激而完全不能工作。
3、高频电路接地原则
对于工作频率较高的电路和数字电路,由于各元器件的引线和电路的布局本身的电感都将增加接地线的阻抗,因而在低频电路中广泛采用的单点接地的方法。若用在高频电路容易增加接地线的阻抗,而且地线问的杂散电感和分布电容也会造成电路间的相互耦合,从而使电路工作不稳定。
为了降低接地线阻抗及其减少地线间的杂散电感和分布电容造成电路间的相互耦合。高频电路采用就近接地,即多点接地的原则,把各电路的系统地线就近接至低阻抗地线上,一般来说,当电路的工作频率高于10MHz时,应采用多点接地的方式。由于高频电路的接地关键是尽量减少接地线的杂散电感和分布电容,所以在接地的实施方法上与低频电路有很大的区别。
4、射频电路介绍
射频(RF)是Radio Frequency的缩写,表示可以辐射到空间的电磁波频率,频率范围从300kHz~300GHz之间。射频就是射频电流,它是一种高频交流变化电磁波的简称。每秒变化小于1000次的交流电称为低频电流,大于10000次的称为高频电流,而射频就是这样一种高频电流。射频(300K-300G)是高频(大于10K)的较高频段,微波频段(300M-300G)又是射频的较高频段。
在电子学理论中,电流流过导体,导体周围会形成磁场;交变电流通过导体,导体周围会形成交变的电磁场,称为电磁波。
在电磁波频率低于100khz时,电磁波会被地表吸收,不能形成有效的传输,但电磁波频率高于100khz时,电磁波可以在空气中传播,并经大气层外缘的电离层反射,形成远距离传输能力,我们把具有远距离传输能力的高频电磁波称为射频。
5、射频电路组成和特点
普通手机射频电路由接收通路、发射通路、本振电路三大电路组成。其主要负责接收信号解调;发射信息调制。早期手机通过超外差变频(手机有一级、二级混频和一本、二本振电路),后才解调出接收基带信息;新型手机则直接解调出接收基带信息(零中频)。更有些手机则把频合、接收压控振荡器(RX—VCO)也都集成在中频内部。
功率较大,能通过天线或射频发射头向外界发射或辐射出高频电磁波的电路叫射频电路。射频电路电的特点就是能向外界发射高频电磁波。
高频电路是泛指能运行高频信号、接收高频信号,或产生高频信号,或放大高频信号,传导高频信号,或处理高频信号的电路。射频电路也是高频电路的一种。
硬件开发
2019-10-30 10:40:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
数据防泄漏系统 的发展,减少了国内数据泄露事件的发生,保护了个人信息安全,企业信息安全,保密级数据安全等互联网时代发展的重点关注话题,国内信息化步伐的加快,改变了传统的办公以及发展模式,互联网、电脑、信息化已基本完成了与企业(无论是制造行业、设计行业、医疗、化工行业等等)进行了完美的融合,并且基于信息化技术的发展,也带动了企业的进步和发展。
信息化的脚步虽然为企业带来的发展的便利,但信息化也存在这一定的数据隐私保护的安全问题,如果来实现对企业数据安全的管控对于企业的发展来说至关重要,而在这样的环境下,企业需要一套数据防泄漏系统来加强对内部数据文件的管控。目前国内的数据防泄漏解决方案,已经具有了良好及稳定的发展,并为国内的数据安全提供了有效的保护,从根源上尽量减少数据泄露事件的再次上演。
一、加强电子文件在使用中的安全保护
电脑、笔记本成为企业办公不可或缺的组成部分,企业在日常的办公、以及以客户关于产品或者某个设计方案的沟通中都会使用到电脑,电脑不仅是沟通以及办公的重要成分,同时也是企业数据存储的核心地方。
对于企业来说,要正确合理的掌握企业在日常发展中存在的利弊以及企业管理过程中存在的数据安全隐患也要及时的进行调整,其实对于企业数据安全管控这块,国内目前已经有了很好的解决方案,实用性强的数据防泄漏系统,不仅能够加强企业对内部数据安全的管控,同时能够提高工作效率,保证数据安全!
二、集中管理企业数据文件,明确部门文件的使用权限
借助于数据防泄漏系统,不仅在不影响使用者操作习惯的前提下对企业内部的数据文件进行加密管控,同时也方便企业加强企业不同部门之间的集中管理。
基于集中管理过程中,企业可以通过数据防泄漏系统对不同部门之间的数据文件的流通使用等等做一系列的控制,只有获得管理员允许的操作,跨部门文件才能流通正常使用,否则无法使用,这一系列的设置,保证不同部门之间的数据安全,防止文件随意跨部门使用,造成的数据泄露事件的发生。数据防泄漏系统不仅能够助力企业对数据信息进行透明化安全掌控,同时能够加强对数据文件的集中管控,节约人力成本!
三、产品运作是否稳定,安全系数高
产品在使用过程中的稳定性以及安全性都是值得考虑的重要问题,在企业办公中,个人或者团队在企业办公中劳动产生的系列劳动成果,都是企业具体的特殊财富以及版权!
企业借助数据防泄漏系统,保证数据文件安全,防止数据文件通过邮箱、移动设备、聊天工具等等造成的数据泄露事件,保护企业的知识版权,安全系数高!
企业数据安全的管理是目前企业发展中需要解决的问题,想要做好企业的数据安全防护,一定是需要付出一定的管理成本的,这样帮助企业在短时间内,构建完成的数据防泄漏系统方案,保证数据文件在使用过程中的安全!
硬件开发
2019-11-20 16:34:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
随着5G通信的落地应用,未来物联网的发展将获得更为全面的支撑。以工业物联网为例,5G通信将在以下几个方面来助力工业物联网的发展:
(1)促进工业物联网的应用拓展,5G通信的大带宽、靠可靠、低延时等特征在很大程度上考虑了物联网的需求,所以很多人也把5G时代称为物联网时代。在5G通信的支撑下,工业物联网的应用将得到拓展,促使物联网可以应用在更多的场景下。



(2)5G通信的应用促进了工业物联网的智能化发展,涉及到云计算、边缘计算、大数据等技术体系的部署,借助于5G通信的支撑,人工智能将在数据和算力两方面得到更为有效的保障。



(3)5G通信对于促进工业物联网的落地应用起到积极的意义,一方面5G可以支撑更多的物联网设备,另一方面也能够保障这些设备之间的可靠通信。5G通信还能在数据安全上起到一定的保障。
5G工业级物联网网关是物联网在5G时代重要伙伴之一,5G工业网关可以利用5G无线网络实现数据的高速、低延传输,有利于工业领域对监控设备更好的控制与管理。



BMG5100物联网千兆网关,支持5G网络,配置5路千兆网口,4路POE等丰富接口,广泛应用于智能制造、智慧医疗、智慧城市等对数据延时要求严格的场景。

硬件开发
2020-07-30 11:37:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
上海巨微独创的BLE射频前端的芯片是在巨微自主研发的BLE基带和协议栈基础上,精简开发的一系列性价比极高的射频芯片。巨微MG126和MG127系列射频芯片可以与市面上绝大多数MCU芯片配合,完成BLE数据传输功能。是广泛的MCU微控制公司的无线好帮手。

射频芯片对应的协议栈设计精简。协议栈如果用软件来实现,并运行在MCU上的情况下,代码和程序所占用的空间和运算量会影响MCU的应用程序的开发能力,也会是MCU生态最大的考量。代码精简的协议栈将是降低MCU接入门槛的最大因素。

射频芯片结构简单和性价比高。 射频芯片 的结构要足够简单和成本低,封装或晶圆面积要足够小,以便于模块和合封方案的设计。

射频芯片与MCU之间的接口要非常简单和通用。SPI接口是MCU行业最常用的兼容性最好的接口。这种接口不限于两颗芯片之间的时钟异步,对信号的传输成功率有很好的保证。


射频芯片供应商提供完整的兼容性保障。蓝牙兼容性是所有 蓝牙芯片 供应商面临的最棘手也是最开放的问题。快速及时且有效的解决客户产品的兼容性问题,是通用蓝牙射频芯片供应商所提供的最重要的技术保障。

射频芯片供应商上海巨微不仅能够提供封装片,还能提供晶圆合封生产中的封装测试的专业支持。提供小体积的封装片不仅仅能够满足系统验证和早期调试的要求,还能够满足一部分小批量的方案商的需求。同时提供完整的射频测试的流程支持。这部分的专业技能,是MCU公司所不具备的。上海巨微总代理英尚微电子提供产品解决方案及技术指导。

巨微通用BLE射频收发前端芯片
Part VDD (v) Package 系统要求 功能
MCU Core ROM RAM SPI Freq
MG127
MG126
1.9 ~ 3.6
1.9 ~ 3.6
DFN-10
QFN-16
8/16/32Bit
32Bit
300B
16KB
-
4KB
软件/硬件
硬件
无要求
48MHz
蓝牙Beacon收发
蓝牙协议栈
硬件开发
2020-07-08 14:27:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
云妹导读:
“堵车真耽误事,今天还要把一车的货物送到仓库,看来剩下的几个小时都不能休息了。”服务区里,老张一边和同行聊着天,一边大口地吃着方便面。来不及享用一顿正餐,也来不及好好休息,很快他就又要匆匆回到卡车里继续赶路。
作为一名货运卡车司机,老张的经历并不是个例。货车司机常常住在车上风餐露宿,一天开十几个小时的车不说,吃饭从来就不会有一个定时,为了赶路一天吃一两顿饭很正常。疲劳驾驶带来的的风险十分巨大,加上因货车质量体积大,一旦出事故都不会是小事故。如何有效的保障货车司机的生命安全,这恰恰也是我们非常关心和关注的问题。
而对于货车的雇主——商用车队而言,对车辆的管控也是一大难题。在路上车辆的运行情况、司机的安全驾驶情况,公司的管理者往往都不是很清楚。除了容易引起事故外,部分司机的不良驾驶行为也会导致货车雇主整体运营成本的增加。
01 如何解决商用车队的管控难题?
京东是全球唯一拥有中小件、大件、冷链、B2B、跨境和众包(达达)六大物流网络的企业,京东物流大件和中小件网络已实现大陆行政区县100%覆盖,自营配送服务覆盖了全国99%的人口,90%以上的自营订单可以在24小时内送达。
为了将这些仓库中的货物快速送到客户手中,京东在全国拥有20多万辆车,将亿级数量的包裹运输到全国各地,货运能力之大超乎想象。那么,京东是如何管控数量庞大的司机、车辆、货物呢?
京东物流车联网的最强支撑——京东智联云商用车数字车队
这就不得不提到京东智联云推出的商用车数字车队解决方案了,它是以京东物流核心运输基础设施、技术和运营能力为基础,基于IoT、5G、区块链、北斗定位、图像处理、人脸识别、大数据等技术和算法,建设的面向物流运输以及其它商用车的车联网融合创新应用体系。
解决方案架构图
商用车数字车队解决方案集成北斗/GPS、ADAS、高清摄像头、冷链温湿度、EMS、智能电子锁、智能量方、人像打卡等多种车联网设备,融合形成服务物流运输的车辆多温区冷链、快递到车、智能货物安全箱、两客一危主动安全驾驶辅助系统、车辆智能安全电子锁、车辆高清视频、智能量方、5G智能园区等全方位创新应用生态。全面提升交通运输行业的人、车、货、场的运营管理能力,推动商用车车联网融合创新技术应用示范与推广,提升产业技术创新能力,促进传统交通运输产业降本增效和转型升级。
02 拥有 20 万辆商用车的京东车联网是如何运作的?
物流是loT应用落地的最好场景,目前,该套方案已在京东物流全国范围内进行实施,并取得了良好的运营效果。京东通过人、车、货、场全链条覆盖的车联网设备应用,实现物流运输全链路感知。各环节探测和监管范围包括分拣/转运中心、自营配送员、商用车,以及全年亿级数量的包裹运输,传感器设备涉及仓、拣、运、配、人、货等各个物流环节达种50多种,涵盖了安全、效率、成本、AI决策支持等各个应用领域,物流订单轨迹服务已实现秒级动态更新。
有了这套车联网解决方案后,车辆实时的情况、货物的实时情况、司机的情况都可以随时掌握,例如车在什么位置,车辆的运行速度,车辆有没有隐患,货物是否安全,都可以通过该车联网平台监控到。
下面就带大家逐一揭秘该解决方案中的关键系统:
主动安全驾驶辅助系统
安全是物流行业始终面对的经典问题。主动安全驾驶辅助系统(ADAS)应用解决了两客一危和物流车队的“安全管理”难题,以车辆网、视觉识别和大数据为依托,采用业内先进的图像处理技术、人脸特征识别分析技术、车道检测和无线通讯技术、全球卫星定位技术,实现对驾驶员和车辆的实时安全预警,并通过无线通讯将图像和影像传输至云端平台,达到远程监管和统计分析的目的。
主动安全驾驶辅助系统硬件上采用了车规级ARM芯片,是一款集安全驾驶行为分析、辅助驾驶及行人避撞等功能为一体的主动安全防控产品。通过大数据图像特征分析、深度学习算法,对人、车、路综合环境信息进行识别与分析,对潜在的安全风险进行识别和预警,从根本上解决传统管理上看不见、摸不着、管不严的弊端,防止和减少各种安全事件的发生,全面提升企业安全管理效率与水平。
通过主动安全驾驶辅助系统,能够实时提醒驾驶员纠正不良驾驶行为,预防事故发生,逐步降低不良驾驶次数,借此培养司机养成良好的驾驶习惯,降低事故风险。通过驾驶员驾驶行为的管控,大幅减少出险,从而达到降低保险费用的目的,降低公司运营成本;可以减少和避免因为事故造成的误工、时效延误、紧急调车换车、保险拒赔等损失;提供运输时效保障,减少公司负面影响。
目前,主动安全辅助驾驶系统已在京东物流华北、华东、华南三个大区的干支线运输业务推广实施,实施后1个季度,驾驶员驾驶习惯和不良行为统计数据整体下降了近90%。
车辆智能安全电子锁
车辆智能安全电子锁应用帮助普货配送、危化品、冷链生鲜等行业用户解决传统途中监管管理的困难,支持手持设备、使用电子锁面板键盘或途中监管平台远程开锁,途中监管平台管理开锁密码和记录开关锁位置、锁的运行轨迹、开关锁历史记录和报警信息等功能,提高工作效率,降低运营成本。
车辆多温区冷链
随着生活水平的提高,人们越来越离不开新鲜食物。而各类新鲜食物从原产地运输到市场中通常也是通过车辆运输,为保证食物的新鲜,保温保湿的冷藏运输车辆在生鲜市场上起到举足轻重的作用。
车辆多温区冷链应用采用逐级降温和智能温控等技术,做到全程封闭温控管理,远程多温区控制、温湿度异常监控。此外依托全程产品冷链流通技术,产品采收以后,送恒温车间降温及保鲜处理,随后称重装箱继续放置冷库降温后装运冷柜,并通过全程监控保证多温区货柜运输全程保持在各区的合理温度范围,直到抵达目的地开柜。
车辆多温区冷链应用于京东物流冷链业务,提供冷链车队的实时温湿度监控,目前已在全国自营冷链车队推广,三方承运商和冷链合伙人已接入8万余辆。
硬件上,京东还提供了便携式温湿度测量仪,这是一种用于测量瞬时温度和湿度的物联网设备,具有温湿度测量、显示、记录、实时时钟、数据通讯和超限报警等功能,性能稳定、体积小巧、记录信息量大、精度高、功耗低等特点。可用于生鲜产品、药品运输及城市配送、农业。
智能货物安全箱
智能货物安全箱应用基于NB-IOT技术的第二代智能硬件设备,捕获货物位置信息将其上传到云平台,具有远程控制智能电子锁,防水和防撞壳的安全性。智能电子锁激活并自动锁定后,只有收件人使用密钥才可以开箱。运输过程中,保险箱的电量,运输速度,所处位置,被撞击的系数等信息将实时上传,非常的透明、公开、安全。
京东快递智能货物安全箱应用在全国已为近100万用户和企业提供安全寄送服务,累计实现了300万件货物的安全派送。
此外,基于移动、易安装、低功耗的需求特点定制研发的低功耗便携式定位终端,具有体积小巧和高可靠性的特点,在物流快递、城市配送、仓储服务、出租车、公交运营等场景中可以提供强大的移动目标实时跟踪和监控防盗功能。
车辆智能量方
在物流运输中,提升装载率是车队普遍面临的难题,它直接影响着效率和成本。货物摆放、空间利用,都是困扰物流企业的装载率难点,经常要反复丈量,仔细计算。传统装载率只能靠人工估算,无法保证真正满载,导致趟数增多、运输成本直线上升。
车辆智能量方应用基于红外测距传感器+摄像头技术,实现挂车的AI量方,对舱内货物进行高精度扫描+三维建模,自动算出货舱容积,实现精确量方,为车队调度人员提供车辆的位置、剩余方量、装载率、装卸时效、货物安全等一系列信息,用于监控装载舞弊现象、装卸工绩效考核,辅助量方结算。
车辆智能量方应用在京东华北区域的干线车辆进行实施运营,装载智能量方的智能挂车至少能提升20%的装载率,提升5~10个点的一次性约车成功率。
智慧园区
智慧园区是结合人工智能、大数据及增强现实等技术,实现无线网络通信及车辆网平台与物流应用的深度融合创新,面向智能园区、智能仓储、智能分拣等多种智能物流应用场景,支持物流信息的高效自动感知、数据的精准采集,资源的优化调度、运营的智能决策,从而全面推动物流业务的数字化与智能化,实现物流产业降本增效和转型升级。
事实上,京东智联云商用车数字车队解决方案不仅仅只面向物流行业,由于提供的是一个标准开放的SaaS化商用车车联网平台,还可以延伸至农业、工业、基础设施、公共服务等领域的商用车联网解决方案,赋能更多行业进行智能化、数字化转型。
京东为此构建了服务商用车全产业链的车联网智能开放生态产业平台及相关标准,提供标准的商用车车联网设备全生命周期管理功能,制定平台接入标准、硬件制造选型标准、数据传输接入标准、数据质量控制标准,能够接入传感器、智能设备、集成式硬件等各类感知终端,完成车辆数据的高性能采集接入、清洗、存储,车辆管理,提供车辆轨迹管理、车辆全图监控、温湿度事件、驾驶事件、安全事件、实时视频、装载、设备管理等多种安全、可靠、高性能的SaaS化服务,有效赋能物流车队、承运商、客运公司、校车服务,为其提供一体化的商用车数字车队车联网综合解决方案。
点击“ 阅读 ”了解更多关于商用车数字车队解决方案。
硬件开发
2020-06-10 09:47:00
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
日期:2020/6/1
Kuiper 团队宣布发布 Kuiper 0.4.1
Kuiper 0.4.1 可以从这里下载 。
EMQ X Kuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。Kuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(比如 Apache Spark , Apache Storm 和 Apache Flink 等)迁移到边缘端。Kuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于 源 (Source) , SQL (业务逻辑处理) , 目标 (Sink) 的规则引擎来实现边缘端的流式数据处理。
网址: https://www.emqx.io/products/kuiper
Github仓库: https://github.com/emqx/kuiper
概览
Kuiper 0.4.1 版本主要修复了一些从社区中反馈的问题。
功能 支持插件多实例的功能。之前的版本中,插件只支持单个实例,现在用户可以通过返回一个构造函数来支持插件多实例功能。 修复 规则文档中 关于 dataTemplate 使用方法的说明 修复 EdgeX 浮点数据 在某些情况下不能处理的问题 支持通过 Docker 环境变量来修改 EdgeX MQTT 消息总线的配置 支持将汇聚函数的运算结果作为别名,然后在 WHERE 或者 HAVING 表达式中使用别名进行引用,这样可以避免多次运算,提高了运行效率 删除不存在的流、规则时返回 404,而非之前的 400 修复了删除规则后, 未成功发送的数据被无限重发的问题 支持在 SELECT * 的时候,可以根据流中字段定义,实际发送的数据中字段的大小写进行正确处理 修复同一类型的 sink,无法准确发送消息的问题 http_pull 源 支持,可以定时从 HTTP rest 接口中拉取数据
感谢
@worldmaomao 提供了 浮点 运算的修复
联系
如果对Kuiper有任何问题,请随时通过contact@emqx.io与我们联系。 版权声明: 本文为 EMQ 原创,转载请注明出处。
原文链接: https://www.emqx.io/cn/news/release-notes-kuiper-0-4-1
硬件开发
2020-06-02 15:16:00
不用skill我也照样可以一键添加光辉
作为一个layout攻城狮,在设计时一定要规范化。这点非常非常重要!
之前发文allegro出gerber教程,发现有粉丝提出为啥不提用skill自动添加光辉文件?以及能不能像AD那样批处理?
我只想说你对allegro的了解还不够呀。自带功能那么好,为啥还要用skill?批处理?那是什么。我可以一键完成!!
skill可以实现一键添加,但也有局限性,一般的layout工程师的skill都是网上下载的。别人的设置和自己的可能存在差别。比如添加了你不需要的层面,或者少加了你需要的层面。这样你就得去修改。
而allegro自带的功能就能是我们的操作变的很简单。不但让你一键添加光辉层,还能让你一键设规则,让你远离那些重复的操作。现在我们就来说说如何使用这个功能
作为一个layout攻城狮,你一定有很多已经设计好的PCB文件。2.4.6.8.10层板,样样都有。但是我现在需要画一个6层板,我可不想一遍遍的设置规则,一条条的添加光辉,一个一个去修改各个层面的颜色,一个个的更改字符大小。怎么办呢?急在线等!
那么简单的方法来了!!!首先我们打开我们“珍藏多年”的6层板,选择EXPORT如下图
既然已经导出了那么下一步就很明显了,真相只有一个!!!
新建立的一个BRD文件。并将叠层设置与“珍藏多年”的6层板一致。
然后选择import,导入之前所导出的文件
导入完成后你会发现你的光辉文件已经加好了,颜色配置好了,字符大小也设置好了。
但是规则咋没有呢。别急规则设置和他们不在一起。再次打开“珍藏多年”的6层板依然是EXPORT。此次你就轻车熟路了!
下面的步骤你肯定也就明白了,打开新建的BRD文件选择import导入刚刚导出的规则文件。这样规则就导入完成了
这个功能是不是比skill还简单粗暴?那还不赶快去试试,让你的设计速度飞起来!!!!!!!
硬件开发
2019-10-18 10:32:00
在Allegro软件中,Class和SubcClass是一个相对新的专业术语,这里单独拿一节出来给大家讲解一下。
相信不少画过PCB的读者也许跟笔者一样也用过AD,刚从AD过来学习allegro都会发现allegro这个平台所有对象都分Class和Subclas。比如上一节中的板框我是定义在了 Board Geometry 的Outline里面。
其实Allegro将所有元素都分类的很仔细是方便后期的操作,我觉得建立了Subclass其实就是对每个Class的一个细化,比如在Board Geometry中有丝印层silkscreen_Top,在Package Geometry也有 silkscreen_Top。而在AD中silkscreen_Top就只有一层了,所以假如我选择了对Board Geometry中有丝印层silkscreen_Top的任何编辑都不会影响,Package Geometry的 silkscreen_Top。
换句话说,其实就是allegro把不同元素细化,方便各个对象管理和控制。
《一》初步认识class和Subclass
这里主要讲我们PCB常用的class,以及subclass,其他class和subclass用的不多,在大家熟悉软件做项目多了就加深印象了,后面的叠层设置和项目实战系列加深class和subclas的理解。
刚入门allegro常接触的几个class是下面板框、封装、铜皮、位号这几个大类
常见的Class
常用的subclass是顶层丝印、底层丝印、装配层、placebound、顶层开窗、底层开窗、顶层paste、底层paste层。
常用的Subclass
《二》查看class和Subclass
(1)在颜色面板可以看查看Class和Subclas
(2)在左边的选项面板中可以查看
《三》添加和删除subclass
在上一节添加DXF的时候我们可以添加对应的层,但是我们不可能每次都要无缘无故找个DXF来添加subclass,那样太麻烦了。
比如我需要添加一个DXF的图层,我计划添加在Board Geomtry里面的添加一个DXF subcalss,方法如下:
(1)Stup菜单中选择Suclass
(2)进入菜单后,找到我们需要加的Board Geomtry,然后在右侧的弹出的菜单输入DXF,按Enter即可。
Subclass添加界面
(3)如果需要删除subcalss,前提是确保您的PCB上没有调用任何该subclass的元素,否则删除会失败,但是系统会提示您它的位置。如刚刚我们添加的DXF需要删除就点击左侧 -> 的这个按键这里就可以删除了
DXF删除界面
硬件开发
2019-10-18 10:24:00
Allegro作为一款高速PCB设计的EDA软件,有完善的约束规则设计和信号完整性电源完整性仿真等各种专业工具深受电子行业从业者喜爱。
对于该软件来说,电子从业者接触最多的就是 Allegro 的画板功能,磨刀不误砍柴工,
经历了之前几节的封装知识讲解,今天就先讲env设置快捷键。
Allegro有2个env文件可以设置快捷键。
找到env后用记事本打开既可以编辑
简单介绍一下快捷键用到的命令,主要有2个,一个是Alias,另外一个是Funckey。
1.定义连线功能快捷键,这里用3种不同命令演示。
(1)用字母FAlias F Add Connect
(2)用组合键如Ctrl+F Alias F3 Add Connect
(3)F2~F12 Alias F3 Add Connect
2.妙用系统自带的注释
很多时候我们想设置快捷键的时候却不知道我们想点击的快捷键是什名字,这个就比较尴尬了,比如说我们想用L实现颜色管理器快捷方式,我们可以直接把鼠标放置在颜色管理器上面,他上面会显示Color192,这种就是注释功能,我们就可以用快捷键来实现了
《三》妙用jrl日志查找
第二种方法方法不错,但是如果想对各类菜地里面的功能进行快捷键设置就痛苦了,因为它藏在里面去了,你找不到了是吧!不怕,这个时候我们要妙用jrl日志来帮我们。
比如我们需要设置
这个设置栅格界面的快捷键,打开之后我们就退出PCB。
在PCB的路径下找到
看到下面就知道他对应的功能名称叫做define grid
那么我们就可以用Alias 或者Funckey来定义了
Alias G Alias define grid
或者 Funckey G define grid
最好添加这个funckey Esc Cancel,个人觉得,按住Esc退出当前操作这个命令使用次数非常频繁!强烈推荐!
最后附上本人列出的几个快键键提供给大家参考,完整的env大家可以留言给我。
funckey D delete
funckey E move
funckey M mirror
funckey R iangle 90
funckey S slide
funckey Z undo
funckey L color192
##这个color92就是用上面的第二种方法找到的颜色设置界面
硬件开发
2019-10-17 10:43:00
立题简介:
内容:简单介绍Allegro绘制的PCB工程;
来源:实际使用得出;
作用:对Allegro绘制PCB进行初步展示;
PCB环境:PCadence 16.6;
立题详解:
对绘制PCB板而言,当前主要有3种:“AD”、“”PADS“、“Cadence”;
对比3者之间的使用,就目前而言,“Allegro绘制PCB”而言,其入门较难,但其“文件备份最少”、“工程规则检查最严格”、“PCB设置更完善”;
在使用其绘制“1000个元件以上的PCB板”时,“Allegro”仍可“流畅运行”,“PADS”也可流畅运行,但“DXP”出现“严重卡顿”,尤其是在“多次编辑后”,其“工程目录下”的“history文件夹”会“极具增大”,严重时其可达到“5G以上”,且“卡顿严重”;
“Cadence”在后期PCB优化”,主要有以下2部分:“添加泪滴”、“添加敷铜”,最后外发制板时必须发布“Gerber文件”,目前接触的“PCB板厂”大多不直接支持“Cadence文件”,而使用“Gerer文件”,其可“减少PCB制板的中间环节”,即使“外发文件”为“PCB源文件”,厂商也会“转为GERBER文件”后再进行“PCB制作”,铜丝“Gerber文件”对“源文件的保密性更好”;出具“GERBER文件”实例如下:



从UI角度而言,“Cadence”文件的“美观性”与“DXP”相比,并不具有优势,但其在“绘制大规模PCB板”时,其流畅性远超“DXP”;无论何时,“软件”只是工具,必须根据“不同需求选择不同软件”,毕竟“每个软件都有其侧重点”,“兼顾所有的软件,也失去了其自身的优势”;
硬件开发
2019-10-17 10:38:00
立题简介:
内容:推荐一款allegro自动对齐工具;
来源:实际使用得出;
作用:对Cadence使用allegro绘制PCB时进行自动对齐;
PCB环境:Cadence 16.6;
立题详解:
对Cadence绘制PCB时,多使用allegro进行绘制PCB;但allegro中,在16.3以前多没有自动对齐工具,很多时候,需要人工凭借直觉或格点进行对齐,效率并不高;此处,为解决自动对齐问题,推荐一款allegro自动对齐工具;
本次使用版本为“Cadence 16.6”,若无必要,建议学习时直接使用“16.5”或“16.6”版本,“17.2”版本对之前的库及PCB兼容性略显不足;
推荐“工具名”为“Allegrozddq”,为“allegro辅助插件”的一种,解压后,文件排布如下suos
Allegrozddq解压文件排布
无需安装,只需按照以下操作即可:
1)解压icons.rar至目录 Cadence\SPB_16.5\share\local\pcb\icons;
2)解压skill.rar至目录Cadence\SPB_16.5\share\local\pcb\skill;
3)解压align.rar至目录Cadence\SPB_16.5\share\local\pcb\forms;
4)重启Allegro,输入命令“AL”并“回车”即可启动;
PS:建议使用为Allegro版本16.3以上版本,“16.6”已测试通过;
使用截图如下所示:
对齐前图片
top对齐
对齐后图片
如上所示,直接单击top后,即可实现对元件的top顶部自动对齐,对初期排布元件和后期修正器件位置时,可大幅提高工作效率;
硬件开发
2019-10-17 10:30:05
Allegro是常用的三大PCB设计软件之一,本文继续与大家分享一些Allegro的实用小技巧。
1、修改和导入DXF文件
(1)删除原有板框图
选择删除命令。
图1
操作对象属性选择Lines(线)–>光标选择板框,空白处双击–>删除选择的板框。
图2
(2)导入DXF板件结构文件
Flie–>Import–>DXF–>弹出导入操作界面。选择DXF文件所在路径,注意路径和文件名称不能有中文、标点等。
图3
点击Edit/View layers按钮–>编辑要导入的目标层。选择OUTLINE为板框,在任何层都会显示。
也可以选择BOTTOM ROOM或者TOP ROOM,在导出geber时与OUTLINE会多处一些文件。
图4
回到DXF In界面–>点击Import按钮–>导入DXF文件。此时导入的DXF结构图形还没有在正确的目标位置。
(3)整体移动DXF结构图形至目标位置
点击移动按钮(或快捷键)–>选择操作对象属性Line。
图5
图6
在Option栏中选择User Pick(使用用户拾取目标点)–>命令栏输入DXF结构图形坐标–>光标移动至对应点,此时可以整体移动DXF结构图形。
图7
图8
输入移动的目标点坐标,回车,完成移动。注意User Pick中的对应的DXF结构图形位置要与目标点坐标相对应。
图9
2、显示部分元件飞线
为了方便布线有时需要显示部分元件的对应飞线,以便了解元件间的物理关系。
Display–>Show Rats–>Components–>点击元件,显示该元件飞线。
Display–>Show Rats–>Nets–>框选部分区域,显示所框选区域飞线。
点击工具栏Net Schedule–>点击焊盘–>显示与该焊盘有关的飞线。
图10
3、拖动元器件
在PCB布局或者layout时,有时元件的焊盘已经走线,在此时移动元件时可以保留或删除与之相关的走线。
首先,选择移动命令,在Find栏中勾选Symbol。
图11
图12
其次:勾选Ripup etch–>移动元器件时,与之连线自动断开。勾选Stretch etch–>移动元器件时,与之连线自动转换角度并连线。
图13
欢迎各位小伙伴订阅分享转发评论,以后会分享更多Altium Designer和Allegro的实用技巧。
硬件开发
2019-10-17 10:24:08
在allegro pcb的设计过程中,设计约束规则包括时序规则、间距规则、信号完整性规则以及物理规则等,本期主要详细讲解与物理、间距与电气约束中的线宽、线间距物理规则的设置。
一、线宽设置
(1)设置默认约束
点选 Physical Constraint Set 即可出现 Default 的 Physical 相关设定值,如LineWidth、Neck width等,如下图1-1
图1-1物理默认规则设置
(2)设置特殊物理规则
点选 Default 按鼠标右键,执行 Create Physical CSet 加入新规则。
图1-2新增物理规则
修改其值,如下图1-3所示:
图1-3设置新增规则参数
然后在分配网络,左边点击 Net-All Layers,右边为所需设置的网络分配规则,如下图1-4所示:
图1-4给需要的网络赋予规则
二、线间距设置
(1)设置默认间距规则
单击 Spacing,再点击 All Layers,如下图1-5所示。右边有一个DEFAULT 就是默认规则,可以修改其值。
图1-5整体修改参数
按住 Shift 键,点击第一个和最后一个即可选中所示,然后输入一个值,这样就都修改了。
(2)定义特殊的间距约束
点选 Default 按鼠标右键,执行 Create-Spacing CSet,加入新规则。取一个有意义点的名字,如下图1-6所示
其值 Allegro 是从默认规则拷贝的,先修改其值。按住 Shift 键选中所有,输入12,回车。
图1-6设置线宽12mil规则参数
然后为所需要设置的网络分配规则,单击左边的 Net-All Layers,在右边工作簿中,为 GND 网络设置 12_MIL_SPACE 规则,在 Referenced Spacing CSet 下选中12_MIL_SPACE,如下图1-7所示。
图1-7赋予间距规则
(3)设置 Class-Class 规则
若要针对不同的信号群组有不同的间距规则,则需要设置Class-Class,选到 Net Class-Class 后,在右边 CLOCK上右键选择 Create Class-Class…,如下图1-8所示。
图1-8创建Class-Class
选择 2 个不同的 Net Classes,如下图1-9所示,单击 OK。
图1-9选择Net Class
如下图1-10所示。在右边的 Referenced Spacing CSet 栏可以修改其值。
图1-10设置Class-Class参数
在进行实际PCB设计前,把一些约束设置都设置好,PCB工具会自动根据定义的约束对设计进行检查,不符合约束的地方会用DRC Markers标记出来,以方便工程师进行修改
硬件开发
2019-10-16 11:33:00
立题简介:
内容:简单介绍Allegro绘制的PCB环境下的快捷键;
来源:实际使用得出;
作用:对Allegro绘制PCB快捷键进行介绍;
PCB环境:Cadence 16.6;
立题详解:
对“allegro”板而言,其在PCB环境下,与pads、dxp相比,其快捷键与常规应用差别巨大,初次接触的新手很难适应,即便是老手,很多也是自成一套快捷键;原因很简单,allegro在pcb下的快捷键不全,且其功能太多,根本无从设置出完全符合大众口味的快捷键,对pcb举例截图如下所示:
图1 allegro举例pcb
在其上侧及左侧所对应图标,均为绘制pcb所需的常用操作;相对常规操作而言,键盘所对应字母的按键数目只有26个,远无法满足所有快捷键的需求,使用组合键,有时又欠缺方便之处,通过对比按键所处位置及使用allegro的一些小结,将所用的快捷键绘制成excel表整理出来,如下图所示:
图2 allegro快捷键设置1-小写字母
需注意的是,allegro为“大小写敏感”,本次快捷键介绍主要为“小写字母快捷键”,且所设置快捷键只为个人爱好,仅供参考
硬件开发
2019-10-16 10:52:00
先来熟悉几个概念:
信号完整性是指信号在信号线上的质量。信号具有良好的信号完整性是指当在需要的时候,具有所必需达到的电压电平数值。差的信号完整性不是由某一因素导致的,而是由板级设计中多种因素共同引起的。特别是在高速电路中,所使用的芯片的切换速度过快、端接元件布设不合理、电路的互联不合理等都会引起信号的完整性问题。具体主要包括串扰、反射、过冲与下冲、振荡、信号延迟等。
信号完整性问题由多种因素引起,归结起来有反射、串扰、过冲和下冲、振铃、信号延迟等,其中反射和串扰是引发信号完整性问题的两大主要因素。
反射和我们所熟悉的光经过不连续的介质时都会有部分能量反射回来一样,就是信号在传输线上的回波现象。此时信号功率没有全部传输到负载处,有一部分被反射回来了。在高速的PCB中导线必须等效为传输线,按照传输线理论,如果源端与负载端具有相同的阻抗,反射就不会发生了。如果二者阻抗不匹配就会引起反射,负载会将一部分电压反射回源端。根据负载阻抗和源阻抗的关系大小不同,反射电压可能为正,也可能为负。如果反射信号很强,叠加在原信号上,很可能改变逻辑状态,导致接收数据错误。如果在时钟信号上可能引起时钟沿不单调,进而引起误触发。一般布线的几何形状、不正确的线端接、经过连接器的传输及电源平面的不连续等因素均会导致此类反射。另外常有一个输出多个接收,这时不同的布线策略产生的反射对每个接收端的影响也不相同,所以布线策略也是影响反射的一个不可忽视的因素。
串扰是相邻两条信号线之间的不必要的耦合,信号线之间的互感和互容引起线上的噪声。因此也就把它分为感性串扰和容性串扰,分别引发耦合电流和耦合电压。当信号的边沿速率低于1ns时,串扰问题就应该考虑了。如果信号线上有交变的信号电流通过时,会产生交变的磁场,处于磁场中的相邻的信号线会感应出信号电压。一般PCB板层的参数、信号线间距、驱动端和接收端的电气特性及信号线的端接方式对串扰都有一定的影响。在Cadence的信号仿真工具中可以同时对6条耦合信号线进行串扰后仿真,可以设置的扫描参数有:PCB的介电常数,介质的厚度,沉铜厚度,信号线长度和宽度,信号线的间距.仿真时还必须指定一个受侵害的信号线,也就是考察另外的信号线对本条线路的干扰情况,激励设置为常高或是常低,这样就可以测到其他信号线对本条信号线的感应电压的总和,从而可以得到满足要求的最小间距和最大并行长度。
过冲是由于电路切换速度过快以及上面提到的反射所引起的信号跳变,也就是信号第一个峰值超过了峰值或谷值的设定电压。下冲是指下一个谷值或峰值。过分的过冲能够引起保护二极管工作,导致过早地失效,严重的还会损坏器件。过分的下冲能够引起假的时钟或数据错误。它们可以通过增加适当端接予以减少或消除。
在Cadence的信号仿真软件中,将以上的信号完整性问题都放在反射参数中去度量。在接收和驱动器件的IBIS模型库中,我们只需要设置不同的传输线阻抗参数、电阻值、信号传输速率以及选择微带线还是带状线,就可以通过仿真工具直接计算出信号的波形以及相应的数据,这样就可以找出匹配的传输线阻抗值、电阻值、信号传输速率,在对应的PCB软件Allegro中,就可以根据相对应的传输线阻抗值和信号传输速率得到各层中相对应信号线的宽度(需提前设好叠层的顺序和各参数)。选择电阻匹配的方式也有多种,包括源端端接和并行端接等,根据不同的电路选择不同的方式。在布线策略上也可以选择不同的方式:菊花型、星型、自定义型,每种方式都有其优缺点,可以根据不同的电路仿真结果来确定具体的选择方式。
信号延迟是电路中只能按照规定的时序接收数据,过长的信号延迟可能导致时序和功能的混乱,在低速的系统中不会有问题,但是信号边缘速率加快,时钟速率提高,信号在器件之间的传输时间以及同步时间就会缩短。驱动过载、走线过长都会引起延时。必须在越来越短的时间预算中要满足所有门延时,包括建立时间,保持时间,线延迟和偏斜。由于传输线上的等效电容和电感都会对信号的数字切换产生延迟,加上反射引起的振荡回绕,使得数据信号不能满足接收端器件正确接收所需要的时间,从而导致接收错误。在Cadence的信号仿真软件中,将信号的延迟也放在反射的子参数中度量,有Settledelay、Switchdelay、Propdelay。其中前两个与IBIS模型库中的测试负载有关,这两个参数可以通过驱动器件和接收器件的用户手册参数得到,可以将它们与仿真后的Settledelay、Switchdelay加以比较,如果在Slow模式下得到的Switchdelay都小于计算得到的值,并且在Fast的模式下得到的Switchdelay的值都大于计算得到的值,就可以得出我们真正需要的两个器件之间的时延范围Propdelay。在具体器件布放的时候,如果器件的位置不合适,在对应的时延表中那部分会显示红色,当把其位置调整合适后将会变成蓝色,表示信号在器件之间的延时已经满足Propdelay规定的范围了。
硬件开发
2019-10-16 10:43:00
约束规则的设置
分三步, 定义规则(一、基本约束规则设置:1、线间距设置;2、线宽设置;3、设置过孔;4、区域约束规则设置;5、设置阻抗;6、设置走线的长度范围;7、设置等长:7.1、不过电阻的NET 等长;7.2、过电阻的XNET 等长;7.3、T 型等长;8、设置通用属性;
9、差分规则设置:9.1、创建差分对;9.2、设置差分约束;10、Pin Delay.二、高级约束规则设置:11、单个网络长度约束;12、a+b 类长度约束;13、a+b-c 类长度约束;14、a+b-c 在最大和最小传播延迟中的应用;), 组建规则约束对象 给约束对象,附值定义规则, 执行Analyze-Analysis Modes,可以看到相应的检查
在PCB设计中规则设置是必不可少的,它也可以被称为DRC检查规则,用来确定电路板的走线规则是否符合设计要求。在Allegro PCB的电路板设计过程中,设计约束规则主要包括时序规则、走线规则、间距规则、信号完整性规则等以及物理规则等设置。
首先,需要认识一下,Allegro PCB的约束管理器:
在PCB设计界面中,执行Setup/Constraints/Constraint Manager命令,弹出AllegroConstraint Manager对话框,如下图。
在约束管理器中,设计者可以对电路板的电气规则、物理规则、间距规则等设计规则进行设置定义。约束规则可以按板层、网络或者区域进行设置。
约束管理器是Cadence系统提供的专用规则设置系统,主要有菜单栏、工具栏、工作表选择区、工作状态报告栏四部分,在工作表中选择一个对象,然后右击,在弹出的命令菜单中,可以进行任意操作。
工作表选择区内可以选择电气规则、物理规则、间距规则等规则设置。在对应Net文件夹内,可以创建指定网络的对象分组,如:系统、设计、总线、差分对、扩展网络(XNet)、网络、相对或匹配群组,也可以创建基于相关属性的电气规则(ECSet)、物理规则(PCSet)、间距规则(SCSet)等。
约束管理器的约束对象分为引脚对、总线和匹配群组,她们相互之间存在优先级差异,即底层对象会集成顶层对象指定约束,为底层对象指定的约束优先高于上层继承的约束,对象层次的优先级为系统、设计、总线、差分对、扩展网络、相对或匹配群组、引脚对。
一、电气规则设置
在约束管理器中,选择Electrical选项卡,其中可以为设计或网络来设置时序规则、信号完整性规则、布线的电气规则(延时、差分对)等,执行Objects/Create/Electrical CSet命令可新建电气规则。
1、选择信号完整性仿真规则Signal Integrity属性,其中包括电气属性、反射属性、单调失真属性、初始串扰、仿真串扰以及同步开关噪声这六个规则设置。
其中各项规则设置如下:
(1)电气属性设置(Electrical Properties)包括下列内容的设置:
Frequency表示网络频率;Period表示网络周期;Duty cycle表示占空比;Jitter表示时钟抖动值;Cycle to measure表示仿真时测量周期;Offset表示补偿值;Bit Pattern表示仿真输出的位格式。
(2)反射属性设置(Reflection)包括以下内容的设置:
Overshoot表示过冲设置;Noise margin表示噪声的补偿裕量。
(3)失真属性(Edge Distortions)包括以下内容设置:
EdgeSensitivity表示网络或扩展接收端的单调敏感性能;Firstincident
Switch 表示第一个波形的转换设置。
(4)初始串扰设置(Estimated Xtalk)包括以下内容设置:
Active window表示网络处于转换或产生噪声的窗口;Sensitive window
表示网络处于稳态和易受干扰的状态窗口;Ignore nets表示计算串扰时可
忽略的网络; Xtalk的max栏表示网络允许最大窜扰值;Peak xtalk的max
栏表示一个干扰网络对受扰网络产生的最大允许串扰。
(5)仿真串扰设置(Simulated Xtalk)包括以下内容设置:
该项内容与初始串扰设置内容相同,用以查看仿真后的串扰结果,初始串扰
设置则是用以预测串扰结果。
(6)同步开关噪声设置(SSN)包括以下内容设置:
Max SSN表示最大同步开关噪声;Power bus name表示电源总线名称;
Ground busname表示地总线名称;Actual表示实际噪声;Margin表示噪
声裕量,若是负值则会产生冲突。
2、选择时序规则设置(Timing):
时序设置包括以下两个工作表设置,Switch/Settle Delays用以设置第一个转换延时(Min FirstSwitch)和最后的建立延时(Max Final Settle),通过仿真对实际值和约束值进行比较,可得出裕量值;Setup/Hold则用以设置时钟网络名称、时钟周期、时钟延时和时钟偏移量,将这些数值进行比较,能够得出系统是否符合要求。
3、电气走线规则设置(Routing):
(1)连线规则设置(Wiring)包括以下内容设置:Topology用以选择走线拓扑结构,有菊花链、星形等结构;Stub length用以设置走线最大短桩长度;Exposed length用以设置表层走线最大长度;Parallel用以设置并行走线的线宽和线距约束;Layer Sets用以设置走线板层。
(2)过孔规则设置(Vias)包括以下内容设置:用以检查网络过孔数量限制(ViaCount)和过孔尺寸是否符合要求(Match Vias)。
(3)阻抗设置(Impedance)包括以下内容设置:Single-lineImpedance用以设置目标网络的阻抗和偏差设置,通过计算可以得出阻抗的实际值和裕量,注意叠层和材料的设置必须正确,结果才能准确。
(4)走线最大/最小传输延时设置(Min/Max PropagationDelay)包括以下内容设置:Pin Pairs栏有以下三项设置,Longest/Shortest Pin Pair表示将最小延时赋予最短引脚,最大延时约束赋予最长引脚;Longest/Shortest Driver/Receiver表示将最小延时赋予最短驱动/接收端引脚对,最大延时赋予最长驱动/接收端引脚对;All Drivers/All Receivers表示将最大、最小延时约束赋予所有的驱动/接收端引脚对。Prop Delay则用以设置走线最大和最小延时。
(5)走线的最大和最小长度设置(Total Etch Length):用以设置走线最大和最小长度,并可以显示实际的曼哈顿比例,可以计算走线的不耦合长度。
(6)差分对走线设置(Differential Pair)包括以下内容设置:Uncoupled length用以设置差分对耦合长度的设置,其中GatherControl设置耦合带控制,Ignore表示忽略差分对刚从芯片出来时候的不耦合长度,忽略耦合带,Include表示差分对走线长度包含耦合带长度;Phase tolerance用以设置差分对相位偏量;Min Line Spacing用以设置差分对的最小线间距;CouplingParameters用以设置差分对的耦合参数,其中Primary width表示差分对理想线宽,Primary gap表示差分对理想线间距,Neck width用以设置差分对最小线宽,Neck gap表示差分对最小允许线间距,Tolerance表示允许的偏差。
(7)相对延时设置(Relative Propagation Delay)包括以下内容设置:选择这个选项卡时,设计者可以将多网络设置成匹配群组,对匹配群组则需要设置相对延时。
二、物理规则设置
选择Physical选项卡,则可以对电路板设计的物理规则进行设置,如下图所示。
执行Objects/Create/PhysicalCSet命令可以新建物理规则,然后可以设置走线的物理约束。
其中走线约束与电气规则中的意思相仿,不再赘述了,然后还有需要设置的:Vias可设置过孔类型,BB Via Stagger用以设置埋/盲孔的过孔间距,Allow用以设置焊盘过孔连接方式。此外,点击网络对应Vias设置栏,在弹出Edit Via List对话框,则可以对每个网络进行相应的过孔设置选择正确的过孔焊盘,如下图。
三、间距规则设置
电路板上的导线并非完全绝缘的,会受到工作环境的影响,产生不利于PCB正常工作的因素,因此需要规定导线之间的间距。同样,非导线元件之间要正常工作也需要设置安全距离,间距规则设置界面如下图。
选择约束管理器的Spacing选项卡,则可以对系统或网络进行间距规则的设置,执行Objects/Create/SpacingCSet即可新建间距规则。
在间距规则设置中,可以设置走线间距、走线与过孔间距等PCB设计中的各种间距规则。
四、区域规则设置
在电路板设计中,有时一个网络会从宽松区域走线至密集区域,这个网络就有可能需要进行区域的局部规则设置,包括间距规则和物理规则,这样才能让走线在某些特殊区域自动转换走线规则。
区域规则设置的方法如下:
1、在约束管理器中,点击Region选项卡,执行Objects/Create/Region命令创建区域规则,如下图建立区域规则11所示,并可对新建区域规则进行设置。
2、在PCB设计界面中,执行Shape/Rectangle命令,在Options对话框中选择Constraint Region类和需要区域规则的板层,并将该Shape赋予对应的区域规则如下图,这样网络走线经过该区域时就会自动改变走线规则,有利于密集区域走线。
在Allegro PCB设计中,Cadence自带的约束管理器集成了各种PCB设计规则,便于规则的设置与管理,有助于设计者更好的进行规则管理设计。只要能正确进行约束管理设置,就能更好的将电路板设计出来。
硬件开发
2019-10-15 11:01:00
开发环境:Exynos4412-iTOP-4412开发板
现在 Busybox 的配置已经完成了,接下来开始编译 Busybox,在 Ubuntu 的终端输入
“make”命令开始编译 Busybox,如下图。
下图为编译过程中的截图。
如下图所示,编译完成。
现在编译完成了,接下来需要把编译生成的二进制文件安装到刚才指定的../system 目录里
面,使用命令“make install”安装二进制文件到“../system”目录,如下图。
如下图所示,执行完成。
使用命令“cd ../system/”,打开“../system”目录,看看里面安装的文件,如下图。
硬件开发
2019-10-21 17:13:00
SKILL语言是Candence提供给用户的一个开发接口,利用其本身提供的接口函数和SKILL语言完成自动化操作的功能。
怎么查看SKILL:
1.可以直接用写字板打开进行编辑或看功能说明。
2.想自己写或改的话,可以用UE,有命令提示,高亮,检查的功能。
如何加载SKILL:
1.方法一: 自动加载 :在allegro.ilinit中加入load(“xpage.il”“deargds”)前面是skill文件名,后面是密码没有可以不用填。
手动加载 :skill load(“xpage.il” “deargds”)。
2.方法二:加载到菜单栏,格式如下:这样就不用记住命令,手动敲命令。
POPUP “&Help”
BEGIN
MENUITEM “&xpage”, “xpage”
END
以下为SKILL的展示,大家一块交流学习:
1.加回流地孔,在文件导入导出会丢掉属性。给VIA自动加一个有属性的铜皮。
2.给板框加一圈铜皮。
3.给PIN添加十字连接。
4.添加铜豆。
5.检查文字的朝向。
6.限高检查。
硬件开发
2019-10-21 11:32:00
1.鼠标设定:在Allegro视窗layout时,每执行一个指令例:Addconnect, Show element等鼠标会跳到Option窗口,这样对layout造成不便.
1)控制面版>滑鼠之移动选项中,指到预设按钮(或智慧型移动):取消“在对话方块将滑鼠指标移到预设按钮”设置
2.Text path设置:在ALLEGRO视窗LAYOUT时,不能执行一些指令:Showelement, Tools>report
1)应急办法:寻一个相应的log文档copy到档案同一路径即可
2)Setup>UserPreference之Design_Paths>textpath项设为:C:cadancePSD_14.1sharePCB/text/views即可
3.转gerber前需updateDRC,应尽量将DRC排除,有些可忽略的DRC如何消除?
1)logo中文字所產生的K/Lerror,可另外增加一个subclass,这样该文字不用写在ETCH层,可消除K/Lerror.
2)有些可忽略的P/P,P/L的error,可给那些pin增加一个property—NO_DRC,操作:Edit/Properties,选择需要的pin,选NO_DRC,Apply, OK
4.对某些PIN添加了”NODRC”的属性可ERRO并不能消除﹐这是為什么?
1)“NO DRC”属性只争对不同的网络﹐对相同的网络要清除ERRO,可设定Samenet DRC为off
5.对differentialpair nets 之”netspace type” properties应怎样设定?
1)先设定对net设定一differentialpair property,
2)再在constraintssystem 控制面板中选择spacingrule nets 栏的attachproperty nets,并在allegro窗口controlpanel的findby name 下选择property
3)选取相应property
4)再对其套用spacingrule 即可
6.怎样更新 Allegro layout窗口下的toolbar和displayoption设定
1)View>customization>tool bar中,勾上欲显示在窗口中的内容;欲锁住右边displayoption窗口,在view>customization>displayoption中选locked_right.这样重开一个ALLEGRO窗口时就会恢复上一次的设定
7.Color and Visibility 视窗过长,有的人在使用一阵子后会发现Colorand Visibility 视窗过长不好关掉其视窗,这时有两个方法可解决
1)关掉Allegro程式然后删掉pcbenv路径下的allegro.geo,再进Allegro就会重设其视窗
2)将Allegro.geo档中的Form.cvf_main改其值6040 0 430
8.开啟allegro时,会自动在桌面上生成allegro.jrl档,怎麼解决?可能的情况:环境变数中将temp路径设成了桌面
1)环境变数中将temp应设成:%USERPROFILE%LocalSettingsTemp
2)Setup>User Perference之Design_Paths>textpath项设成了桌面
9.我们在走线时﹐经常碰到这样的问题﹒走线时候我们渴望RATS显示随著走线而改变﹐以便走线﹒Setup/Drawingoptions之Display中的RatsnestPoints有两选项﹕
1)Pin to Pin (Rats在Pin之间显现)
2)Closest end point (Rats随走线改变显示)
10.怎样复制多个有规律的VIA
1)点COPY在右命令栏X,Y中输入VIA的个数,则间距以PIN舆PIN之间距為准
11.有时打开allegro窗口,menu会反白无效
1)将不是系统路径(c:cadencepsd_14.1sharepcbextcuimenus)下的men文档删除,再更新系统路径下的men文档,
2)再重新开一个allegro窗口
12.Menu之Path设置
1)Setup>User Preferences之Ui_paths选menupath项,其默认Path为当前路径和C:CadencePSD_14.1SharePcbTextcuimenus,当你要改变Menu时,建议新增一个Menu路径以防损坏系统的Menu
13.env中快捷键的保留
1)将C:Pcbenv下的env档中alias项Copyto: C:CadencePSD_14.1SharePcbText下的env档中。即可保留你在env中的快捷键设置。
14.在进行SUB_DRAWING时﹐同一个内容会有两个相同名字﹐有时也无法打开
1)在SETUP/下的CLIPPATH路经只设当前路径﹐别的去掉
15.Allegro Lib里的pad有更改﹐而在做零件的视窗replace不了该pad﹐即使删掉该pad重新叫进来也不能update
1)把该pad的坐标先记下来﹐然后把该种pad删掉
2)选toos/PADStack/modifydesign padstack…在弹出的窗口中选purge/all,再在弹出的窗口中选yes,之后再重新叫进该pad就ok了
16.如何避免测点加到Bottom层的零件内。
1)一般情况下测点都加在Bottom层,即layer选Bottom.在运行加测点时Route>Testprep>Auto…中不要钩选Allowunder component,电脑会自动根据零件之Assembly侦测是否有浈点在零件内。已加在零件内的浈点将无效。
17.如何一次性highlight没有加测点的net
1)方法一:在运行完Route>Testprep>Auto…之后,highlight所有net,然后关掉所在层面,只开Manufacturing>PROBE_BOTTOM,之后以框选方式dehilight所有net,再打开需要之层面,剩下的highlightnet即为未加测点之net
2)方法二:在运行完Route>Testprep>Auto…之后,在Allegro命令行输入hl_npt即可一次性highlight没有加测点的net.前提是pcbenv下面有hl_npt.ilskill file
18.CRTL键在Allegro中的使用。
1)在执行逐个多选指令像Hilight、其他命令之TempGroup时,按住CRTL键可以实现反向选择的功能,即执行Hilight时,按CRTL键时为Dehilight,执行其他命令之TempGroup时按CRTL键为取消选择。
19.通过showelement之report档产生一个listfile
1)Display>Show element框选目标netor symbol etc,则产生一个Report视窗,将其另存为一个txt档,即为一个listfile.这一listfile可用於Hilight一组线,Delete一组symbol,此作法比设定Group或定议Busname更为灵活。
20.固定Report窗口以便显示多个Report窗口
1)在Report窗口选File>Stick,该窗口即可固定﹐再执行Report指令时﹐该窗口将不会被覆盖
硬件开发
2019-10-21 11:06:00
Allegro软件入门最难的就是焊盘制作,而一个贴片焊盘都至少包括一个顶层如Top、钢网层pastemask_top、阻焊层(也就是人们常说的开窗层)sodermask_top,而一个插件焊盘就比贴片多了一个中间层和底层Bottom、钢网层pastemask_bottom、和阻焊层sodermask_botom。
打开pad_Designer,界面如下,
pad_Designer的参数设计界面
在这里,我们要关注3个问题
第一个是单位,这个要看读者的规格书或者设计规范的尺寸,一般尺寸都是标注mm,具体情况具体分析了。
第二个是焊盘形状
第三个是转孔孔径,孔径多少就看规格书就可以了,如果是贴片的焊盘就填写0即可
好了,然后就点击Leyer进入layer焊盘具体参数设计了
由于正片和负片都是能能生产,只是显示形式和文件大小不同而已,而且采用了负片还必须制作热风焊盘和隔离焊盘,所以笔者一直都采用正片设计,采用正片不制造热风焊盘和隔离焊盘绝对没问题!没问题!重要的事情说2遍好了。
pad_Designer的Layer设计界面
贴片焊盘要注意了,要勾选Single layer mode,插件的不要勾!
硬件开发
2019-10-21 10:55:00
对于用Allegro画PCB来说,其中画元件封装是最头疼的事,100个芯片就有100种封装,况且要从焊盘画起,自从有了“封装生成器”,画封装就简单了许多,只要清楚Datasheet上芯片的封装规格,几步就能生成适合芯片的封装。生成的封装可以有三种,对应不同情况:
A- 最宽松,适合非专业焊接的工程师焊接的元件封装;
B- 通用,封装的尺寸比宽松小,适合专业焊接人员手工焊接;
C- 最紧凑,最小的封装尺寸,适合机器焊接。
用“封装生成器”生成封装之前最好对生成的封装要求进行设置:工具——属性——常用设置
如果你想你的PCB板尽可能小,小空间尽可能塞多一点元件,那你就采用“C-最紧凑”的封装,到时候要么你苦练焊接技术,要么你就去请专业公司去焊接板子。
其实“封装生成器”生成的封装也是有臭虫的(bug)。不是指芯片长宽高等等的错误,因为长宽高这些参数是可以设置的。有些封装的管脚序号与实际的不符,这就需要修改封装的管脚序号。今天我就碰到这样的倒霉事,IS61LV256的TSOP封装如下:
可以看到IS61LV256的1脚在中心,逆时针转一圈到28脚。
1脚标志在左下角,管脚标号(pin number)看得不太清,可以通过下面办法看清楚pin number。
setup / drawing option / display / filled pads
取消filled pads,关闭了填充焊盘选项就可以看到中间的pin number了。
(我们这里还要关闭“Package Geometry”的“Assembly_Top”层才能看得清)
可以清楚得看到这个封装除了要把1脚标志移到中间之外,管脚的序号也要重新编号。修改方法如下: 点击Edit – Text或菜单栏
然后在命令栏选中1,输入22就改变了pin number
选中1,输入22,回车
可以看到封装的管脚标号已经改为22了。 再确认一下,点击菜单栏的
,只选Pin(因为只要看管脚Pin嘛)。
单击所要看得Pin(左边数第一个管脚)
会弹出“Show Element”。
确实修改成功了J
接着修改其他管脚。这样就把整个元件封装修改完了。
如果封装管脚(Pin)没有序号的话,可以点击
硬件开发
2019-10-21 10:47:00
1. 鼠标设定: 在Allegro视窗 layout时,每执行一个指令例:Add connect, Show element等鼠标会跳到Option窗口,这样对layout造成不便. 控制面版>滑鼠之移动选项中,指到预设按钮(或智慧型移动):取消“在对话方块将滑鼠指标移到预设按钮”设置
2. Text path设置: 在ALLEGRO视窗 LAYOUT时,不能执行一些指令:Show element, Tools>report 应急办法:寻一个相应的log文档copy到档案同一路径即可 Setup>User Preference之Design_Paths>textpath项设为:C:\cadance\PSD_14.1\share\PCB/text/views即可
3. 不能编辑Net Logic Setup>User Perference之项选择logic_edit_enabled,点选为允许编辑Net Logic, 默认为不能编辑Net Logic.
4. 转gerber前需update DRC,应尽量将DRC排除,有些可忽略的DRC如何消除? logo中文字所產生的K/L error,可另外增加一个subclass,这样该文字不用写在ETCH层,可消除K/L error. 有些可忽略的P/P,P/L 的error,可给那些pin增加一个property—NO_DRC, 操作:Edit/Properties,选择需要的pin,选NO_DRC, Apply, OK
5. 对某些PIN添加了”NO DRC”的属性可ERRO并不能消除﹐这是為什么? “NO DRC”属性只争对不同的网络﹐对相同的网络要清除ERRO,可设定Same net DRC为off
6. 如何Add new subclass Setup>Subclass之Define Subclass窗口选Class,点add”New subclass” 通常用到的new subclass有:Geometry\Board Geometry\之Top_notes, Bottom_notes, Gnd_notes, Vcc_notes等。其作用為gerber中Log之Title/Page name所放层面。
7. 对differential pair nets 之”net space type” properties应怎样设定? 先设定对net 设定一differential pair property, 再在constraints system 控制面板中选择spacing rule nets 栏的attach property nets,并在allegro 窗口control panel的find by name 下选择 property 选取相应property 再对其套用spacing rule 即可
8. Hilight时的两种不同的显示方式(实线和虚线) 在setup>user preferences>display中,勾上display_nohilitefont,则以实线显示,不勾则虚线显示,实线比较容易看清
9. 怎样更新Allegro layout窗口下的tool bar和display option设定 View>customization>tool bar中,勾上欲显示在窗口中的内容;欲锁住右边display option窗口,在view>customization>display option中选locked_right.这样重开一个ALLEGRO窗口时就会恢复上一次的设定
10. Color and Visibility 视窗过长,有的人在使用一阵子后会发现Color and Visibility 视窗过长不好关掉其视窗,这时有两个方法可解决 关掉 Allegro程式然后删掉\pcbenv路径下的allegro.geo,再进 Allegro 就会重设其视窗 将Allegro.geo 档中的Form.cvf_main 改其值 60 40 0 430
11. 开啟allegro时,会自动在桌面上生成allegro.jrl档,怎麼解决? 可能的情况:环境变数中将temp路径设成了桌面 环境变数中将temp应设成:%USERPROFILE%\Local Settings\Temp Setup>User Perference之Design_Paths>textpath项设成了桌面
12. 当我们要RENAME背面元件时不成功 选Edit/property,选中背面所有元件(FIND中选component),分配一个auto_rename属性,然后再rename一次
13. Rename Setup/user preference Editor/misc/fst_ref_des可以设数值如501,它代表的意思是元件Rename后是从501开始如C501,R501等等。
14. 我们在走线时﹐经常碰到这样的问题﹒走线时候我们渴望RATS显示随著走线而改变﹐以便走线﹒ Setup/Drawing options之Display中的Ratsnest Points有两选项﹕ Pin to Pin (Rats在Pin之间显现) Closest end point (Rats随走线改变显示)
15. 怎样复制多个有规律的VIA 点COPY在右命令栏X,Y中输入VIA的个数,则间距以PIN舆PIN之间距為准
16. 有时打开allegro窗口,menu会反白无效 将不是系统路径(c:\cadence\psd_14.1\share\pcb\text\cuimenus)下的men文档删除,再更新系统路径下的men文档, 再重新开一个allegro窗口
17. Stroke的使用 Setup>User Preferences…>UI:no_dragpopup, 若勾选用右键画stroke图形就可实现快捷功能﹐默认状态為须用CTRL+右键才可实现Stroke功能
18. 如何将Help file、可执行程式掛在Allegro Menu上? 将\Layoutserver\F
硬件开发
2019-10-18 10:51:00
ENV是Allegro PCB用户自定义快捷键的设置文件。
第一步:设置ENV的路径,如下图所示。
我的电脑右键选择属性菜单
打开我的电脑属性菜单后选择【高级系统设置】
选择高级菜单里面的 【环境变量】
进入环境变量后找到用户变量名为HOME的变量,查看当前变量的路径(也可以点击编辑修改ENV的指定路径)
按上一步的路径找到SPB_Data文件夹。然后查看是否存在PCBenv文件夹(如果没有可自行创建)
注:ENV文件是无后缀名的文件
右键点击ENV文件,选择记事本打开。
打开之后找到上图位置(在funckey后面添加快捷键),选择需要修改的快捷命令进行修改。修改完成后保存当前文件,ENV的快捷命令就设置好了。
注:需重启设计软件,ENV配置才能生效。
硬件开发
2019-10-18 10:41:00
每天都是搬砖,忙碌又平凡的日子。闲下来的时间读了一下吴军的《浪潮之巅》。
整本书给我的感受,就是资本的强大。技术在这本书里,仿佛只是点缀。可能这就是现实吧,技术路线的交锋,成功与失败其实都是商业的事。像risc\cisc之争,网景的没落,这些事件的结果都是技术上的弱小者打败了资本的弱小者。看了这本书,说句玩笑话,我才知道现在各种品牌手机的版本号跨代营销,原来在信息技术发展的早期就已经出现了。这不得不说是一个非常“互联网”的营销方式。
潮起潮落,无数人消失在浪潮之中。涨潮时风光无限,最后要成功还得看退潮时的表现。虽然都知道涨潮时要赚更多的钱,这样才可以在退潮的时候坚持更久,但能做到这一点的其实很少。
整本书只有一小章讲失败者,这是个遗憾。如果能看到一本讲失败的文章,可以读读。
硬件开发
2019-03-13 00:24:00
前言
我们身边有不少人都喜欢看篮球比赛或者经常打篮球。说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候。最近3月5日,韦少22分帮助雷霆终结了四连败,哈登42分带领火箭取得五连胜,估计今年的常规赛MVP非哈登莫属了。当然,每个人心中都会有一个超级巨星,或乔丹、或科比、或艾费森(小编喜欢库里),可不管是谁,他们都会让我们更热爱篮球!
言归正传,今天呢,带大家做一个在NBA赛场上至关重要的设备,那就是篮球计时计分器。
完整源代码及文档可关注“MicroPython玩家汇”公众号获取;
系统主要的技术特点:
显示系统:采用LCD12864显示屏,显示当前的比赛节数、本节剩余时间、24秒计时时间,以及两队的得数情况。
控制系统:采用4x4矩阵键盘,制定不同按键的功能。分别有开始/暂停比赛,24秒回表,得分自加等功能。
所需器件
实物图:(部分主要器件)
程序设计
(1)初始化液晶屏和矩阵键盘设备,显示默认时间值等;
(2)S1按键启动定时器,开始倒计时;
(3)S2按键关闭定时器,暂停倒计时;
(4)S3按键控制24秒计时时间复位重置;
(5)当按下S5~S7按键时,分别为A队自加1~3分;
(6)当按下S9~S11按键时,分别为B队自加1~3分;
(7)当每节时间到时,计时自动停止,按下S1将启动下一节计时。
实物连接

先连接电源部分。电源部分主要涉及到降压模块和按键开关。先用万用表,找出按键开关中哪两个引脚是按下导通,弹起不导通的。这里,我们假设为引脚A和引脚B。

接下来,我们做开发板与显示屏、矩阵键盘、蜂鸣器之间的连线。
程序调试
接线完毕后,就要将最重要的程序放到开发板上。首先,通过USB数据线将开发板接入电脑,电脑上会出现一个类似U盘的可移动设备,名称为【TPYBFLASH】,把程序拷贝到里面即可。
注意:操作开发板磁盘时,板载的红色LED会亮,说明开发板正在保存操作,需等待红灯熄灭再进行其他操作。
演示效果
程序调试完,拔掉USB数据线。放入18650电池,按下按键开关即可。
当前实验中采用的12864只有单一的颜色,大家可以选取多彩的LED显示屏,不同的区域用不用的颜色表示,岂不比我这个更加的高大上。
硬件开发
2019-03-12 16:00:00
之前我们介绍过 在 PyODPS DataFrame 中使用三方包 。对于二进制包而言,MaxCompute 要求使用包名包含 cp27-cp27m 的 Wheel 包。但对于部分长时间未更新的包,例如 oss2 依赖的 crcmod,PyPI 并未提供 Wheel 包,因而需要自行打包。本文介绍了如何使用 quay.io/pypa/manylinux1_x86_64 镜像制作可在 MaxCompute 上使用的 Wheel 包。
本文参考 https://github.com/pypa/manylinux ,quay.io/pypa/manylinux1_x86_64 镜像也是目前绝大多数 Python 项目在 Travis CI 上打包的标准工具,如有进一步的问题可研究该项目。 准备依赖项
不少包都有依赖项,例如 devel rpm 包或者其他 Python 包,在打包前需要了解该包的依赖,通常可以在 Github 中找到安装或者打包的相关信息。对于 crcmod,除 gcc 外不再有别的依赖,因而此步可略去。 修改 setup.py 并验证(建议在 Mac OS 或者 Linux 下)
较旧的 Python 包通常不支持制作 Wheel 包。具体表现为在使用 python setup.py bdist_wheel 打包时报错。如果需要制作 Wheel 包,需要修改 setup.py 以支持 Wheel 包的制作。对于一部分包,可以简单地将 distutils 中的 setup 函数替换为 setuptools 中的 setup 函数。而对于部分自定义操作较多的 setup.py,需要详细分析打包过程,这一项工作可能会很复杂,本文就不讨论了。
例如,对于 crcmod,修改 setup.py 中的 from distutils.core import setup
为 from setuptools import setup
即可。
修改完成后,在项目根目录执行 python setup.py bdist_wheel
如果没有报错且生成的 Wheel 包可在本地使用,说明 setup.py 已可以使用。 准备打包脚本
在项目中新建 bin 目录,并在其中创建 build-wheel.sh: mkdir bin && vim bin/build-wheel.sh
在其中填入以下内容: #!/bin/bash # modified from https://github.com/pypa/python-manylinux-demo/blob/master/travis/build-wheels.sh set -e -x # Install a system package required by our library # 将这里修改为安装依赖项的命令 # Compile wheels PYBIN=/opt/python/cp27-cp27m/bin # 如果包根目录下有 dev-requirements.txt,取消下面的注释 # "${PYBIN}/pip" install -r /io/dev-requirements.txt "${PYBIN}/pip" wheel /io/ -w wheelhouse/ # Bundle external shared libraries into the wheels for whl in wheelhouse/*.whl; do auditwheel repair "$whl" -w /io/wheelhouse/ done
将第一步获知的依赖项安装脚本填入此脚本,在使用 python 或 pip 时,注意使用 /opt/python/cp27-cp27m/bin 中的版本。
最后,设置执行权限 chmod a+x bin/build-wheel.sh 打包
使用 Docker 下载所需的镜像(本步需要使用 Docker,请提前安装),此后在项目根目录下打包: docker pull quay.io/pypa/manylinux1_x86_64 docker run --rm -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/bin/build-wheel.sh
完成的 Wheel 包位于项目根目录下的 wheelhouse 目录下。

原文链接
本文为云栖社区原创内容,未经允许不得转载。
硬件开发
2019-03-08 17:00:00
2月27日,阿里云数据管理DMS发布年度巨献——数据库实验室,用户可在该实验室环境下免费体验数据库引擎、以及DMS各项产品功能。数据库实验室是DMS所提供的体验空间,免费赠送数据库引擎资源。
用户只需要登录阿里云账号,即可开通使用各个已支持数据库引擎的全部产品功能,同时还将拥有如下权益: 免费256MB数据空间 免费体验DMS所有功能 未来将享有其他类型数据库免费体验资格
实验室直通车→ https://dmslab.aliyun.com
DMS数据库实验室可广泛用于高校课堂教学、实验。无论你是老师还是学生,均无需安装数据库便可拥有 专属的数据库名字、专属的数据库空间 ,进行查询、建表、索引调优、表结构变更、测试数据自动生成、多数据库引擎对比体验等等。
阿里云DMS 是集数据管理、结构管理、用户授权、安全审计、数据趋势、数据追踪、BI图表、性能与优化、研发流程、研发规范、数据安全管控和服务器管理于一体的数据管理服务。用户使用数据管理服务可以实现易用的数据库和服务器统一管理,让数据更安全、管理更高效、数据价值更清晰。
作为服务于阿里集团十余年数据库服务平台的云上版本,DMS积累了大量阿里集团的数据库DevOps运维管理经验。支持MySQL、SQL Server、PostgreSQL、PPAS、Petadata、ORACLE等关系型数据库,DRDS等OLTP数据库,ADS、DLA等OLAP数据库和MongoDB、Redis、Memcache等NoSQL的数据库管理,同时还支持Linux服务器管理。
从2014年在公共云开始孵化的DMS免费版,如今数据管理DMS已拥有高级版、实验室、企业版等多个版本,并获得了大量云上个人开发者与企业的认可。
DMS数据库实验室:为您提供免费、专属的全引擎数据库体验


实验室适用场景解读
1. 在校师生数据库教学 :高校课堂教学、实验,学生可以无需安装数据库便可进行查询、建表、索引优化、表结构变更、测试数据自动生成、多数据库引擎体验等。
2. 数据管理DMS购买前体验 :个人开发者、企业用户期望在购买前了解数据管理DMS的各项功能,可以在实验室中提前体验。
3. 云数据库引擎体验 :免费体验阿里云数据库RDS、SQL Server等各种数据库引擎
目前DMS数据库实验室已支持MySQL 5.7和SQLServer 2012,接下来会支持Redis等其他主流云数据库引擎,未来还会持续拓展业界其他主流开源数据库引擎。当前只支持在线页面内使用各数据库引擎,未来也会考虑开放允许本地程序访问。

原文链接
本文为云栖社区原创内容,未经允许不得转载。
硬件开发
2019-03-06 17:07:00
波峰焊用于焊接插件线路板;
回流焊用于焊接SMT贴片线路板;
具体区别见:http://www.sz-gsd.com/Article/show/131/419.html
硬件开发
2019-03-06 15:56:00

导读
经常看到各种大神说今天刷了什么 linux系统 可以干嘛干嘛了,刷了乌班图可以干嘛干嘛了,但是身为一个小白,对这种名词都是一知半解。所以这边给大家科普一下,什么是 linux 系统?电视盒子刷了这个可以干啥?
什么是linux系统呢?
linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
上面是百度百科的官方解释,看了之后,相信很多人和楼主一开始一样,茫然!
科普:linux系统电视盒子到底是什么?大神们刷这个系统做什么
下面就是小白科普:
当今世界流行的操作系统有3大类,Linux、Mac OS和Windows操作系统。从这里你可以理解成Linux是和Windows一样的操作系统,但是Linux是一个完全免费的操作系统,任何人都可以通过网络或其他途径免费获得,并可以任意修改其源代码。所以这也就导致了现在的Linux其实是融合了世界上无数程序员的精华的一个系统,听上去很牛逼吧,事实上就是很牛逼!
它的公开性,兼容性又表明了,Linux是可以任意包装自由配置的东西。任何一个人,一家公司都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些 Linux虽然核心部分都一样,但是他们所带的各种软件,功能都是不一样的。
你可以用Linux当服务器,服务器上安装者各种应用、服务。 比如:Web服务(apache,就是能架设网站的)、数据库(MySQL,存储网站信息数据的)、博客系统(wordpress) 等等。
所以很多大神会把电视盒子刷成Linux系统,基于这个环境下,电视盒子可以做各种各样的功能,什么路由器啊监控器啊下载机啊等等。只要你懂得这个代码编程基础,可以自己把电视盒子Duang!的一下变成其他功能的东西。再具体一点大家可以去看斐讯T1/N1的各种刷机帖,你会打开新世界的大门。
但是这也并不是所有的电视盒子都可以刷Linux系统的哦。瑞芯微和晶晨这两家是支持的,如果手上有这两家芯片的盒子倒是可以试试,教程在znds论坛可以直接搜索,结果如何就看个人水平了。有这方面经验的朋友也可以指导一下~ 原文来自: https://www.linuxprobe.com/linux-tv-box.html
硬件开发
2019-03-04 10:06:00
在 移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码 里,为了方便,没有移植数据位和校验位。这两个其实是很容易移植的。
先说数据位,官方宣称STM32F103支持8位和9位数据位,但因为其把校验位也算为数据位,所以其实能支持的是带校验位的7位、8位数据位和不带校验位的8位、9位数据位。所以只要在串口初始化中做如下判断即可: if ( ( ucDataBits == 7 ) && ( eParity != MB_PAR_NONE ) ) { USART_InitStructure.USART_WordLength = USART_WordLength_8b; is_7databits = 1; } else if ( ( ucDataBits == 8 ) && ( eParity == MB_PAR_NONE ) ) { USART_InitStructure.USART_WordLength = USART_WordLength_8b; is_7databits = 0; } else if ( ( ucDataBits == 8 ) && ( eParity != MB_PAR_NONE ) ) { USART_InitStructure.USART_WordLength = USART_WordLength_9b; is_7databits = 0; }
这里多了一个静态全局变量is_7databits,因为当STM32F103的串口工作在带校验位的7位数据位时,DR寄存器的最高位依然会被库函数读出,这样可能会造成数据错误。所以要把读取串口的代码也修改一下: static is_7databits = 0; BOOL xMBPortSerialGetByte( CHAR * pucByte ) { /* Return the byte in the UARTs receive buffer. This function is called * by the protocol stack after pxMBFrameCBByteReceived( ) has been called. */ char temp; temp = USART_ReceiveData(USART3); *pucByte = is_7databits ? ( temp & 0x7F ) : temp ; return TRUE; }
校验位更简单,只要用一个带参数的宏即可: /* ----------------------- Modbus parity to stm32 parity --------------------*/ #define usartParity(eParity) ( ( eParity == MB_PAR_NONE ) ? USART_Parity_No : ( ( eParity == MB_PAR_EVEN ) ? USART_Parity_Even : USART_Parity_Odd ) )
修改demo.c、mbascii.c和mbrtu.c,然后用Modbus Poll验证一下,应该没问题了。
硬件开发
2019-03-03 04:36:00
在我们平时的生活中,经常看到因气体泄漏发生爆炸事故的新闻。房屋起火、人体中毒等此类的新闻报道层出不穷。这种情况下,人民就发明了可燃气体报警器。当工业环境、日常生活环境(如使用天然气的厨房)中可燃性气体发生泄露,可燃气体报警器检测到可燃性气体浓度达到报警器设置的报警值时,可燃气体报警器就会发出声、光报警信号,以提醒采取人员疏散、强制排风、关停设备等安全措施,防止发生爆炸、火灾、中毒事故,从而保障人身安全和生产安全。
既然说到了可燃气体,那就科普一下常见的可燃气体。如氢气(H2)、甲烷(CH4)、乙烷(C2H6)、丙烷(C3H8)、丁烷(C4H10)、乙烯(C2H4)、丙烯(C3H6)、丁烯(C4H8)、乙炔(C2H2)、丙炔(C3H4)、丁炔(C4H6)、磷化氢(PH3)等。
因测试环境的要求,本次就以丁烷气体(打火机内的主要气体)的检测为目标。依然是使用TPYBoardv v102开发板为主控部分,然后增加上TPYBoard v202 WIFI开发板,作为网络通信单元,这样就可以通过调用网络接口,把报警信息传送给紧急联系人的微信中。
系统主要的技术特点:
监控报警系统:根据可燃气体检测模块(MQ-2)采集的气体浓度数据,判断出是否超出了安全范围内的阈值。当超出时,启动蜂鸣器报警,启动TPYBoard v202推送微信报警信息。
微信推送系统:TPYBoardv202开发板作为网络模块,负责整个系统的网络通信功能。当收到v102的报警提示后,调用【Server酱】的微信推送接口,将报警信息推送给指定人员的微信上。
所需器件
实物图:(部分主要器件)
程序设计
(1)TPYBoard v102开发板实时获取可燃气体检测模块的数据,判断该值是否大于设定的阈值。当大于时,启动蜂鸣器报警,同时传递给TPYBoard v202一个报警信号;
(2)当TPYBoard v202收到报警信号时,立即调用网络接口,将报警信息推送到联系人的微信上。
实物连接

先连接电源部分。电源部分主要涉及到降压模块和按键开关。先用万用表,找出按键开关中哪两个引脚是按下导通,弹起不导通的。这里,我们假设为引脚A和引脚B。
整体效果如下图:
程序调试
接线完毕后,就要将最重要的程序放到开发板上。首先,通过USB数据线将开发板接入电脑,电脑上会出现一个类似U盘的可移动设备,名称为【TPYBFLASH】,把`程序拷贝到里面即可。
注意:操作开发板磁盘时,板载的红色LED会亮,说明开发板正在保存操作,需等待红灯熄灭再进行其他操作。
TPYBoard v202的程序中涉及到微信推送接口的调用,需要先注册申请该接口,同时绑定联系人的微信。具体操作步骤,详见:docs.tpyboard.com/zh/latest/tpyboard/tutorial/v202/202WEIXIN/
演示效果
程序调试完,拔掉USB数据线。放入18650电池,按下按键开关即可。
到此,我们的可燃气体报警器就完成了。相比,我们在市场上常见的报警器,我们有独特的微信报警功能,也算是比较“优秀”了(哈哈哈,同九年,汝何秀)。
这个是比较简单的雏形,大家可以再追加上更多的可燃气体检测模块,应用到更多的场合中。当然,我们也可以增加联动功能。比如:与燃气热水器、灶具、排油烟机等连接起来使用,当有燃气泄漏时,不仅可以发出报警信号,同时也可以控制煤气表的电磁阀切断气源,起到更直接的安全保护。
完整源代码获取可关注公众号“MicroPython玩家汇”公众号,回复“毕设二”即可
硬件开发
2019-03-02 15:29:00
因为各种原因,传输过程中总会出现各种异常。Modbus有LRC/CRC校验,有响应返回,还有异常码,对于传输中出现的异常有一定的发现能力。但是Modbus本身不进行纠错,纠错和重传由开发者定义。
根据通信的原理,在一条不可靠的信道上传输的任何协议都不可能做到完全可靠。即使是一个比较可靠的协议,也会存在一些极端情况,这些情况一旦出现,会让协议的纠错机制完全失效。对此我们要小心谨慎,让这些极端情况出现的概率尽可能小。
分析一下Modbus通信协议可能出现的错误,发现主要有四个来源:
1)某个查询/响应的协议帧错误,可能是PDU错误,也可能是ADU错误,对于ASCII模式,还有可能是引导符和结束符错误;
2)某个查询/响应丢失,或者没在约定时间内送达,导致超时;
3)主机发出了错误的查询,如对不存在的寄存器进行读/写;
4)某个查询/响应的协议PDU传输错误,而且错误的PDU是合法的,恰好LRC/CRC也发生错误,协议帧没有报错,导致错误的查询/响应被接收。这种情况的概率比较低,但在噪音比较大的环境里会出现。
对这些异常情况进行排列组合,得到协议的可能状态:
1、主机的查询从机正确收到,并做出了正常响应,主机接收到正常响应。
2、主机的查询从机正确收到,并做出了正常响应,但从机返回的响应丢失或者被干扰产生了帧错误,主机等待超时。
3、(概率较低,这种情况主机无法纠错)主机的查询从机正确收到,并做出了正常响应,但从机返回的响应PDU传输错误,而且错误的PDU是合法的,恰好LRC/CRC同时发生了错误,协议帧没有报错,导致主机接收到了错误但合法的响应。
4、主机的查询从机正确收到,但是从机发现命令无法执行,返回异常响应,主机接收到包含异常码的响应。
5、主机的查询从机正确收到,但是从机发现命令无法执行,返回异常响应,但响应丢失或者包含帧错误,主机等待超时。
6、(概率极低,这种情况主机无法纠错,属于极端情况,不予考虑)主机的查询从机正确收到,但是从机发现命令无法执行,返回异常响应,但从机返回的响应PDU传输错误,恰好LRC/CRC同时发生了错误,协议帧没有报错,导致主机接收到了错误但合法的响应。
7、主机的查询从机没有收到,或从机发现收到的查询包含帧错误,从而不进行响应,主机等待超时。
8、(概率较低,但有可能导致从机执行错误的命令,对关键命令,需要小心这种情况的发生)主机的查询PDU传输错误,而且错误的PDU是合法的,恰好LRC/CRC同时发生了错误,协议帧没有报错,导致从机接收了错误的命令。从机返回了响应,主机接收到响应,发现响应是错误的。
9、(概率极低,但有可能导致从机执行错误的命令,对关键命令,需要小心这种情况的发生)主机的查询PDU传输错误,而且错误的PDU是合法的,恰好LRC/CRC同时发生了错误,协议帧没有报错,导致从机接收了错误的命令。从机返回了响应,但从机返回的响应丢失或者被干扰产生了帧错误,主机等待超时。
10、(概率极低,这种情况主机无法纠错,属于极端情况,不予考虑)主机的查询PDU传输错误,而且错误的PDU是合法的,恰好LRC/CRC同时发生了错误,协议帧没有报错,导致从机接收了错误的命令。从机返回了响应,但从机返回的响应PDU传输错误,而且错误的PDU是合法的,恰好LRC/CRC同时发生了错误,协议帧没有报错,导致主机接收到了“正确”的响应。
考虑对这些情况进行处理:
情况1是正常通信,情况4是主机的问题,这里不考虑;
情况6和10出现的概率极低,而且很难纠错,这里也不考虑。
情况3出现的概率较低,但如果出现的话很难纠错。所以如果从机的响应结果很重要,最好多次重复查询,确保结果的准确。当然这属于主机端的事情,所以这里也不多说。
情况2、5、7、9从机响应超时,情况8从机响应错误,这几种情况主机都能发现错误,所以如果给主机增加重传机制,就可以提高这几种情况下的可靠性。但如果主机发送的是关键的控制命令,比如高压脉冲的开关,刹车系统的启动,这些命令如果传输错误,可能带来无法挽回的损失。这些关键的控制命令,需要准确的送达,光靠主机的出错重传无法保证其可靠性。要提高这些命令传输的可靠性,必须对从机程序进行修改。
TCP/IP协议是一个经典的可靠协议,其三次握手四次挥手和给数据段进行编号的机制广负盛名。这些机制,通过损失有限的速度,即可极大地提高可靠性。
控制命令在Modbus协议里的传输,也可以采用类似的机制。比如,采用写寄存器功能码+控制寄存器地址+执行计数的格式传输控制命令,而不用写寄存器功能码+控制寄存器地址+固定控制代码的格式。从机端和主机端分别对控制命令的执行次数计数,只有从机发现自己的计数器等于收到的执行计数-1时,才会执行,否则返回异常码0x03。主机收到异常后响应后,查询从机的计数器。如果主机之前已经发过这个命令,这次是因为错误或超时重传的,且从机的计数器等于于主机的计数器,说明从机已经执行过该命令了,主机结束这一次控制。如果从机的计数不等于主机的计数器或者主机的计数器-1,说明从机或主机可能发生了故障,这时可以通过写从机里的另一个寄存器来更新从机的计数器。
硬件开发
2019-02-27 22:54:00
智慧农业就是将物联网技术运用到传统农业中去,运用传感器和软件通过移动平台或者电脑平台对农业生产进行控制,使传统农业更具有“智慧”。除了精准感知、控制与决策管理外,从广泛意义上讲,智慧农业还包括农业电子商务、食品溯源防伪、农业休闲旅游、农业信息服务等方面的内容。
完整源代码获取可关注“MicroPython玩家汇”V信工众号,回复“毕设”即可
智慧农业是农业生产的高级阶段,是集新兴的互联网、移动互联网、云计算和物联网技术为一体,依托部署在农业生产现场的各种传感节点(环境温湿度、土壤水分、二氧化碳、图像等)和无线通信网络实现农业生产环境的智能感知、智能预警、智能决策、智能分析、专家在线指导,为农业生产提供精准化种植、可视化管理、智能化决策。
本次实验以大棚监测控制系统为目标,使用TPYBoardv102开发板、各种传感器、电机等,实现一个智能大棚监测控制系统的基础模型。
系统主要的技术特点:
监控功能系统:根据各类传感器来获取植物生长的环境信息,如监测土壤水分、空气温度、空气湿度、光照强度等参数(大家可根据自己的需求,增加其他参数,如二氧化塘、土壤温度等)。
自动控制系统:TPYBoardv102开发板作为主控模块,负责各个环境信息的收集与汇总,并根据以上各类信息的反馈对农业大棚内进行自动灌溉、自动降温、自动卷遮光罩等自动控制。
所需器件
实物图:(部分主要器件)
程序设计
完整源代码获取可关注“MicroPython玩家汇”V信工众号,回复“毕设”即可
(1)获取温湿度数据,当温度高于阈值时,触发继电器,打开排风扇,反之关闭;
(2)获取土壤湿度数据,当湿度低于土壤湿度检测模块的阈值时,土壤湿度检测模块的OUT引脚会输出高电平,这时触发继电器,启动水泵进行灌溉;
(3)获取光照强度数据,当光照强度高于阈值时,触发步进电机,卷起遮光罩,反之盖上。
实物连接


先连接电源部分。电源部分主要涉及到降压模块和按键开关。先用万用表,找出按键开关中哪两个引脚是按下导通,弹起不导通的。这里,我们假设为引脚A和引脚B。
各类器件没有固定,看起来有点乱。接下来,用热熔胶把器件整齐的固定在洞洞板上。
本次我用步进电机来模块遮光罩的卷起和放开。为了能明显的看到步进电机的转动效果,我在步进电机上粘了一个塑料小风扇。
还有一处地方,就是降压模块的OUT输出电源要接到开发板上,用于给其供电。整体效果如下图:
程序调试
完整源代码获取可关注“MicroPython玩家汇”V信工众号,回复“毕设”即可
接线完毕后,就要将最重要的程序放到开发板上。首先,通过USB数据线将开发板接入电脑,电脑上会出现一个类似U盘的可移动设备,名称为【TPYBFLASH】,把程序拷贝到里面即可。
注意:操作开发板磁盘时,板载的红色LED会亮,说明开发板正在保存操作,需等待红灯熄灭再进行其他操作。
演示效果
程序调试完,拔掉USB数据线。放入18650电池,按下按键开关即可。不同的环境下,土壤湿度和光照模块需要调节灵敏度(转换模块上的蓝色按钮)。
硬件开发
2019-02-26 10:57:00
申请开发者模式 登录路由器后台 进入插件中间 选中路由器信息 申请开发者权限 安装开发者插件
刷 Bootloader 下载 极路由4 的 Breed 通过SSH登录路由器 (必须安装开发者插件,端口 1022 账号 root 密码 路由器密码 ) 通过工具上传到 /tmp 目录
scp -P 1022 breed-mt7621-hiwifi-hc5962.bin root@192.168.199.1:/tmp 执行刷机操作
mtd write /tmp/breed-mt7621-hiwifi-hc5962.bin u-boot 重启路由器
进入 BreedWeb 断开电源 按住 REST 键,不要松开 接通电源直到电源灯闪烁 查看路由器网关( 192.168.1.1 ) 浏览器访问网关地址
昨天未来得及截图,图片来自网络,非 极路由4
刷 固件
极路由4 的 OpenWrt 介绍页面
下载 OpenWrt 的固件 下载链接 , 也可通过 介绍页面 中得 Firmware OpenWrt Install URL ,获取最新下载链接。
进入 BreedWeb , 选择固件更新:
等待完成:
全部完成后,自动重启,等待网卡再次获取到IP后,重新打开 http://192.168.1.1
配置路由器
安装中文软件包
打开 http://192.168.1.1 点击 System => Software 点击 Update 可能会超时 重新打开页面即可 安装下列语言包 luci-i18n-base-zh-cn luci-i18n-firewall-zh-cn
相关文章 极路由4刷Breed和OpenWrt(LEDE) 极路由刷OpenWrt最强攻略——从救砖、刷Breed、编译固件到安装配置 OpenWrt+shadowsocks实现路由器透明代理 网件R7800 OpenWrt使用V2Ray+mKcp+透明代理完美翻墙 Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动翻墙
硬件开发
2019-02-24 12:16:00
FreeModbus是Modbus的一个被广泛移植的实现。其源码在 github ,最新版是1.6。
FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对其他功能码比如异常诊断和事件计数等并没有提供支持,但并不影响Modbus的使用。
另外,FreeModbus仅提供了服务器(从机)的实现,客户端(主机)的实现可以在github上找到一些。
FreeModbus的文件主要在两个文件夹里,一个在/modbus/,一个在/demo/BARE/。前一个文件夹是协议的上层功能,包括协议的几个应用函数,基本不用修改。第二个文件夹有一个demo.c,是一个运行示例,也不需要修改。需要修改的是/demo/BARE/port/里的内容,这几个文件的功能完成了硬件的配置,包括串口和定时器的初始化,以及中断函数等。
对于STM32,FreeModbus的源码并没有给出示例,不过网上的相关移植已经有很多了,很容易就能找到,所以只需要复制/demo/BARE/port里的内容,然后稍微修改一下就好了。
一个个文件来说。
第一个是port.h,只需要包含库文件"stm32f10x.h",并增加临界区的进入和离开指令即可。我这里使用的是__set_PRIMASK函数,关闭除了NMI和硬fault以外的中断。 #define ENTER_CRITICAL_SECTION( ) __set_PRIMASK(1); //disable interrupts #define EXIT_CRITICAL_SECTION( ) __set_PRIMASK(0); //enable interrupts
第二个是portserial.c,需要填满几个串口的相关函数。
使能或失能串口发送完成中断和串口接收中断: void vMBPortSerialEnable( BOOL xRxEnable, BOOL xTxEnable ) { /* If xRXEnable enable serial receive interrupts. If xTxENable enable * transmitter empty interrupts. */ if (xRxEnable == TRUE) { USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); } else if (xRxEnable == FALSE) { USART_ITConfig(USART3, USART_IT_RXNE, DISABLE); } if (xTxEnable == TRUE) { USART_ITConfig(USART3, USART_IT_TC, ENABLE); } else if (xTxEnable == FALSE) { USART_ITConfig(USART3, USART_IT_TC, DISABLE); } }
初始化串口3和相应引脚,初始化NVIC。为了方便,这里就不管串口号、数据位、校验位了,只有波特率可以起作用: BOOL xMBPortSerialInit( UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits, eMBParity eParity ) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = ulBaudRate; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_Init(USART3, &USART_InitStructure); USART_Cmd(USART3, ENABLE); vMBPortSerialEnable(FALSE, FALSE); NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_Init(&NVIC_InitStructure); return TRUE; }
串口发送和接收: BOOL xMBPortSerialPutByte( CHAR ucByte ) { /* Put a byte in the UARTs transmit buffer. This function is called * by the protocol stack if pxMBFrameCBTransmitterEmpty( ) has been * called. */ USART_SendData(USART3, ucByte); return TRUE; } BOOL xMBPortSerialGetByte( CHAR * pucByte ) { /* Return the byte in the UARTs receive buffer. This function is called * by the protocol stack after pxMBFrameCBByteReceived( ) has been called. */ *pucByte = USART_ReceiveData(USART3); return TRUE; }
串口中断函数,只需要判断中断类型,并调用FreeModbus已经实现好的prvvUARTTxReadyISR和prvvUARTRxISR函数即可。注意到发送状态机在发送完毕后会关闭串口中断,所以不需要清零TC位;STM32F103的manual中讲到,TC不需要软清零,只需要读一下TC位,下次写TDR寄存器时就会自动清零;如果手动清零了TC位,那么下次要发送时,即使使能了TCIE,会因为TC=0无法进入中断。所以这里只读了一下TC寄存器,并不清零。另外因为STM32F103使能RXNE后,ORE也会触发中断,所以需要做相应的清除操作,否则就会卡在中断里: void USART3_IRQHandler( void ) { if(USART_GetITStatus(USART3, USART_IT_TC) == SET) { prvvUARTTxReadyISR(); } if(USART_GetITStatus(USART3, USART_IT_RXNE) == SET) { prvvUARTRxISR(); } else { USART_ClearITPendingBit(USART3, USART_IT_ORE); } }
第三个是porttimer.c,也有几个函数需要填空。
初始化定时器和NVIC。这里用的是定时器2,挂在APB1上,我的APB1总线时钟是36MHz,所以预分频器设为36MHz/20kHz=1800: BOOL xMBPortTimersInit( USHORT usTim1Timerout50us ) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = usTim1Timerout50us - 1; TIM_TimeBaseStructure.TIM_Prescaler = 1800 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); vMBPortTimersDisable(); NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; NVIC_Init(&NVIC_InitStructure); return TRUE; }
使能定时器(注意到这两个函数定义成了内嵌函数,可以让定时器启动和关闭更快): inline void vMBPortTimersEnable( ) { /* Enable the timer with the timeout passed to xMBPortTimersInit( ) */ vMBPortTimersDisable(); TIM_Cmd(TIM2, DISABLE); TIM_SetCounter(TIM2, 0); TIM_ClearFlag(TIM2, TIM_FLAG_Update); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_Cmd(TIM2, ENABLE); }
失能定时器: inline void vMBPortTimersDisable( ) { /* Disable any pending timers. */ TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE); TIM_Cmd(TIM2, DISABLE); }
定时器中断函数: void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET) { TIM_ClearFlag(TIM2, TIM_FLAG_Update); prvvTIMERExpiredISR(); } }
使用Modbus Poll来测试demo.c的运行情况,配置如下:

结果应该能看到地址为999的寄存器数据在变化,其他两个寄存器值都是0,说明协议已经移植成功了。
硬件开发
2019-02-22 03:17:00
在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定。而混沌工程,是通过注入一些“不确定”因素,象放进了一群淘气的猴子,在系统资源、可用性、安全性、延迟、压力等方面进行捣乱,而此过程中,要求系统可以毫无影响的提供服务,用户无感知。
这其实对系统的自愈能力,健壮性都有很高的要求。故障注入一般是指比较受控的一些实验条件,通过注入一些相对极端的异常场景,为系统提供可靠性测试的过程。 整体来说,混沌是一种故障注入规则,强调了一些不确定性、随机性,比较常见的"猴子"有 Netflix 的"猴子军团",可以用来随机关闭系统实例,注入延时,回收资源,检查安全漏洞等等。
开源工具介绍
除了一般系统的 monkey,基于 Kubernetes 已经有一些"猴子"工具可以测试系统的健壮性。接下来,介绍一下比较常见的三种 Kubernetes monkey:
kube-monkey
https://github.com/asobti/kube-monkey 运行方式:kube-monkey 通过 label 设置受害者 pod,创建了一个单独的 kube-monkey pod 对受害者 pod 施加影响; 注入类型:目前支持的故障注入类型仅有杀容器; 配置项:可以通过配置文件设置运行周期和频率,在一定时间内随机的杀死打标范围内的 pod。
powerfulseal
https://github.com/bloomberg/powerfulseal 注入类型:powerfulseal 的故障注入类型包括杀 pod 和启停 node。 运行方式:包括交互模式,自动模式、打标模式和示例模式。交互模式通过界面交互查询node/namespace/pod,启停 node 或杀死 pod 操作;自动模式通过读取配置文件确定注入范围,注入频率;打标模式通过给 pod 打标确定注入的靶向 pod 及注入频率;示例模式可以反映根据使用资源情况进行故障注入的过程。
Chaos Toolkit-kubernetes
https://github.com/chaostoolkit/chaostoolkit-kubernetes
/>
是 chaos 工具包中的一个,通过 chaos run experiment.json 设置 json 文件来指定 namespace,正则匹配名字等等来随机杀一个 pod。

以上三种"猴子",主要是基于杀 pod 场景来注入故障,虽然是最有力的场面但是比较有局限性,对于商业化系统面临的复杂场景,是值得参考但是不够的。
结合 Ali Kubernetes 故障场景分析
Ali Kubernetes 作为一个管理大规模集群的商业调度系统,需要应对的不仅包括一些基本的 Kubernetes 中 pod 误删误停的故障现象,也包含一些底层 OS、内核、网络、误配置等灾难场景。同时由于其支撑业务生态的复杂性,全链路综合异常流也需要特殊的验证。

为更系统的进行演练,在过程中主要进行了以下几部分工作:
FMEA 分析就是失效模式和效果分析,旨在对系统范围内潜在的失效模式加以分析,以便按照严重程度加以分类,或者确定失效对于该系统的影响。
从故障场景上,分析得出较为符合 Ali Kubernetes 的三大类场景: 通用故障场景:包括网络相关故障(网络 iohang ,断网,网络延迟等),宿主机相关故障(机器重启,机器 load 高等) Ali Kubernetes 业务场景故障:包括 Kubernetes 相关的故障(pod 删除,pod patch等),pod 迁移,混部、etcd 等业务相关场景; chaos 故障:较为随机的故障注入,可以为以上任何故障的组合

从影响面上,需要 case by case 确定影响范围为无任何影响,仅影响部分功能,影响核心功能等等;从验证恢复手段上,也可以分为自动恢复、手动恢复,同时需要关注监控情况及恢复时间。
在分析过程中,我们发现,已有的开源工具无法完全满足 Ali Kubernetes 的故障场景。下面举 2 个典型故障场景:
pod 被误删
这个场景并不是简单的 pod 随机删除,而是在 kubelet 连错 apiserver 配置等异常情况下,重启 ali-kubelet 后,al 自行判断了容器在当前集群内不存在,自己做了删除操作。
要引入这个故障需要修改 kubelet 组件的配置,重启 kubelet,才算是真正引入了故障,而当前的无论是 kube-monkey 还是 powerfulseal 场景都无法满足。
master 组件断网
有的人可能会说,直接指定 master 组件的机器引入断网操作,是不是就可以了呢?然鹅现实是比较骨感的,我们也许只知道这个 master 所在集群的 kubeconfig,组件的机器其实也可以随着每次升级变动的。在仅仅已知 kubeconfig 的情况下我们只能先查一下 master 组件的机器信息,再在机器上引入断网的操作,才算是一个整体的故障引入。而目前所有的开源工具也没有此类稍微复杂一些的场景,只是通过指定 pod namespace 来随机的删除一些 pod。
所以综上所述,其实我们需要对此进行扩展开发,除了简单的杀 pod,我们亟需一套可以自由开发的小程序,把这个步骤拼接起来,进行更为复杂的故障注入。
套件实现
为了满足此类复杂的故障注入,我们使用了目前集团内正在开发的一套故障注入系统 monkeyking,并在它的基础上扩展了一些 kubernetes 相关的套件,来达到既可以注入 kubernetes 相关的故障,又可以注入一些通用故障,同时又可以相对自由的扩展故障集合的目的。
这个故障注入的演练流程如下图所示:
它的每一个步骤都可以是我们自由扩展的一个或者多个小程序,各个小程序之间的执行顺序也可以自由的定义。考虑到 Ali Kubernetes 的场景,我们在其中扩展了四大类小程序套件。
通用故障小程序
在这一部分主要实现了一些比较通用的 os 故障,网络故障,比如最基本的指定一个宿主机断网,指定宿主机重启这类。
Kubernetes 套件小程序
这一部分主要实现了一些通用的 Kubernetes 命令,通过指定这些命令和入参,我们可以执行比如 create delete apply patch 这些操作,来间接的达到注入一些 Kubernetes 相关故障的目的。
要点说明如下: 下载集群证书的地址及证书的 md5 码都作为小程序的输入,在执行实际的 kubectl 生效命令前进行下载校验; 底层 toolkit 中已经加入了 kubectl 命令行工具,无需自己找环境进行配置和下载; 目前已经支持了 apply,create,delete,patch,get 操作,支持指定 label,namespace,-o json 的操作

举个例子,上文中 master 组件故障的场景中,我们就可以利用以上的两类小程序来完成故障注入的操作:
开源工具小程序
目前我们和集团安全生产的 MonkeyKing 团队合作,联合在故障注入平台 monkeyking 中集成了开源工具 kube-monkey,实现过程借助了上文的 kubernetes 套件执行,可以通过打标的方式标记受害者,让 kube-monkey 随机的杀受害者 pod。步骤如下: 环境准备 锁演练环境 在当前集群中初始化kube-monkey: 使用kubernetes套件的apply功能提交km-config.yaml文件,部署 kube-monkey deployment
**
应用标记受害者 label 使用 Kubernetes 套件的 patch 功能,标记受害者
**
验证步骤 自定义组件校验应用服务是否可用
**
故障恢复 使用 Kubernetes 套件的 patch 功能,给受害者去标 使用 Kubernetes 套件的 delete 功能,删除 kube-monkey deployment 解锁演练环境
其他业务相关小程序
这一部分比较自由,主要根据 Ali Kubernetes 的业务需求,接入了一些常用的小程序。
比如故障演练过程中,环境需要独占,不允许其他测试执行,在这里实现了一个小程序用来对环境进行加解锁操作;比如校验阶段需要验证服务是否可用,这里实现了一个通过 curl 命令校验返回值的方式验证服务是否可用的小程序;比如故障注入过程可能影响vip挂载,这里也实现了一个调用 vip 服务校验 vip 下 ip 数量及是否可用的小程序。
总结
在 Ali Kubernetes 中,我们将故障以场景化的方式进行沉淀,将底层 os,内核、网络、误配置等故障联合 Kubernetes 相关故障,引入混沌工程的理念进行注入,有效的发现了很多系统稳定性问题,驱动开发人员更多关注系统健壮性。
后续我们会在 Ali Kubernetes 演进过程中持续发力,基于架构和业务场景输入更多 Kubernetes 相关的故障场景,为系统的高可用保驾护航。

一站式开发者服务,海量学习资源0元起!
阿里热门开源项目、机器学习干货、开发者课程/工具、小微项目、移动研发等海量资源;更有开发者福利Kindle、技术图书幸运抽奖,100%中--》 【阿里云】开年Hi购季,开发者会场
原文链接
本文为云栖社区原创内容,未经允许不得转载。
硬件开发
2019-03-20 16:05:00
在数字经济和互联网时代,经常会有一些重大事件,如新零售秒杀、出行大促、大型峰会、晚会等,这些业务高峰会给业务平台带来不小的考验,并且有越来越多的行业正在经历这些考验,如金融、游戏、物联网、新零售、媒体等,亟需一套成熟有体系的护航保障服务方案,来应对云上业务的尖峰时刻。

结合多年服务于各个行业客户的丰富经验和深厚沉淀,阿里云智能护航团队积累了一套成熟完善的云上护航服务方案,帮助客户平稳应对业务高峰时刻。
通过标准的SOP护航服务标准,阿里云智能护航团队从客户业务视角出发,针对客户不同的业务场景进行深度分析并给出最佳实践:
在架构上:帮助客户通过全链路的评估、压测,完成业务架构的性能优化,建立合理的资源弹性扩展;
在安全上:帮助客户建立一套完善的安全防御体系,帮助抵御流量攻击,恶意请求、业务诈骗等行为;
在直播上:帮助客户通过业务分析,进行节点调度优化,确保网络顺畅、视频无卡顿。
在护航过程中,阿里云智能护航团队实时对核心业务进行自动化监控和预警,并设立全过程应急渠道,提供线上线下专人保障,确保客户业务顺利平稳度过高峰时刻,并且在护航后完成各项客户验收工作,输出标准交付件,为客户后续的护航战役做好铺垫。


目前,阿里云智能护航团队已为晨之科、微博、WeWork联合办公空间、凤凰佳影、目睹科技等不同行业的多个客户提供了云上护航服务,缔造了一个个平稳应对业务高峰的奇迹。

一站式开发者服务,海量学习资源0元起!
阿里热门开源项目、机器学习干货、开发者课程/工具、小微项目、移动研发等海量资源;更有开发者福利Kindle、技术图书幸运抽奖,100%中--》 【阿里云】开年Hi购季,开发者会场

原文链接
本文为云栖社区原创内容,未经允许不得转载。
硬件开发
2019-03-20 15:54:00
在第一期“漫说安全”栏目中,我们用四格漫画的形式介绍了基于深度学习的阿里云WAF到底智能在哪里,能帮客户解决什么问题。
在今天的这期栏目里,我们依然通过漫画这种通俗易懂的方式,与大家分享阿里云WAF的另一大特点—开放。开放的云WAF到底有什么好处,答案就在漫画里^_^




漫画看完,安全君依旧准备了问答环节哦
**客户:云盾WAF具有哪些开放特征?
安全小二: 1.开放的OpenAPI接口支持;2.自定义规则组配置;3.基于大数据的全量日志实时存储、分析服务。
**客户:OpenAPI接口带来的最主要价值是什么?
安全小二: 支持快速程序化配置和第三方平台调用和集成,助力客户自动化安全运营和统一平台运营,提高工作效率。
**客户:规则开放后为日常防护带来什么好处?
安全小二: 云盾WAF是国内首个做到将规则定义权交付给客户的,客户可以在专家策略基础之上,基于对自身业务的理解为每个资产定制专家经验防护规则集,以达到最精准的业务安全防护效果。
**客户:日志存储和分析服务适用于哪些业务场景?
安全小二: 满足不低于6个月全量日志存储要求及安全法律法规要求; 支持基于日志的安全和业务事件自动化分析告警,安全态势仪表盘订阅等日常自动化运维; 提供日常安全运维、业务运营以及运营中心的态势实时大屏展示。
如果大家对云盾WAF的开放特点还有其他问题欢迎留言哦,安全小二将为您一一解答^_^

一站式开发者服务,海量学习资源0元起!
阿里热门开源项目、机器学习干货、开发者课程/工具、小微项目、移动研发等海量资源;更有开发者福利Kindle、技术图书幸运抽奖,100%中--》 【阿里云】开年Hi购季,开发者会场

原文链接
本文为云栖社区原创内容,未经允许不得转载。
硬件开发
2019-03-19 15:28:00