安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210673222.4 (22)申请日 2022.06.14 (71)申请人 哈尔滨工业大 学 地址 150001 黑龙江省哈尔滨市南岗区西 大直街92号 (72)发明人 张京超 高沛文 乔立岩  (74)专利代理 机构 哈尔滨华夏松花江知识产权 代理有限公司 23213 专利代理师 时起磊 (51)Int.Cl. G06F 9/48(2006.01) G06F 9/50(2006.01) G06F 13/42(2006.01) G06F 15/163(2006.01) G01S 7/02(2006.01) (54)发明名称 一种基于多线程机制的高速回波数据实时 记录系统及记录方法 (57)摘要 一种基于多线程机制的高速回波数据实时 记录系统及 记录方法, 本发明涉及基于多线程机 制的高速回波数据实时记录系统及 记录方法。 本 发明的目的是为了解决现有方法无法实现将不 同接口产生的大量高速回波数据实时准确记录 下来的问题。 系统包括: 一块高速数据采集板卡 和上位机; 板卡包括FPGA、 DDR、 外设接口; 上位机 包括PCIe插槽、 硬盘、 用户软件; 上位机内部设有 的用户软件使用多线程机制, 对多个任务进行分 割, 在多核处理器中, 每个处理器各自执行一个 线程, 多个任务能够并行执行; 多线程机制包括 主线程和辅助线程; 主线程用于用户界面的显 示、 更新、 用户操作的响应; 辅助线程用于采集, 缓存, 写入硬盘。 本发明用于电子测量 技术领域。 权利要求书2页 说明书7页 附图3页 CN 115080206 A 2022.09.20 CN 115080206 A 1.一种基于多线程机制的高速回波数据实时记录系统, 其特征在于: 所述系统包括: 一 块高速数据采集板卡和上位机; 板卡包括FPGA、 D DR、 外设接口; 上位机PC主 要包括PCIe插槽、 硬 盘、 用户软件; 所述FPGA用于实现网 口、 光纤、 PCIe外设接口的连接以及数据的采集和传输功能; 所述 DDR用于增 加数据传输带宽, 负责FPGA接收数据的第一级缓存; 所述上位机PC内部设有的PCIe插槽用于连接数据采集板卡; 所述上位机PC内部设有的硬 盘用于数据的存 储; 所述上位机PC内部设有的用户软件用于控制数据采集板卡; 所述上位机PC内部设有的用户软件是基于National  Instrument的LabWindows/CVI平 台设计的; 在LabWindows/CVI软件中使用多线程机制, 对多个任务进行分割, 在多核处理器中, 每 个处理器各自执 行一个线程, 多个任务能够并行 执行; 所述多线程机制包括主 线程和辅助线程; 所述主线程main thread用于用户界面的显示、 更新、 用户操作的响应; 所述辅助线程 worker thread用于采集, 缓存, 写入硬 盘; 所述辅助线程包括辅助线程worker  thread1、 辅助线程worker  thread2和辅助线程 worker thread3; 所述thread为线程; 为接收的数据开辟N个数据缓存区buffer, 每个数据缓存区buffer的容量是1帧, 并把 数据缓存区buf fer的首地址存 储在数组队列中; 所述数组队列中存储buffer的id, 写辅助线程worker  thread2从buffer0开始写, 每写 完1个buffer就把对应的id写入到队列中, 读辅助线程worker  thread3从队列中取出 buffer已经写满的id, 然后从对应的buf fer中读取 数据并写入磁 盘; 所述thread1用于读取板卡的state_fifo, 如果为空, 等待更新; 如果不空, 则把数据 state_data写入到对应的命令cmd_fi fo和Queue(cmd)中, 通过数据采集板卡的PCI ‑e总线 将数据传输给 上位机PC; 所述thread2用于令i=0, 从Queue中读取命令cmd, 根据命令cmd的值选择把C2H的数据 读入到data[cmd]的buffer[data[cmd]i]中, 读完后把data[cmd]i写入队列, 判断i取值是 否为N‑1, 是, 结束; 否, 令i=i+1, 继续从Queue中读取命令cmd, 根据命令cmd的值选 择把C2H 的数据读入到data[cmd]的buf fer[data[cmd]i]中, 读完后把data[cmd]i写入队列; 所述Thread3用于从队列取出buffer的id, 然后把该buffer中 的数据写入到硬盘中, 判 断i取值是否为N ‑1, 是, 结束; 否, 令i=i+1, 继续从队列 取出buffer的id, 然后 把该buffer 中的数据写入到硬 盘中, 直至i取值是N ‑1; N为数据缓存区buf fer的个数。 2.根据权利要求1所述一种基于多线程机制的高速回波数据实时记录系统, 其特征在 于: 所述多 线程为大于等于2个线程。 3.根据权利要求2所述一种基于多线程机制的高速回波数据实时记录系统, 其特征在 于: 所述多 核为8核或16核。权 利 要 求 书 1/2 页 2 CN 115080206 A 24.一种基于权利要求1所述系统的一种基于多线程机制的高速回波数据实时记录方 法, 其特征在于: 所述方法具体过程 为: 步骤一、 采用数据采集板卡接收高速回波数据; 步骤二、 采用PCI ‑e总线接口将接收的高速回波数据传递给 上位机PC内部的软件; 所述上位机PC内部的软件LabW indows是基于Nati onal Instrument的CVI平台设计的; 在软件LabWindows/CVI 中使用多线程机制, 对多个任务进行分割, 在多核处理器中, 每 个处理器各自执 行一个线程, 多个任务能够并行同时执 行; 所述多线程为大于等于2个线程; 所述多核为8核或16核; 所述多线程机制包括主 线程和辅助线程; 步骤三、 将上位机PC内部软件接收的数据写入硬 盘。 5.根据权利要求4所述一种基于多线程机制的高速回波数据实时记录系统, 其特征在 于: 所述主 线程的具体执 行过程为: 步骤1: 判断主程序用户界面是否加载成功, 若是, 执 行步骤2; 若否, 执 行步骤4; 步骤2: 创建辅助线程, 判断辅助线程是否创建成功, 若是, 执行步骤3; 若否, 执行步骤 4; 步骤3: 响应用户操作, 判断是否退 出, 否, 继续响应用户操作; 是, 执 行步骤4; 步骤4: 释放内存。 6.根据权利要求5所述一种基于多线程机制的高速回波数据实时记录系统, 其特征在 于: 所述步骤2中辅助线程的具体执 行过程为: 步骤21、 数据采集板卡每次完成一帧数据接收后写一次state_fifo, 一帧数据的大小 为4MB; 用户软件读取 数据采集板卡的state_fifo是否为空, 是, 等待更新; 否, 执 行步骤22; 步骤22、 把数据state_data写入到对应的命令cmd_fifo和 Queue(cmd)中, 通过数据采 集板卡的PCI ‑e总线将数据传输给 上位机PC, 执 行步骤23; 步骤23、 令i=0, 从步骤22的Queue(cmd)中读取命令cmd, 根据命令cmd的值选择把C2H 的数据读入到data[cmd]的buffer[data[cmd]i ]缓存器中, 读完后把data[cmd]i写入队列, 判断buffer[i]缓存器是否写满, 是, 执 行步骤24; 否, 重复步骤23; 步骤24、 令i=i+1, 更新数据采集板卡的State_fifo, 从队列取出buffer缓存器的id, 然后把该buffer缓存器中的数据写入到硬盘中, 判断i取值是否为N ‑1, 是, 结束; 否, 执行步 骤24, 直至i取值是N ‑1; N为数据缓存区buf fer的个数。权 利 要 求 书 2/2 页 3 CN 115080206 A 3

.PDF文档 专利 一种基于多线程机制的高速回波数据实时记录系统及记录方法

文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于多线程机制的高速回波数据实时记录系统及记录方法 第 1 页 专利 一种基于多线程机制的高速回波数据实时记录系统及记录方法 第 2 页 专利 一种基于多线程机制的高速回波数据实时记录系统及记录方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:27:10上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。