![工控处理机[ARM9工控平台上的多串口网关及视频采集传输的实现]_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/313731d3-f6f8-4029-8455-95827d9e1fda/313731d3-f6f8-4029-8455-95827d9e1fda1.gif)
![工控处理机[ARM9工控平台上的多串口网关及视频采集传输的实现]_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/313731d3-f6f8-4029-8455-95827d9e1fda/313731d3-f6f8-4029-8455-95827d9e1fda2.gif)
![工控处理机[ARM9工控平台上的多串口网关及视频采集传输的实现]_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/313731d3-f6f8-4029-8455-95827d9e1fda/313731d3-f6f8-4029-8455-95827d9e1fda3.gif)
![工控处理机[ARM9工控平台上的多串口网关及视频采集传输的实现]_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/313731d3-f6f8-4029-8455-95827d9e1fda/313731d3-f6f8-4029-8455-95827d9e1fda4.gif)
![工控处理机[ARM9工控平台上的多串口网关及视频采集传输的实现]_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/313731d3-f6f8-4029-8455-95827d9e1fda/313731d3-f6f8-4029-8455-95827d9e1fda5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引言随着计算机网络技术的发展,现场工况环境对采集控制系统的可靠性、便携性、抗干扰性、实时性、多任务操作等方面提出越来越高的要求标准。主要研究内容和目的嵌入式Linux在短短的几年内,就突破了计算场景的所有方面,提供了低成本、开放资源方案,支持开放标准、网络、通信、Internet、图形等,Linux现在能够支持和处理器一样广泛的“传统”嵌入式操作系统。因此,本次课题要设计研发一款高性能,接口多样,功能丰富并兼顾多功能用途的嵌入式工控终端设备,并在其平台基础上开发多串口转换网关以及远程视频采集与传输解决方案。嵌入式工控平台的设计硬件系统主要分为CPU运行和存储部分、通信接口、音频接口、扩展接口和
2、用户接口几部分;各部分的详细功能模块详见表1。软件平台的搭建工作包括1、建立嵌入式linux交叉编译环境。2、移植U-Boot,包括U-Boot的移植实现和移植验证1。3、Linux内核的裁剪和移植2。4、Linux下设备驱动程序的实现,包括串口驱动程序、ALSA音频驱动程序、Flash驱动和MMC/SD驱动白实现3。5、文件系统的实现4。以上工作均已完成并且通过测试。多串口转换网关的设计与实现随着企业规模的扩大和Internet技术的广泛普及,如何将多个串行口的数据转发到网络上,实现设备的远程控制、数据的远程传输便成了一个亟待解决的问题。同时,考虑到成本问题,以往设备又不可能全部淘汰,由此,
3、基于本平台的软硬件资源,设计开发了一种基于TCP/IP的多串口转换网关,可从根本上解决这一难题。多串口转换网关可以实现设备灵活的组网方式,针对不同设备的通信协议可以开发相应的服务程序5。本系统平台上有六个串口和一个网络接口,设计的网关服务程序在整个监控系统中的作用如图1所示。网关服务程序可以采用原始数据传输模式,在与串口服务器建立TCP/IP连接后,就可以直接传输数据;本服务程序同时设计了基于Modbus协议数据传输模式。程序设计中采用多进程技术,作为一种多任务、并发的工作方式,多进程程序可以提高应用程序响应,改善程序结构。本文建立了两个子进程,分别用于处理串口数据经网卡发送和网卡数据经串口发
4、送两个功能,程序流程如图2所示。程序设计的基本目的是为了实现串口和socket端口数据的互相转换,一方数据一到来,先存在缓冲区,再立即发送到另一方,涉及到Linux下的串口编程、socket编程和多进程编程。程序基于面向连接的TCP实现,其流程如图2所示。采用TCP方式的服务器,在没有新客户端连接时,将一直阻塞在accept()函数处,如果有新的客户端发起连接,将返回一个新的文件描述符,新的文件描述符用来处理该连接,而原来的文件描述符仍然处于监听状态,因此利用accept的返回值client_fd,为每个client_fd创建新的一个子进程来处理,从而实现对多个客户端的并发访问。关键代码如下w
5、hile(1)/阻塞接收数据if(client_fd=accept(sockfd,(structsockaddr*)&remote_addr,&sin_size)=-1)perror("accepterror");continue;/打开串口,并设置相应串口号的波特率、数据位、校验位和停止位if(com_fd=opencomport(ConfgInfo.device,ConfgInfo.BaudRate,ConfigInfo.DataBits,ConfigInfo.StopBits,ConfgInfo.Parity)=-1)continue;/创建接收子进程
6、,当pid=0是为子进程,pid不为0时是父进程if(pid=fork()>0)close(client_fd);continue;elseif(pid=0)close(sockfd);/创建子进程后交由process_cli函数处理process_cli(client_fd,com_fd,ConfgInfo.Flag);exit(0);进程处理函数process_cli利用多路复用技术,即使用select函数实现某个进程阻塞于多个文件描述符的情况,从而提高应用效率。针对文件描述符的操作如下所示FD_ZERO(&rfdset);/初始化文件描述符rfdset为空FD_SET(cl
7、ient_fd,&rfdset);/将网络描述符添加到rfdsetFD_SET(com_fd,&rfdset);/将串口描述符添加到rfdset/轮询等待,从文件描述符rfdset中获取状态变化后的消息status=select(FD_SETSIZE,&rfdset,NULL,NULL,&timeout);bzero(buf,sizeof(buf);/清空缓冲区structtimevaltimeout=60,0;/timeout设置超时等待时间在select()函数中采用了轮询处理办法,只要其中一个或多个文件描述符发生变化都将返回,主要针对select的返回值进
8、行选择性的执行处理代码。例如当串口中断产生数据请求FD_ISSET(com_fd,&rfdset),即从串口读取数据readcomport(buff,BDFFUE_LEN),而当以太网接到数据时FD_ISSET(client_fd,&rfdset),从网络接收数据到缓冲区recv(client_fd,buf,BDFFUE_LEN,0)。ModbusRTU/TCP协议处理模块MODBUS一种主/从规约,由于Modbus协议是工业测控领域的标准通信协议,在现场智能仪表中有广泛的应用6,本服务程序设计了Modbus协议数据的转换。如表2所示,ModbusRTU类型报文,无论上、下行,
9、具有相同的结构。ModbusTCP为Modbus的TCP网络协议,TCP网络端口号为502。ModbusTCP在RTU协议前,增加了6个字节的协议头,同时取消了ModbusRTU的CRC16K验和,格式如表3所示。程序实现从TCP接收来自modbus主站的请求,转换成modbusRTU格式,经串口发送给从站,由函数tcp2mod()实现;并将从站相应数据经串口接收后,转换成TCPModbus格式信息返回主站,由函数mod2tcp()实现。函数tcp2mod()功能为去掉包头的6个字节的TCP协议头,将剩余的字节加上CRC®环校验码,发送给modbus从机器。函数mod2tcp()的功
10、能是将来自从机的应答码,去掉结尾的两个CR或验,加上TCP包头的6个字节,返回给主站。远程视频采集与传输解决方案系统方案基于本文所研发的AT91sAM9G2软硬件平台,分为前端监控资源采集、视频传输,后端平台组建等几部分。整个系统全部采用全网络视频监控架构,前端采用本工控单板机进行图形和音频数据采集,通过网络接口直接进入网络中,传输到后端进行集中存储和管理。后端采用管理平台来完成整个视频监控系统的集中预览、控制、管理、存储以及视频分发等功能,实现视频监控系统的集中管理7。系统构成框架如图4所示。本方案采用USB摄像头采集图像,对现场图象进行高速捕捉,然后将捕捉图象通过USB总线传输到ARMfe
11、理器进行压缩处理,同时将录制的音频文件也进行压缩处理,打包生成UDP包,向网络发送;最后,通过网络接口,在PC上保存和接收,用户使用标准的网络浏览器和流媒体播放程序即可查看远程视频影像,同时也可以通过网络控制视频采集设备。结语本文主要在AT91sAM9G2芯片基础上,比较分析了多种操作系统的特点,最后采用Linux操作系统为研究对象并以30内核版本为基础,成功移植开发了一个稳定、高效的嵌入式Linux系统,实现系统外设的驱动程序,并在此基础上实现了多串口联网的功能,给出一个基于本平台的视频监控系统的解决方案。多串口转换网关可以实现设备灵活的组网方式,针对不同设备的通信协议可以开发相应的服务程序,视频监控方案可扩展应用在工业控制、远程监控系统等诸多领域。参考文献1王勇.嵌入式系统原理与设计M.浙江:浙江大学出版社,2007:15-202王晓宁,王振臣,张少兵,姚帆.Linux操作系统在ARM处理器上的移植J.工自动化及仪表,2010,37(2):67-693 彭朝勇,薛兵.一种嵌入式Linux串口驱动开发模式J.微计算机信息,2007,23(5):46-484 LiunxDocProjectEB/OL.5 范炜.基于ARM的嵌入式多串口网络服务器的设计与实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度信用卡委托代理服务合同补充协议
- 二零二五年度房屋转租租赁双方责任合同
- 二零二五年度体育赛事联合组织与推广合同
- 二零二五年度店铺转让及知识产权保护协议格式
- 二零二五年度娱乐行业音乐制作公司词曲创作劳动合同
- 2025年度洗浴中心员工培训与晋升合同
- 2025年度跨境电商债权转让与物流服务合同
- 2025年度果树种植土地托管承包与农村劳动力转移就业协议
- 二零二五年度多式联运运输合同特征与物流信息化
- 茶艺师的重要职能与使命试题及答案
- 2019泰和安TX6930手持设备安装使用说明书
- 2025春夏童装童鞋行业趋势白皮书
- 2025年苏州工业园区职业技术学院单招职业适应性测试题库1套
- 中小学生预防校园欺凌主题班会课件
- 2025年上半年四川德阳事业单位招聘508人易考易错模拟试题(共500题)试卷后附参考答案
- 烟草专卖法知识考试题库及答案
- 2025年宜春职业技术学院单招职业适应性测试题库新版
- 2024年山东省济南市中考地理试题卷(含答案解析)
- 2025农业部在京单位招聘应届高校毕业生等人员122人历年高频重点提升(共500题)附带答案详解
- 2025年保密知识试题库附参考答案(精练)
- 事业单位考试职业能力倾向测验(综合管理类A类)试题与参考答案(2024年)
评论
0/150
提交评论