一种通用高速数据采集软件设计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件应用 ・ S o f t wa r e A p p l i c a t i o n
接 关联 ,实 时接收端 口数据 ;缓冲 区 B ( 一般
设 置为 小缓 冲区 的 4 倍 左右 ),接收 A内 的 有 效数据 。 采集线程运行时 , 端 口每次读数获取 的字 节先存放 到 A缓 冲区 中,并计算 出 A缓冲 区 中的字节数 n ,添加 到缓冲 区 B后面 ;对缓冲 区 B进行 帧格 式识别 判定 ,若 找到 帧格式数 据, 则提取 帧格式数据 , 将缓冲区 B数据前移, 并清空后 面多余字节 ,索引变量的值 随缓冲区 B字节变化而变化 。 双 缓 冲区数 据接 收识别 处理 方法 ,可 以 有效提取端 V I 数据 帧,包括多种帧格式数据。
2读数 周期处理方法
激 光惯组高速通讯模式下 , 数据采样周期 非常短 ,在 4 0 0 0 H z 输出频率 下,采样周 期只 有O . 2 5 m s ,即相邻 两帧 数据 的时 间间隔 只有
O . 2 5 ms 。 在 如 此 短 时 间 内 ,如 果 每 一 帧 数 据 到
J . V i s t u a I c 十 + 技 术内幕 [ M ] . 北京 : 清华
次读取 2 O 帧数据。
当前 计 算 机 处 理 器 一 般 为双 核 或 四核 程 序 流 程 设 计 如 图 1所 示 。
CP U, 大 多 数情 况 下 ,测试 计算 机 操 作 系统 仍
作者单位 Leabharlann 1 .中国航天科工集团 7 8 0 1 研究所 湖 南省 长
沙市 4 1 0 2 0 5
位机 软件 数据处 理、数 据显示 所 占用的 C P U 个小缓冲 区 A,一个大缓冲 区 B )和一个全局
2 .中 国 人 民 解 放 军 6 1 5 4 1 部 队 北 京 市
1 O 0 0 9 4
9 4 ・电子技 术与 软件 工程
电子 工 业 出版 社 , 2 0 0 6 : 2 O 0 — 2 2 6 .
来之后 ,立即进行端 口 读 写、数据计算处理操 作 ,则 C P U时间被 占用较 多 , 容 易导 致端 口
堵塞 ,影响数据接收处理 。因此 ,数据采集程
序设计时 ,可灵活定义读数周期 ,一般读数周 期定 为 5 m s ,即在 O 2 5 m s 数据周 期 条件 下,
稳 定 性
【 2 ]葛 子 昂 ,周 靖 ,廖 敏 译 . J e f f r e y
R i c h t e r . C h r i s t o p h e N a s a r r e . W i n d o w s核
心编程 ( W i n d o w s V i a C / C + + ) . 北京 : 清 华大学 出 版社 , 2 0 0 8 . [ 3 ] 孙鑫 , 余安萍 . V c + +深入详解 【 M ] . 北京 :
图1 :双缓冲识别数据 帧程序流程 数据 帧方法 , 该方法 可以识别多种帧格式数据, 抗干扰 能力强 , 有效提高 了数据接收的正确性、 可靠性 。该方法在多个项 目的数据采集软件 中 得 以应用 , 实现 了高速 、 高可靠性的数据采集。 线 程创 建完成 后 ,系统在 后 台运 行该 线 数据处 理周期 为 0 . 2 5 ms 时 ,上位机 软件数 据 显示 、数据 处理 占用的 C P U时间相对 较长 ,
大学 出版社 , 2 0 0 1 .
设单帧数据字节长度为 L ,则软件 设置端 口读 数长度为 2 0 L字节 ,数据处理时,对接收缓冲
区的 2 0 L 字节进行帧格式判断 , 如符合数据帧 格式要 求,则提取 2 O帧数 据 ,进行数据 计算 处理 。该方法可有效提高数据 采集 的可靠性 、
程对应 的线程 函数 , 实时监听并读取端 口数据。 线程 函数 采用查询方式 ,实时读取端口数据 。
参 考 文 献
[ 1 】 潘 爱 民 ,王 国 印 译 . K r u g 1 i n s k i D
可能影响到数据 采集 ,导致数据接收 出现丢帧
或延迟、阻塞现象 。 启 定读数处理周期的程序设计方法如 下:

3双缓冲 区识别数据帧方法
采用 双缓 冲 区识别数 据帧 方法 ,可 以解 决帧格式匹配 中的干扰和多帧格式识别问题 。
… 4 刁惨 民 , 王 鹏辉 等 . 在V i s u a 1 c + + 环 境 下实现 高速数据 采集的几个 问题 . 计算机
测量与控制 , 2 0 0 3 . 1 I ( 2 ) : u1 - 1 3 7 .
内的字节进行逐一判别 ,符合 帧格式要求 ,则 提取 ,否则 ,删除该部分 数据 即使 出现多余 干扰字节或错误字节时 ,也不会影响后 续数据 接收处理 ,软件仍然能够 正常 的识 别后续数据
帧。
4 结语
本 文介绍 了数 据采集 程序设 计 的一般 方
法, 重 点叙述 了端 口数据接收的双缓冲区识 别
双 缓冲 区识别数 据 帧方 法 的设计思 路如 下: 采集线程 中设置两个接收缓冲区 A、 B( 一 索 引变量 ,缓冲 区 A与 端 口通 讯读数 函数直
然 是 Wi n d o w s 系 统,在 5 m s 处理 周 期 内,上 时间远远小于 5 ms ,不会影响到数据接 收。当
当端 口通讯有多种帧格 式数据 时,该方法对缓
冲 区 中 的 每 一个 数 据 字 节 进 行 判 别 ,识 别 出 各
个具体数 据格 式,不会遗漏任何一帧数据 。
当端 口出现干扰 字节 时,双缓 冲 区处 理
方法可有效剔除干扰数据 。软件主动舍去干扰 字节 ,不会导致数据识别 一直不成功的现象 出 现。按照双缓冲区程序设计思路 ,端 口接收的 任意数据都会进入 到缓冲 区 B中,对缓冲区 B
相关文档
最新文档