发明名称 |
一种对脉冲数据进行采样的方法 |
摘要 |
一种对脉冲数据进行采样的方法,把产生脉冲的GPIO直接连到CPU SPI接口的MISO引脚上,利用CPU现有的SPI接口来代替CPU进行脉冲数据的采样,采样到的数据由DMA来代替负责保存。当脉冲为低时,SPI采样到的数据就为0,当脉冲为高时,SPI采样到的数据就为1。所以只要求出连续为0或为1的位数,再根据采样精度就可以求出脉冲的时间宽度。本发明无需添加额外的硬件就可以实现高精度,高性能的脉冲数据采样。具有很好的实现效果和较低的实现成本。 |
申请公布号 |
CN102163967A |
申请公布日期 |
2011.08.24 |
申请号 |
CN201110009685.2 |
申请日期 |
2011.01.17 |
申请人 |
福建鑫诺通讯技术有限公司 |
发明人 |
赵进云 |
分类号 |
H03K19/0175(2006.01)I |
主分类号 |
H03K19/0175(2006.01)I |
代理机构 |
福州市鼓楼区京华专利事务所(普通合伙) 35212 |
代理人 |
翁素华 |
主权项 |
一种对脉冲数据进行采样的方法,其特征在于:包括如下步骤:步骤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的值相乘可计算出高脉冲的时间宽度。 |
地址 |
350000 福建省福州市鼓楼区软件大道89号 |