首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于嵌入式云技术的油井液位远程测试系统(3)

基于嵌入式云技术的油井液位远程测试系统(3)

3.1.3 编译QEMU
QEMU拥有支持ARM主机与客户环境的仿真技术,在QEMU仿真环境下忽略了试图使KVM有效的操作,因此需要对QEMU进行修改以使KVM能够运行。QEMU是一个用户级与系统级的仿真器,它在KVM上下文环境中被当作用户空间的应用程序运行,它与用户操作系统相互配合,向内核模块发送消息并对I/O和其它设备进行仿真,通过编辑QEMU的配置和运行时的参数可以使QEMU能够支持KVM。在交叉编译时,除了需要关注交叉编译的设置外,还需要修改内核和设置KVM参数。
3.1.4 创建并运行虚拟机
Eucalyptus实现基本的简单的虚拟机管理功能,它的主要目标是将基本的虚拟化管理API化。简单易用,扩展方便。用户可以通过euca  200ls工具制作镜像,上传之后可以通过命令行运行实例。查看实例运行情况,停止,重启自己的实例。也可以通过web界面查看已上传镜像,并禁止自己上传的镜像,修改自己的资料。也可以作为用户存储文件和数据的地方。创建的镜像和运行的虚拟机,如图4所示。
图4中的方框部分显示出,虚拟机的内核编号、镜像编号、IP地址和运行实例,并且成功运行登入进虚拟机实例。
3.2 数据采集与测深计算
数据采集是测控系统的基础,是由以STM32F103微处理器为核心的现场测控节点完成,将采集到的声音信号发送给现场嵌入式测控服务器,其采用ModBus协议进行通信。云测试监控中心将声音信号数据通过去野值、接箍波提取、液面回波提取、FFT变换等一系列程序处理后,最终得到油井液位的深度。
3.3 ModBus通讯协议和协议栈移植
本文选用完全符合工业标准的Modbus通讯协议。Mod  bus通讯协议,读保持寄存器(0x03)、读输入寄存器(0x04)等15个常用功能码,完全能满足工业应用要求。
Modbus协议支持Modbus RTU/ASCII/TCP  3种传输方式,其移植可以基于串口或网口来完成,从而实现MobusRTU/ASCII或Mobus  TCP帧的处理,这点与协议栈具体应用场景、使用的处理器平台、硬件接口密切相关。本文采用ModBus  RTU传输方式进行现场嵌入式测控设备之间的通讯。ModBus主机协议中Commun层和从机协议中Port层,都是将Modbus的物理层链路与具体平台的硬件驱动联系起来,该层本质上完成不同链路上数据帧的接收工作。Modbus中的各个功能码操作函数都是平台无关的,应用程序通过解析数据帧中的功能码查找函数指针,并最终执行功能码函数。Mbm.c和mb.c文件为用户应用程序提供了调用接口,对Modbus不同的传输方式(RTU、ASCII、TCP)进行了统一的管理。
继承事业,薪火相传
返回列表