一种基于linux平台的连续周期数据采样方法及系统技术方案

技术编号:25708179 阅读:58 留言:0更新日期:2020-09-23 02:55
本发明专利技术公开了一种基于linux平台的连续周期数据采样方法及系统,属于数据采样技术领域,包括:由用户程序设定采样周期;守护进程从redis数据库读取参数,将参数转发至第二PRU模块;第二PRU模块将周期值发送至第一PRU模块;第一PRU模块采用汇编编写,将周期转换成指令消耗数,可精确控制采样周期,并将采集数据发送至第二PRU模块;第二PRU模块记录一定数量的数据并编号发送至linux层;由于linux是非实时系统,由于采样数据周期确定,那么帧周期确定,守护进程根据数据帧编号,对获取的系统时间戳进行修正,并协同数据帧发布至redis数据库,供用户读取。本发明专利技术能够解决linux平台下获取采样数据周期不固定的问题。

【技术实现步骤摘要】
一种基于linux平台的连续周期数据采样方法及系统
本专利技术涉及数据采样
,特别涉及一种基于linux平台的连续周期数据采样方法及系统。
技术介绍
linux是非实时操作系统,虽然支持RT调度策略,但是并非是硬实时系统,linux平台下进行数据采样,在连续采样要求比较高的应用场景下,一旦linux多任务会造成系统负载增大或阻塞,固定周期数据采样就难以保证。
技术实现思路
本专利技术的目的在于克服上述
技术介绍
中的不足,实现linux系统的连续周期数据采样。为实现以上目的,本专利技术采用了一种基于linux平台的连续周期数据采样方法,包括:利用CPU中设置的第一PRU模块和第二PRU模块实现ADC模块的连续采样,包括:第二PRU模块获取来自linux层的采样周期值并将采样周期值转发至第一PRU模块;第一PRU模块将采样周期值转换成指令消耗参数,按照指令消耗参数控制ADC模块连续采样数据,并将采样数据转发至第二PRU模块;第二PRU模块将采样数据转发至linux层供用户读取。本文档来自技高网...

【技术保护点】
1.一种基于linux平台的连续周期数据采样方法,其特征在于,利用CPU中设置的第一PRU模块和第二PRU模块实现ADC模块的连续采样,包括:/n第二PRU模块获取来自linux层的采样周期值并将采样周期值转发至第一PRU模块;/n第一PRU模块将采样周期值转换成指令消耗参数,按照指令消耗参数控制ADC模块连续采样数据,并将采样数据转发至第二PRU模块;/n第二PRU模块将采样数据转发至linux层供用户读取。/n

【技术特征摘要】
1.一种基于linux平台的连续周期数据采样方法,其特征在于,利用CPU中设置的第一PRU模块和第二PRU模块实现ADC模块的连续采样,包括:
第二PRU模块获取来自linux层的采样周期值并将采样周期值转发至第一PRU模块;
第一PRU模块将采样周期值转换成指令消耗参数,按照指令消耗参数控制ADC模块连续采样数据,并将采样数据转发至第二PRU模块;
第二PRU模块将采样数据转发至linux层供用户读取。


2.如权利要求1所述的基于linux平台的连续周期数据采样方法,其特征在于,所述第二PRU模块具体用于:
a1)初始化所述CPU与所述linux层之间的rpmsg通道;
a2)使能与rpmsg通道和第一PRU模块的相关中断;
a3)等待来自所述linux层发送的采样周期值,并将采样周期值转发至第一PRU模块;
a4)判断是否产生来自第一PRU模块的中断,若是执行步骤a5),若否执行步骤a6);
a5)读取第一PRU模块转发的采样数据并记录单帧传送的采样个数,编号此帧数据,发送至所述linux层;
a6)判断是否产生所述linux层发送的rpmsg通道中断,若是执行步骤a3),若否执行步骤a4)。


3.如权利要求1所述的基于linux平台的连续周期数据采样方法,其特征在于,所述第一PRU模块具体用于:
b1)上电启动后,第一PRU模块通过内部总线对所述ADC模块进行初始化;
b2)初始化完成后,使能指令计数器;
b3)读取指令计数器值;
b4)读取所述第二PRU模块发送的采样周期值,并计算总消耗指令数;
b5)ADC模块进行数据采样;
b6)产生中断信号通知所述第二PRU模块获取采样数据;
b7)再次读取指令计数器,计算执行的单次采样及发送消耗指令数;
b8)将总共消耗指令数与单次采样及发送消耗指令数比较,将剩余指令数消耗掉,并执行步骤b3)。


4.如权利要求1所述的基于linux平台的连续周期数据采样方法,其特征在于,所述linux层获取所述第二PRU模块发送的采样数据后,包括:
读取上一帧时间戳,加...

【专利技术属性】
技术研发人员:丁玲钱许胜姚济壮秦明辉
申请(专利权)人:科大智能电气技术有限公司科大智能科技股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1