[发明专利]多通道脉冲宽度测量及数据传输处理方法有效
申请号: | 202110331734.8 | 申请日: | 2021-03-29 |
公开(公告)号: | CN113300902B | 公开(公告)日: | 2022-05-20 |
发明(设计)人: | 朱银东;方泽莉;陈汉生;黄振强 | 申请(专利权)人: | 明峰医疗系统股份有限公司 |
主分类号: | H04L43/0852 | 分类号: | H04L43/0852;H04L12/40;G01R29/02;G01K7/24 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
地址: | 311215 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通道 脉冲宽度 测量 数据传输 处理 方法 | ||
1.多通道脉冲宽度测量及数据传输处理方法,其特征在于,采用FreeRTOS系统,所述FreeRTOS系统含有多个测量通道;包括如下步骤:
S1,系统的每个通道完成捕获标志变量以及上升沿和下降沿的定时器值存储变量的创建和初始化,初始化变量完成后,开始定时进行脉冲测量;
S2,输入捕获定时器的中断回调函数,在定时器的中断回调函数里进行通道判断,并作出相应的处理同时发出CAN消息;
S3,接收CAN消息,并对接收到的CAN消息中的命令代码进行判断,若命令代码为CAN命令则系统直接回复;若为需要耗时的命令代码,则中断中释放二值信号量,使任务中获取二值信号量,并在同步任务后开始执行耗时命令代码的处理方法;
S4,从步骤S3中获取对应的二值信号量,开始通过电压计算温度,并回复读温度CAN消息;
步骤S1具体包括如下步骤:
S11,系统的每个通道内创建捕获的标志变量并初始化为0,同时创建每个通道对应的上升沿和下降沿的定时器值存储变量并初始化为0;
S12,判断标志变量是否为0,若标志变量为0,则标志变量值加1,并开启上升沿检测,使能捕获中断;若标志变量不为0,则继续判断标志变量是否为3;
S13,若标志变量为3,则使下降沿时的定时器值减去上升沿时的定时器值,并将标志变量重置为0,同时使用系统延时函数延时500ms;若标志变量不为3,则返回步骤S12。
2.根据权利要求1所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,步骤S2具体包括如下步骤:
S21,当中断触发时,判断是否是输入捕获的定时器触发,若不是输入捕获的定时器触发,则返回中断触发前的操作;若是输入捕获的定时器触发则继续判断是哪个通道的标志变量发生变化;
S22,找出标志变量发生变化的通道后,对所述通道中发生变化的标志变量值的多少进行判断;
S23,若标志变量的值为1,则将所述标志变量对应所在通道的捕获寄存器值赋值给上升沿变量,同时将所述通道的触发条件改为下降沿触发,并将标志变量值加1;
S24,若标志变量的值为2,则将所述标志变量对应所在通道的捕获寄存器值赋值给下降沿变量,同时停止通道的本次检测,并将标志变量值加1。
3.根据权利要求1所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,步骤S3具体包括如下步骤:
S31,接收CAN消息,从扩展帧CAN ID中截取命令代码,并判断命令代码的具体指令;
S32,若命令代码为读版本命令,则立刻回复版本消息;
S33,若命令代码为读风扇转速命令,则将最新的风扇转速值放到数据区,并发送当前风扇转速命令;
S34,若命令代码为设置风扇转速命令,则释放二值信号量1,并回复响应消息;
S35,若命令代码为读取温度命令,则释放二值信号量2。
4.根据权利要求3所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,还包括模数转换器ADC和PTC热敏电阻,步骤S4具体包括如下步骤:
S41,阻塞等待接收二值信号量2,并对模数转换器ADC的DMA存储进行更新;
S42,将更新后的数组按冒泡法进行排序,将排序后的数据去掉最大值和最小值后求均值;
S43,用滤波后的ADC数据计算PTC热敏电阻的电压值,并根据电压值计算温度;
S44,使用系统延时函数延时500ms后,回复读温度CAN消息。
5.根据权利要求1或4所述的多通道脉冲宽度测量及数据传输处理方法,其特征在于,所述延时函数为FreeRTOS系统的延时函数,用于释放MCU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于明峰医疗系统股份有限公司,未经明峰医疗系统股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110331734.8/1.html,转载请声明来源钻瓜专利网。