发明名称 一种对脉冲数据进行采样的方法
摘要 一种对脉冲数据进行采样的方法,把产生脉冲的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号