摄像头视频采集压缩及传输 基本原理

摄像头视频采集压缩及传输 基本原理,第1张

摄像头视频采集压缩及传输

引言 :

摄像头基本的功能还是视频传输,那么它是依靠怎样的原理来实现的呢?所谓视频传输:

就是将一张张传到屏幕,由于传输速度很快,所以可以让大家看到连续动态的画面,就像放一样。一般当画面的传输数量达到 每秒24帧 时,画面就有了连续性。

下边我们将介绍摄像头视频采集压缩及传输的整个过程。

一.摄像头的工作原理(获取视频数据

摄像头的工作原理大致为:景物通过 镜头(LENS) 生成的 光学图像 投射到 图像传感器 表面上,然后转为 电信号 ,经过 A/D (模数转换)转换后变为 数字图像信号 ,再送到 数字信号处理芯片 (DSP)中加工处理,再通过 USB接口 传输到电脑中处理,通过显示器就可以看到图像了。下图是摄像头工作的流程图:

注1:图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。

注2:数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理,并把处理后的信号通过USB等接口传到PC等设备。

1 ISP(image signal processor)(镜像信号处理器)

2 JPEG encoder(JPEG图像解码器)

3 USB device controller(USB设备控制器)

而视频要求将获取的视频图像通过互联网传送到异地的电脑上显示出来这其中就涉及到对于获得的视频图像的传输。

在进行这种的传输时,必须将进行压缩,一般压缩方式有如H261、JPEG、MPEG等,否则传输所需的带宽会变得很大。大家用RealPlayer不知是否留意,当播放的时候,在播放器的下方会有一个传输速度250kbps、400kbps、1000kbps…画面的质量越高,这个速度也就越大。而摄像头进行视频传输也是这个原理,如果将摄像头的分辨率调到640×480,捕捉到的每张 大小约为50kb左右,每秒30帧,那么摄像头传输视频所需的速度为50×30/s=1500kbps=15Mbps。而在实际生活中,人们一般用于网络视频聊天时的分辨率为320×240甚至更低,传输的帧数为每秒24帧。换言之,此时视频传输速率将不到300kbps,人们就可以进行较为流畅的视频传输聊天。如果采用更高的压缩视频方式,如MPEG-1等等,可以将传输速率降低到200kbps不到。这个就是一般视频聊天时,摄像头所需的网络传输速度。

二.视频压缩部分

视频的压缩 是视频处理的核心,按照是否实时性可以分为非实时压缩和实时压缩。而视频传输(如QQ视频即时聊天)属于要求视频压缩为实时压缩。

下面对于视频为什么能压缩进行说明。

视频压缩是有损压缩,一般说来,视频压缩的压缩率都很高,能够做到这么高的压缩率是因为视频图像有着非常大的 时间和空间的冗余度 。所谓的 时间冗余度 指的是两帧相邻的图像他们相同位置的像素值比较类似,具有很大的相关性,尤其是静止图像,甚至两帧图像完全相同,对运动图像,通过某种运算(运动估计),应该说他们也具有很高的相关性;而空间相关性指的是同一帧图像,相邻的两个像素也具备一定的相关性。这些相关性是视频压缩算法的初始假设,换句话说,如果不满足这两个条件(全白噪声图像,场景频繁切换图像等),视频压缩的效果是会很差的。

去除时间相关性的关键算法是运动估计,它找出当前图像宏块在上一帧图像中最匹配的位置,很多时候,我们只需要把这个相对坐标记录下来,就够了,这样就节省了大量码字,提高了压缩率。视频压缩算法中,运动估计永远是最关键最核心的部分。去除空间相关性是通过DCT变换来实现的,把时域上的数据映射到频域上,然后对DCT系数进行量化处理,基本上,所有的有损压缩,都会有量化,它提高压缩率最明显。

图像的原始文件是比较大的,必须经过图像压缩才能够进行快速的传输以及顺畅的播放。而压缩比正是来衡量影像压缩大小的参数。 一般来说,摄像头的压缩比率大都是5:1。也就是说,如果在未压缩之前30秒的图像的容量是30MB,那么按照摄像头5:1的压缩比率来对图像进行压缩以后,它的大小就变成了6MB了。

主要的视频压缩算法包括:M-JPEG、Mpeg、H264、Wavelet(小波压缩)、JPEG 2000、AVS。

基本上视频压缩的核心就这些。

三.视频传输部分

为了保证数字视频网络传输的实时性和图像的质量,传输层协议的选择是整个设计和实现的关键。Internet在IP层上使用两种传输协议:一种是TCP(传输控制协议),它是面向连接的网络协议;另一种是UDP(用户数据报协议),它是无连接的网络协议。

TCP 传输 :TCP(传输控制协议)是一种面向连接的网络传输协议。支持多数据流 *** 作,提供流控和错误控制,乃至对乱序到达报文的重新排序,因此,TCP传输提供了可靠的数据传输服务。

使用TCP传输的一般的过程:

客户机向服务器发出连接的请求后,服务器接收到后,向客户机发出连接确认,实现连接后,双方进行数据传输。

UDP 传输 : UDP(用户数据报协议)是一种无连接的网络传输协议。提供一种基本的低延时的称谓数据报的传输服务。不需要像TCP传输一样需预先建立一条连接。UDP无计时机制、流控或拥塞管理机制。丢失的数据不会重传。因此提供一种不可靠的的应用数据传输服务。但在一个良好的网络环境下如 局域网内,使用UDP传输数据还是比较可靠,且效率很高。

IP 组播技术: 组播技术是一种允许一个或多个发送者发送单一或多个发送者的数据包到多个接收者的网络技术。组播源把数据报发送到特定的组播组,而只有加入到该组播组的主机才能接收到这些数据包。组播可大大节省网络宽带,因为无论有多少个目标地址,在整个网络的任何一条链路上只船送单一的数据包。

1TCP/IP 协议和实时传输

TCP/IP协议最初是为提供非实时数据业务而设计的。IP协议负责主机之间的数据传输,不进行检错和纠错。因此,经常发生数据丢失或失序现象。为保证数据的可靠传输,人们将TCP协议用于IP数据的传输,以提高接收端的检错和纠错能力。当检测到数据包丢失或错误时,就会要求发送端重新发送,这样一来就不可避免地引起了传输延时和耗用网络的带宽。因此传统的TCP/IP协议传输实时音频、视频数据的能力较差。当然在传输用于回放的视频和音频数据时,TCP协议也是一种选择。如果有足够大的缓冲区、充足的网络带宽,在TCP协议上,接近实时的视音频传输也是可能的。然而,如果在丢包率较高、网络状况不好的情况下,利用TCP协议进行视频或音频通信几乎是不可能的。

TCP和其它可靠的传输层协议如XTP不适合实时视音频传输的原因主要有以下几个方面:

1 TCP的重传机制

我们知道,在TCP/IP协议中,当发送方发现数据丢失时,它将要求重传丢失的数据包。然而这将需要一个甚至更多的周期(根据TCP/IP的快速重传机制,这将需要三个额外的帧延迟),这种重传对于实时性要求较高的视音频数据通信来说几乎是灾难性的,因为接收方不得不等待重传数据的到来,从而造成了延迟和断点(音频的不连续或视频的凝固等等)。

2 TCP的拥塞控制机制

TCP的拥塞控制机制在探测到有数据包丢失时,它就会减小它的拥塞窗口。而另一方面,音频、视频在特定的编码方式下,产生的编码数量(即码率)是不可能突然改变的。正确的拥塞控制应该是变换音频、视频信息的编码方式,调节视频信息的帧频或图像幅面的大小等等。

3 TCP报文头的大小

TCP不适合于实时视音频传输的另一个缺陷是,它的报文头比UDP的报文头大。TCP的报文头为40个字节,而UDP的报文头仅为12个字节。并且,这些可靠的传输层协议 不能提供时间戳(Time Stamp)和编解码信息(Encoding Information) ,而这些信息恰恰是接收方(即客户端)的应用程序所需要的。因此TCP是不适合于视音频信息的实时传输的。

4 启动速度慢

即便是在网络运行状态良好、没有丢包的情况下,由于TCP的启动需要建立连接,因而在初始化的过程中,需要较长的时间,而在一个实时视音频传输应用中,尽量少的延迟正是我们所期望的。

由此可见,TCP协议是不适合用来传输实时视音频数据的,为了实现视音频数据的实时传输,我们需要寻求其它的途径。

2RTP 协议适合实时视音频传输

RTP(Real-Time Transport Protocol)/RTCP(Real-Time Transport Control Protocol)是一种应用型的传输层协议,它并不提供任何传输可靠性的保证和流量的拥塞控制机制。它是由IETF(Internet Engineering Task Force)为视音频的实时传输而设计的传输协议。RTP协议位于UDP协议之上,在功能上独立于下面的传输层(UDP)和网络层,但不能单独作为一个层次存在,通常是利用低层的UDP协议对实时视音频数据进行组播(Multicast)或单播(Unicast),从而实现多点或单点视音频数据的传输。

UDP是一种无连接的数据报投递服务,虽然没有TCP那么可靠,并且无法保证实时视音频传输业务的服务质量(QoS),需要RTCP实时监控数据传输和服务质量,但是,由于UDP的传输延时低于TCP,能与音频和视频流很好地匹配。因此,在实际应用中,RTP/RTCP/UDP用于音视频媒体,而TCP用于数据和控制信令的传输。

总结 :如果接收端和发送端处于同一个局域网内,由于有充分的带宽保证,在满足视频传输的实时性方面,TCP也可以有比较好的表现,TCP和基于UDP的RTP的视频传输性能相差不大。由于在局域网内带宽不是主要矛盾,此时视频数据传输所表现出来的延时主要体现为处理延时,它是由处理机的处理能力以及采用的处理机制所决定的 。但是当在广域网中进行视频数据传输时,此时的传输性能极大地取决于可用的带宽,由于TCP是面向连接的传输层协议,它的重传机制和拥塞控制机制,将使网络状况进一步恶化,从而带来灾难性的延时。同时,在这种网络环境下,通过TCP传输的视频数据,在接收端重建、回放时,断点非常明显,体现为明显的断断续续,传输的实时性和传输质量都无法保障。相对而言,采用RTP传输的视频数据的实时性和传输质量就要好得多。

四.视频图像的异地显示

当压缩过的视频通过互联网传输到异地的时候,对于互联网传输过来的视频信息,首先是要进行解码,然后才是显示。解码的芯片有一定的性能要求,比编码器低些,但是毕竟是视频数据处理,通用的芯片(不支持MMX等多媒体指令)可能会比较吃力。显示设备主要有电视、监视器和显示器,他们的信号接口是不一样的,电视监视器是模拟的电信号,显示器的输入应该是数字信号。

以上是摄像头如何获取图像数据及获取的数据存放在什么地方,如何压缩和传输及如何在异地释放和播放出来的整个过程

多比和传统组态不一样, 不需要Web发布。 在运行的网页右键单击任意空白地方, 在d出的菜单中选择“查看参数”, 会d出一个二维码,用手机扫描二维码就可以查看智慧能源物联网云平台画面了 。 手机需要联网喔~wifi

一、功能

在没有 Cortex-M3 核心的干预下,在后台完成数据传输。在传输数据的过程中,主处理器可以执行其它任务,只有在整个数据块传输结束后,需要处理这些数据时才会中断主处理器的 *** 作。它可以在对系统性能产生较小影响的情况下,实现大量数据的传输。

二、特点

DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

DMA 传输将一个内存区从一个装置复制到另外一个, CPU 初始化这个传输动作,传输动作本身是由 DMA控制器来实行和完成。

典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的 *** 作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能嵌入式系统算法和网络是很重要的。

扩展资料

原理:

一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。

外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。

CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。

参考资料来源:百度百科-DMA方式

物联网的体系结构可以分为感知层,网络层和应用层三个层次。

感知层。是物联网发展和应用的基础,包括传感器或读卡器等数据采集设备、数据接入到网关之前的传感器网络。感知层以RFID、传感与控制、短距离无线通信等为主要技术,其任务是识别物体和采集系统中的相关信息,从而实现对“物”的认识与感知。

网络层。是建立在现有通信网络和互联网基础之上的融合网络,网络层通过各种接入设备与移动通信网和互联网相连,其主要任务是通过现有的互联网、广电网络、通信网络等实现信息的传输、初步处理、分类、聚合等,用于沟通感知层和应用层。目前国内通信设备和运营商实力较强,是我国互联网技术领域最成熟的部分。

应用层。是将物联网技术与专业技术相互融合,利用分析处理的感知数据为用户提供丰富的特定服务。应用层是物联网发展的目的。物联网的应用可分为控制型、查询型、管理型和扫描型等,可通过现有的手机、电脑等终端实现广泛的智能化应用解决方案。

资料拓展:

物联网的整个结构可分为射频识别系统和信息网络系统两部分。射频识别系统主要由标签和读写器组成,两者通过RFID空中接口通信。读写器获取产品标识后,通过internet或其他通讯方式将产品标识上传至信息网络系统的中间件,然后通过ONS解析获取产品的对象名称,继而通过EPC信息服务的各种接口获得产品信息的各种相关服务。整个信息系统的运行都会借助internet的网络系统,利用在internet基础上的发展出的通信协议和描述语言。

因此我们可以说物联网是架构在internet基础上的关于各种物理产品信息服务的总和。从应用角度来看,物联网中三个层次值得关注,也即是说,物联网由三部分组成:一是传感网络,即以二维码、RFID、传感器为主,实现对“物”的识别。二是传输网络,即通过现有的互联网、广电网络、通信网络等实现数据的传输与计算。三是应用网络,即输入输出控制终端。

本实用新型涉及一种家庭式电热水锅炉物联网手机wifi控制系统,其属于电热水锅炉节能、环保技术领域。
1
为解决现有技术中存在的问题,本实用新型提供一种家庭式电热水锅炉物联网手机wifi控制系统,该系统通过手机app或者电脑软件实现wifi控制,实时控制锅炉运行还可随时查看锅炉运行状态,轻松控制锅炉设备,实现锅炉参数的无缝接入,准确掌握现场状况。
2
本实用新型解决技术问题所采用的技术方案是:一种家庭式电热水锅炉物联网手机wifi控制系统,它包括手机客户端、电脑客户端、云平台服务器和物联网,云平台服务器上设置用于数据传输的数据i/o接口,手机客户端和电脑客户端通过wifi网络与云平台服务器数据通信,云平台服务器与物联网通过数据i/o接口进行数据双向通信,它还包括路由器、锅炉控制器、锅炉开关、温度传感器、水位传感器、时间模块和循环泵;所述物联网通过路由器与锅炉控制器数据通信,路由器通过wifi模块连接锅炉控制器,锅炉控制器同时连接和调控锅炉开关、温度传感器、水位传感器、时间模块和循环泵。
3
所述手机客户端与云平台服务器双向数据通信,电脑客户端与云平台服务器双向数据通信,物联网与锅炉控制器双向数据通信。
4
本实用新型的有益效果是:这种家庭式电热水锅炉物联网手机wifi控制系统,它包括手机客户端、电脑客户端、云平台服务器和物联网,手机客户端和电脑客户端通过wifi网络与云平台服务器相连,云平台服务器与物联网进行数据双向通信,还包括路由器、锅炉控制器、锅炉开关、温度传感器、水位传感器、时间模块和循环泵。物联网通过路由器与锅炉控制器数据通信,路由器通过wifi模块连接锅炉控制器,锅炉控制器同时连接和调控锅炉开关、温度传感器、水位传感器、时间模块和循环泵。该物联网手机wifi控制系统具有功能简单,使用方便等特点。人无论在什么地方只要有网络,即可通过手机app或电脑软件实现wifi控制,实时控制锅炉运行,还可随时查看锅炉的运行状态,轻松控制锅炉设备,实现锅炉参数的无缝接入,准确掌握现场状况。在手机上还可以监控到锅炉运行的全过程。当锅炉发生故障时,该系统即时推送一条故障信息传到用户手机,从而避免因故障延误锅炉的运行。灵活调整锅炉触发条件如停炉温度等,调整后即时生效。通过分享设备序列号与密码添加其它手机或电脑客户端享有同等控制权。这种物联网手机wifi控制模式既方便又大大地提高了人的办事效率,节省时间,又节能、环保,是各界人士家庭采暖的首选。
图1是一种家庭式电热水锅炉物联网手机wifi控制系统的结构流程图。
具体实施方式
以下结合附图对本实用新型的技术细节作进一步说明。
图1示出了一种家庭式电热水锅炉物联网手机wifi控制系统的结构流程图。这种家庭式电热水锅炉物联网手机wifi控制系统,它包括手机客户端、电脑客户端、云平台服务器和物联网,云平台服务器上设置用于数据传输的数据i/o接口,手机客户端和电脑客户端通过wifi网络与云平台服务器数据通信,云平台服务器与物联网通过数据i/o接口进行数据双向通信,它还包括路由器、锅炉控制器、锅炉开关、温度传感器、水位传感器、时间模块和循环泵;物联网通过路由器与锅炉控制器数据通信,路由器通过wifi模块连接锅炉控制器,锅炉控制器同时连接和调控锅炉开关、温度传感器、水位传感器、时间模块和循环泵。
手机客户端与云平台服务器双向数据通信,电脑客户端与云平台服务器双向数据通信,物联网与锅炉控制器双向数据通信。
这种家庭式电热水锅炉物联网手机wifi控制系统的具体工作过程:通过手机app设定好温度、水位后开启该系统,开启信号通过wifi传递给物联网,物联网通过wifi模块将信号传递给锅炉控制器,锅炉控制器打开锅炉开关,启动电热水锅炉进行全自动模式运行,电热水锅炉按设定温度程序一步一步进行工作,当温度达到设定温度时,电热水锅炉会自动停止工作,将信号传递给锅炉控制器,锅炉控制器开启循环泵,启动供暖系统循环,当系统水温降至设定温度时,锅炉再次自动启动进行全自动模式运行工作。该系统还存在时间控制模式,即通过手机app设定温度、水位和需要的加热时间,开启系统后,该系统自动进入加热和循环供暖运行模式,当运行到设定时间后,系统自动停止工作,这种模式适合春、秋季节,室外温度较稳定,室内不需要整天供暖的情况。该系统通过电脑客户端软件可以同样实现手机app的控制功能。
该系统通过手机还可以监控到锅炉运行的全过程。当锅炉发生故障时,系统即时推送一条故障信息,该信息通过wifi模块传送到物联网和云平台服务器,继而传到用户手机,从而避免因故障延误锅炉的运行。另外,该系统还可以灵活调整锅炉的触发条件如停炉温度等,调整后即时生效。通过分享设备序列号与密码添加其它手机或电脑客户端设备享有同等控制权。
手机添加设备的方法:在手机“应用市场”或“软件商店”下载“锅炉在线”app并安装,打开“锅炉在线”app,在设备列表页点击右上角“+”键,添加设备,对于新启用的设备,点击“新设备”通过搜索添加设备,在检测到路由器后,输入路由器密码,点击“搜索”开始检测新设备。对已经配置过的设备,点击“已配置过的设备”采用序列号与密码添加。设备添加成功,点击相应的设备名称,即可进入详情页, *** 作相关联的设备。
“锅炉在线”系统架构包括:1)用户应用层,具备各种数据的接入转换、处理及归类等功能、有稳定的数据存储、运算和挖掘能力,能满足锅炉运行在线监测、故障报警等具体服务。2)数据通讯层,数据由wifi模块统一处理后,利用无线通讯实施远程数据传输。3)信号采集层,利用锅炉上的温度、水位、时间和循环泵采集锅炉运行数据并传到云平台便于大数据分析。
采用上述的技术方案,物联网手机wifi控制系统,人无论在任何只要有网络地方,利用物联网手机wifi控制传递信号给电热水锅炉。在手机上还可以监控到锅炉在运行过程中的全过程。这种物联网手机wifi控制模式既方便又大大地提高了人的办事效率,节省了时间,节能、环保是各界人士家庭采暖的首选。
5
一种家庭式电热水锅炉物联网手机WiFi控制系统,属于电热水锅炉节能、环保技术领域。这种家庭式电热水锅炉物联网手机WiFi控制系统,包括手机客户端、电脑客户端、云平台服务器、物联网、路由器、锅炉控制器。该物联网手机WiFi控制系统功能简单,使用方便。通过手机APP WiFi控制,即可实时控制锅炉运行还可随时查看锅炉运行状态,轻松控制锅炉设备,实现锅炉参数的无缝接入,准确掌握现场状况。在手机上还可以监控到锅炉运行的全过程,可以灵活调整锅炉的触发条件。通过分享设备序列号与密码添加设备享有同等控制权。该系统后既方便又大大地提高了人的办事效率,节省时间,又节能、环保,是各界人士家庭采暖的首选。

在工业控制及测量领域较为常用的网络之一就是物理层采用RS-485通信接口所组成的工控设备网络。这种通信接口可以十分方便地将许多设备组成一个控制网络。从目前解决单片机之间中长距离通信的诸多方案分析来看,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性至关重要。
图1 RS485通信接口原理图
2 硬件电路设计中需注意的问题
21 电路基本原理
某节点的硬件电路设计如图1所示,在该电路中,使用了一种RS-485接口芯片SN75LBC184,它采用单一电源Vcc,电压在+3~+55 V范围内都能正常工作。与普通的RS-485芯片相比,它不但能抗雷电的冲击而且能承受高达8 kV的静电放电冲击,片内集成4个瞬时过压保护管,可承受高达400 V的瞬态脉冲电压。因此,它能显著提高防止雷电损坏器件的可靠性。对一些环境比较恶劣的现场,可直接与传输线相接而不需要任何外加保护元件。该芯片还有一个独特的设计,当输入端开路时,其输出为高电平,这样可保证接收器输入端电缆有开路故障时,不影响系统的正常工作。另外,它的输入阻抗为RS485标准输入阻抗的2倍(≥24 kΩ),故可以在总线上连接64个收发器。芯片内部设计了限斜率驱动,使输出信号边沿不会过陡,使传输线上不会产生过多的高频分量,从而有效扼制电磁干扰。在图1中,四位一体的光电耦合器TLP521让单片机与SN75LBC184之间完全没有了电的联系,提高了工作的可靠性。基本原理为:当单片机P16=0时,光电耦合器的发光二极管发光,光敏三极管导通,输出高电压(+5 V),选中RS485接口芯片的DE端,允许发送。当单片机P16=1时,光电耦合器的发光二极管不发光,光敏三极管不导通,输出低电压(0 V),选中RS485接口芯片的RE端,允许接收。SN75LBC184的R端(接收端)和D端(发送端)的原理与上述类似。
22 RS-485的DE控制端设计
在RS-485总线构筑的半双工通信系统中,在整个网络中任一时刻只能有一个节点处于发送状态并向总线发送数据,其他所有节点都必须处于接收状态。如果有2个节点或2个以上节点同时向总线发送数据,将会导致所有发送方的数据发送失败。因此,在系统各个节点的硬件设计中,应首先力求避免因异常情况而引起本节点向总线发送数据而导致总线数据冲突。以MCS51系列的单片机为例,因其在系统复位时,I/O口都输出高电平,如果把I/O口直接与RS-485接口芯片的驱动器使能端DE相连,会在CPU复位期间使DE为高,从而使本节点处于发送状态。如果此时总线上有其他节点正在发送数据,则此次数据传输将被打断而告失败,甚至引起整个总线因某一节点的故障而通信阻塞,继而影响整个系统的正常运行。考虑到通信的稳定性和可靠性,在每个节点的设计中应将控制RS485总线接口芯片的发送引脚设计成DE端的反逻辑,即控制引脚为逻辑“1”时,DE端为“0”;控制引脚为逻辑“0”时,DE端为“1”。在图1中,将CPU的引脚P16通过光电耦合器驱动DE端,这样就可以使控制引脚为高或者异常复位时使SN75LBC184始终处于接收状态,从而从硬件上有效避免节点因异常情况而对整个系统造成的影响。这就为整个系统的通信可靠奠定了基础。
此外,电路中还有1片看门狗MAX813L,能在节点发生死循环或其他故障时,自动复位程序,交出RS-485总线控制权。这样就能保证整个系统不会因某一节点发生故障而独占总线,导致整个系统瘫痪。
23 避免总线冲突的设计
当一个节点需要使用总线时,为了实现总线通信可靠,在有数据需要发送的情况下先侦听总线。在硬件接口上,首先将RS-485接口芯片的数据接收引脚反相后接至CPU的中断引脚INT0。在图1中,INT0是连至光电耦合器的输出端。当总线上有数据正在传输时,SN75LBC184的数据接收端(R端)表现为变化的高低电平,利用其产生的CPU下降沿中断(也可采用查询方式),能得知此时总线是否正“忙”,即总线上是否有节点正在通信。如果“空闲”,则可以得到对总线的使用权限,这样就较好地解决了总线冲突的问题。在此基础上,还可以定义各种消息的优先级,使高优先级的消息得以优先发送,从而进一步提高系统的实时性。采用这种工作方式后,系统中已经没有主、从节点之分,各个节点对总线的使用权限是平等的,从而有效避免了个别节点通信负担较重的情况。总线的利用率和系统的通信效率都得以大大提高,从而也使系统响应的实时性得到改善,而且即使系统中个别节点发生故障,也不会影响其他节点的正常通信和正常工作。这样使得系统的“危险”分散了,从某种程度上来说增强了系统的工作可靠性和稳定性。
24 RS-485输出电路部分的设计
在图1中,VD1~VD4为信号限幅二极管,其稳压值应保证符合RS-485标准,VD1和VD3取12 V,VD2 和VD4取7 V,以保证将信号幅度限定在-7~+12 V之间,进一步提高抗过压的能力。考虑到线路的特殊情况(如某一节点的RS-485芯片被击穿短路),为防止总线中其他分机的通信受到影响,在SN75LBC184的信号输出端串联了2个20 Ω的电阻R1和R2,这样本机的硬件故障就不会使整个总线的通信受到影响。在应用系统工程的现场施工中,由于通信载体是双绞线,它的特性阻抗为120 Ω左右,所以线路设计时,在RS485网络传输线的始端和末端应各接1个120 Ω的匹配电阻(如图1中的R3),以减少线路上传输信号的反射。
25 系统的电源选择
对于由单片机结合RS-485组建的测控网络,应优先采用各节点独立供电的方案,同时电源线不能与RS-485信号线共用同一股多芯电缆。RS-485信号线宜选用截面积075 mm2以上的双绞线而不是平直线,并且选用线性电源TL750L05比选用开关电源更合适。TL750L05必须有输出电容,若没有输出电容,则其输出端的电压为锯齿波形状,锯齿波的上升沿随输入电压变化而变化,加输出电容后,可以抑制该现象。
3 软件的编程
SN75LBC184在接收方式时,A、B为输入,R为输出;在发送方式时,D为输入,A、B为输出。当传送方向改变一次后,如果输入未变化,则此时输出为随机状态,直至输入状态变化一次,输出状态才确定。显然,在由发送方式转入接收方式后,如果A、B状态变化前,R为低电平,在第一个数据起始位时,R仍为低电平,CPU认为此时无起始位,直到出现第一个下降沿,CPU才开始接收第一个数据,这将导致接收错误。由接收方式转入发送方式后,D变化前,若A与B之间为低电压,发送第一个数据起始位时,A与B之间仍为低电压,A、B引脚无起始位,同样会导致发送错误。克服这种后果的方案是:主机连续发送两个同步字,同步字要包含多次边沿变化(如55H ,0AAH),并发送两次(第一次可能接收错误而忽略) ,接收端收到同步字后,就可以传送数据了,从而保证正确通信。
为了更可靠地工作,在RS485总线状态切换时需要适当延时,再进行数据的收发。具体的做法是在数据发送状态下,先将控制端置“1”,延时05 ms左右的时间,再发送有效的数据,数据发送结束后,再延时05 ms,将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。数据通信程序基本流程图如图2所示。
图2 数据通信程序基本流程图
单片机通信节点的程序基本上可以分为6个主要部分,分别为预定义部分、初始化部分、主程序部分、设备状态检测部分、帧接收部分和帧发送部分。预定义部分主要定义了通信中使用的握手信号,用于保存设备信息的缓冲区和保存本节点设备号的变量。设备状态检测部分应能在程序初始化后,当硬件发生故障时,作出相应的反应。主程序部分应能接收命令帧,并根据命令的内容作出相应的回应。为缩短篇幅,这里仅给出主程序部分的代码。如下所示:
/ 主程序流程 /
while(1) { //主循环
if(recv_cmd(&type)==0) //发生帧错误或帧地址与本机
//地址不符,丢弃当前帧后返回
continue;
switch(type) {
case __ACTIVE_: //主机询问从机是否存在
send_data(__OK_, 0,dbuf);//发送应答信息
break;
case __GETDATA_:
len = strlen(dbuf);
send_data(__STATUS_, len,dbuf);//发送状态信息
break;
default:
break; //命令类型错误,丢弃当前帧后返回
}
}
4 结论
RS-485由于使用了差分电平传输信号,传输距离比RS-232更长,最多可以达到3000 m,因此很适合工业环境下的应用。但与CAN总线等更为先进的现场工业总线相比,其处理错误的能力还稍显逊色,所以在软件部分还需要进行特别的设计,以避免数据错误等情况发生。另外,系统的数据冗余量较大,对于速度要求高的应用场所不适宜用RS-485总线。虽然RS-485总线存在一些缺点,但由于它的线路设计简单、价格低廉、控制方便,只要处理好细节,在某些工程应用中仍然能发挥良好的作用。总之,解决可靠性的关键在于工程开始施工前就要全盘考虑可采取的措施,这样才能从根本上解决问题,而不要等到工程后期再去亡羊补牢。

物联网雁飞格物DMP(数据管理平台)协同功能,是基于大数据和物联网技术的数据管理平台所具备的一项关键功能。它旨在通过数据协同,将各个物联网设备传输的数据进行整合,实现数据的集中管理、存储、分析和挖掘,从而为企业提供更全面、准确的数据支持,以帮助企业完成更有效的决策和优化运营。
该功能主要包括以下几个方面:
1 数据整合:将从各个物联网设备中采集到的数据进行整合和存储,实现数据的统一管理和维护。
2 数据分析:对整合后的数据进行分析和挖掘,帮助企业进行数据分析,识别出数据之间的相关性和趋势,为企业提供更精准的数据支持和决策指导。
3 数据可视化:将复杂的数据信息通过可视化的方式呈现出来,为用户提供直观的数据展示和分析;
4 数据共享:协同功能还可以实现数据的共享,从而实现不同用户之间的数据共享和协作。
总的来说,物联网雁飞格物DMP协同功能可以帮助企业更好地管理和分析物联网设备的数据,为企业提供精准的数据支持和决策指导,帮助企业实现运营优化和效率提升。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/12946983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存