[发明专利]一种应用于IR46电表检定装置的SPI时钟同步方法在审
申请号: | 202011167230.9 | 申请日: | 2021-02-03 |
公开(公告)号: | CN112506838A | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 范建华;付刚;朱建国;宋乐森 | 申请(专利权)人: | 青岛鼎信通讯股份有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42;G06F13/28 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266000 山东省青*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 ir46 电表 检定 装置 spi 时钟 同步 方法 | ||
一种应用于IR46电表检定装置的SPI时钟同步方法,用于解决SPI从机通信时时钟同步异常导致的通信异常问题。本发明利用通信数据帧与帧之间的时间间隔,通过进行硬件配置、禁止CS、设置DMA传输方式、配置SPI并使能、配置Timer并使能以及检测时钟信号SCLK以及对CS信号禁止再使能的同步序列,主动切换CS信号,达到时钟同步的目的。通过间隔性同步时钟,实现了SPI主、从机之间的成功通信,解决了时钟丢失问题,避免数据错位,保证了数据的完整性和通信的正常进行。
技术领域
本发明属于通信技术领域,具体涉及一种应用于IR46电表检定装置的SPI时钟同步方法。
背景技术
SPI是一种串行同步通信方式。主要用于板上芯片间通信,有主从之分,主机承担时钟提供的责任,从机根据主机提供的时钟与主机进行交互。从机一般会有一个CS(ChipSelect)信号,用于与主机进行时钟同步,防止数据错位。
如果主机未对CS信号进行控制,则从机不能确定时钟的起始,只会从最近的时钟信号开始计数,这样一来就有可能导致时钟信号错位,从而导致数据错位,影响数据的正常交互。目前市面上没有对这种情况的一种较为成熟的处理方法。
发明内容
为解决上述问题,本发明提出了一种应用于IR46电表检定装置的SPI时钟同步方法,用于解决SPI从机通信时时钟同步异常导致的通信异常问题。
为实现上述目的,本发明技术方案如下:
利用通信数据帧与帧之间的时间间隔,通过对CS信号禁止再使能的同步序列,主动切换CS信号,达到时钟同步。
具体工作流程如下:
步骤1:走线时将一个GPIO(General-purpose input/output通用型输入输出)连接到SPI(Serial Peripheral Interface串行外设接口)从机CS(Chip Select片选)信号上,以控制CS的切换;
步骤2:通过GPIO切换CS为禁止状态,防止CS的初始不确定态导致数据的异常接收;
步骤3:配置SPI主从机的收发方式为DMA传输;
步骤4:配置SPI从机CS信号为硬件控制,并使能SPI;
步骤5:SPI的时钟信号SCLK(SPI Clock)连接到一个Timer输入上,用以检测时钟信号SCLK,并根据帧间隔确定Timer周期,使能Timer;
步骤6:检测时钟信号SCLK,若在Timer输入管脚上检测到时钟沿(上升沿或下降沿),则Timer的计数寄存器清0,重复进行步骤6,直至触发Timer的溢出中断;若在指定时间内未接收时钟信号SCLK,触发Timer的溢出中断,进入步骤7;
步骤7:执行CS的同步序列:对CS信号禁止再使能,实现时钟同步,返回步骤6重复运行。
其中步骤1为硬件配置,步骤2、3、4、5为软件配置。
进一步的,步骤6中,检测时钟信号SCLK需有一定的时间间隔,该时间间隔大于时钟周期。
进一步的,步骤7中的重复运行也可以根据实际需要指定次数。
进一步的,步骤6中的指定时间根据帧间隔和时钟周期确定,该时间大于时钟周期,且要小于帧间隔,同时能够保证CS同步序列在帧间隔内完成。
本发明的有益效果:
通过间隔性同步时钟,实现SPI主、从机成功通信,解决了时钟丢失问题,避免数据错位,保证了数据的完整性和通信的正常进行。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛鼎信通讯股份有限公司,未经青岛鼎信通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011167230.9/2.html,转载请声明来源钻瓜专利网。