多通道脉冲宽度测量及数据传输处理方法技术

技术编号:29797971 阅读:18 留言:0更新日期:2021-08-24 18:19
本发明专利技术属于信号处理技术领域,具体涉及多通道脉冲宽度测量及数据传输处理方法。本发明专利技术采用FreeRTOS系统,包括如下步骤:系统的每个通道完成捕获标志变量以及上升沿和下降沿的定时器值存储变量的创建和初始化,初始化变量完成后,开始定时进行脉冲测量;输入捕获定时器的中断回调函数,在定时器的中断回调函数里进行通道判断,并作出相应的处理同时发出CAN消息;接收CAN消息,并对接收到的CAN消息中的命令代码进行判断,并作对应处理;获取对应的二值信号量,开始通过电压计算温度,并回复读温度CAN消息。本发明专利技术具有稳定可靠,能够及时响应通信处理的效果,且无需额外增加硬件成本的特点。

【技术实现步骤摘要】
多通道脉冲宽度测量及数据传输处理方法
本专利技术属于信号处理
,具体涉及多通道脉冲宽度测量及数据传输处理方法。
技术介绍
目前,在温度控制过程中MCU往往需要对多路风扇、加热条进行PWM控制,为了得到闭合反馈信号,往往需要将输出的PWM信号或者风扇测试的脉冲信号进行测量,基于MCU的测量往往是用定时器进行计数测量,但是当需要测量的通道较多时由于占用的系统定时器资源较多,当脉冲较快时会造成定时器功能异常,这时定时器异常往往造成时序紊乱,后续的控制盒通信都会出现问题。针对上述问题,现有的技术方案往往采用减少测量通道或者使用FPGA作为处理器进行处理。但存在的问题是,减少测量通道一定程度上可以减少MCU负担实现温度测量并运行,但是无法进行更全面的测量,使部分监控信号存在监控不到的情况;而采用FPGA作监控虽然可以实现这类多通道并行数据处理,但是在主控MCU上额外再增加一个FPGA芯片无疑增加了成本。因此,设计一种能够实现稳定可靠地进行多通道脉宽测量,并能及时响应通信处理效果,无需额外增加成本的测量方法,就显得十分必要。例如,申请号为CN201711099390.2的中国专利技术专利所述的多通道激光引信目标特征识别信号处理电路的实现方法,将FPGA芯片与TDC芯片集成,对多通道脉冲信号同时进行实时处理,测量反应目标特征的回波延时和脉宽;由FPGA芯片进行回波高速采样、时序处理和数字信号处理,对TDC芯片进行参数配置和延时数据的传送;由TDC芯片进行延时测量,并将延时测量的数据传送至FPGA芯片。虽然基于全数字信号处理的集成设计方案,将回波延时测量、高速采样集成到数字信号处理电路中,能够同时对8个探测通道的回波脉冲进行高速采样,延时测量精度达±0.1ns,脉宽测量精度达±1ns。根据目标的延时和脉宽函数,拟合判据函数,对8个探测通道的回波的延时、脉宽组合进行筛选,识别目标特征,剔除无效干扰回波信号。但是其缺点在于,由于采用将FPGA芯片与TDC芯片集成,来对多通道脉冲信号同时进行实时处理,增加了硬件成本,不利于推广使用。
技术实现思路
本专利技术是为了克服现有技术中,目前针对多通道脉冲宽度测量采用减少测量通道或者使用FPGA作为处理器进行处理的方式,存在无法进行更全面的测量,使部分监控信号存在监控不到的情况以及会增加硬件成本的问题,提供了一种更加稳定可靠,能够及时响应通信处理的效果,且无需额外增加硬件成本的多通道脉冲宽度测量及数据传输处理方法。为了达到上述专利技术目的,本专利技术采用以下技术方案:多通道脉冲宽度测量及数据传输处理方法,采用FreeRTOS系统,所述FreeRTOS系统含有多个测量通道;包括如下步骤:S1,系统的每个通道完成捕获标志变量以及上升沿和下降沿的定时器值存储变量的创建和初始化,初始化变量完成后,开始定时进行脉冲测量;S2,输入捕获定时器的中断回调函数,在定时器的中断回调函数里进行通道判断,并作出相应的处理同时发出CAN消息;S3,接收CAN消息,并对接收到的CAN消息中的命令代码进行判断,若命令代码为CAN命令则系统直接回复;若为需要耗时的命令代码,则中断中释放二值信号量,使任务中获取二值信号量,并在同步任务后开始执行耗时命令代码的处理方法;S4,从步骤S3中获取对应的二值信号量,开始通过电压计算温度,并回复读温度CAN消息。作为优选,步骤S1具体包括如下步骤:S11,系统的每个通道内创建捕获的标志变量并初始化为0,同时创建每个通道对应的上升沿和下降沿的定时器值存储变量并初始化为0;S12,判断标志变量是否为0,若标志变量为0,则标志变量值加1,并开启上升沿检测,使能捕获中断;若标志变量不为0,则继续判断标志变量是否为3。作为优选,步骤S1还包括如下步骤:S13,若标志变量为3,则使下降沿时的定时器值减去上升沿时的定时器值,并将标志变量重置为0,同时使用系统延时函数延时500ms;若标志变量不为3,则返回步骤S12。作为优选,步骤S2具体包括如下步骤:S21,当中断触发时,判断是否是输入捕获的定时器触发,若不是输入捕获的定时器触发,则返回中断触发前的操作;若是输入捕获的定时器触发则继续判断是哪个通道的标志变量发生变化;S22,找出标志变量发生变化的通道后,对所述通道中发生变化的标志变量值的多少进行判断;S23,若标志变量的值为1,则将所述标志变量对应所在通道的捕获寄存器值赋值给上升沿变量,同时将所述通道的触发条件改为下降沿触发,并将标志变量值加1;S24,若标志变量的值为2,则将所述标志变量对应所在通道的捕获寄存器值赋值给下降沿变量,同时停止通道的本次检测,并将标志变量值加1。作为优选,步骤S3具体包括如下步骤:S31,接收CAN消息,从扩展帧CANID中截取命令代码,并判断命令代码的具体指令;S32,若命令代码为读版本命令,则立刻回复版本消息;S33,若命令代码为读风扇转速命令,则将最新的风扇转速值放到数据区,并发送当前风扇转速命令;S34,若命令代码为设置风扇转速命令,则释放二值信号量1,并回复响应消息;S35,若命令代码为读取温度命令,则释放二值信号量2。作为优选,多通道脉冲宽度测量及数据传输处理方法,还包括模数转换器ADC和PTC热敏电阻,步骤S4具体包括如下步骤:S41,阻塞等待接收二值信号量2,并对模数转换器ADC的DMA存储进行更新;S42,将更新后的数组按冒泡法进行排序,将排序后的数据去掉最大值和最小值后求均值;S43,用滤波后的ADC数据计算PTC热敏电阻的电压值,并根据电压值计算温度;S44,使用系统延时函数延时500ms后,回复读温度CAN消息。作为优选,所述延时函数为FreeRTOS系统的延时函数,用于释放MCU。本专利技术与现有技术相比,有益效果是:(1)本专利技术优化了处理机制和任务的处理方法,将耗时任务放到任务中处理,利用二值信号量同步任务,非耗时任务在中断回调中立刻处理,减少中断占用时间,达到系统稳定且响应迅速的效果;(2)本专利技术利用FreeRTOS系统的多任务处理机制处理实现多个通道的脉宽测量功能,达到裸机所实现的多任务同时处理的效果,提高多通道的脉宽测量的稳定处理,且无需减少检测通道,无需增加FPGA硬件,达到成本低廉且稳定可靠的效果。附图说明图1为本专利技术中进行脉宽测量的一种流程图;图2为本专利技术中中断回调函数处理的一种流程图;图3为本专利技术中CAN消息处理的一种流程图;图4为本专利技术中进行温度计算处理的一种流程图;图5为本专利技术中用于温度采集的一种电路图;图6为本专利技术中用于CAN消息处理的一种电路图;图7为本专利技术中用于将PWM反馈信号接入到MCU输入捕获的一种电路图;图8为本专利技术中用于温度控制的中间级信号进行测量的一种电路图。具体实施方式为了更清楚地说明本文档来自技高网
...

【技术保护点】
1.多通道脉冲宽度测量及数据传输处理方法,其特征在于,采用FreeRTOS系统,所述FreeRTOS系统含有多个测量通道;包括如下步骤:/nS1,系统的每个通道完成捕获标志变量以及上升沿和下降沿的定时器值存储变量的创建和初始化,初始化变量完成后,开始定时进行脉冲测量;/nS2,输入捕获定时器的中断回调函数,在定时器的中断回调函数里进行通道判断,并作出相应的处理同时发出CAN消息;/nS3,接收CAN消息,并对接收到的CAN消息中的命令代码进行判断,若命令代码为CAN命令则系统直接回复;若为需要耗时的命令代码,则中断中释放二值信号量,使任务中获取二值信号量,并在同步任务后开始执行耗时命令代码的处理方法;/nS4,从步骤S3中获取对应的二值信号量,开始通过电压计算温度,并回复读温度CAN消息。/n

【技术特征摘要】
1.多通道脉冲宽度测量及数据传输处理方法,其特征在于,采用FreeRTOS系统,所述FreeRTOS系统含有多个测量通道;包括如下步骤:
S1,系统的每个通道完成捕获标志变量以及上升沿和下降沿的定时器值存储变量的创建和初始化,初始化变量完成后,开始定时进行脉冲测量;
S2,输入捕获定时器的中断回调函数,在定时器的中断回调函数里进行通道判断,并作出相应的处理同时发出CAN消息;
S3,接收CAN消息,并对接收到的CAN消息中的命令代码进行判断,若命令代码为CAN命令则系统直接回复;若为需要耗时的命令代码,则中断中释放二值信号量,使任务中获取二值信号量,并在同步任务后开始执行耗时命令代码的处理方法;
S4,从步骤S3中获取对应的二值信号量,开始通过电压计算温度,并回复读温度CAN消息。


2.根据权利要求1所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,步骤S1具体包括如下步骤:
S11,系统的每个通道内创建捕获的标志变量并初始化为0,同时创建每个通道对应的上升沿和下降沿的定时器值存储变量并初始化为0;
S12,判断标志变量是否为0,若标志变量为0,则标志变量值加1,并开启上升沿检测,使能捕获中断;若标志变量不为0,则继续判断标志变量是否为3。


3.根据权利要求2所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,步骤S1还包括如下步骤:
S13,若标志变量为3,则使下降沿时的定时器值减去上升沿时的定时器值,并将标志变量重置为0,同时使用系统延时函数延时500ms;若标志变量不为3,则返回步骤S12。


4.根据权利要求1所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,步骤S2具体包括如下步骤:
S21,当中断触发时,判断是否是输入捕获的定时器触发,若不是输入捕获的定时器触发,则返回中断触发...

【专利技术属性】
技术研发人员:朱银东方泽莉陈汉生黄振强
申请(专利权)人:明峰医疗系统股份有限公司
类型:发明
国别省市:浙江;33

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

1