[发明专利]一种对脉冲数据进行采样的方法有效
申请号: | 201110009685.2 | 申请日: | 2011-01-17 |
公开(公告)号: | CN102163967A | 公开(公告)日: | 2011-08-24 |
发明(设计)人: | 赵进云 | 申请(专利权)人: | 福建鑫诺通讯技术有限公司 |
主分类号: | H03K19/0175 | 分类号: | H03K19/0175 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 翁素华 |
地址: | 350000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 脉冲 数据 进行 采样 方法 | ||
【技术领域】
本发明属于一种对脉冲数据进行采样的方法,适用于具有脉冲数据采样功能的终端产品。
【背景技术】
随着物联网产业的发生,要求越来越多的终端产品具有脉冲数据采样的功能,例如对黑白摄像头,一维激光头输出的脉冲数据做采样和处理。传统的对脉冲数据进行采样的做法主要有两种。
第一种方法:如图1所示,把产生脉冲的GPIO引脚连接到CPU的一个外部中断引脚上。并把此外部中断配置为双边缘触发,这样只要脉冲的状态一变化,就会触发中断,在中断处理程序中计算并保存两个脉冲边缘的时间间隔。
第二种方法:如图2所示,扩张一颗专门负责脉冲数据采样的芯片,芯片通过串口,USB等接口与CPU互联。
第一种方法不需要额外添加硬件就能完成采样功能。实现成本低,但是会由于中断处理存在延时而导致采样精度不高,而且采样过程需要CPU的参与会导致系统负荷增加。所以这并不是一种可产品化的方法,只能用于熟悉原理所用。第二种方法算是一种完美的方法,但是这需要添加额外的硬件,会导致产品成本的增加。
【发明内容】
本发明所要解决的技术问题在于提供一种低成本、高精度的脉冲数据采样方法,该方法无需添加额外硬件,且具有较高采样精度和采样性能。
本发明采用以下技术方案解决上述技术问题:
一种对脉冲数据进行采样的方法,包括如下步骤:
步骤1:首先初始化相应SPI接口的GPIO引脚;
步骤2:设置SPI总线的时钟,即脉冲数据的采样时钟;
步骤3:初始化DMA控制器,并设置采样数据的保存地址;
步骤4:当要开始采集时,就使能SPI接口,对MISO上输入的脉冲做采样;
步骤5:SPI每采样到4个字节的数据就发起一个DMA请求,DMA控制器会把数据保存到指定的内存位置;
步骤6:当采样结束之后,所有采样到的数据保存在步骤3指定的位置;
步骤7:根据步骤2设置的采样时钟,可以计算出SPI每采样一位数据所花费的时间;
步骤8:转义采样到的数据,按位来对数据解析;如果连续位的值为0,就说明这部分采样数据对应的是低脉冲,把连续为0的位数和步骤7的值相乘便可计算出低脉冲的时间宽度;如果连续位的值为1,就说明这部分采样数据对应的是高脉冲,把连续为1的位数和步骤7的值相乘可计算出高脉冲的时间宽度。
本发明的优点在于:把产生脉冲的GPIO直接连到CPU SPI接口的MISO引脚上,利用CPU现有的SPI接口来代替CPU进行脉冲数据的采样,采样到的数据由DMA来代替负责保存。无需添加额外的硬件就可以实现高精度,高性能的脉冲数据采样。具有很好的实现效果和较低的实现成本。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是现有技术之一的逻辑连接框图。
图2是现有技术之二的逻辑连接框图。
图3是本发明的逻辑连接框图。
图4是本发明的硬件原理图。
图5是本发明的软件控制流程。
【具体实施方式】
请同时参阅图3至图5,一种对脉冲数据进行采样的方法,包括如下步骤:
步骤1:首先初始化相应SPI接口的GPIO引脚;
步骤2:设置SPI总线的时钟,即脉冲数据的采样时钟;
步骤3:初始化DMA控制器,并设置采样数据的保存地址;
步骤4:当要开始采集时,就使能SPI接口,对MISO上输入的脉冲做采样;
步骤5:SPI每采样到4个字节的数据就发起一个DMA请求,DMA控制器会把数据保存到指定的内存位置;
步骤6:当采样结束之后,所有采样到的数据保存在步骤3指定的位置;
步骤7:根据步骤2设置的采样时钟,可以计算出SPI每采样一位数据所花费的时间;
步骤8:转义采样到的数据,按位来对数据解析;如果连续位的值为0,就说明这部分采样数据对应的是低脉冲,把连续为0的位数和步骤7的值相乘便可计算出低脉冲的时间宽度;如果连续位的值为1,就说明这部分采样数据对应的是高脉冲,把连续为1的位数和步骤7的值相乘可计算出高脉冲的时间宽度。
这样,便可数值化输入的整个脉冲波形。
本发明中,把输出脉冲的GPIO引脚连接至CPU SPI接口的MISO引脚,也就是把脉冲作为SPI接口的输入数据,当脉冲为低时,SPI采样到的数据就为0,当脉冲为高时,SPI采样到的数据就为1。所以只要求出连续为0或为1的位数,再根据采样精度就可以求出脉冲的时间宽度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建鑫诺通讯技术有限公司,未经福建鑫诺通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110009685.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:发送功率控制方法、基站装置和移动台装置
- 下一篇:止鼾液及其制备工艺
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置