姓名:张嘉眙 学号:19020100136 学院:电子工程学院
转自:https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&dbname=CJFDLAST2021&filename=XDDJ202113013&v=rq2Iv1DUQDeEnBl62xKcX2ufudHydBbWmAQYCsXx2FY0LLIAHxagqnClpIy7e4Tk
【嵌牛导读】基于Linux的视频网络嵌入式控制系统设计
【嵌牛鼻子】基于Linux的视频网络嵌入式控制系统
【嵌牛提问】Linux的视频网络嵌入式控制系统是怎样设计的
【嵌牛正文】
有线监测的工作环境是在室外进行移动监测,因其活动范围较大,不适于应用在户外监测中。目前经常采用脱机监控方式,即把视频记录保存在硬盘里,经过无线监控实现实时在线监控。尽管无线视频监控已经克服了模拟视频监控本身的局限性,但由于单片机逻辑控制程序与底层硬件驱动程序不能分离,一旦系统中某个部件发生故障,整个逻辑控制过程也将停止运行[3]。在开发复杂系统应用时处理能力有限,系统网络控制功能难以实现。
嵌入式模拟视频网络控制系统是一套全光纤连接的一对一闭环仿真系统。该系统安装简单、成本低,但传送距离有限,存储困难。数字化视频控制系统利用压缩技术将其转化为数字信号进行存储,虽然具有高灵活性优点,但同样也存在高功耗、低稳定性缺点。为解决传统系统中存在的问题,本文设计了一种基于Linux的视频网络嵌入式控制系统。嵌入式Linux系统移植于视频矩阵控制系统,相对于传统控制系统,基于Linux的视频矩阵控制系统能满足更加复杂的应用要求,同时会根据用户需求进行定制和开发,也大大方便了系统软件后期升级。
1 系统总体架构设计
视频网络嵌入式控制系统设计主要分为软件和硬件两部分。其中:软件主要包括底层操作平台,无线网卡驱动以及视频采集、传输过程,依赖于扩展USB摄像头和屏幕显示技术对网页进行监控;硬件主要包括:主控模块、采集捕获模块、数据传输模块和扩展模块。整个系统设计如图所示。
系统主要包括:后端用户监测、网络传输以及基于显示前端的视频输入功能,在此基础上,设计了基于Linux硬件平台视频监控设备,主要负责监控摄像机采集数据过程,等待并响应用户要求的视频数据传输信息。在智能手机终端上,用户可以通过PC或Web浏览器访问视频监控设备,在用户界面上可以实时显示视频信号。
2 硬件结构设计
根据系统总体架构可以设计出基于Linux的视频网络嵌入式控制系统硬件框架图,如图所示。
采用三星公司开发的S3C2440处理器,256M交互式矢量图和256M同步动态随机存储器平台,串行RS 232接口、USB主机接口和自适应以太网接口[9];内存用来存储操作系统内核运行之前运行程序的FLASH内存[10]。使用同步动态随机存储器存取启动代码、图像界面和Linux操作系统运行数据。主机需先通过串行RS 232接口连接到主机,然后再通过USB接口上的外部USB摄像机采集视频和图像数据,之后经由Wi Fi将这些数据输入到处理器,最后通过网络传输给客户电脑。
2.1 S3C2440处理模块
S3C2440处理模块是系统控制核心部分,负责外部交流和内部控制。通过与上位机外部通信,接收到操作者发出的控制指令,并发送到其他模块,完成视频网络嵌入式控制,其结构如图所示。
采用32位低功耗RISC微处理器处理模块,适用于能耗大、高灵敏度运行过程,支持Thumb 16位指令集和ARM 32位指令集,极大地提高了指令执行效率。RISC微处理器处理模块的媒体处理能力强,数据吞吐量高,适用于无线产品的网络处理。
2.2 RS 232接口
RS 232C接口可以用来调制解调器和其他串行设备通信或者数据交换。在电脑主板上有一块通用异步收发器芯片,该设备上的数据从其数据终端设备接口传输到内部或外部调制解调器。因为计算机中的数据是通过并行电路传输的,串行设备每次只能处理一位数据,所以异步收发器芯片能将并行数据转换成连续位流。在PC上的数据处理能力和数据收发能力的设备还与调制解调器串行通信,以满足RS 232C标准。RS 232接口如图所示。
由图可知,RS 232接口常用来输入和控制计算机信号,最大传输速率为20 Kb/s,电缆长度为15 m。若通信距离短,无需调制解调器,只需几条信号线双方就可直接连接。RS 232逻辑电平采用负逻辑方式指定,具体指定方式为:逻辑“1”为-3~15 V电平,逻辑“0”为3~15 V电平。
2.3 同步动态随机存储器
存储器需要一个同步时钟,在此时钟上依据随机传输命令存储动态数据。动态意味着需要不断刷新阵列,保证数据完整;随机则表示数据的存储没有特定顺序,能够自由指定读写数据地址。同步动态随机存储器如图所示。
图中:Vn表示MOS管;Cn表示电容。其开关条件为:门压高于阈值电压,源极电压与漏极电压之差在一定范围内。在模拟电路中,漏极通常与基板相连,因此,源极电压对MOS管通电没有影响。
3 系统功能设计
嵌入式Linux系统主要分为底层和应用层软件两大部分,如图所示。
基础Linux系统直接与硬件联接在一起,包括引导装入程序、内核、驱动程序和根文件系统,它们共同组成一个嵌入式Linux操作系统运行在开发板上。
在底层软件基础上,设计视频采集与压缩编码、视频无线传输等功能。RS 232C接口主要用于处理视频数据,实现JPEG压缩编码,将JPEG-GC压缩后的视频数据封装成UDP包发送。
3.1 嵌入式Linux移植过程
由下述4个步骤完成嵌入式Linux的移植。
步骤1:启动装载程序,包含启动代码和加载两部分固化于固件中;
步骤2:内核定制,为嵌入式面板提供内核控制导引系统参数;
步骤3:档案系统包含root文件系统和FLASH设备上构建的文件系统,通常使用RAMDISK作为根文件系统,为管理系统提供各种配置文件载体,为用户应用程序执行提供了稳定运行环境;
步骤4:用户申请,特定于使用者应用程式,嵌入式图形用户界面在用户应用程序和内核层之间。
3.2 视频接收控制流程
基于Linux的视频网络嵌入式控制系统视频接收端控制流程设计如图所示。
在视频传输过程中,需要将视频从发送端传送到接收端。信号传输速率(单位:Baud)计算公式如下:
B=1/T
其中T表示信号码元宽度。
式(1)表示单位时间内通过信道传输的码元数,而有关信号传输时延的计算公式为:
T=L/B
式中L表示两站点间的距离。
在视频传输过程中,首先必须在接收端创建一个连接对象,在整个创建过程中,应设置图像处理初始化参数;然后向视频数据发送端发送数据连接请求,若发送端未发送有效数据,则接收端无法接收连接请求,若发送端接收到有效发送请求后,接收端会继续接收视频帧请求;之后接收端获取视频图像,待全部接收后,连接将中断,最终释放视频接收器上的对象。
4.1 调试参数
调试参数如表所示。
4.2 调试结果与分析
在上述调试条件下,分别采用嵌入式模拟视频网络控制系统、数字化视频控制系统和基于Linux控制系统在发送端和接收端处调试,各测试5次,调试结果如图所示。
由图结果可知:采用嵌入式模拟视频网络控制系统、数字化视频控制系统与理想速度相差较大,尤其是接收端调试结果出现速度不均情况,导致数据处理过程无法得到控制;而使用基于Linux控制系统无论是接收端还是发送端,其接收和发送速度与理想速度接近,甚至在大部分发送帧数下,速度达到一致理想状态。由此可知,基于Linux控制系统控制效果较好。