[发明专利]一种基于linux平台的连续周期数据采样方法及系统有效
申请号: | 202010476424.0 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111694678B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 丁玲;钱许胜;姚济壮;秦明辉 | 申请(专利权)人: | 科大智能电气技术有限公司;科大智能科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 合肥天明专利事务所(普通合伙) 34115 | 代理人: | 闫客 |
地址: | 230088 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 平台 连续 周期 数据 采样 方法 系统 | ||
1.一种基于linux平台的连续周期数据采样方法,其特征在于,利用CPU中设置的第一PRU模块和第二PRU模块实现ADC模块的连续采样,包括:
第二PRU模块获取来自linux层的采样周期值并将采样周期值转发至第一PRU模块;
第一PRU模块将采样周期值转换成指令消耗参数,按照指令消耗参数控制ADC模块连续采样数据,并将采样数据转发至第二PRU模块;
第二PRU模块将采样数据转发至linux层供用户读取;
所述第二PRU模块具体用于:
a1)初始化所述CPU与所述linux层之间的rpmsg通道;
a2)使能与rpmsg通道和第一PRU模块的相关中断;
a3)等待来自所述linux层发送的采样周期值,并将采样周期值转发至第一PRU模块;
a4)判断是否产生来自第一PRU模块的中断,若是执行步骤a5),若否执行步骤a6);
a5)读取第一PRU模块转发的采样数据并记录单帧传送的采样个数,编号此帧数据,发送至所述linux层;
a6)判断是否产生所述linux层发送的rpmsg通道中断,若是执行步骤a3),若否执行步骤a4);
所述第一PRU模块具体用于:
b1)上电启动后,第一PRU模块通过内部总线对所述ADC模块进行初始化;
b2)初始化完成后,使能指令计数器;
b3)读取指令计数器值;
b4)读取所述第二PRU模块发送的采样周期值,并计算总消耗指令数;
b5)ADC模块进行数据采样;
b6)产生中断信号通知所述第二PRU模块获取采样数据;
b7)再次读取指令计数器,计算执行的单次采样及发送消耗指令数;
b8)将总共消耗指令数与单次采样及发送消耗指令数比较,将剩余指令数消耗掉,并执行步骤b3)。
2.如权利要求1所述的基于linux平台的连续周期数据采样方法,其特征在于,所述linux层获取所述第二PRU模块发送的采样数据后,包括:
读取上一帧时间戳,加上帧间隔时间作为修正的本帧时间戳,其中帧间隔时间计算方式为:采样周期乘以单帧采样数量;
将修正的本帧时间戳和数据帧整合作为订阅数据供所述用户读取。
3.如权利要求2所述的基于linux平台的连续周期数据采样方法,其特征在于,在所述linux层中设置有用于存储采样周期值和订阅数据的Redis数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大智能电气技术有限公司;科大智能科技股份有限公司,未经科大智能电气技术有限公司;科大智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010476424.0/1.html,转载请声明来源钻瓜专利网。